/* The normal white header waits offstage while the hero fills the viewport. */
.site-nav{transition:opacity .9s ease .18s,transform .9s cubic-bezier(.2,.7,.2,1) .18s}
.cinema-pending .site-nav{visibility:hidden;opacity:0;transform:translateY(-100%);pointer-events:none}
.hero,.hero-inner{transition:min-height .9s cubic-bezier(.2,.7,.2,1),margin-top .9s cubic-bezier(.2,.7,.2,1)}
.cinema-pending .hero{margin-top:calc(-1 * var(--nav-h));min-height:100svh}
.cinema-pending .hero-inner{min-height:100svh}
.hero-video,.hero::before{transition:opacity .7s ease,filter .7s ease}
.hero-cinema{display:none;position:absolute;inset:0;z-index:6;pointer-events:none;overflow:hidden}
.cinema-pending .hero-cinema,.cinema-finishing .hero-cinema{display:block}
.hero-cinema-bar{position:absolute;left:0;right:0;height:50%;background:#06131d;transition:height 1.15s cubic-bezier(.22,.78,.18,1)}
.hero-cinema-bar-top{top:0}
.hero-cinema-bar-bottom{bottom:0}
.cinema-playing .hero-cinema-bar{height:clamp(56px,10svh,112px)}
.cinema-finishing .hero-cinema-bar{height:0;transition-duration:.7s}
.hero-cinema-progress{position:absolute;left:50%;bottom:clamp(23px,4.4svh,48px);width:min(220px,38vw);height:2px;transform:translateX(-50%);background:rgba(255,255,255,.28);opacity:0;transition:opacity .3s}
.hero-cinema-progress::after{content:"";display:block;width:100%;height:100%;background:#d6f4ff;transform:scaleX(0);transform-origin:left center}
.cinema-playing .hero-cinema-progress{opacity:1}
.cinema-playing .hero-cinema-progress::after{animation:cinemaProgress 8s linear both}
.cinema-finishing .hero-cinema-progress{opacity:0}
.cinema-pending .hero-video{opacity:.9;filter:saturate(.98) contrast(1.02) brightness(1.03)}
.cinema-pending .hero::before{opacity:.55}
.cinema-pending .hero-logo,.cinema-pending .hero-years,.cinema-pending .scroll-cue{animation:none;opacity:0}
.cinema-playing .hero-logo{animation:cinemaLogoIn 1.3s cubic-bezier(.2,.8,.2,1) .58s both}
.cinema-playing .hero-years{animation:cinemaDetailsIn .9s ease 1.45s both}
.hero.cinema-complete .hero-logo{animation:none;opacity:1}
.hero.cinema-complete .hero-years{animation:heroYearsGlow 4s ease-in-out infinite;opacity:1}
.hero.cinema-complete .scroll-cue{animation:cinemaDetailsIn .85s ease .42s both}
.hero-logo-animation{position:absolute;top:50%;left:50%;width:min(680px,58vw,72svh);aspect-ratio:680/520;transform:translate(-50%,-50%);border:0;opacity:0;pointer-events:none;z-index:1;transition:opacity .25s ease}
.hero.hero-logo-ready .hero-logo-animation{opacity:1}
.hero.hero-logo-ready .hero-logo{visibility:hidden}
.hero-intro-skip{display:none;position:absolute;right:clamp(20px,4vw,64px);bottom:clamp(18px,3.6svh,38px);z-index:7;padding:10px 0;border:0;border-bottom:1px solid rgba(255,255,255,.5);background:none;color:#fff;font:700 .72rem/1.2 "Libre Franklin",sans-serif;letter-spacing:.12em;text-transform:uppercase;cursor:pointer}
.cinema-pending .hero-intro-skip{display:block}
.hero-intro-skip:hover{border-bottom-color:#fff}
.hero-intro-skip:focus-visible{outline:3px solid #d6f4ff;outline-offset:5px}
@keyframes cinemaLogoIn{from{opacity:0;transform:translateY(18px) scale(.94)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes cinemaDetailsIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@keyframes cinemaProgress{to{transform:scaleX(1)}}
@media(max-width:700px){
  .hero-logo-animation{width:min(92vw,calc(64svh * 680 / 520))}
  .cinema-playing .hero-cinema-bar{height:clamp(44px,8svh,74px)}
  .hero-cinema-progress{left:24px;bottom:clamp(20px,3.4svh,34px);width:26vw;transform:none}
  .hero-intro-skip{right:24px;bottom:clamp(12px,2.5svh,26px);font-size:.65rem}
}
@media(prefers-reduced-motion:reduce){
  .hero-cinema,.hero-intro-skip,.hero-logo-animation{display:none!important}
  .site-nav,.hero,.hero-inner{transition:none}
  .hero-video,.hero::before{transition:none}
  .hero.cinema-complete .hero-logo,.hero.cinema-complete .hero-years,.hero.cinema-complete .scroll-cue{animation:none;opacity:1;transform:none}
}
