/*§RUN§[70,"\n",3505]§*/html,body{height:100%;margin:0}#dc-root,#dc-root>.sc-host{height:100%}/**
 * faces.css — the two type families `tokens.css` names, actually delivered.
 * `CONTRACT-Webfont-16AUG.md`. Self-hosted, `public/fonts/PROVENANCE.md` records the source.
 *
 * ⛔ §0's defect, measured three ways before this file existed: zero `@font-face` anywhere in
 * `src/`, zero font integration in `astro.config`/`package.json`, zero `.woff2` hits in `dist/`
 * — the built output, which is the check that would have caught it. `tokens.css` has named
 * `"Geist"` and `"Geist Mono"` since it was written; every page has rendered in the `system-ui` /
 * `ui-monospace` fallback the whole time.
 *
 * ⛔⛔ SCOPE, deliberately narrow — §1. Three Geist weights, two Geist Mono weights: exactly
 * what `--type-*-weight` publishes today. NOT Geist 700 (loaded by the drawing, used by no rule
 * this project has). Shipping a weight nothing uses is the font-file version of the 51 inert
 * `60ch` declarations design struck the same day this contract was written.
 *
 * ⛔ `font-display: swap`, never `optional` — `optional` can drop the face entirely on a slow
 * connection, which reintroduces the exact fallback this file exists to remove.
 *
 * ⭐ `CONTRACT-Serif-16AUG.md` adds "Newsreader" below, ROMAN and ITALIC, both the `opsz` variable
 * file (NOT the smaller `wght`-only file — the optical axis is the entire reason this face is
 * variable at all) clamped to `font-weight: 400`, the one weight design's corpus draws.
 *
 * ⭐⭐ `CONTRACT-Optimize-14SEP.md` addendum 2 criterion 3, 17 Sep 2026: the two files at
 * `/fonts/Newsreader-{Roman,Italic}.woff2` are now `fontTools.varLib.instancer wght=400` output
 * — the `wght` axis (200-800, never set by any rule) is pinned OUT of the font itself rather than
 * only clamped by this `@font-face` block, and `opsz` (6-72, the axis this face exists for) is
 * kept, at the same served address (no manifest tracks `public/fonts`, so no new address is
 * owed) and the same 224-character set. Roman 132,000 → 57,608 B, Italic 146,872 → 63,544 B. A
 * computed-style scan of the built site (FINDING-Speed-16SEP.md, confirmed again by this round)
 * found 0 elements setting Newsreader to a weight or `font-variation-settings` other than what
 * this file already declares, so pinning the axis in the file changes no rendered page.
 */

@font-face {
  font-family: "Geist";
  src: url("/fonts/Geist-Regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Geist";
  src: url("/fonts/Geist-Medium.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Geist";
  src: url("/fonts/Geist-SemiBold.woff2") format("woff2");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Geist Mono";
  src: url("/fonts/GeistMono-Regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Geist Mono";
  src: url("/fonts/GeistMono-Medium.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Newsreader";
  src: url("/fonts/Newsreader-Roman.woff2") format("woff2-variations");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Newsreader";
  src: url("/fonts/Newsreader-Italic.woff2") format("woff2-variations");
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}
