*, *::before, *::after { box-sizing: border-box; }
html { font-size: 100%; }
body { margin: 0; background: var(--bg-950); color: var(--text-100); font: var(--weight-regular) var(--fs-16)/var(--lh-body) var(--font-ui); }
h1, p { margin: 0; }
button, input, select { font: inherit; }
button, select, summary { cursor: pointer; }
button { color: inherit; }
fieldset { min-width: 0; margin: 0; padding: 0; border: 0; }
[hidden] { display: none !important; }
:focus-visible { outline: var(--border-strong) solid var(--amber-400); outline-offset: var(--sp-1); }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.skip-link { position: fixed; top: var(--sp-4); left: var(--sp-4); transform: translateY(-200%); z-index: 5; padding: var(--sp-3) var(--sp-4); color: var(--bg-950); background: var(--amber-400); }
.skip-link:focus { transform: translateY(0); }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation: none !important; transition: none !important; }
}
