:root {
  --bg: #ffffff; --surface: #f3f3f3; --ink: #0b0b0b; --muted: #5e5e5e; --accent: #1e6fd9; --accent-dark: #1557b0;
  --display: "Stack Sans Headline", system-ui, sans-serif; --text: "Stack Sans Text", system-ui, sans-serif;
  --margin: clamp(16px, 3vw, 32px);
}
*, *::before, *::after { box-sizing: border-box; }
body { margin: 0; background: var(--bg); color: var(--ink); font: 400 clamp(1.0625rem, 1rem + 0.25vw, 1.1875rem)/1.6 var(--text); }
a { color: var(--accent-dark); text-underline-offset: 3px; }
a:hover { color: var(--accent); }
:focus-visible { outline: 3px solid var(--accent); outline-offset: 3px; }
.top { display: flex; align-items: center; justify-content: space-between; padding: 20px var(--margin); }
.brand { display: flex; align-items: center; gap: 10px; text-decoration: none; color: var(--ink); font: 500 clamp(1.25rem, 1.1rem + 0.7vw, 1.625rem)/1 var(--text); }
.brand img { width: 36px; height: 44px; }
main { padding: 40px var(--margin) 120px; max-width: 760px; }
h1 { font: 300 clamp(2rem, 1.3rem + 3.2vw, 4rem)/1.05 var(--display); letter-spacing: -0.022em; margin: 0 0 16px; }
h2 { font: 500 clamp(1.25rem, 1.1rem + 0.7vw, 1.625rem)/1.25 var(--text); margin: 48px 0 12px; }
p, li { max-width: 68ch; }
ul, ol { padding-left: 1.2em; }
li { margin-bottom: 8px; }
.updated { color: var(--muted); }
.box { background: var(--surface); padding: 20px 24px; margin-top: 24px; }
footer { padding: 32px var(--margin); background: var(--surface); display: flex; flex-wrap: wrap; gap: 12px 24px; font-size: 0.9375rem; }
footer a { color: var(--ink); }
