/* Geist — the app's Latin UI font, self-hosted. This is the family used by
   --font on English and French pages, and it replaces the Google Fonts CDN
   <link> that the dashboard, landing, legal and setup pages used to carry.

   WHY SELF-HOSTED RATHER THAN THE CDN
   The CDN's one real advantage was a shared cross-site cache: a visitor who
   had already downloaded Geist somewhere else got ours free. Browsers ended
   that when they partitioned the HTTP cache by site (Chrome 86, Firefox 85,
   Safari earlier), so that hit no longer happens. What remains is pure cost:
   two extra origins to resolve and handshake (fonts.googleapis.com, then
   fonts.gstatic.com) and a serial waterfall, because the browser cannot learn
   the font URL until Google's stylesheet has arrived. Served from here the
   font sits on a connection that is already open, and it can carry the
   long-lived immutable cache set up in server.js.

   It also stops leaking every visitor's IP to Google, which matters for the
   EU/Morocco audience this app serves.

   THIS IS NOT THE SAME FAMILY AS 'Geist UI'.
   fonts-geist-ui.css declares a SEPARATE family from these same two files,
   with ascent/descent overrides that pin it to Tajawal's line box so mixed
   Arabic+Latin lines cannot shift. That family is for Arabic pages only.
   'Geist' here deliberately keeps the font's NATURAL metrics: applying the
   overrides to English would make the line box ~1.4px taller at 14px and
   reflow the whole English dashboard.

   Both families point at the same two URLs, so the browser downloads each file
   once and instantiates two faces from it. Loading both costs no extra bytes.

   Both families cover digits. On Arabic pages Geist UI is the deliberate
   non-Arabic fallback, so Latin labels, punctuation and numbers stay together.

   One file per subset, not one per weight: Geist is a variable font whose
   single file spans 300-700. See fonts-geist-ui.css for the full reasoning and
   scripts/fetch-geist-ui.js to regenerate. The ?v= token is what makes the
   one-year immutable cache in server.js safe to bust; bump it if you ever
   replace the files. */

@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url('/fonts/geist/geist-latin.woff2?v=1') 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: 'Geist';
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url('/fonts/geist/geist-latin-ext.woff2?v=1') 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;
}
