*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html { background: var(--page); }
body { background: var(--page); color: var(--ink); font-family: var(--f-body); font-size: 14px; line-height: 1.45; min-height: 100vh; -webkit-font-smoothing: antialiased; }
button, input, select, textarea { font: inherit; color: inherit; }
button { cursor: pointer; }
:focus-visible { outline: none; box-shadow: var(--focus); }
.hidden, .hide { display: none !important; }
.native-select-hidden { display: none !important; }
.sr-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.print-only { display: none; }
