/* ── Base ────────────────────────────────────────────────────────────────────
   Resets and prose defaults. Link colours are declared here deliberately:
   an undefined link renders browser-default blue the moment anyone adds one. */
*,*::before,*::after { box-sizing:border-box; }

html { scroll-behavior:smooth; }

body {
  margin:0;
  background:var(--surface-page);
  color:var(--fg-body);
  font-family:var(--font-sans);
  font-size:var(--text-body-lg);
  line-height:var(--leading-body);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

h1,h2,h3,h4 {
  font-family:var(--font-display);
  color:var(--fg-primary);
  margin:0;
  text-wrap:pretty;
}
h1 { font-size:var(--text-section); font-weight:var(--weight-bold); font-variation-settings:"wdth" var(--wdth-section); letter-spacing:var(--track-section); line-height:var(--leading-section); }
h2 { font-size:var(--text-section); font-weight:var(--weight-bold); font-variation-settings:"wdth" var(--wdth-section); letter-spacing:var(--track-section); line-height:var(--leading-section); }
h3 { font-size:var(--text-sub); font-weight:var(--weight-bold); font-variation-settings:"wdth" var(--wdth-subhead); letter-spacing:var(--track-sub); line-height:var(--leading-heading); }
h4 { font-size:var(--text-h4); font-weight:var(--weight-semibold); font-variation-settings:"wdth" var(--wdth-subhead); letter-spacing:var(--track-heading); line-height:var(--leading-heading); }

p { margin:0; text-wrap:pretty; }

a { color:var(--fg-primary); text-decoration:none; transition:color var(--dur-hover) var(--ease); }
a:hover { color:var(--accent-text); }

code,kbd,samp { font-family:var(--font-mono); font-size:.9em; }

::selection { background:var(--signal-200); color:var(--n-950); }

:focus-visible { outline:2px solid var(--focus-ring); outline-offset:2px; }
[data-on-ink] :focus-visible { outline-color:var(--focus-ring-ink); }

img,svg { display:block; max-width:100%; }

button { font-family:inherit; }
