/* VibeMarketing – lokal gehostete Schriften (nDSG/DSGVO, keine CDN-Verbindung).
   Nur zwei Familien sind im Einsatz:
     Inter                400 / 500 / 600   – Fliesstext und Bedienelemente
     Bricolage Grotesque  variabel 200–800  – Display
   Instrument Serif und Inter Tight wurden in STEP 12.9 entfernt: beide waren
   deklariert, aber von keiner Regel mehr verwendet. */

/* latin-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('Inter-400-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 */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('Inter-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;
}
/* latin-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('Inter-500-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 */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('Inter-500-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;
}
/* latin-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('Inter-600-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 */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('Inter-600-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;
}
/* ---------------------------------------------------------------------
   Bricolage Grotesque ist eine VARIABLE FONT (fvar/gvar vorhanden,
   wght-Achse 200-800, wdth auf 100% fixiert).
   Frueher waren 500/600/700 als drei EINZELGEWICHTE deklariert, obwohl
   alle drei auf dieselbe Datei zeigten. Dadurch klemmte der Browser bei
   700 und synthetisierte 800 kuenstlich (Faux Bold) - messbar: 700 und
   800 hatten identische Vorbreiten.
   Eine Deklaration pro Subset mit Gewichtsbereich => echte Interpolation
   fuer 500, 600, 700 UND 800.
   Der Dateiname heisst seit STEP 12.9 "-Variable-" statt "-500-": der alte
   Name legte ein Einzelgewicht nahe und hatte genau den Fehler oben
   mitverursacht.
   --------------------------------------------------------------------- */
/* latin-ext */
@font-face {
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 200 800;
  font-stretch: 100%;
  font-display: swap;
  src: url('BricolageGrotesque-Variable-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 */
@font-face {
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 200 800;
  font-stretch: 100%;
  font-display: swap;
  src: url('BricolageGrotesque-Variable-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;
}

/* ---------------------------------------------------------------------------
   METRISCH ANGEPASSTE ERSATZSCHRIFTEN

   Ohne diese Bloecke belegt der Text vor dem Laden der echten Schrift eine
   andere Breite, und beim Swap springt das Layout. Auf einem echten Cold Load
   war die Hero-Headline zuerst 1123px breit und danach 990px - ein sichtbarer
   Sprung von rund 12%.

   size-adjust skaliert die Ersatzschrift so, dass sie dieselbe Laufweite hat.

   WICHTIG bei der Messung: als Bezug zaehlt die ueber local('Arial') geladene
   Face, NICHT das CSS-Schluesselwort Arial. Bei Gewicht 700/800 synthetisiert
   der Browser fuer das Schluesselwort einen Fettschnitt, der deutlich breiter
   laeuft (882px statt 783px bei 100px Schriftgrad). Gegen den falschen Bezug
   gemessen wird die Ersatzschrift zu schmal.

   Gemessen an den echten Hero-, Sektions- und Fliesstexten in mehreren
   Gewichten, Mittelwert ueber alle Proben:
     Bricolage / local Arial = 98.76%   (Streuung 96.9-102.1%)
     Inter     / local Arial = 108.07%  (Streuung 105.6-111.9%)

   Nur Arial als Bezug: dessen Metriken sind auf Windows, macOS und iOS
   identisch, die Korrektur ist damit portabel. Wo Arial fehlt - typisch
   Android - greift wie bisher sans-serif ohne Anpassung.
   --------------------------------------------------------------------------- */
@font-face {
  font-family: 'Bricolage Fallback';
  src: local('Arial');
  size-adjust: 98.76%;
}
@font-face {
  font-family: 'Inter Fallback';
  src: local('Arial');
  size-adjust: 108.07%;
}
