@keyframes stagePush { from { transform:scale(1.02) } to { transform:scale(1.09) } }
@keyframes loopProgress { from { transform:scaleX(0) } to { transform:scaleX(1) } }
@keyframes navDrop { from { opacity:0; transform:translateY(-14px) } to { opacity:1; transform:none } }
[data-hero-enter] { opacity:0;transform:translateY(22px);transition:opacity .65s ease,transform .8s cubic-bezier(.2,.75,.2,1) }
body.is-ready [data-hero-enter] { opacity:1;transform:none }
body.is-ready [data-hero-enter]:nth-child(2){transition-delay:.08s}body.is-ready [data-hero-enter]:nth-child(3){transition-delay:.16s}body.is-ready [data-hero-enter]:nth-child(4){transition-delay:.24s}body.is-ready [data-hero-enter]:nth-child(5){transition-delay:.32s}.experience-stage[data-hero-enter]{transition-delay:.2s}
.js [data-animate="reveal"]{opacity:0;transform:translateY(40px);transition:opacity .75s ease,transform .9s cubic-bezier(.2,.7,.2,1)}.js [data-animate="reveal"].is-visible{opacity:1;transform:none}.js [data-animate="image-mask"] .reference-card__media{clip-path:inset(0 0 100% 0 round var(--radius-card));transition:clip-path 1s cubic-bezier(.2,.75,.2,1)}.js [data-animate="image-mask"].is-visible .reference-card__media{clip-path:inset(0 round var(--radius-card))}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.js [data-animate],[data-hero-enter]{opacity:1!important;transform:none!important}.js [data-animate="image-mask"] .reference-card__media{clip-path:none!important}}
