/* Animation-only enhancement for the homepage hero; existing geometry is retained. */
.hero-slider.is-cinematic .hero-slide{transition:opacity 1.2s cubic-bezier(.4,0,.2,1),visibility 1.2s;z-index:0;pointer-events:none}
.hero-slider.is-cinematic .hero-slide.is-active{z-index:2;pointer-events:auto}
.hero-slider.is-cinematic .hero-slide.is-leaving{z-index:1;visibility:visible;opacity:1}
/* Keep image geometry fixed during entry, display and exit: no zoom reset. */
.hero-slider[data-slider] .hero-media,
.hero-slider[data-slider] .is-active .hero-media,
.hero-slider[data-slider] .is-leaving .hero-media{transform:none!important;translate:none!important;scale:none!important;animation:none!important;transition:none!important;backface-visibility:hidden}
.hero-slider.is-cinematic .hero-copy h1,.hero-slider.is-cinematic .hero-copy h2{opacity:1;transform:none;animation:none}
.hero-slider.is-cinematic .hero-line{display:block;overflow:hidden;padding-block:.08em;margin-block:-.08em}
.hero-slider.is-cinematic .hero-line>span{display:block;transform:translateY(112%);opacity:0}
.hero-slider.is-cinematic .is-active .hero-line>span{animation:sdHeroLine .9s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(.16s + var(--line-order)*.11s)}
.hero-slider.is-cinematic .is-active .hero-eyebrow{animation:sdHeroCopy .75s cubic-bezier(.16,1,.3,1) both;animation-delay:.1s}
.hero-slider.is-cinematic .is-active .hero-copy p{animation:sdHeroCopy .9s cubic-bezier(.16,1,.3,1) both;animation-delay:.5s}
.hero-slider.is-cinematic .is-active .hero-actions{animation:sdHeroCopy .9s cubic-bezier(.16,1,.3,1) both;animation-delay:.65s}
.hero-slider.is-cinematic .is-leaving .hero-copy :is(.hero-eyebrow,p,.hero-actions),.hero-slider.is-cinematic .is-leaving .hero-line>span{animation:none;opacity:1;transform:none}
.hero-slider.is-cinematic .hero-progress span{width:100%;transform:scaleX(0);transform-origin:left}
.hero-slider.is-cinematic .hero-progress span.is-running{animation:sdHeroProgress 7s linear forwards}
.hero-slider.is-cinematic.is-paused .hero-progress span{animation-play-state:paused}
@keyframes sdHeroLine{from{transform:translateY(112%);opacity:0}to{transform:translateY(0);opacity:1}}
@keyframes sdHeroCopy{from{transform:translateY(22px);opacity:0}to{transform:translateY(0);opacity:1}}
@keyframes sdHeroProgress{to{transform:scaleX(1)}}
@media(prefers-reduced-motion:reduce){
 .hero-slider.is-cinematic .hero-slide{transition:none}
 .hero-slider.is-cinematic .hero-media{animation:none!important;transform:none!important;translate:none}
 .hero-slider.is-cinematic .hero-copy :is(h1,h2,p,.hero-eyebrow,.hero-actions),.hero-slider.is-cinematic .hero-line>span{animation:none!important;opacity:1;transform:none}
 .hero-slider.is-cinematic .hero-progress{display:none}
}
