/* ── Self-hosted webfonts ─────────────────────────────────────────────
   Replaces the Google Fonts <link> that previously loaded these typefaces
   from fonts.googleapis.com / fonts.gstatic.com.

   WHY SELF-HOSTED, NOT A CDN LINK:
   Fetching a font from Google's servers necessarily discloses the
   visitor's IP address to Google. A German court (LG München I, 3 O
   17493/20) held that doing so without a legal basis infringes the GDPR,
   and it was the ONLY third-party transmission this otherwise static site
   made. Serving the files from our own origin removes that transmission
   entirely — no consent banner, no third-party disclosure, and no Google
   row in the privacy policy's recipients table.

   Do not "optimise" this back into a CDN link.

   LICENCE: Both families are SIL Open Font License 1.1, which expressly
   permits redistribution and self-hosting. See OFL.txt in this directory.

   VARIABLE FONTS — why there are 4 files and not 12:
   Google serves both families as VARIABLE fonts: a single file carries the
   entire weight axis. Requesting wght@500;600;700 returns the same file
   three times over (verified by md5 — all three URLs were byte-identical).
   So one file per family per subset is downloaded, and each @font-face
   below declares a `font-weight` RANGE rather than a single value. The
   browser instances whatever weight the page asks for from that one file.
   Declaring a single weight instead would work but would force three
   downloads of identical bytes.

   SUBSETS: latin + latin-ext only. The site is English; Cyrillic, Greek
   and Vietnamese were dropped, which is most of the weight saved. The
   unicode-range values are Google's own, copied verbatim — the browser
   downloads latin-ext ONLY if the page actually uses a character in that
   range, so keeping it costs nothing on a page that never does, while
   ensuring accented names still render if they appear.

   Total: 248 KB across 4 files (~86 KB for a typical English page, which
   touches only the two `latin` files). */

/* ── Inter — body copy ─────────────────────────────────────────────── */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  /* Range, not a single value: one variable file serves 400/450/500/600. */
  font-weight: 100 900;
  /* `swap` renders immediately in the fallback and swaps when the webfont
     arrives. Text is never invisible, at the cost of a possible reflow —
     the right trade for a content site. */
  font-display: swap;
  src: url('inter-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;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('inter-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;
}

/* ── Montserrat — headings, nav, buttons ──────────────────────────── */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('montserrat-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;
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('montserrat-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;
}
