/* =============================================================================
   BRILLIANTICS — SELF-HOSTED WEBFONTS
   =============================================================================
   Replaces the <link> to fonts.googleapis.com that used to sit in the <head> of
   all 19 pages.

   WHY (launch audit, 2026-08-23)
   ------------------------------
   A Google Fonts stylesheet is a request to a third party made before the user
   has agreed to anything: it hands Google the visitor's IP address and
   User-Agent on first paint. For a product whose own Terms and Privacy Policy
   tell the reader there are no third parties, that was both a compliance
   exposure and a claim the code did not honour. marked and DOMPurify were
   already vendored for exactly this reason (js/vendor/); the fonts now follow.

   It is also faster: two DNS lookups plus two TLS handshakes plus a
   render-blocking stylesheet, all on the critical path, are replaced by files
   from an origin the browser has already connected to.

   WHAT IS HERE
   ------------
   Variable fonts (one file per subset, the whole 100-900 weight axis inside),
   taken from the @fontsource-variable packages, which repackage the same
   upstream Google Fonts binaries under the OFL.

     Inter    latin, latin-ext, greek, greek-ext     — body
     Outfit   latin, latin-ext                       — display

   Outfit HAS NO GREEK CUT, upstream or here. Greek headings therefore fall
   through to Inter, which is exactly what happened with the Google-hosted
   stylesheet — this file changes where the bytes come from, not what renders.

   `unicode-range` means a Greek visitor never downloads latin-ext, and a
   English visitor never downloads greek: a first paint costs ~80 KB, not the
   216 KB in assets/fonts/.

   ADDING A WEIGHT does not need a new file. These are variable fonts and the
   declared range is `100 900`, so any weight the CSS asks for is synthesised
   from the same binary.
   ========================================================================== */

/* ---- Inter (body) ------------------------------------------------------- */

/* greek-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 100 900;
  src: url(../assets/fonts/inter-greek-ext-wght-normal.woff2) format('woff2-variations');
  unicode-range: U+1F00-1FFF;
}

/* greek */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 100 900;
  src: url(../assets/fonts/inter-greek-wght-normal.woff2) format('woff2-variations');
  unicode-range: U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF;
}

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

/* ---- Outfit (display) --------------------------------------------------- */

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