/* A brief boutique entrance over the existing homepage; progressively enhanced. */
.boutique-entrance[hidden]{display:none!important}
.boutique-entrance{--entrance-trim:#b7a181;--entrance-champagne:#d5c5ac;--entrance-logo-size:clamp(108px,12vw,160px);position:fixed;inset:0;z-index:90;isolation:isolate;overflow:hidden;background:linear-gradient(180deg,#f1e9dc26,#e6d7c34d)}
.entrance-doorway{position:absolute;inset:0;perspective:1800px;border:4px solid var(--entrance-trim);border-top-width:6px;box-shadow:inset 0 0 0 1px #eadcc8;transform-style:preserve-3d}
.entrance-door{position:absolute;top:0;bottom:0;width:50%;border:3px solid var(--entrance-champagne);background:linear-gradient(114deg,#fffdf4c2 0%,#e5d7c7ab 32%,#faf6e9d1 47%,#ddd2c1ab 67%,#f6f1e2c7 100%);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:inset 0 0 0 1px #9a83604d,0 4px 18px #59452d21;backface-visibility:hidden;transform-style:preserve-3d;will-change:transform}
.entrance-door:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(112deg,transparent 8%,#fffdf374 10%,#fffdf30d 24%,transparent 28%,#fffdf32e 65%,transparent 72%)}
.entrance-door-left{left:0;transform-origin:left center;border-right-color:var(--entrance-trim)}
.entrance-door-right{right:0;transform-origin:right center;border-left-color:var(--entrance-trim)}
.entrance-glass{position:absolute;inset:14px;border:1px solid #b9a78c45}
.entrance-logo-half{position:absolute;top:44%;width:calc(var(--entrance-logo-size)/2);height:var(--entrance-logo-size);overflow:hidden;transform:translateY(-50%);z-index:2;pointer-events:none}
.entrance-door-left .entrance-logo-half{right:-3px}
.entrance-door-right .entrance-logo-half{left:-3px}
.entrance-logo-half img{position:absolute;top:0;left:0;width:var(--entrance-logo-size);height:var(--entrance-logo-size);max-width:none;object-fit:contain;opacity:.88}
.entrance-door-right .entrance-logo-half img{left:calc(var(--entrance-logo-size)/-2)}
.entrance-handle{position:absolute;top:56%;height:clamp(64px,11vh,94px);width:6px;border-radius:4px;background:linear-gradient(90deg,#88704f,#e7d9bd 45%,#ae936b);box-shadow:2px 1px 4px #69503440;z-index:3}
.entrance-door-left .entrance-handle{right:18px}
.entrance-door-right .entrance-handle{left:18px}
.entrance-hinge{position:absolute;width:7px;height:17px;background:var(--entrance-trim)}
.entrance-door-left .entrance-hinge{left:-5px}
.entrance-door-right .entrance-hinge{right:-5px}
.entrance-hinge-top{top:17%}.entrance-hinge-bottom{bottom:17%}
.entrance-threshold{position:absolute;bottom:0;left:0;right:0;height:5px;background:linear-gradient(#ceb996,#eee1ca)}
.entrance-skip{position:absolute;right:max(24px,env(safe-area-inset-right));bottom:max(24px,env(safe-area-inset-bottom));z-index:5;display:inline-flex;align-items:center;gap:18px;min-height:44px;padding:10px 17px;border:1px solid #cdbda4;border-radius:24px;background:#f5f0e8ed;color:#58483c;font-size:12px;box-shadow:0 2px 12px #6950340a}
.entrance-skip:hover{background:#fbf7f0}
/* Keep the document and scrollbar in their final layout throughout the reveal. */
.entrance-ready .hero{opacity:.88;filter:blur(2px)}
.entrance-opening .entrance-door-left{animation:boutique-open-left 900ms 140ms cubic-bezier(.33,0,.17,1) both}
.entrance-opening .entrance-door-right{animation:boutique-open-right 900ms 140ms cubic-bezier(.33,0,.17,1) both}
.entrance-opening .boutique-entrance{animation:boutique-entrance-dissolve 1150ms linear both}
.entrance-opening .hero{animation:boutique-page-focus 220ms 500ms cubic-bezier(.2,.7,.2,1) both}
@keyframes boutique-open-left{from{transform:rotateY(0)}to{transform:rotateY(-105deg)}}
@keyframes boutique-open-right{from{transform:rotateY(0)}to{transform:rotateY(105deg)}}
@keyframes boutique-entrance-dissolve{0%,78%{opacity:1}100%{opacity:0}}
@keyframes boutique-page-focus{from{opacity:.88;filter:blur(2px)}to{opacity:1;filter:blur(0)}}
@media(max-width:540px){.entrance-doorway{border-width:3px}.entrance-glass{inset:9px}.entrance-handle{width:5px}.entrance-door-left .entrance-handle{right:14px}.entrance-door-right .entrance-handle{left:14px}}
@media(prefers-reduced-motion:reduce){.boutique-entrance{display:none!important}.entrance-ready .hero{animation:none;opacity:1;filter:none}}
@media(prefers-reduced-transparency:reduce){.entrance-door{background:#eee5d6;backdrop-filter:none;-webkit-backdrop-filter:none}}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.entrance-door{background:#eee5d6}}
@media print{.boutique-entrance{display:none!important}.entrance-ready .hero{opacity:1;filter:none}}
