*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body { margin: 0; overflow-x: hidden; background: var(--color-canvas); color: var(--color-ink); font-family: var(--font-sans); line-height: 1.6; -webkit-font-smoothing: antialiased; }
img, svg { display: block; max-width: 100%; }
img { height: auto; }
a { color: var(--color-brand); text-decoration-thickness: .08em; text-underline-offset: .18em; }
a:hover { color: var(--color-brand-dark); }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
:focus-visible { outline: 3px solid #f0a83e; outline-offset: 3px; }
[hidden] { display: none !important; }
h1, h2, h3 { color: var(--color-ink); font-family: var(--font-display); line-height: 1.15; text-wrap: balance; }
p { text-wrap: pretty; }
@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; } }
