// ============================================================ // Base & reset // ============================================================ *, *::before, *::after { box-sizing: border-box; } html { scroll-behavior: smooth; } body { margin: 0; background: var(--bg); color: var(--text); font-family: var(--font-sans); font-size: 16px; line-height: 1.6; -webkit-font-smoothing: antialiased; } h1, h2, h3, h4 { font-family: var(--font-serif); color: var(--ink); line-height: 1.2; margin: 0 0 0.5em; font-weight: 600; } h1 { font-size: clamp(2rem, 5vw, 3.25rem); } h2 { font-size: clamp(1.5rem, 3.2vw, 2.1rem); } h3 { font-size: 1.25rem; } p { margin: 0 0 1em; } a { color: var(--primary); text-decoration: none; } a:hover { color: var(--primary-strong); } img { max-width: 100%; display: block; } :focus-visible { outline: 3px solid var(--accent); outline-offset: 2px; border-radius: 2px; }