*, *::before, *::after { box-sizing: border-box; }
html { scroll-padding-top: 24px; }
body { margin: 0; background: var(--color-paper); color: var(--color-ink); font-family: var(--font-serif); -webkit-font-smoothing: antialiased; }
h1,h2,h3,p,ul,ol,dl,dd { margin: 0; }
ul,ol { padding: 0; list-style: none; }
a { color: inherit; text-decoration: none; }
button { font: inherit; color: inherit; }
img { display: block; max-width: 100%; height: auto; }
.container { width: calc(100% - var(--page-gutter) * 2); margin-inline: auto; }
:focus-visible { outline: 2px solid currentColor; outline-offset: 6px; }
.skip-link { position: fixed; z-index: 10; top: 10px; left: 10px; transform: translateY(-180%); background: var(--color-cream); padding: 12px 20px; }
.skip-link:focus { transform: translateY(0); }
button:disabled { opacity: 1; cursor: default; }
