/* Portable theme motion. No framework, utility processor, or layout animation. */
@media (prefers-reduced-motion: no-preference) {
  .hero-copy > .eyebrow { animation: abc-arrive 650ms 50ms backwards; }
  .hero-copy > h1 { animation: abc-arrive 750ms 120ms backwards; }
  .hero-copy > .hero-description { animation: abc-arrive 750ms 200ms backwards; }
  .hero-copy > .button { animation: abc-arrive 750ms 270ms backwards; }
  .hero-photo { animation: abc-arrive 850ms 150ms backwards; }
  .exam-panel { animation: abc-panel 300ms backwards; }
  .text-link svg, .back-top svg, .nav-cta svg, .exam-tab svg {
    transition: transform 220ms cubic-bezier(.2,.7,.2,1);
  }
  .text-link:hover svg, .nav-cta:hover svg, .exam-tab:hover svg { transform: translate(2px,-2px); }
  .back-top:hover svg { transform: translateY(-3px); }
  .qbank { transition: transform 300ms cubic-bezier(.2,.7,.2,1); }
  @media (hover: hover) and (pointer: fine) {
    .qbank:hover { transform: translateY(-4px); }
  }
  @keyframes abc-arrive {
    from { opacity: 0; transform: translateY(18px); }
    to { opacity: 1; transform: translateY(0); }
  }
  @keyframes abc-panel {
    from { opacity: .4; transform: translateY(6px); }
    to { opacity: 1; transform: translateY(0); }
  }
}
@media (prefers-reduced-motion: reduce) {
  [data-reveal], .hero-copy > *, .hero-photo, .exam-panel {
    animation: none !important;
    transition: none !important;
  }
}

