/* A photographic simulation, not a rendered 3D scene. Only transform/opacity
   animate; one exterior approach overlaps one continuous interior layer. */
.cinema-intro[hidden]{display:none}
.cinema-intro{position:fixed;inset:0;z-index:20000;background:#080a0d;color:#eeeae3;overflow:hidden;isolation:isolate}
.cinema-scene,.cinema-city,.cinema-city-photo,.cinema-lobby,.cinema-home,.cinema-shade{position:absolute;inset:0}
.cinema-city{overflow:hidden;transform-origin:51% 56%;will-change:transform,opacity}
.cinema-city-photo{background:linear-gradient(#07091166,#07091122),url('/assets/hero-v2.webp') center 58%/cover;filter:saturate(.75)}
.cinema-tower{position:absolute;left:43%;bottom:9%;width:17%;height:62%;display:grid;grid-template-columns:repeat(3,1fr);gap:7px;padding:8px;border:1px solid #b5aea03b;background:#13181d22;opacity:0}
.cinema-tower i{border:1px solid #bac7c122;background:linear-gradient(140deg,#b8a18124,#12182022)}
.cinema-lobby{background:linear-gradient(#0a0d1026,#0a0d1055),url('/assets/interior-v2.webp') center/cover;opacity:0;transform:scale(1.24);will-change:transform,opacity}
.cinema-home{display:none}
.cinema-shade{background:radial-gradient(ellipse,transparent 25%,#05070b99);pointer-events:none}
.cinema-story{position:absolute;inset:0;display:grid;place-content:center;padding:24px;text-align:center;pointer-events:none;text-shadow:0 2px 20px #000}
.cinema-line-one{position:absolute;inset-inline:20px;top:45%;font-size:clamp(17px,2.3vw,31px);opacity:0}
.cinema-finale{opacity:0;pointer-events:none}
.cinema-finale h2{font-size:clamp(26px,4vw,52px);font-weight:500;color:#f2eee7;margin-bottom:16px}
.cinema-finale p{color:#ded9cf;margin-bottom:28px}
.cinema-enter,.cinema-skip{font:inherit;cursor:pointer;min-height:46px;padding:10px 28px;border:1px solid #d5c2a277;border-radius:4px}
.cinema-enter{pointer-events:auto;background:#d4c4aa;color:#161a1d}
.cinema-skip{position:absolute;top:clamp(15px,4vw,40px);left:clamp(15px,4vw,40px);background:#12171cce;color:#efebe5;font-size:13px}
.cinema-progress{position:absolute;bottom:0;right:0;height:2px;width:100%;transform-origin:right;transform:scaleX(0);background:#d4b87f}
.cinema-intro.is-playing .cinema-city{animation:cinema-travel 10s cubic-bezier(.25,.28,.45,1) both}
.cinema-intro.is-playing .cinema-tower{animation:cinema-glass 10s linear both}
.cinema-intro.is-playing .cinema-lobby{animation:cinema-interior 10s linear both}
.cinema-intro.is-playing .cinema-line-one{animation:cinema-line 10s ease both}
.cinema-intro.is-playing .cinema-finale{animation:cinema-brand 10s ease both}
.cinema-intro.is-playing .cinema-progress{animation:cinema-progress 10s linear both}
.cinema-intro.is-complete .cinema-progress{display:none}
@keyframes cinema-travel{0%{transform:scale(1);opacity:1}58%{opacity:1}84%{opacity:0}100%{transform:scale(3.65);opacity:0}}
@keyframes cinema-glass{0%,25%{opacity:0}58%{opacity:.36}85%,100%{opacity:0}}
@keyframes cinema-interior{0%{transform:scale(1.24);opacity:0}58%{opacity:0}83%,100%{opacity:1}100%{transform:scale(1.015)}}
@keyframes cinema-line{0%,7%{opacity:0}18%,30%{opacity:1}45%,100%{opacity:0}}
@keyframes cinema-brand{0%,82%{opacity:0;transform:translateY(10px)}100%{opacity:1;transform:translateY(0)}}
@keyframes cinema-progress{to{transform:scaleX(1)}}
@media(max-width:600px){.cinema-tower{display:none}}
@media(prefers-reduced-motion:reduce){
 .cinema-intro.is-playing :is(.cinema-city,.cinema-tower,.cinema-lobby,.cinema-line-one,.cinema-finale,.cinema-progress){animation:none;will-change:auto}
 .cinema-city,.cinema-line-one,.cinema-progress{display:none}
 .cinema-intro .cinema-lobby,.cinema-intro .cinema-finale{opacity:1;transform:none}
}
