*,
*::before,
*::after { box-sizing: border-box; }
button, input { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button:active, .button:active { transform: translateY(1px); }
:focus-visible { outline: 3px solid var(--blue); outline-offset: 5px; }
img { max-width: 100%; }
[hidden] { display: none !important; }
.skip-link { position: fixed; top: -100px; left: 16px; z-index: 100; background: white; color: #171a18; padding: 12px 20px; }
.skip-link:focus { top: 16px; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  *, *::before, *::after { transition: none !important; animation: none !important; }
}
