/* Entrance is scoped to the main preview; archived comparisons retain their motion. */
.hero-visual{position:absolute;inset:0;transform-origin:50% 45%}
.hero-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-visual video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .45s ease}
.hero-visual video.frame-ready{opacity:1}
.hero h1,.hero-undertext{animation:none}
.hero-line{display:block;padding-bottom:.14em;margin-bottom:-.14em}
.hero-line>span,.hero-line>em{display:block}
.hero h1 .hero-line>em{max-width:none}
.cinematic:not(.entered) .site-header,.cinematic:not(.entered) .hero-eyebrow,.cinematic:not(.entered) .hero h1,.cinematic:not(.entered) .hero-undertext,.cinematic:not(.entered) .hero-bottom{opacity:0}
/* Let the footage supply the movement. Typography dissolves in at its final position. */
.entered .site-header{animation:quiet-arrival 1s .1s ease-out both}
.entered .hero-eyebrow{animation:quiet-arrival 1.1s .2s ease-out both}
.entered .hero h1{animation:quiet-arrival 1.2s .25s ease-out both}
.entered .hero-undertext{animation:quiet-arrival 1.1s .45s ease-out both}
.entered .hero-bottom{animation:quiet-arrival 1s .55s ease-out both}
.entered .loader-fill{transform:scaleX(1)}
/* Keep the approved headline in two lines on desktop without altering the editorial grid. */
.intro-title-block h2{font-size:clamp(40px,4.05vw,78px)}
@keyframes quiet-arrival{from{opacity:0}to{opacity:1}}
@media(max-width:700px){.intro-title-block h2{font-size:clamp(33px,8.1vw,56px)}.hero-line{overflow:visible}.hero h1{font-size:clamp(42px,11.8vw,78px)}}
@media(prefers-reduced-motion:reduce){
 .cinematic .hero-visual,.cinematic .site-header,.cinematic .hero-eyebrow,.cinematic .hero h1,.cinematic .hero-undertext,.cinematic .hero-bottom{animation:none!important;transform:none!important}
 .cinematic.entered .site-header,.cinematic.entered .hero-eyebrow,.cinematic.entered .hero h1,.cinematic.entered .hero-undertext,.cinematic.entered .hero-bottom{opacity:1}
 .page-loader,.hero-visual video{transition:none!important}.booting .loader-fill{animation:none!important;transform:scaleX(.5)}
}
