/* Fortified Networks, Option 3: belt-and-braces reduced-motion override.

   base.css already forces the fully visible resting state via
   html:not(.motion-on), and lenis-bootstrap.js never sets .motion-on when the
   user asks for reduced motion. This file is the third safety net: even if JS
   raced the media query, the browser's own query wins here and collapses
   every scroll effect to a fully visible, static resting state. Never a
   half-revealed state, and never a hidden-forever one. */

@media (prefers-reduced-motion: reduce) {
  html.motion-on [data-reveal] {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
  }
  html.motion-on [data-scale-head] { transform: none !important; }

  .svc-head { position: static !important; }

  .site-header,
  .site-header::after,
  .site-header .wordmark { transition-duration: 1ms !important; }
  .cta-solid, .cta-ghost, .cta-ink { transition-duration: 1ms !important; }

  /* The TOC indicator still moves (it's wayfinding, not story motion) but
     jumps to position instantly instead of sliding. */
  .page-toc-indicator { transition-duration: 1ms !important; }
}
