/* ════════════════════════════════════════════════════════════════════════
   Reduced motion, without a single `!important`.

   06-S1-VISUAL-DIRECTION.md §3.4 ships this as four `!important` declarations.
   That snippet contradicts gate G6 (`!important` count 0 outside
   90-vendor-quarantine.css), so it is implemented here as the same outcome by
   two non-`!important` mechanisms:

     1. The DURATION TOKENS collapse to 1ms in the tokens layer (see
        rtv_design_token_media() in inc/design-tokens.php). Anything that uses
        `var(--dur-N)` — which is everything, since no raw duration may ship —
        simply stops. There is no cascade fight because there is no override.

     2. This belt-and-braces sweep, placed in `utilities` (the last layer
        before vendor-quarantine), catches any declaration that hardcoded a
        duration anyway. A later layer beats an earlier one at equal
        specificity, so `!important` buys nothing here.

   Nothing in the purchase path may require motion (ADR 0024, still-frame
   sufficiency), so collapsing every duration can never break a flow — the
   loading rules render static at 100%, which is exactly §3.4's requirement.
   ════════════════════════════════════════════════════════════════════════ */

@layer utilities {

  @media (prefers-reduced-motion: reduce) {

    *,
    *::before,
    *::after {
      animation-duration: 1ms;
      animation-iteration-count: 1;
      animation-delay: 0s;
      transition-duration: 1ms;
      transition-delay: 0s;
    }

    html {
      scroll-behavior: auto;
    }
  }
}
