:root {
  --motion-ease: cubic-bezier(.16, 1, .3, 1);
  --motion-ease-soft: cubic-bezier(.22, .61, .36, 1);
  --motion-duration: 760ms;
}

/* 01-03. Header settle, active navigation and reading progress */
.site-header {
  transition: background-color .35s ease, border-color .35s ease, box-shadow .35s ease, transform .35s var(--motion-ease);
}
.site-header.is-scrolled {
  background: rgba(255,255,255,.97);
  border-bottom-color: rgba(12,26,43,.12);
  box-shadow: 0 12px 32px -28px rgba(12,26,43,.55);
}
.scroll-progress {
  position: absolute;
  z-index: 3;
  left: 0;
  right: 0;
  bottom: -1px;
  height: 2px;
  background: var(--gold-500);
  transform: scaleX(var(--scroll-progress, 0));
  transform-origin: left center;
  pointer-events: none;
}
.desktop-nav a { position: relative; }
.desktop-nav a::after {
  content: "";
  position: absolute;
  left: 50%;
  right: 50%;
  bottom: -11px;
  height: 1px;
  background: var(--gold-500);
  transition: left .26s var(--motion-ease), right .26s var(--motion-ease), opacity .26s ease;
  opacity: 0;
}
.desktop-nav a:hover::after,
.desktop-nav a:focus-visible::after,
.desktop-nav a.is-current::after { left: 0; right: 0; opacity: 1; }
.desktop-nav a.is-current { color: var(--navy-700); }

html.motion-capable .top-message span { opacity: 0; transform: translateY(-9px); }
html.motion-capable .site-header .brand,
html.motion-capable .site-header .desktop-nav a,
html.motion-capable .site-header .nav-actions { opacity: 0; transform: translateY(-10px); }
html.motion-capable.motion-loaded .top-message span { animation: motion-top-message .55s var(--motion-ease) .08s both; }
html.motion-capable.motion-loaded .site-header .brand { animation: motion-header-settle .62s var(--motion-ease) .14s both; }
html.motion-capable.motion-loaded .site-header .desktop-nav a { animation: motion-header-settle .56s var(--motion-ease) both; }
html.motion-capable.motion-loaded .site-header .desktop-nav a:nth-child(1) { animation-delay: .19s; }
html.motion-capable.motion-loaded .site-header .desktop-nav a:nth-child(2) { animation-delay: .23s; }
html.motion-capable.motion-loaded .site-header .desktop-nav a:nth-child(3) { animation-delay: .27s; }
html.motion-capable.motion-loaded .site-header .desktop-nav a:nth-child(4) { animation-delay: .31s; }
html.motion-capable.motion-loaded .site-header .desktop-nav a:nth-child(5) { animation-delay: .35s; }
html.motion-capable.motion-loaded .site-header .desktop-nav a:nth-child(6) { animation-delay: .39s; }
html.motion-capable.motion-loaded .site-header .nav-actions { animation: motion-header-settle .62s var(--motion-ease) .35s both; }

/* 04-10. Hero entrance, emphasis, curtain and subtle parallax */
html.motion-capable .hero .kicker,
html.motion-capable .hero h1,
html.motion-capable .hero-lede,
html.motion-capable .boundary-note,
html.motion-capable .hero-actions,
html.motion-capable .hero-tags li { opacity: 0; }
html.motion-capable .hero .kicker { transform: translateX(-8px) scale(.98); }
html.motion-capable .hero h1 { clip-path: inset(0 0 100% 0); transform: translateX(-10px); }
html.motion-capable .hero-lede,
html.motion-capable .boundary-note,
html.motion-capable .hero-actions { transform: translateX(-10px); }
html.motion-capable .hero-tags li { transform: translateX(-8px) scale(.98); }
html.motion-capable .hero-media { clip-path: inset(0 100% 0 0 round var(--radius-lg)); }
html.motion-capable .hero-media > img {
  --hero-scale: 1.025;
  transform: translate3d(0, var(--hero-shift, 0px), 0) scale(var(--hero-scale));
  transform-origin: center center;
  transition: transform 1.1s var(--motion-ease);
}
html.motion-capable.motion-loaded .hero .kicker { animation: motion-pill-settle .58s var(--motion-ease) .22s both; }
html.motion-capable.motion-loaded .hero h1 { animation: motion-title-clip .82s var(--motion-ease) .30s both; }
html.motion-capable.motion-loaded .hero h1 em { animation: motion-gold-settle .68s var(--motion-ease) .84s both; }
html.motion-capable.motion-loaded .hero h1 em::after {
  display: block;
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: .02em;
  height: 2px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left;
  animation: motion-line-draw .72s var(--motion-ease) .88s both;
  opacity: .45;
}
.hero h1 em { position: relative; display: inline-block; }
html.motion-capable.motion-loaded .hero-lede { animation: motion-hero-copy .66s var(--motion-ease) .48s both; }
html.motion-capable.motion-loaded .hero-tags li { animation: motion-chip-pop .48s var(--motion-ease) both; }
html.motion-capable.motion-loaded .hero-tags li:nth-child(1) { animation-delay: .58s; }
html.motion-capable.motion-loaded .hero-tags li:nth-child(2) { animation-delay: .65s; }
html.motion-capable.motion-loaded .hero-tags li:nth-child(3) { animation-delay: .72s; }
html.motion-capable.motion-loaded .boundary-note { animation: motion-hero-copy .66s var(--motion-ease) .80s both; }
html.motion-capable.motion-loaded .hero-actions { animation: motion-hero-copy .66s var(--motion-ease) .88s both; }
html.motion-capable .boundary-note { position: relative; border-left-color: transparent; }
html.motion-capable .boundary-note::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 2px;
  background: var(--gold-500);
  transform: scaleY(0);
  transform-origin: top;
}
html.motion-capable.motion-loaded .boundary-note::before { animation: motion-line-vertical .82s var(--motion-ease) .90s both; }
html.motion-capable.motion-loaded .hero-media { animation: motion-curtain .92s var(--motion-ease) .58s both; }
html.motion-capable.motion-loaded .hero-media > img { --hero-scale: 1; }

/* 11-28. Shared on-scroll reveal language */
html.motion-capable [data-motion] {
  opacity: 0;
  transform: translate3d(0, 24px, 0);
  transition-property: opacity, transform, clip-path, filter;
  transition-duration: var(--motion-duration);
  transition-timing-function: var(--motion-ease);
  transition-delay: var(--motion-delay, 0ms);
}
html.motion-capable [data-motion="slide-left"] { transform: translate3d(30px, 0, 0); }
html.motion-capable [data-motion="slide-right"] { transform: translate3d(-30px, 0, 0); }
html.motion-capable [data-motion="scale"] { transform: translate3d(0, 14px, 0) scale(.965); }
html.motion-capable [data-motion="photo"] { opacity: .62; transform: translate3d(0, 8px, 0) scale(1.012); }
html.motion-capable [data-motion="pop"] { transform: translate3d(0, 10px, 0) scale(.94); }
html.motion-capable [data-motion="mask-left"] {
  opacity: .35;
  clip-path: inset(0 100% 0 0 round var(--radius-lg));
  transform: translate3d(-14px, 0, 0) scale(1.015);
}
html.motion-capable [data-motion="mask-right"] {
  opacity: .35;
  clip-path: inset(0 0 0 100% round var(--radius-lg));
  transform: translate3d(14px, 0, 0) scale(1.015);
}
html.motion-capable [data-motion="clip-up"] {
  clip-path: inset(100% 0 0 0);
  transform: translate3d(0, 18px, 0);
}
html.motion-capable [data-motion="row-wipe"] {
  clip-path: inset(0 100% 0 0);
  transform: translate3d(-12px, 0, 0);
}
html.motion-capable [data-motion="soft-focus"] {
  filter: blur(5px);
  transform: translate3d(0, 18px, 0) scale(.985);
}
html.motion-capable [data-motion].is-revealed {
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
  filter: blur(0);
}
html.motion-capable [data-motion="mask-left"].is-revealed,
html.motion-capable [data-motion="mask-right"].is-revealed,
html.motion-capable [data-motion="clip-up"].is-revealed,
html.motion-capable [data-motion="row-wipe"].is-revealed { clip-path: inset(0); }
html.motion-capable [data-motion].is-revealed:not(.motion-settled) { will-change: opacity, transform; }
html.motion-capable [data-motion].motion-settled { clip-path: none; will-change: auto; }

/* Section heading settles as one editorial block. */
html.motion-capable [data-motion="section-head"] .eyebrow {
  letter-spacing: .28em;
  opacity: .35;
  transition: letter-spacing .9s var(--motion-ease), opacity .7s ease;
}
html.motion-capable [data-motion="section-head"].is-revealed .eyebrow { letter-spacing: .16em; opacity: 1; }
html.motion-capable [data-motion="section-head"] h2 em { background-size: 0 1px; }
html.motion-capable [data-motion="section-head"].is-revealed h2 em {
  background-image: linear-gradient(currentColor, currentColor);
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 100% 1px;
  transition: background-size .9s var(--motion-ease) .25s;
}

/* Director facts, cards and article line. */
html.motion-capable .director-facts span[data-motion].is-revealed { animation: motion-chip-finish .46s var(--motion-ease) var(--motion-delay, 0ms) both; }
.column-card { position: relative; }
.column-card::before {
  content: "";
  position: absolute;
  top: -1px;
  left: 0;
  width: 100%;
  height: 1px;
  background: var(--gold-400);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .8s var(--motion-ease) var(--motion-delay, 0ms);
}
.column-card.is-revealed::before { transform: scaleX(1); }
.director-article.is-open .director-article-header { animation: motion-article-line .72s var(--motion-ease) .12s both; }

/* Existing number animation: GPU line draw and final value settle. */
.record-card::before, .number-card::before {
  width: 100%;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 1.25s var(--motion-ease) .18s, background-color .3s ease;
}
.record-card.in-view::before, .number-card.in-view::before { width: 100%; transform: scaleX(1); }
.record-card.in-view .count, .number-card.in-view .count { animation: motion-count-settle .44s var(--motion-ease) 1.5s both; }
.numbers-wordplay em { display: inline-block; }
.numbers-heading.is-revealed .numbers-wordplay em { animation: motion-number-word .66s var(--motion-ease) .28s both; }

/* Preserve the Learning Lounge's original 1.1 → 1 → 1 card cascade. */
html.motion-capable .director-numbers-section .record-card {
  opacity: 0;
  transform: translateY(28px);
}
html.motion-capable .director-numbers-section .record-card.in-view {
  opacity: 1 !important;
  transform: translateY(0) !important;
}
.director-numbers-section .record-card::before {
  right: 0;
  height: 4px;
  width: 100%;
  background: linear-gradient(90deg, transparent 0%, var(--gold-500) 50%, transparent 100%);
  opacity: 0;
  transform: none;
  transition: opacity .3s ease;
}
.director-numbers-section .record-card.in-view::before {
  width: 100%;
  opacity: 1;
  transform: none;
}

/* Timeline, method and learning loop progress. */
.grade-timeline li.is-revealed::before,
.method-process > div.is-revealed::before,
.mentor-flow li.is-revealed::before {
  animation: motion-line-draw .85s var(--motion-ease) var(--motion-delay, 0ms) both;
}
.method-process > div.is-revealed > span,
.loop-grid li.is-revealed > span,
.mentor-flow li.is-revealed > span { animation: motion-number-mark .5s var(--motion-ease) calc(var(--motion-delay, 0ms) + 110ms) both; }
.loop-grid li.is-revealed:not(:last-child)::after { animation: motion-arrow-pass .62s var(--motion-ease) calc(var(--motion-delay, 0ms) + 380ms) both; }

/* Track titles lead the motion hierarchy. */
html.motion-capable .track-card[data-motion] .track-number,
html.motion-capable .track-card[data-motion] .track-label,
html.motion-capable .track-card[data-motion] .track-title,
html.motion-capable .track-card[data-motion] .track-promise,
html.motion-capable .track-card[data-motion] li { opacity: 0; }
html.motion-capable .track-card[data-motion] .track-title { clip-path: inset(100% 0 0 0); transform: translateY(15px); }
html.motion-capable .track-card[data-motion].is-revealed .track-title { animation: motion-track-title .72s var(--motion-ease) .05s both; }
html.motion-capable .track-card[data-motion].is-revealed .track-label { animation: motion-rise .52s var(--motion-ease) .16s both; }
html.motion-capable .track-card[data-motion].is-revealed .track-number { animation: motion-rise .48s var(--motion-ease) .22s both; }
html.motion-capable .track-card[data-motion].is-revealed .track-promise { animation: motion-rise .62s var(--motion-ease) .25s both; }
html.motion-capable .track-card[data-motion].is-revealed li { animation: motion-rise .5s var(--motion-ease) both; }
html.motion-capable .track-card[data-motion].is-revealed li:nth-child(1) { animation-delay: .34s; }
html.motion-capable .track-card[data-motion].is-revealed li:nth-child(2) { animation-delay: .39s; }
html.motion-capable .track-card[data-motion].is-revealed li:nth-child(3) { animation-delay: .44s; }
html.motion-capable .track-card[data-motion].is-revealed li:nth-child(4) { animation-delay: .49s; }

/* Split banners, form fields and success blocks. */
html.motion-capable .lounge-link-banner.is-revealed > :first-child { animation: motion-slide-right .68s var(--motion-ease) .08s both; }
html.motion-capable .lounge-link-banner.is-revealed > :last-child { animation: motion-slide-left .68s var(--motion-ease) .16s both; }
html.motion-capable .consult-form[data-motion] .form-heading,
html.motion-capable .consult-form[data-motion] label,
html.motion-capable .consult-form[data-motion] .form-submit,
html.motion-capable .consult-form[data-motion] .form-note { opacity: 0; transform: translateY(12px); }
html.motion-capable .consult-form[data-motion].is-revealed .form-heading,
html.motion-capable .consult-form[data-motion].is-revealed label,
html.motion-capable .consult-form[data-motion].is-revealed .form-submit,
html.motion-capable .consult-form[data-motion].is-revealed .form-note { animation: motion-rise .52s var(--motion-ease) both; }
html.motion-capable .consult-form[data-motion].is-revealed .form-heading { animation-delay: .1s; }
html.motion-capable .consult-form[data-motion].is-revealed label:nth-of-type(1) { animation-delay: .16s; }
html.motion-capable .consult-form[data-motion].is-revealed label:nth-of-type(2) { animation-delay: .2s; }
html.motion-capable .consult-form[data-motion].is-revealed label:nth-of-type(3) { animation-delay: .24s; }
html.motion-capable .consult-form[data-motion].is-revealed label:nth-of-type(4) { animation-delay: .28s; }
html.motion-capable .consult-form[data-motion].is-revealed label:nth-of-type(n+5) { animation-delay: .32s; }
html.motion-capable .consult-form[data-motion].is-revealed .form-submit { animation-delay: .4s; }
html.motion-capable .consult-form[data-motion].is-revealed .form-note { animation-delay: .46s; }

/* 29-32. Refined micro interactions */
@media (hover: hover) and (pointer: fine) {
  .button { position: relative; overflow: hidden; transition: transform .24s var(--motion-ease), background .24s ease, border-color .24s ease, box-shadow .24s ease; }
  .button::after {
    content: "";
    position: absolute;
    inset: 0;
    border: 1px solid rgba(255,255,255,.28);
    border-radius: inherit;
    opacity: 0;
    transform: scale(.94);
    transition: opacity .25s ease, transform .35s var(--motion-ease);
    pointer-events: none;
  }
  .button:hover { transform: translateY(-3px); }
  .button:hover::after { opacity: 1; transform: scale(1); }
  .text-link span { display: inline-block; transition: transform .25s var(--motion-ease); }
  .text-link:hover span { transform: translate3d(4px, 0, 0); }
  html.motion-capable [data-motion].is-revealed.motion-tilt.is-pointing {
    transform: perspective(900px) rotateX(var(--tilt-x, 0deg)) rotateY(var(--tilt-y, 0deg)) translateY(-4px);
    transition-duration: 180ms;
  }
  .resource-grid article img { transition: transform .65s var(--motion-ease); }
  .resource-grid article:hover img { transform: scale(1.025); }
  .alumni-card { transition: transform .3s var(--motion-ease), border-color .3s ease, box-shadow .3s ease; }
  html.motion-capable .alumni-card[data-motion].is-revealed:hover,
  .alumni-card:not([data-motion]):hover { border-color: var(--gold-400); box-shadow: var(--shadow-lg); }

  /* Every visually independent card gets the same restrained hover emphasis. */
  :is(
    .record-card,
    .number-card,
    .comparison-card,
    .program-card,
    .track-card,
    .policy-column,
    .resource-grid article,
    .lounge-link-unit,
    .question-card,
    .question-system-grid > li,
    .mentor-qualification,
    .mentor-promises > li,
    .mentor-flow > li,
    .mentor-services > div,
    .story-card,
    .success-feature,
    .alumni-card,
    .review-card,
    .location-card,
    .method-core > li,
    .method-process > div,
    .loop-grid > li,
    .loop-summary > div,
    .grade-timeline > li,
    .fit-score > div
  ):hover {
    border-color: rgba(230,152,34,.48);
    box-shadow: 0 22px 46px -34px rgba(12,26,43,.5);
  }
  .section-navy :is(.method-core > li, .method-process > div):hover {
    border-color: rgba(240,169,60,.55);
    box-shadow: 0 22px 42px -30px rgba(0,0,0,.52);
  }
}

@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  :is(
    .comparison-card,
    .policy-column,
    .resource-grid article,
    .lounge-link-unit,
    .question-system-grid > li,
    .mentor-qualification,
    .mentor-promises > li,
    .mentor-flow > li,
    .mentor-services > div,
    .story-card,
    .alumni-card,
    .location-card,
    .method-core > li,
    .method-process > div,
    .loop-grid > li,
    .loop-summary > div,
    .grade-timeline > li,
    .fit-score > div
  ):not([data-motion]):not(.motion-tilt) {
    transition: translate .3s var(--motion-ease), border-color .3s ease, box-shadow .3s ease;
  }
  html.motion-capable :is(
    .comparison-card,
    .policy-column,
    .resource-grid article,
    .question-system-grid > li,
    .mentor-qualification,
    .mentor-flow > li,
    .mentor-services > div,
    .alumni-card,
    .method-core > li,
    .method-process > div,
    .loop-grid > li,
    .loop-summary > div,
    .grade-timeline > li,
    .fit-score > div
  )[data-motion].motion-settled:not(.motion-tilt) {
    transition: translate .3s var(--motion-ease), border-color .3s ease, box-shadow .3s ease;
  }
  :is(
    .record-card,
    .number-card,
    .comparison-card,
    .policy-column,
    .resource-grid article,
    .lounge-link-unit,
    .question-system-grid > li,
    .mentor-qualification,
    .mentor-promises > li,
    .mentor-flow > li,
    .mentor-services > div,
    .story-card,
    .alumni-card,
    .location-card
  ):not([data-motion]):not(.motion-tilt):hover,
  html.motion-capable :is(
    .comparison-card,
    .policy-column,
    .resource-grid article,
    .question-system-grid > li,
    .mentor-qualification,
    .mentor-flow > li,
    .mentor-services > div,
    .alumni-card
  )[data-motion].motion-settled:not(.motion-tilt):hover {
    translate: 0 -5px;
  }
  :is(
    .method-core > li,
    .method-process > div,
    .loop-grid > li,
    .loop-summary > div,
    .grade-timeline > li,
    .fit-score > div
  ):not([data-motion]):not(.motion-tilt):hover,
  html.motion-capable :is(
    .method-core > li,
    .method-process > div,
    .loop-grid > li,
    .loop-summary > div,
    .grade-timeline > li,
    .fit-score > div
  )[data-motion].motion-settled:not(.motion-tilt):hover {
    translate: 0 -3px;
  }
}

/* FAQ and mobile navigation retain native semantics while gaining motion. */
.faq-list summary { transition: color .24s ease, padding-left .3s var(--motion-ease); }
.faq-list summary::after { transition: transform .32s var(--motion-ease), color .24s ease; }
.faq-list details[open] summary { color: var(--navy-900); padding-left: 10px; }
.faq-list details[open] summary::after { transform: translateY(-50%) rotate(180deg); }
.faq-list details[open] > div { animation: motion-faq-answer .38s var(--motion-ease) both; }
.mobile-menu:not([hidden]) { animation: motion-mobile-menu .38s var(--motion-ease) both; }
.mobile-menu:not([hidden]) a { opacity: 0; animation: motion-rise .34s var(--motion-ease) both; }
.mobile-menu:not([hidden]) a:nth-child(1) { animation-delay: .05s; }
.mobile-menu:not([hidden]) a:nth-child(2) { animation-delay: .09s; }
.mobile-menu:not([hidden]) a:nth-child(3) { animation-delay: .13s; }
.mobile-menu:not([hidden]) a:nth-child(4) { animation-delay: .17s; }
.mobile-menu:not([hidden]) a:nth-child(5) { animation-delay: .21s; }
.mobile-menu:not([hidden]) a:nth-child(6) { animation-delay: .25s; }
.mobile-menu:not([hidden]) a:nth-child(7) { animation-delay: .29s; }
.consult-form input, .consult-form select { transition: border-color .22s ease, box-shadow .22s ease, transform .22s var(--motion-ease); }
.consult-form input:focus, .consult-form select:focus { transform: translateY(-1px); }

@keyframes motion-top-message { from { opacity: 0; transform: translateY(-9px); } to { opacity: 1; transform: translateY(0); } }
@keyframes motion-header-settle { from { opacity: 0; transform: translateY(-10px); } to { opacity: 1; transform: translateY(0); } }
@keyframes motion-pill-settle { from { opacity: 0; transform: translateX(-8px) scale(.98); } to { opacity: 1; transform: translateX(0) scale(1); } }
@keyframes motion-title-clip { from { opacity: 0; clip-path: inset(0 0 100% 0); transform: translateX(-10px); } to { opacity: 1; clip-path: inset(0); transform: translateX(0); } }
@keyframes motion-gold-settle { from { filter: saturate(.65); opacity: .55; } to { filter: saturate(1); opacity: 1; } }
@keyframes motion-line-draw { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@keyframes motion-line-vertical { from { transform: scaleY(0); } to { transform: scaleY(1); } }
@keyframes motion-rise { from { opacity: 0; transform: translateY(22px); } to { opacity: 1; transform: translateY(0); } }
@keyframes motion-hero-copy { from { opacity: 0; transform: translateX(-10px); } to { opacity: 1; transform: translateX(0); } }
@keyframes motion-chip-pop { from { opacity: 0; transform: translateX(-8px) scale(.98); } to { opacity: 1; transform: translateX(0) scale(1); } }
@keyframes motion-curtain { from { clip-path: inset(0 100% 0 0 round var(--radius-lg)); } to { clip-path: inset(0 0 0 0 round var(--radius-lg)); } }
@keyframes motion-chip-finish { 0% { box-shadow: 0 0 0 0 rgba(230,152,34,0); } 55% { box-shadow: 0 0 0 5px rgba(230,152,34,.08); } 100% { box-shadow: 0 0 0 0 rgba(230,152,34,0); } }
@keyframes motion-article-line { from { border-bottom-color: transparent; } to { border-bottom-color: var(--line); } }
@keyframes motion-count-settle { 0% { transform: scale(.985); } 60% { transform: scale(1.025); } 100% { transform: scale(1); } }
@keyframes motion-number-word { from { opacity: .45; transform: translateY(6px) scale(.92); } to { opacity: 1; transform: translateY(0) scale(1); } }
@keyframes motion-number-mark { from { opacity: .25; transform: translateY(6px); } to { opacity: 1; transform: translateY(0); } }
@keyframes motion-arrow-pass { 0% { opacity: .35; transform: translateX(-5px); } 60% { opacity: 1; transform: translateX(3px); } 100% { opacity: 1; transform: translateX(0); } }
@keyframes motion-track-title { from { opacity: 0; clip-path: inset(100% 0 0 0); transform: translateY(15px); } to { opacity: 1; clip-path: inset(0); transform: translateY(0); } }
@keyframes motion-slide-right { from { opacity: 0; transform: translateX(-22px); } to { opacity: 1; transform: translateX(0); } }
@keyframes motion-slide-left { from { opacity: 0; transform: translateX(22px); } to { opacity: 1; transform: translateX(0); } }
@keyframes motion-faq-answer { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: translateY(0); } }
@keyframes motion-mobile-menu { from { opacity: 0; clip-path: inset(0 0 100% 0); } to { opacity: 1; clip-path: inset(0); } }

@media (max-width: 900px) {
  html.motion-capable [data-motion="slide-left"],
  html.motion-capable [data-motion="slide-right"] { transform: translate3d(0, 16px, 0); }
  html.motion-capable [data-motion="mask-left"],
  html.motion-capable [data-motion="mask-right"] { transform: translate3d(0, 10px, 0) scale(1.008); }
  html.motion-capable .hero-media { clip-path: none !important; animation: none !important; }
  html.motion-capable .hero-media > img { --hero-shift: 0px !important; transform: none !important; transition: none !important; }
  .scroll-progress { bottom: 0; }
}

@media (max-width: 640px) {
  :root { --motion-duration: 640ms; }
  html.motion-capable.motion-loaded .hero .kicker,
  html.motion-capable.motion-loaded .hero h1,
  html.motion-capable.motion-loaded .hero h1 em,
  html.motion-capable.motion-loaded .hero-lede,
  html.motion-capable.motion-loaded .hero-tags li,
  html.motion-capable.motion-loaded .hero-actions { animation: none !important; }
  html.motion-capable [data-motion] { transform: translate3d(0, 14px, 0); }
  html.motion-capable [data-motion="pop"] { transform: translate3d(0, 8px, 0) scale(.96); }
  .desktop-nav a::after { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .scroll-progress { display: none !important; }
  .site-header, .button, .text-link span, .faq-list summary, .faq-list summary::after,
  .consult-form input, .consult-form select, .resource-grid article img, .alumni-card {
    transition: none !important;
  }
  .mobile-menu:not([hidden]), .mobile-menu:not([hidden]) a, .faq-list details[open] > div,
  .record-card.in-view .count, .number-card.in-view .count { animation: none !important; }
  html.motion-capable [data-motion],
  html.motion-capable .hero .kicker,
  html.motion-capable .hero h1,
  html.motion-capable .hero-lede,
  html.motion-capable .boundary-note,
  html.motion-capable .hero-actions,
  html.motion-capable .hero-tags li,
  html.motion-capable .hero-media,
  html.motion-capable .hero-media > img,
  html.motion-capable .track-card[data-motion] * {
    opacity: 1 !important;
    transform: none !important;
    clip-path: none !important;
    filter: none !important;
    animation: none !important;
  }
}
