/* ==========================================================================
   Typefaces
   --------------------------------------------------------------------------
   Self-hosted on purpose. The Content-Security-Policy is `default-src 'none'`
   with `font-src 'self'`, so there is no third-party font host to allow and no
   supply chain to trust — the files sit in static/fonts/ and are served from
   the same origin as everything else.

   Three variable families, each doing one job:

     Fraunces         display. An optical-size old-style serif with SOFT and
                      WONK axes, so headlines can be genuinely characterful
                      rather than another neutral grotesque.
     Archivo          body. A sturdy grotesque with more spine than the usual
                      UI sans, and it holds up at small sizes.
     JetBrains Mono   readouts. Every eyebrow, stat label, chip and piece of
                      metadata on this site is set in mono — that is what makes
                      the page read as an instrument rather than a brochure.

   Each family is declared three times: `latin`, `latin-ext`, and a small
   `sci` subset. The Google subsets stop at U+2079 and simply do not contain
   U+2082, so without that third file the ₂ in "CO₂" — which appears in the
   hero statistics — would fall back to a system font mid-word. The `sci` file
   is ~4 KB and carries the subscripts, ħ, ψ, Å and the comparison operators.

   `font-display: swap` throughout: text is readable immediately in the
   fallback and reflows once, which is the right trade for a content site.
   ========================================================================== */

/* ---- Fraunces (display) -------------------------------------------------- */
@font-face {
  font-family: "Fraunces";
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url("/fonts/fraunces-latin.woff2?v=7e744849") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,
    U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193,
    U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: "Fraunces";
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url("/fonts/fraunces-latin-ext.woff2?v=e9521563") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF,
    U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020,
    U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: "Fraunces";
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url("/fonts/fraunces-sci.woff2?v=d2451ef1") format("woff2");
  unicode-range: U+00B1, U+00C5, U+0127, U+03C8, U+2080-2085, U+2192, U+2248,
    U+2264-2265, U+221E;
}

/* ---- Archivo (body) ------------------------------------------------------ */
@font-face {
  font-family: "Archivo";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("/fonts/archivo-latin.woff2?v=8f704806") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,
    U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193,
    U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: "Archivo";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("/fonts/archivo-latin-ext.woff2?v=ff4f17d2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF,
    U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020,
    U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: "Archivo";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("/fonts/archivo-sci.woff2?v=f57429e7") format("woff2");
  unicode-range: U+00B1, U+00C5, U+0127, U+03C8, U+2080-2085, U+2192, U+2248,
    U+2264-2265, U+221E;
}

/* ---- JetBrains Mono (readouts) ------------------------------------------- */
@font-face {
  font-family: "JetBrains Mono";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("/fonts/jetbrains-mono-latin.woff2?v=83c005d4") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,
    U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193,
    U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: "JetBrains Mono";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("/fonts/jetbrains-mono-latin-ext.woff2?v=db5ff4db") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF,
    U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020,
    U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: "JetBrains Mono";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("/fonts/jetbrains-mono-sci.woff2?v=81e53b91") format("woff2");
  unicode-range: U+00B1, U+00C5, U+0127, U+03C8, U+2080-2085, U+2192, U+2248,
    U+2264-2265, U+221E;
}
