/* Motion is scoped to the active slide, and paused with the existing carousel control. */
.hero-carousel .hero-slide--bearing { isolation:isolate; }
.hero-carousel .hero-slide--bearing::after { z-index:1; }
.hero-carousel .hero-bearing-stage {
    position:absolute; z-index:0; top:49%; left:clamp(26px,9vw,190px);
    width:clamp(315px,34vw,570px); aspect-ratio:1; transform:translateY(-50%);
    filter:drop-shadow(0 32px 26px rgba(0,6,22,.5)); pointer-events:none;
}
.hero-carousel .hero-bearing-stage img { position:absolute; inset:0; display:block; width:100%; height:100%; object-fit:contain; }
.hero-carousel .hero-bearing-rotor {
    -webkit-mask-image:radial-gradient(circle closest-side at center,transparent 0 37%,#000 42% 75%,transparent 80% 100%);
    mask-image:radial-gradient(circle closest-side at center,transparent 0 37%,#000 42% 75%,transparent 80% 100%);
    animation:ibc-bearing-rotate 13s linear infinite;
}
.hero-carousel .hero-slide--ambient.is-active .hero-slide-photo { animation:ibc-hero-breathe 9s ease-in-out infinite alternate; }
.hero-carousel .hero-slide--bearing.is-active .hero-slide-photo { animation:ibc-hero-breathe 12s ease-in-out infinite alternate; }
.hero-carousel .hero-slide--bearing:not(.is-active) .hero-bearing-rotor { animation-play-state:paused; }
.hero-carousel.is-motion-paused .hero-slide-photo,.hero-carousel.is-motion-paused .hero-bearing-rotor { animation-play-state:paused!important; }
@keyframes ibc-bearing-rotate { to { transform:rotate(360deg); } }
@keyframes ibc-hero-breathe { to { transform:scale(1.045); } }
@media(max-width:760px){
    .hero-carousel .hero-bearing-stage { width:min(73vw,385px); top:auto; bottom:-19%; left:-12%; transform:none; opacity:.65; }
    .hero-carousel .hero-slide--bearing::after { background:linear-gradient(270deg,rgba(4,21,49,.93),rgba(5,27,60,.78) 65%,rgba(5,27,60,.55)); }
}
@media(prefers-reduced-motion:reduce){
    .hero-carousel .hero-slide-photo,.hero-carousel .hero-bearing-rotor { animation:none!important; transform:none!important; }
}

.hero-carousel .hero-slide-video { position:absolute; inset:0; display:block; width:100%; height:100%; object-fit:cover; object-position:center; pointer-events:none; }
@media(max-width:760px){.hero-carousel .hero-slide-video{object-position:35% center}}
@media(max-width:480px){.hero-carousel .hero-slide-video{object-position:31% center}}
@media(max-width:760px){.hero-carousel .hero-slide--integrated .hero-slide-photo,.hero-carousel .hero-slide--integrated .hero-slide-video{object-position:17% center}}
@keyframes ibc-hero-intro{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}
.hero-carousel .hero-slide--integrated.is-active .hero-copy h1{animation:ibc-hero-intro .75s ease-out both}
.hero-carousel .hero-slide--integrated.is-active .hero-copy p{animation:ibc-hero-intro .75s .15s ease-out both}
.hero-carousel .hero-slide--integrated.is-active .hero-actions{animation:ibc-hero-intro .75s .3s ease-out both}
@media(prefers-reduced-motion:reduce){.hero-carousel .hero-slide--integrated .hero-copy h1,.hero-carousel .hero-slide--integrated .hero-copy p,.hero-carousel .hero-slide--integrated .hero-actions{animation:none!important}}
