* { box-sizing: border-box; }
html { min-width: 320px; background: var(--page-bg); color-scheme: light; }
body { margin: 0; min-height: 100vh; font-family: var(--font-sans); color: var(--text); background: var(--page-bg); font-size: 13px; line-height: 1.45; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
button, input, select, textarea { font: inherit; color: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { cursor: pointer; }
a { color: inherit; }
img, svg { display: block; max-width: 100%; }
h1,h2,h3,p { margin-top: 0; }
h1,h2,h3 { color: var(--ink); letter-spacing: -.02em; }
h1 { font-size: clamp(24px, 2.4vw, 34px); line-height: 1.08; }
h2 { margin-bottom: 0; font-size: 14px; font-weight: 700; }
h3 { font-size: 12px; font-weight: 700; }
p { color: var(--muted); }
[hidden] { display: none !important; }
:focus-visible { outline: 2px solid rgba(225,37,27,.35); outline-offset: 2px; }
::selection { background: rgba(225,37,27,.14); color: var(--ink); }
