/* Motion extends the approved composition without changing its layout. */
.headline-text{display:block}
.motion-ready .headline-line{animation:none;overflow:hidden;padding-bottom:.06em;margin-bottom:-.06em}
.motion-ready .headline-text{animation:headlineReveal 1.15s .12s var(--ease) both}
.motion-ready .headline-line:nth-child(2) .headline-text{animation-delay:.25s}
.motion-ready .headline-line:nth-child(3) .headline-text{animation-delay:.38s}
.motion-ready .branded-hero .hero-description{animation:copyArrival .9s .55s var(--ease) both}
.motion-ready .branded-hero .hero-actions{animation:copyArrival .9s .68s var(--ease) both}
.motion-ready .hero-footnote{animation:copyArrival .9s .8s var(--ease) both}

.motion-ready .hero-background{
 scale:1.015;
 translate:var(--hero-x,0px) var(--hero-y,0px);
 transition:translate 1s var(--ease);
 animation:brandPhoto 1.6s var(--ease) both,photoBreath 20s 1.6s ease-in-out infinite alternate;
 animation-play-state:running,paused;
}
.motion-ready .hero-stage.is-motion-visible .hero-background{animation-play-state:running,running}
.hero-course{rotate:var(--card-tilt,0deg);transition:transform .55s var(--ease),background .3s,rotate 1s var(--ease)}
.motion-ready .hero-course{animation:brandCard 1.1s .6s var(--ease) both,cardFloat 6s 1.7s ease-in-out infinite;animation-play-state:running,paused}
.motion-ready .hero-stage.is-motion-visible .hero-course{animation-play-state:running,running}
.glass-play{position:relative}
.glass-play::after{content:'';position:absolute;inset:-5px;border:1px solid #14223d1c;border-top-color:var(--gold);border-left-color:var(--gold);border-radius:50%;pointer-events:none}
.motion-ready .glass-play::after{animation:playOrbit 12s linear infinite;animation-play-state:paused}
.motion-ready .hero-stage.is-motion-visible .glass-play::after{animation-play-state:running}

.motion-ready .reveal{transition:opacity .85s var(--ease),translate 1s var(--ease);transition-delay:var(--reveal-delay,0ms)}
.platform-orbit{position:absolute;inset:-4% -6%;width:112%;height:108%;color:var(--ochre);overflow:visible;pointer-events:none}
.orbit-track{stroke:#14223d15;stroke-width:1;fill:none;vector-effect:non-scaling-stroke}
.orbit-trace{stroke:currentColor;stroke-width:1.5;fill:none;stroke-dasharray:.15 .85;stroke-dashoffset:.35;opacity:.65;vector-effect:non-scaling-stroke}
.motion-ready .orbit-trace{animation:orbitTrace 20s linear infinite;animation-play-state:paused}
.motion-ready .platform-backdrop{animation:shapeFlow 16s ease-in-out infinite alternate;animation-play-state:paused}
.motion-ready .platform-device{
 transform:rotate(-4deg) rotateY(var(--device-tilt-y,0deg)) rotateX(var(--device-tilt-x,0deg)) translateY(var(--device-shift,0px));
 transition:transform 1s var(--ease);
 animation:deviceFloat 8s ease-in-out infinite;
 animation-play-state:paused;
}
.platform-note{rotate:var(--note-tilt,0deg);transition:rotate 1s var(--ease),translate .7s var(--ease)}
.motion-ready .platform-note{animation:cardFloat 7s -2s ease-in-out infinite;animation-play-state:paused}
.motion-ready .platform-collage.is-motion-visible .platform-backdrop,
.motion-ready .platform-collage.is-motion-visible .platform-device,
.motion-ready .platform-collage.is-motion-visible .platform-note,
.motion-ready .platform-collage.is-motion-visible .orbit-trace{animation-play-state:running}
.motion-ready .certificate-paper{animation:certificateFloat 9s ease-in-out infinite;animation-play-state:paused}
.motion-ready .certificate-stage.is-motion-visible .certificate-paper{animation-play-state:running}
.motion-ready .cta-photo{scale:1.035;translate:0 var(--cta-shift,0px);transition:translate 1s var(--ease)}

@media(hover:hover) and (pointer:fine){
 .course-cover{transition:translate .6s var(--ease)}
 .course-open:hover .course-cover{translate:0 -4px}
 .button{transition:transform .4s var(--ease),background .3s,color .3s,box-shadow .4s var(--ease)}
 .button.navy:hover{box-shadow:0 8px 18px #14223d19}
}
@keyframes headlineReveal{from{opacity:0;translate:0 105%;rotate:1deg}to{opacity:1;translate:0 0;rotate:0deg}}
@keyframes copyArrival{from{opacity:0;translate:0 14px}to{opacity:1;translate:0 0}}
@keyframes photoBreath{from{scale:1.015}to{scale:1.045}}
@keyframes cardFloat{0%,100%{translate:0 0}50%{translate:0 -9px}}
@keyframes deviceFloat{0%,100%{translate:0 0}50%{translate:0 -7px}}
@keyframes certificateFloat{0%,100%{translate:0 0}50%{translate:0 -5px}}
@keyframes playOrbit{to{rotate:360deg}}
@keyframes orbitTrace{to{stroke-dashoffset:-.65}}
@keyframes shapeFlow{0%{border-radius:50% 50% 50% 50% / 50% 50% 50% 50%}50%{border-radius:44% 56% 53% 47% / 55% 44% 56% 45%}100%{border-radius:54% 46% 44% 56% / 47% 53% 47% 53%}}

.motion-paused .headline-text,.motion-paused .hero-description,.motion-paused .hero-actions,.motion-paused .hero-footnote{opacity:1;translate:none!important;rotate:none!important}
.motion-paused .hero-background,.motion-paused .hero-course,.motion-paused .platform-device,.motion-paused .platform-note,.motion-paused .certificate-paper,.motion-paused .cta-photo,.motion-paused .course-cover{translate:none!important;scale:1!important;rotate:none!important}
.motion-paused .hero-course{transform:none!important}
.page-hidden *,.page-hidden *::before,.page-hidden *::after{animation-play-state:paused!important}
@media(max-width:850px){.motion-ready .hero-background{translate:none}.motion-ready .platform-device{transform:rotate(-4deg) translateY(var(--device-shift,0px))}}
@media(max-width:580px){.platform-orbit{opacity:.75}.motion-ready .hero-course{animation-duration:1.1s,7s}}
@media(prefers-reduced-motion:reduce){.headline-text{opacity:1;translate:none;rotate:none}.hero-background,.hero-course,.platform-device,.platform-note,.certificate-paper,.cta-photo{translate:none!important;scale:1!important;rotate:none!important}.orbit-trace{animation:none}}
