/* Self-hosted, not CDN-linked. A webfont fetched from fonts.gstatic.com at
   render time is a page that silently changes shape when the request is slow,
   blocked, or offline - and the first three landing drafts proved the failure
   mode: every one named IBM Plex Sans first, none of them loaded it, and all
   three rendered in system-ui. Three "distinct directions" in one OS default.
   Latin subsets only; 20-23KB each. */

@font-face { font-family: "Playfair"; src: url("fonts/playfair-500.woff2") format("woff2");
             font-weight: 500; font-style: normal; font-display: swap; }
@font-face { font-family: "Playfair"; src: url("fonts/playfair-700.woff2") format("woff2");
             font-weight: 700; font-style: normal; font-display: swap; }

@font-face { font-family: "SourceSerif"; src: url("fonts/sourceserif-400.woff2") format("woff2");
             font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "SourceSerif"; src: url("fonts/sourceserif-600.woff2") format("woff2");
             font-weight: 600; font-style: normal; font-display: swap; }

@font-face { font-family: "FiraSans"; src: url("fonts/firasans-400.woff2") format("woff2");
             font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "FiraSans"; src: url("fonts/firasans-500.woff2") format("woff2");
             font-weight: 500; font-style: normal; font-display: swap; }
@font-face { font-family: "FiraSans"; src: url("fonts/firasans-700.woff2") format("woff2");
             font-weight: 700; font-style: normal; font-display: swap; }

@font-face { font-family: "FiraCode"; src: url("fonts/firacode-400.woff2") format("woff2");
             font-weight: 400; font-style: normal; font-display: swap; }

@font-face { font-family: "JetBrains"; src: url("fonts/jetbrains-400.woff2") format("woff2");
             font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "JetBrains"; src: url("fonts/jetbrains-700.woff2") format("woff2");
             font-weight: 700; font-style: normal; font-display: swap; }

/* Display + UI faces for the v4 landing page. Bricolage Grotesque has real
   character in the display sizes (deliberately NOT Host Grotesk, which is the
   face Intello uses); Instrument Sans carries the UI text. */
@font-face { font-family: "Bricolage"; src: url("fonts/bricolage-600.woff2") format("woff2");
             font-weight: 600; font-style: normal; font-display: swap; }
@font-face { font-family: "Bricolage"; src: url("fonts/bricolage-800.woff2") format("woff2");
             font-weight: 800; font-style: normal; font-display: swap; }
@font-face { font-family: "Instrument"; src: url("fonts/instrument-400.woff2") format("woff2");
             font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "Instrument"; src: url("fonts/instrument-500.woff2") format("woff2");
             font-weight: 500; font-style: normal; font-display: swap; }
@font-face { font-family: "Instrument"; src: url("fonts/instrument-600.woff2") format("woff2");
             font-weight: 600; font-style: normal; font-display: swap; }
