/**
 * formstube · fonts.css · Self-Hosted Web-Fonts
 * ════════════════════════════════════════════════════════════════════
 * Brand-Schriften lokal gehostet — kein Google-Fonts-Roundtrip,
 * DSGVO-clean (Schriften werden vom eigenen Server ausgeliefert).
 *
 * Stand · 2026-05-20 · v2 (Bug-Fix: font-stretch als Range, font-style getrennt)
 *
 * MONA SANS Variable Font:
 *   Datei:  /assets/fonts/MonaSansVF.woff2
 *   Source: MonaSansVF[wdth,wght,opsz,ital].woff2
 *   Axes:   wdth 75..125 · wght 100..900 · opsz 8..144 · ital 0..1
 *
 * KORREKTE Verwendung im CSS:
 *   font-family: 'Mona Sans', sans-serif;
 *   font-weight: 900;
 *   font-variation-settings: 'wdth' 125;   ← steuert wdth-Axis dynamisch
 *
 * Alias-Familien (für Back-Compat mit design.html-Code):
 *   'Mona Sans Display'           → identisch mit 'Mona Sans'
 *   'Mona Sans Display Expanded'  → identisch mit 'Mona Sans'
 *   (alle drei Family-Namen mappen auf gleiche WOFF2 · der Variable-Font
 *    wird über font-variation-settings + font-weight dynamisch gestellt)
 */

/* ════════════════════════════════════════════════════════════════════
   MONA SANS · Variable Font · 3 Family-Aliases × normal+italic
   ════════════════════════════════════════════════════════════════════
   Pflicht: font-stretch als RANGE (75% 125%), nicht als fixed value.
   Pflicht: font-style normal + italic in zwei separaten @font-face,
            niemals beide in einem (= ungültiges CSS).
   ════════════════════════════════════════════════════════════════════ */

/* Mona Sans · primärer Family-Name · normal */
@font-face {
  font-family: 'Mona Sans';
  src: url('/assets/fonts/MonaSansVF.woff2') format('woff2-variations'),
       url('/assets/fonts/MonaSansVF.woff2') format('woff2');
  font-weight: 100 900;
  font-stretch: 75% 125%;
  font-style: normal;
  font-display: swap;
}
/* Mona Sans · italic (über ital-Axis 0→1) */
@font-face {
  font-family: 'Mona Sans';
  src: url('/assets/fonts/MonaSansVF.woff2') format('woff2-variations'),
       url('/assets/fonts/MonaSansVF.woff2') format('woff2');
  font-weight: 100 900;
  font-stretch: 75% 125%;
  font-style: italic;
  font-display: swap;
}

/* Mona Sans Display · Alias · identisch · normal */
@font-face {
  font-family: 'Mona Sans Display';
  src: url('/assets/fonts/MonaSansVF.woff2') format('woff2-variations'),
       url('/assets/fonts/MonaSansVF.woff2') format('woff2');
  font-weight: 100 900;
  font-stretch: 75% 125%;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Mona Sans Display';
  src: url('/assets/fonts/MonaSansVF.woff2') format('woff2-variations'),
       url('/assets/fonts/MonaSansVF.woff2') format('woff2');
  font-weight: 100 900;
  font-stretch: 75% 125%;
  font-style: italic;
  font-display: swap;
}

/* Mona Sans Display Expanded · Alias · identisch · normal
   WICHTIG: font-stretch ist Range 75% 125% (nicht fixed 125%)
   damit der Browser den Variable-Font matched. Die Expanded-Optik
   kommt aus font-variation-settings: 'wdth' 125 im CSS-Konsum. */
@font-face {
  font-family: 'Mona Sans Display Expanded';
  src: url('/assets/fonts/MonaSansVF.woff2') format('woff2-variations'),
       url('/assets/fonts/MonaSansVF.woff2') format('woff2');
  font-weight: 100 900;
  font-stretch: 75% 125%;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Mona Sans Display Expanded';
  src: url('/assets/fonts/MonaSansVF.woff2') format('woff2-variations'),
       url('/assets/fonts/MonaSansVF.woff2') format('woff2');
  font-weight: 100 900;
  font-stretch: 75% 125%;
  font-style: italic;
  font-display: swap;
}

/* ════════════════════════════════════════════════════════════════════
   INTER · statische Cuts (woff2) · 5 Gewichte
   ════════════════════════════════════════════════════════════════════ */
@font-face {
  font-family: 'Inter';
  src: url('/assets/fonts/Inter-Regular.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Inter';
  src: url('/assets/fonts/Inter-Italic.woff2') format('woff2');
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: 'Inter';
  src: url('/assets/fonts/Inter-Medium.woff2') format('woff2');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Inter';
  src: url('/assets/fonts/Inter-SemiBold.woff2') format('woff2');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Inter';
  src: url('/assets/fonts/Inter-Bold.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

/* ════════════════════════════════════════════════════════════════════
   GEIST MONO · statische Cuts (woff2) · 3 Gewichte
   ════════════════════════════════════════════════════════════════════ */
@font-face {
  font-family: 'Geist Mono';
  src: url('/assets/fonts/GeistMono-Regular.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Geist Mono';
  src: url('/assets/fonts/GeistMono-Medium.woff2') format('woff2');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Geist Mono';
  src: url('/assets/fonts/GeistMono-SemiBold.woff2') format('woff2');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
