/* ══════════════════════════════════════════════════════════════
   reset.css  —  NMMI · ai
   @layer reset  |  Cross-browser normalisation.
   Wins over nothing; everything else wins over this.
══════════════════════════════════════════════════════════════ */
@layer reset {
  *, *::before, *::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
  }

  /* Fluid-zoom-safe media defaults (WCAG 1.4.10 reflow guard) */
  img, video, picture, iframe {
    max-width: 100%;
    display: block;
  }
  img, video { height: auto; }

  /* Remove list styling when role overridden */
  [role="list"] { list-style: none; }

  /* Focus ring — respect individual component offsets */
  :focus-visible { outline-offset: 2px; }

  /* Reduced motion: kill all transitions/animations globally */
  @media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
      transition-duration:       .01ms !important;
      animation-duration:        .01ms !important;
      animation-iteration-count: 1     !important;
      scroll-behavior:           auto  !important;
    }
  }
}
