/* ============================================================================
   Selbst gehostete Web-Fonts (latin-Subset)
   ----------------------------------------------------------------------------
   10.08.2026 -- Trello N4bddMdZ Punkt 10, Christopher am 04.08.: Schriften
   "lokal ins Repo, ausgeliefert ueber Cloudflare". Diese Datei loest die
   <link>-Einbindungen auf fonts.googleapis.com ab (13 Seiten, 10 Familien).

   Warum EINE geteilte Datei statt einer je Seite:
   Ein @font-face-Block laedt die Datei erst, wenn die Seite die Familie
   tatsaechlich benutzt. Ungenutzte Deklarationen kosten also keinen Request --
   nur die ~4 KB dieser CSS-Datei, und die kommt vom eigenen Origin.

   Erzeugt mit `node scripts/fetch-google-fonts.mjs` (holt die woff2 und gibt
   genau diese Regeln aus). Familie nachziehen: dort in FAMILIEN eintragen,
   Skript laufen lassen, Ausgabe hier einsetzen.

   🚨 DATEINAME = CACHE-BUSTER. _headers gibt /assets/fonts/* ein Jahr
   `immutable`. Wer den Inhalt unter gleichem Namen tauscht, liefert
   wiederkehrenden Besuchern bis zu ein Jahr die alte Datei aus. Neue Version
   -> neuer Dateiname.

   Nur latin (U+0000-00FF deckt ae/oe/ue/ss): die Seite ist durchgehend deutsch.
   latin-ext, cyrillic, greek und vietnamese sind bewusst nicht dabei.
   ========================================================================== */

/* ---- Plus Jakarta Sans -----------------------------------------------------
   Steht bewusst AUCH hier, obwohl assets/css/tokens.css dieselbe Familie
   deklariert: 10 der 13 betroffenen Seiten laden tokens.css gar nicht
   (Tailwind-Seiten unter /tools/, /pkv/, /ratgeber/, immo/artikel-detail).
   Beide Regeln zeigen auf dieselbe Datei -- auf Seiten mit beiden CSS gibt es
   eine doppelte Deklaration, aber nur einen Download. */
@font-face { font-family: "Plus Jakarta Sans"; font-style: normal; font-weight: 400 800; font-display: swap;
  src: url("/assets/fonts/plus-jakarta-sans-var-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; }

/* ---- Playfair Display (Display-Schrift, kursiv genutzt) ------------------- */
@font-face { font-family: "Playfair Display"; font-style: normal; font-weight: 400 900; font-display: swap;
  src: url("/assets/fonts/playfair-display-var-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: "Playfair Display"; font-style: italic; font-weight: 400 900; font-display: swap;
  src: url("/assets/fonts/playfair-display-var-latin-italic.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; }

/* ---- Inter --------------------------------------------------------------- */
@font-face { font-family: "Inter"; font-style: normal; font-weight: 300 700; font-display: swap;
  src: url("/assets/fonts/inter-var-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; }

/* ---- Figtree ------------------------------------------------------------- */
@font-face { font-family: "Figtree"; font-style: normal; font-weight: 300 800; font-display: swap;
  src: url("/assets/fonts/figtree-var-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; }

/* ---- Montserrat ---------------------------------------------------------- */
@font-face { font-family: "Montserrat"; font-style: normal; font-weight: 700 900; font-display: swap;
  src: url("/assets/fonts/montserrat-var-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; }

/* ---- Space Grotesk ------------------------------------------------------- */
@font-face { font-family: "Space Grotesk"; font-style: normal; font-weight: 500 700; font-display: swap;
  src: url("/assets/fonts/space-grotesk-var-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; }

/* ---- Instrument Sans ----------------------------------------------------- */
@font-face { font-family: "Instrument Sans"; font-style: normal; font-weight: 400 700; font-display: swap;
  src: url("/assets/fonts/instrument-sans-var-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: "Instrument Sans"; font-style: italic; font-weight: 400 700; font-display: swap;
  src: url("/assets/fonts/instrument-sans-var-latin-italic.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; }

/* ---- Manrope ------------------------------------------------------------- */
@font-face { font-family: "Manrope"; font-style: normal; font-weight: 400 800; font-display: swap;
  src: url("/assets/fonts/manrope-var-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; }

/* ---- Fraunces (Variable mit opsz-Achse; Browser setzt opsz automatisch) --- */
@font-face { font-family: "Fraunces"; font-style: normal; font-weight: 400 700; font-display: swap;
  src: url("/assets/fonts/fraunces-var-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; }

/* ---- Architects Daughter (keine Variable Font -- ein Schnitt) ------------- */
@font-face { font-family: "Architects Daughter"; font-style: normal; font-weight: 400; font-display: swap;
  src: url("/assets/fonts/architects-daughter-400-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; }
