/* V5 motion — content is visible by default; JS only enhances it. */
.reveal,.reveal-clip,.mask-reveal{opacity:1;transform:none;clip-path:none}
.motion-ready .reveal:not(.is-in){opacity:0;transform:translateY(24px)}
.motion-ready .reveal{transition:opacity var(--dur-reveal) var(--ease),transform var(--dur-reveal) var(--ease);will-change:opacity,transform}
.motion-ready .reveal.is-in{opacity:1;transform:none}
.motion-ready .reveal-clip:not(.is-in){clip-path:inset(0 0 100% 0);opacity:1;transform:none}
.motion-ready .reveal-clip{transition:clip-path 720ms var(--ease)}
.motion-ready .reveal-clip.is-in{clip-path:inset(0 0 0 0)}
.reveal-delay-1{transition-delay:calc(var(--stagger)*1)}
.reveal-delay-2{transition-delay:calc(var(--stagger)*2)}
.reveal-delay-3{transition-delay:calc(var(--stagger)*3)}
.reveal-delay-4{transition-delay:calc(var(--stagger)*4)}
.reveal-delay-5{transition-delay:calc(var(--stagger)*5)}
[data-stagger] > .reveal:nth-child(1){transition-delay:0ms}
[data-stagger] > .reveal:nth-child(2){transition-delay:40ms}
[data-stagger] > .reveal:nth-child(3){transition-delay:80ms}
[data-stagger] > .reveal:nth-child(4){transition-delay:120ms}
[data-stagger] > .reveal:nth-child(5){transition-delay:160ms}
[data-stagger] > .reveal:nth-child(6){transition-delay:200ms}

.parallax-wrap{overflow:hidden}
.parallax-el{will-change:transform;transition:none}

.traj-draw{stroke-dasharray:1200;stroke-dashoffset:1200}
.traj-draw.is-drawn{transition:stroke-dashoffset 900ms var(--ease);stroke-dashoffset:0}

.motion-ready .mask-reveal:not(.is-in){clip-path:inset(8% 8% 8% 8%);opacity:.86;transform:scale(1.02)}
.motion-ready .mask-reveal{transition:clip-path var(--dur-reveal) var(--ease),opacity var(--dur-reveal) var(--ease),transform var(--dur-reveal) var(--ease)}
.motion-ready .mask-reveal.is-in{clip-path:inset(0 0 0 0);opacity:1;transform:none}

.case-shift{transition:opacity 480ms var(--ease),transform 480ms var(--ease)}
.case-shift.is-leaving{opacity:0;transform:translateX(-12px)}
.case-shift.is-entering{opacity:0;transform:translateX(12px)}
.case-shift.is-active{opacity:1;transform:none}

@keyframes stagePanelIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.stage-focus__panel.is-active{animation:stagePanelIn var(--dur-enter) var(--ease) both}

.page-enter{animation:pageIn 480ms var(--ease) both}
@keyframes pageIn{from{transform:translateY(10px)}to{transform:none}}

.carousel-dot{transition:background var(--dur-ui) var(--ease),transform var(--dur-fast) var(--ease)}
.carousel-dot[aria-current=true]{transform:scale(1.15)}

@keyframes heroAmbient{from{transform:scale(1.045)}to{transform:scale(1)}}
.hero-bg img{animation:heroAmbient 1600ms var(--ease) both}

@keyframes heroRise{from{transform:translateY(26px)}to{transform:none}}
.hero-copy > .eyebrow{animation:heroRise 620ms 80ms var(--ease) both}
.hero-copy > h1{animation:heroRise 720ms 150ms var(--ease) both}
.hero-copy > .hero-lead{animation:heroRise 720ms 230ms var(--ease) both}
.hero-copy > .hero-actions{animation:heroRise 720ms 310ms var(--ease) both}
.hero-copy > .hero-aside{animation:heroRise 720ms 390ms var(--ease) both}
.hero-visual{animation:heroRise 820ms 260ms var(--ease) both}

@media(prefers-reduced-motion:reduce){
.reveal,.reveal.is-in,.reveal-clip,.reveal-clip.is-in{opacity:1;transform:none;clip-path:none;transition:none}
.mask-reveal,.mask-reveal.is-in{clip-path:none;opacity:1;transform:none;transition:none}
.btn,.nav a,.nav__trigger,.carousel-dot,.btn__arrow,.stage-focus__btn,.case-shift,.link-u{transition:none!important}
.btn-primary:hover .btn__arrow,.btn-brand:hover .btn__arrow,.btn:hover{transform:none!important}
.stage-focus__panel.is-active{animation:none;opacity:1;transform:none}
.page-enter{animation:none}
.traj-draw,.traj-draw.is-drawn{stroke-dashoffset:0;transition:none}
.parallax-el{transform:none!important}
.carousel-dot[aria-current=true]{transform:none}
.hero-bg img,.hero-copy > *,.hero-visual{animation:none!important;opacity:1;transform:none}
}
