/* The atmosphere stays above the photographs, with all controls reachable. */
.cinema-atmosphere{position:fixed;inset:0;width:100%;height:100%;z-index:25;pointer-events:none;opacity:0;transition:opacity .9s;contain:strict}
.cinema-atmosphere.is-visible{opacity:1}
.cinema-intro{position:fixed;inset:0;z-index:86;display:grid;place-items:center;isolation:isolate;background:radial-gradient(ellipse at 50% 76%,#32150935,transparent 62%),linear-gradient(#0d090b9c,#10080c40 60%,#12080aa6);opacity:1;transition:opacity 1.05s ease,visibility 1.05s;pointer-events:none}
.cinema-intro.is-finished{opacity:0;visibility:hidden}
.cinema-intro-brand{text-align:center;position:relative;padding:30px;transform:translateY(0);animation:cinema-brand-in 1.8s cubic-bezier(.16,1,.3,1) both}
.cinema-intro-logo{display:block;object-fit:contain;width:180px;height:215px;margin:auto;filter:drop-shadow(0 0 30px #e5b38830)}
.cinema-intro-caption{font-size:10px;letter-spacing:.28em;color:#f3dac6;margin-top:27px;font-weight:500}
.cinema-intro-line{height:1px;width:170px;background:#ffffff26;margin:29px auto 0;overflow:hidden}
.cinema-intro-line:after{content:"";display:block;height:1px;width:100%;background:linear-gradient(90deg,transparent,#d9a675,#fff2df);transform-origin:left;animation:cinema-intro-progress 3.4s linear both}
.cinema-intro-skip{position:absolute;right:5vw;bottom:36px;pointer-events:auto;background:none;border:0;border-bottom:1px solid #ffffff40;color:#fff4e8;font:inherit;font-size:12px;letter-spacing:.06em;padding:12px 0;min-height:44px}
.cinema-intro-skip:hover{color:#efb77e;border-color:currentColor}
body.cinema-opening .cinema-atmosphere{z-index:85}
body.cinema-opening #site{animation:cinema-focus-in 4.4s cubic-bezier(.2,.7,.2,1) both}
.food-transition{display:none!important}
.slide-mode .scene-shade{background:linear-gradient(90deg,#12090edb,#160a108c 34%,#160a100b 78%),linear-gradient(#19091066,#0000 22% 62%,#190910a6)}
.slide-mode .kinetic-title{text-shadow:0 4px 35px #0a04083d}
.slide-mode .scene-copy .eyebrow{color:#eed3bd;letter-spacing:.18em}
.slide-mode .experience-bottom{z-index:42}
.scene-0 .kinetic-title em{color:#f3cfab}
.cinema-effect-toggle{display:inline-flex;align-items:center;gap:8px}
.cinema-effect-toggle:before{content:"";width:5px;height:5px;border-radius:50%;background:#e49c64;box-shadow:0 0 8px #e49c6488}
.motion-reduced~.cinema-atmosphere{display:none}
.cinema-smoke-fallback{background:radial-gradient(ellipse at 72% 80%,#e2b79822,transparent 58%),radial-gradient(ellipse at 25% 95%,#fff2e31c,transparent 52%);animation:cinema-fallback-drift 12s ease-in-out infinite alternate}
@keyframes cinema-brand-in{from{opacity:0;filter:blur(13px);transform:translateY(18px) scale(1.07)}to{opacity:1;filter:blur(0);transform:translateY(0) scale(1)}}
@keyframes cinema-focus-in{0%,45%{filter:blur(13px) brightness(.6);transform:scale(1.045)}100%{filter:blur(0) brightness(1);transform:none}}
@keyframes cinema-intro-progress{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes cinema-fallback-drift{from{transform:scale(1.15) translate(-3%,2%);opacity:.45}to{transform:scale(1.3) translate(4%,-6%);opacity:.85}}
@media(max-width:820px){
 .cinema-intro-logo{width:145px;height:174px}
 .cinema-intro-caption{font-size:9px;letter-spacing:.23em}
 .cinema-intro-skip{bottom:calc(86px + env(safe-area-inset-bottom,0px));right:7vw}
 .slide-mode .scene-shade,.slide-mode .scene-2 .scene-shade,.slide-mode .scene-3 .scene-shade{background:linear-gradient(#170b121a 10%,#190a120a 30%,#190a12ad 60%,#190a12eb 100%)}
 .slide-mode .scene-0 .scene-media>video,.slide-mode .scene-0 .scene-media>img{object-position:64% 50%}
}
@media(prefers-reduced-motion:reduce){.cinema-intro,.cinema-atmosphere{display:none!important}body.cinema-opening #site{animation:none!important}}
