/* ============================================================
   ACCESSIBILITY BASELINE — ships to every consumer.
   Target: WCAG AA, tuned to read well for 50+ and younger.
   ============================================================ */

/* Respect reduced-motion: neutralize animation/transition,
   keep content fully functional. */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
    scroll-behavior: auto !important;
  }
}

/* Always-visible keyboard focus. Low specificity (:where) so
   components can extend, not fight it. Never remove focus. */
:where(a, button, [role="button"], input, textarea, select, summary, [tabindex]):focus-visible {
  outline: 3px solid var(--focus-ring, #11D073);
  outline-offset: 2px;
  border-radius: 2px;
}

/* Comfortable default reading rhythm for long-form copy. */
:where(p) { text-wrap: pretty; }

/* Spinner for Button/loading and other busy states. */
@keyframes rs-spin { to { transform: rotate(360deg); } }
