/* ==========================================================================
   FONTS — self-hosted. Generated from the Google Fonts CSS2 API, then cut
   three ways.

   1. To latin and latin-ext. Those two carry English and Romanian; the API
      also returns cyrillic, greek and vietnamese, which neither tree uses.
   2. Cormorant Garamond italic 400 is gone. Two pages asked the API for it
      and nothing has ever set it — the only rule naming the family is
      .hl__t at weight 300. 72KB not downloaded.
   3. Inter Tight ITALIC is gone. The only rule that would render it is
      `.voice--lead p` (styles.css §1331), and the whole voices section now
      exists solely inside the removed-testimonials TODO comment — live
      markup count is zero in both trees. 140KB not downloaded.

   >> If the voices section is ever restored from that TODO, Inter Tight
   >> italic must come back with it, or the pull-quote renders synthesised
   >> oblique. That is the one edit that silently un-does this.

   This file exists because of CLARITY.md Law II: the families used to arrive
   from fonts.googleapis.com, putting a third-party origin on the critical
   path, which P7 budgets at zero. Do not reintroduce the <link>; it is not a
   fallback, it is the thing this replaced.

   4. Every file is then GLYPH-SUBSET with pyftsubset to 281 codepoints:
      ASCII, Latin-1, Romanian in both the comma-below and cedilla encodings,
      the dashes and quotes, and a Central-European margin. The site renders
      101 distinct characters; the rest is headroom so new copy does not go
      tofu. 291KB -> 151KB, and the latin-ext slices fell 51-91%, which is the
      part that matters: one comma-below s in "Iasi" on the English home page
      used to pull 147KB of latin-ext and now pulls 27KB.

   Two families — CLAUDE.md rule 4. Cormorant Garamond and JetBrains Mono were
   dropped with the cursive headline word and the typewriter labels.

   TO REGENERATE — all three steps, in order. Doing only the first triples the
   weight back and nothing will fail loudly:

     1. Fetch the CSS2 API with a modern Chrome UA for the family list above.
     2. Keep the latin and latin-ext blocks; drop cyrillic, greek, vietnamese.
     3. For each file, subset to that face's OWN unicode-range intersected
        with the charset — never the whole charset, or latin and latin-ext
        both carry every glyph and the browser downloads the set twice:

          pyftsubset FILE.woff2 --output-file=FILE.woff2 --flavor=woff2 \
            --layout-features='*' --unicodes=<that face's slice>

      Verify after: every declared font-weight range must still sit inside the
      file's fvar axis, and each latin-ext file must still carry the Romanian
      comma-below letters.
   ========================================================================== */

/* latin-ext */
@font-face {
  font-family: 'Inter Tight';
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url('../fonts/inter-tight-300-700-latin-ext.woff2') 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;
}

/* latin */
@font-face {
  font-family: 'Inter Tight';
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url('../fonts/inter-tight-300-700-latin.woff2') 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;
}

/* latin-ext */
@font-face {
  font-family: 'Outfit';
  font-style: normal;
  font-weight: 300 800;
  font-display: swap;
  src: url('../fonts/outfit-300-800-latin-ext.woff2') 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;
}

/* latin */
@font-face {
  font-family: 'Outfit';
  font-style: normal;
  font-weight: 300 800;
  font-display: swap;
  src: url('../fonts/outfit-300-800-latin.woff2') 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;
}
