/* Independent depth and entrance layers; no third-party animation runtime. */
.hero .slide-ambient{position:absolute;inset:-24px;overflow:hidden;pointer-events:none}
.hero .slide-ambient img{display:block;width:100%;height:100%;object-fit:cover;filter:blur(22px);transform:scale(1.08)}
.hero .slide-image{-webkit-mask-image:radial-gradient(ellipse at 48% 48%,#000 35%,rgba(0,0,0,.94) 55%,transparent 85%);mask-image:radial-gradient(ellipse at 48% 48%,#000 35%,rgba(0,0,0,.94) 55%,transparent 85%)}
.hero .hero-shade,.hero .slide:has(video) .hero-shade{background:linear-gradient(270deg,rgba(0,0,0,.74) 0%,rgba(0,0,0,.58) 28%,rgba(0,0,0,.18) 62%,rgba(0,0,0,.08) 100%),linear-gradient(0deg,rgba(0,0,0,.65),transparent 32%);pointer-events:none}
.hero .slide:has(video) .slide-image{-webkit-mask-image:none;mask-image:none}
@media(max-width:800px){.hero .slide-ambient img{filter:blur(14px)}.hero .hero-shade{background:linear-gradient(270deg,rgba(0,0,0,.72),rgba(0,0,0,.4)),linear-gradient(0deg,rgba(0,0,0,.68),transparent 35%)}}

.hero .slides{height:660px;min-height:0;overflow:hidden}
.hero .slides>.slide{position:absolute;inset:0;height:100%;min-height:0}
.hero .hero-layout{height:100%;box-sizing:border-box;padding-top:60px;padding-bottom:145px;overflow:auto}
@media(max-width:800px){.hero .slides{height:670px}.hero .hero-layout{padding-top:40px;padding-bottom:175px}}
.hero.has-layer-motion{--depth-x:0px;--depth-y:0px}
.has-layer-motion .slide.is-active{z-index:2;animation:ngc-slide-in 1s cubic-bezier(.2,.65,.2,1) both}
.has-layer-motion .slide.is-leaving{display:block;position:absolute;inset:0;z-index:1;pointer-events:none;animation:ngc-slide-out 1s ease both}
.has-layer-motion .slide[hidden]{display:none!important}
.has-layer-motion .hero-copy{animation:none!important}
.has-layer-motion .slide-image{transform:translate3d(var(--depth-x),var(--depth-y),0) scale(1.025);transition:transform .65s ease-out}
.has-layer-motion .hero-image{transform:scale(1.03)}
.has-layer-motion .is-active .hero-image{animation:ngc-image-drift 10s ease-out both}
.has-layer-motion .is-active .hero-copy>.eyebrow{animation:ngc-layer-enter .8s .1s both}
.has-layer-motion .is-active .hero-copy>h1,.has-layer-motion .is-active .hero-copy>h2{animation:ngc-layer-enter 1s .23s both}
.has-layer-motion .is-active .hero-copy>.hero-description{animation:ngc-layer-enter .9s .4s both}
.has-layer-motion .is-active .hero-copy>.button{animation:ngc-layer-enter .8s .56s both}
.has-layer-motion .slide:has(video) .slide-image{transform:none}
.has-layer-motion .slide:has(video) .hero-image{animation:none}
.has-layer-motion.motion-paused .hero-image{animation-play-state:paused}
@keyframes ngc-slide-in{from{opacity:.25;clip-path:inset(0 0 0 100%);transform:translate3d(45px,0,0)}to{opacity:1;clip-path:inset(0 0 0 0);transform:translate3d(0,0,0)}}
@keyframes ngc-slide-out{from{opacity:1}to{opacity:0}}
@keyframes ngc-layer-enter{from{opacity:0;transform:translate3d(0,55px,0)}to{opacity:1;transform:translate3d(0,0,0)}}
@keyframes ngc-image-drift{from{transform:scale(1.17) translate3d(-1.5%,0,0)}to{transform:scale(1.035) translate3d(.7%,0,0)}}
@media(max-width:800px){.has-layer-motion .slide-image{transform:none}.has-layer-motion .is-active .hero-image{animation:ngc-image-drift 10s ease-out both}}
@media(prefers-reduced-motion:reduce){.has-layer-motion .slide,.has-layer-motion .hero-image,.has-layer-motion .hero-copy>*{animation:none!important;transform:none!important}.has-layer-motion .slide-image{transition:none;transform:none}.has-layer-motion .is-leaving{display:none!important}}
