* { box-sizing: border-box; }
html { background: var(--canvas); color: var(--ink); font-family: var(--font); }
body { margin: 0; min-width: 320px; }
a { color: inherit; text-decoration: none; }
button, input { font: inherit; }
button { cursor: pointer; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
:focus-visible { outline: 3px solid var(--evergreen); outline-offset: 2px; }

[hidden], module, .module-error { display: none !important; }
select, textarea { font: inherit; }
img, video { max-width: 100%; }
button:disabled { cursor: wait; opacity: .6; }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; } }
