*, *::before, *::after { box-sizing: border-box; }
html { min-height: 100%; color-scheme: light; scroll-behavior: smooth; }
body { display: flex; min-height: 100vh; margin: 0; flex-direction: column; background: var(--public-paper); color: var(--public-ink); }
body.menu-open { overflow: hidden; }
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration-thickness: .08em; text-underline-offset: .18em; }
button, input { font: inherit; }
button { color: inherit; }
:focus-visible { outline: 3px solid #f5c04a; outline-offset: 3px; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; inset-block-start: .75rem; inset-inline-start: .75rem; z-index: var(--z-skip); padding: .7rem 1rem; background: var(--public-white); color: var(--public-ink); transform: translateY(-180%); transition: transform var(--transition-fast); }
.skip-link:focus { transform: translateY(0); }
[hidden] { display: none !important; }
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}
