/*
 * Self-hosted Outfit (variable font, Latin-Script-only).
 *
 * Bezugsquelle: Google Fonts v15 — heruntergeladen am 2026-05-24 mit der
 * gleichen Subset-Aufteilung wie das google-css2-Backend liefert. Outfit
 * hat kein Cyrillic-Subset (ru-Glyphs fallen auf System-Font zurück, das
 * war auch mit Google Fonts schon so).
 *
 * Beide woff2 sind variable Fonts mit `wght` 100–900 — alle 3 deklarierten
 * Weights (400/600/900) zeigen deshalb auf dieselbe Datei pro Subset. Das
 * Browser-Caching greift einmal pro Subset, die @font-face-Deklarationen
 * sind reine Bookkeeping-Einträge fürs Font-Selection-Modell.
 *
 * `font-display: swap` statt vorher `optional`: weil die Files nun
 * same-origin liegen, ist der 100ms-Block-Window-Trade-off von `optional`
 * ungünstig — Erstbesucher würden Outfit nie sehen, wenn die woff2 nicht
 * binnen 100ms da ist. Mit `swap` rendert der Browser sofort den
 * System-Font-Fallback und tauscht sobald die woff2 geladen ist; bei
 * gzip + same-origin hi-priority Preload sind das real <50ms.
 */

/* latin-ext — tr/pl/cs/ş/ğ etc. (unicode-range trennt vom latin-Subset) */
@font-face {
  font-family: 'Outfit';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/fonts/outfit-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;
}
@font-face {
  font-family: 'Outfit';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('/fonts/outfit-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;
}
@font-face {
  font-family: 'Outfit';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url('/fonts/outfit-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;
}

/* latin — Standard-Subset (de/en) */
@font-face {
  font-family: 'Outfit';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/fonts/outfit-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: 'Outfit';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('/fonts/outfit-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: 'Outfit';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url('/fonts/outfit-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;
}
