/*
 * Objexiv — the self-hosted type bundle (canon 94 §4, §6).
 *
 * Two families, no monospace (canon 94 §4): one warm humanist sans (Inter)
 * carries everything — chrome, takes, labels, counts — and a reading serif
 * (Source Serif 4) is reserved for a person's actual words. tokens.css names
 * them in --font-sans / --font-serif with a system fallback chain; these
 * @font-face rules make those names resolve to the BUNDLED woff2 files under
 * /static/fonts, so production never reaches a runtime font CDN (canon 94 §6).
 *
 * Loaded before field.css so the first paint already has the faces declared.
 * font-display: swap keeps text visible immediately in the system fallback and
 * swaps to the bundled face on load — the surface never blocks on a font, and
 * degrades to the token's system fallback if a file is ever missing.
 *
 * Pinned versions (self-hosted, not a CDN — docs/dependencies.md):
 *   Inter          5.3.0  (SIL OFL 1.1 — /static/fonts/inter/OFL.txt)
 *   Source Serif 4 5.3.1  (SIL OFL 1.1 — /static/fonts/source-serif-4/OFL.txt)
 * woff2, latin subset. Weights: Inter 400/500/600/700; Source Serif 4 400/600
 * plus 400 italic for emphasis in a person's words.
 */

/* ── Inter — the one humanist sans (chrome, takes, labels, counts) ── */
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/static/fonts/inter/inter-latin-400-normal.woff2") format("woff2");
}
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/static/fonts/inter/inter-latin-500-normal.woff2") format("woff2");
}
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/static/fonts/inter/inter-latin-600-normal.woff2") format("woff2");
}
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/static/fonts/inter/inter-latin-700-normal.woff2") format("woff2");
}

/* ── Source Serif 4 — the reading serif, a person's actual words only ── */
@font-face {
  font-family: "Source Serif 4";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/static/fonts/source-serif-4/source-serif-4-latin-400-normal.woff2") format("woff2");
}
@font-face {
  font-family: "Source Serif 4";
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("/static/fonts/source-serif-4/source-serif-4-latin-400-italic.woff2") format("woff2");
}
@font-face {
  font-family: "Source Serif 4";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/static/fonts/source-serif-4/source-serif-4-latin-600-normal.woff2") format("woff2");
}
