/* Brasidiant — webfonts (self-hosted)
   Spectral (literary serif, the human voice) + IBM Plex Mono (marginalia).
   woff2, latin subset, from Google Fonts via google-webfonts-helper (SIL OFL).
   Self-hosted to drop the render-blocking third-party request; font-display:swap.
   Files live in assets/fonts/ — paths are relative to this stylesheet
   (assets/css/tokens/fonts.css → ../../fonts/).

   Every face here must be REACHABLE — some rule in the cascade has to be able
   to ask for that family/weight/style — and every weight token the cascade
   asks for must have a face. An unreachable face is dead zip weight (the
   Spectral 300 that `--wt-light` never once referenced); a weight with no face
   is a silent synthesis, the browser quietly substituting the nearest thing.
   Neither shows up in a screenshot. `contracts.test.mjs` ("every shipped face
   is reachable…") holds both directions — add a face and a rule together, or
   it fails.

   Do NOT preload these from default.hbs. `{{asset}}` stamps a `?v=` hash and
   the src URLs here resolve bare, so the two URLs differ and the browser
   fetches the file TWICE — which is exactly what a preload is meant to
   prevent, and what it did here on every page until 2026-08-14. The sheet is
   linked directly (no @import hop), so the faces are discovered in the first
   round trip and `font-display: swap` covers the rest. */

/* ---------- Spectral (serif) ---------- */
@font-face {
  font-family: "Spectral";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../../fonts/spectral-400.woff2") format("woff2");
}
@font-face {
  font-family: "Spectral";
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("../../fonts/spectral-400italic.woff2") format("woff2");
}
@font-face {
  font-family: "Spectral";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../../fonts/spectral-500.woff2") format("woff2");
}
@font-face {
  font-family: "Spectral";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../../fonts/spectral-600.woff2") format("woff2");
}
@font-face {
  font-family: "Spectral";
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url("../../fonts/spectral-600italic.woff2") format("woff2");
}
@font-face {
  font-family: "Spectral";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../../fonts/spectral-700.woff2") format("woff2");
}

/* ---------- IBM Plex Mono (marginalia / chrome) ---------- */
@font-face {
  font-family: "IBM Plex Mono";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../../fonts/ibm-plex-mono-400.woff2") format("woff2");
}
@font-face {
  font-family: "IBM Plex Mono";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../../fonts/ibm-plex-mono-500.woff2") format("woff2");
}
