/* ==========================================================================
   Flow Tribe — Fonts
   --------------------------------------------------------------------------
   Satoshi for headings, cards, statistics and buttons.
   Inter for body, forms, tables, labels, navigation and the admin app.

   Both are SELF-HOSTED from assets/fonts/. Nothing is fetched at runtime.

   WHY NOT A FONT CDN
   v1 loaded its fonts from fonts.googleapis.com. That is a render-blocking
   request to a third party on every page load, it leaks every member's IP
   to Google, and the page renders unstyled if the CDN is unreachable. The
   same reasoning that kept charts hand-rolled applies here.

   WHAT IS LOADED, AND WHEN
   Satoshi ships as two static weights — Medium 500 and Bold 700 — which is
   exactly what the Design System specifies. Inter ships as a single
   VARIABLE file per subset covering the whole 100–900 axis, so Regular 400,
   Medium 500 and SemiBold 600 all come from one download rather than three.

   The Inter subsets are split by `unicode-range`, so a browser fetches only
   what the page actually renders:

     inter-latin      48 KB  always
     inter-latin-ext  85 KB  only for Latin Extended-A (Ń, ő, ū …)
     inter-latinx     10 KB  only for U+1EA0–1EF9

   ⚠️ THAT THIRD FILE IS NOT OPTIONAL HERE. U+1EA0–1EF9 carries ẹ and ọ —
   the Yoruba vowels that appear in a great many members' names, including
   the founder's. Google labels this subset "vietnamese" because Vietnamese
   is its largest consumer; dropping it on that basis would silently break
   Nigerian names. Ten kilobytes, fetched only when needed.

   All faces use font-display: swap, so text is readable immediately and
   reflows once the font arrives rather than hiding until it does.
   ========================================================================== */

/* ---- Satoshi — headings, statistics, buttons ---------------------------- */

@font-face {
  font-family: 'Satoshi';
  src: url('../assets/fonts/satoshi-500.woff2') format('woff2');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Satoshi';
  src: url('../assets/fonts/satoshi-700.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

/* ---- Inter — body, forms, tables, navigation, admin ---------------------
   One variable file per subset. `font-weight: 100 900` declares the axis
   range, so 400, 500 and 600 are all served from the same download. */

@font-face {
  font-family: 'Inter';
  src: url('../assets/fonts/inter-latin.woff2') format('woff2');
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
  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: 'Inter';
  src: url('../assets/fonts/inter-latin-ext.woff2') format('woff2');
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
  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;
}

/* Yoruba ẹ/ọ and the rest of U+1EA0–1EF9. See the note above. */
@font-face {
  font-family: 'Inter';
  src: url('../assets/fonts/inter-latinx.woff2') format('woff2');
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169,
    U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309,
    U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
