/* Motion study: keeps the approved proportions, palette and responsive layout. */
:root{--motion-ease:cubic-bezier(.22,1,.36,1);--motion-short:cubic-bezier(.2,.75,.25,1)}
.motion-orbit{overflow:visible;border:0}
.motion-orbit ellipse{stroke:#627dfa;stroke-width:2;vector-effect:non-scaling-stroke}
.cta-orbit ellipse{stroke:#557be8}
.interlude-mark{transform-origin:center}
.journey-grid{position:relative}
.journey-thread{position:absolute;left:0;right:0;top:-15px;height:2px;border-radius:2px;background:#e3eaf5;overflow:hidden;pointer-events:none}
.journey-thread i{display:block;height:100%;width:100%;background:linear-gradient(90deg,var(--blue),var(--green));transform:scaleX(var(--journey-progress,1));transform-origin:left}

/* The load sequence is gated by critical image readiness, with a timed fallback. */
.motion-enabled .hero .reveal{opacity:0;transform:none;transition:none}
/* The heading uses the unmodified official markup and is always readable. */
.motion-enabled .hero #hero-title{opacity:1;transform:none;translate:none;animation:none}
.motion-enabled .student-image{opacity:0;translate:0 20px}
.motion-enabled .blob-blue,.motion-enabled .blob-green{opacity:0;scale:.9}
.motion-enabled .hero .float-card{opacity:0;animation:none;translate:0 14px}
.motion-enabled .art-ring ellipse{stroke-dasharray:1;stroke-dashoffset:1;stroke-linecap:round}
.motion-enabled.hero-ready .hero-copy>.eyebrow{animation:motion-rise .7s var(--motion-ease) both}
.motion-enabled.hero-ready .hero-copy>p{animation:motion-rise .9s var(--motion-ease) .28s both}
.motion-enabled.hero-ready .hero-actions{animation:motion-rise .9s var(--motion-ease) .38s both}
.motion-enabled.hero-ready .hero-proof{animation:motion-rise .9s var(--motion-ease) .5s both}
.motion-enabled.hero-ready .student-image{animation:person-arrive 1.2s var(--motion-ease) .2s both}
.motion-enabled.hero-ready .blob-blue{animation:shape-arrive 1.5s var(--motion-ease) .12s both}
.motion-enabled.hero-ready .blob-green{animation:shape-arrive 1.5s var(--motion-ease) .32s both}
.motion-enabled.hero-ready .art-ring ellipse{animation:orbit-draw 1.9s cubic-bezier(.45,0,.2,1) .45s both}
.motion-enabled.hero-ready .float-time{animation:badge-arrive .95s var(--motion-ease) 1s both}
.motion-enabled.hero-ready .float-certificate{animation:badge-arrive .95s var(--motion-ease) 1.25s both}
.hero-art{translate:0 var(--hero-drift,0px)}

/* Each section has its own entrance; no ongoing card bounce or infinite rail. */
.motion-enabled .motion-item{opacity:0;translate:0 20px;transform:none;transition:opacity .85s var(--motion-short),translate 1s var(--motion-ease);transition-delay:var(--motion-delay,0ms)}
.motion-enabled .motion-item.motion-in{opacity:1;translate:0 0}
.motion-enabled .category-card.motion-in:hover,.motion-enabled .featured-card.motion-in:hover,.motion-enabled .catalog-card.motion-in:hover{transform:translateY(-5px)}
.motion-enabled .reveal.is-visible{transform:none}
.motion-enabled .category-card.motion-item{translate:18px 0}
.motion-enabled .category-card.motion-in{translate:0 0}
.motion-enabled .category-card img{scale:1.075;transition:scale 1.3s var(--motion-ease),transform .5s;transition-delay:var(--motion-delay,0ms)}
.motion-enabled .category-card.motion-in img{scale:1}
.motion-enabled .category-card .category-copy{opacity:0;translate:0 9px;transition:opacity .6s,translate .8s var(--motion-ease);transition-delay:calc(var(--motion-delay,0ms) + 120ms)}
.motion-enabled .category-card.motion-in .category-copy{opacity:1;translate:0 0}
.motion-enabled .benefit.motion-item{translate:0 10px}
.motion-enabled .benefit.motion-in{translate:0 0}
.motion-enabled .benefit-icon svg{scale:.8;transition:scale .9s var(--motion-ease);transition-delay:calc(var(--motion-delay,0ms) + 100ms)}
.motion-enabled .benefit.motion-in .benefit-icon svg{scale:1}
.motion-enabled .benefit-icon svg path,.motion-enabled .benefit-icon svg circle{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1s var(--motion-ease);transition-delay:calc(var(--motion-delay,0ms) + 180ms)}
.motion-enabled .benefit.motion-in svg path,.motion-enabled .benefit.motion-in svg circle{stroke-dashoffset:0}
.motion-enabled .with-line:before{transform:scaleX(0);transform-origin:left;transition:transform .8s var(--motion-ease);transition-delay:var(--motion-delay,0ms)}
.motion-enabled .motion-in .with-line:before,.motion-enabled.hero-ready .hero .with-line:before{transform:scaleX(1)}
.motion-enabled .interlude-statement.motion-item{translate:-20px 0}
.motion-enabled .interlude-detail.motion-item{translate:20px 0}
.motion-enabled .interlude .motion-in{translate:0 0}
.motion-enabled .interlude-mark{rotate:calc((var(--interlude-progress,0) - 1) * -12deg)}
.motion-enabled .interlude-mark path{stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--interlude-progress,0))}
.motion-enabled .featured-card.motion-item{translate:none;transition:opacity .75s var(--motion-short),transform .3s,box-shadow .3s;transition-delay:var(--motion-delay,0ms)}
.motion-enabled .featured-card .featured-image img{clip-path:inset(14% 0 0);scale:1.07;transition:clip-path 1s var(--motion-ease),scale 1.4s var(--motion-ease);transition-delay:var(--motion-delay,0ms)}
.motion-enabled .featured-card.motion-in .featured-image img{clip-path:inset(0);scale:1}
.motion-enabled .featured-body{opacity:0;translate:0 8px;transition:opacity .7s,translate .8s var(--motion-ease);transition-delay:calc(var(--motion-delay,0ms) + 120ms)}
.motion-enabled .featured-card.motion-in .featured-body{opacity:1;translate:0 0}
.motion-enabled .cta-person{opacity:0;translate:0 22px;transition:opacity 1s var(--motion-short),translate 1.3s var(--motion-ease)}
.motion-enabled .cta-blob{scale:.88;opacity:0;transition:scale 1.4s var(--motion-ease),opacity .8s}
.motion-enabled .cta-stat{opacity:0;translate:-15px 5px;transition:opacity .8s,translate 1s var(--motion-ease);transition-delay:.55s}
.motion-enabled .cta-orbit ellipse{stroke-dasharray:1;stroke-dashoffset:1;stroke-linecap:round;transition:stroke-dashoffset 1.7s cubic-bezier(.45,0,.2,1);transition-delay:.25s}
.motion-enabled .cta-section.motion-scene-in .cta-person{opacity:1;translate:0 0}
.motion-enabled .cta-section.motion-scene-in .cta-blob{scale:1;opacity:.9}
.motion-enabled .cta-section.motion-scene-in .cta-stat{opacity:1;translate:0 0}
.motion-enabled .cta-section.motion-scene-in .cta-orbit ellipse{stroke-dashoffset:0}
.motion-enabled .catalog-image img{scale:1.055;transition:scale 1.3s var(--motion-ease),transform .35s;transition-delay:var(--motion-delay,0ms)}
.motion-enabled .catalog-card.motion-in .catalog-image img{scale:1}
.motion-enabled .journey-icon{scale:.86;rotate:-10deg;transition:scale .9s var(--motion-ease),rotate .9s var(--motion-ease);transition-delay:calc(var(--motion-delay,0ms) + 100ms)}
.motion-enabled .journey-card.motion-in .journey-icon{scale:1;rotate:0deg}
.motion-enabled .faq-list.motion-item{opacity:1;translate:none}
.motion-enabled .faq-list details.motion-item{translate:0 10px}
.motion-enabled .faq-list details.motion-in{translate:0 0}
.faq-list details[open] p{animation:faq-answer .35s var(--motion-ease)}
@supports(interpolate-size:allow-keywords){
  .faq-list details{interpolate-size:allow-keywords}
  .faq-list details::details-content{block-size:0;overflow:hidden;transition:block-size .35s var(--motion-ease),content-visibility .35s allow-discrete}
  .faq-list details[open]::details-content{block-size:auto}
}
.btn span,.simple-link>span{display:inline-block;transition:translate .3s var(--motion-ease)}
.btn:hover span,.simple-link:hover>span{translate:4px 0}
.motion-enabled .motion-item:focus-within{opacity:1;translate:0 0}
.motion-enabled .motion-item:focus-within .featured-body,.motion-enabled .motion-item:focus-within .category-copy{opacity:1;translate:0 0}
@keyframes motion-rise{from{opacity:0;translate:0 14px}to{opacity:1;translate:0 0}}
@keyframes person-arrive{from{opacity:0;translate:0 20px}to{opacity:1;translate:0 0}}
@keyframes shape-arrive{from{opacity:0;scale:.9}to{opacity:1;scale:1}}
@keyframes badge-arrive{from{opacity:0;translate:0 14px;scale:.97}to{opacity:1;translate:0 0;scale:1}}
@keyframes orbit-draw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes faq-answer{from{opacity:0;translate:0 -5px}to{opacity:1;translate:0 0}}
@media(max-width:700px){
  .motion-enabled .motion-item{translate:0 12px;transition-duration:.65s,.8s}
  .motion-enabled .motion-item.motion-in{translate:0 0}
  .hero-art{translate:none}
  .motion-enabled .featured-card.motion-item{translate:none}
  .motion-enabled .interlude-statement.motion-item,.motion-enabled .interlude-detail.motion-item{translate:0 12px}
  .motion-enabled .interlude .motion-in{translate:0 0}
  .motion-enabled .cta-person{translate:0 12px}
  .journey-thread{top:0;left:8px;bottom:0;right:auto;width:2px;height:auto}
  .journey-thread i{transform:scaleY(var(--journey-progress,1));transform-origin:top;background:linear-gradient(180deg,var(--blue),var(--green))}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .hero-art,.motion-item{translate:none!important}
  .page-shell *, .page-shell *::before,.page-shell *::after{animation:none!important;transition:none!important}
  .js .reveal,.motion-enabled .motion-item,.motion-enabled .hero .reveal,.motion-enabled .student-image,.motion-enabled .hero .float-card,.motion-enabled .cta-person,.motion-enabled .cta-blob,.motion-enabled .cta-stat,.motion-enabled .featured-body,.motion-enabled .category-copy{opacity:1!important;translate:none!important;transform:none!important}
  .motion-orbit ellipse,.interlude-mark path,.benefit-icon svg path,.benefit-icon svg circle{stroke-dashoffset:0!important}
  .journey-thread i{transform:none!important}
}
