/* =========================================================================
   Bayerische Liegenschaften — Self-hosted Web Fonts
   Lizenz: SIL Open Font License 1.1 (alle drei Familien).
   Copyright-Hinweise und vollständiger Lizenztext: /assets/fonts/OFL.txt
   - Cormorant Garamond: https://fonts.google.com/specimen/Cormorant+Garamond
   - Inter:              https://fonts.google.com/specimen/Inter
   - JetBrains Mono:     https://fonts.google.com/specimen/JetBrains+Mono
   ========================================================================= */

/* ----- Cormorant Garamond ----- */
@font-face {
  font-family: "Cormorant Garamond";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("cormorant-garamond/cormorant-garamond-400.woff2") format("woff2");
}

@font-face {
  font-family: "Cormorant Garamond";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("cormorant-garamond/cormorant-garamond-500.woff2") format("woff2");
}

@font-face {
  font-family: "Cormorant Garamond";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("cormorant-garamond/cormorant-garamond-600.woff2") format("woff2");
}

@font-face {
  font-family: "Cormorant Garamond";
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("cormorant-garamond/cormorant-garamond-400-italic.woff2") format("woff2");
}

@font-face {
  font-family: "Cormorant Garamond";
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url("cormorant-garamond/cormorant-garamond-500-italic.woff2") format("woff2");
}

/* ----- Inter ----- */
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("inter/inter-300.woff2") format("woff2");
}

@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("inter/inter-400.woff2") format("woff2");
}

@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("inter/inter-500.woff2") format("woff2");
}

@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("inter/inter-600.woff2") format("woff2");
}

/* ----- JetBrains Mono ----- */
@font-face {
  font-family: "JetBrains Mono";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("jetbrains-mono/jetbrains-mono-400.woff2") format("woff2");
}

@font-face {
  font-family: "JetBrains Mono";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("jetbrains-mono/jetbrains-mono-500.woff2") format("woff2");
}

/* =========================================================================
   Metrisch angepasste Ersatzschriften (lokale Systemschriften, kein Download)
   Bis die Webfonts geladen sind (font-display: swap), zeigt der Browser die
   Ersatzschrift. size-adjust gleicht die Laufweite an, ascent-/descent-
   override die Hoehen, damit beim Wechsel auf die Webfont nichts springt.
   Werte gemessen in Chrome gegen die Webfonts (Inter: Ober-/Unterlaenge
   0,96875/0,2412 em; JetBrains Mono: 1,02/0,30 em, Laufweite 0,6 em;
   Cormorant Garamond: 0,924/0,287 em). Overrides = Webfont-Wert / size-adjust.
   ========================================================================= */

/* ----- Inter Fallback: Arial bzw. die metrisch gleichen Helvetica und
         Liberation Sans. Je Schriftstaerke eigener Faktor, weil Arial kein
         Medium hat (500 = Arial Regular, 600 = Arial Bold). ----- */
@font-face {
  font-family: "Inter Fallback";
  font-style: normal;
  font-weight: 400;
  src: local("Arial"), local("ArialMT"), local("Helvetica"), local("Liberation Sans"), local("LiberationSans");
  size-adjust: 106.2%;
  ascent-override: 91.22%;
  descent-override: 22.71%;
  line-gap-override: 0%;
}

/* Inter 500 (Kopfleiste: Navigation, Schaltflaeche, Menue): Arial ist je
   Zeichen unterschiedlich breit als Inter (f, t, r schmaler, E, R breiter).
   Mit einem einzigen Faktor wichen Kopfleisten-Elemente bis 1,9 px ab. Daher
   ein Grundschnitt fuer alle Zeichen und darunter Zeichengruppen mit eigenem
   Faktor (unicode-range; die spaeter stehende Regel hat Vorrang). Faktor je
   Gruppe = Breitenverhaeltnis Inter 500 / Arial, auf 90-125 % begrenzt.
   Ober-/Unterlaenge je Regel 0,9690/0,2413 em (leicht aufgerundet, damit
   Chrome die Zeilenhoehen wie bei Inter rundet). Das Leerzeichen bleibt im
   Grundschnitt; er bestimmt so die Grundlinie, die damit auch in Browsern
   ohne ascent-override zur Inter passt. Gemessen in Chrome: Abweichung je
   Kopfleisten-Element unter 1 px (1309, 1440 und 360 px Breite). */
@font-face {
  font-family: "Inter Fallback";
  font-style: normal;
  font-weight: 500;
  src: local("Arial"), local("ArialMT"), local("Helvetica"), local("Liberation Sans"), local("LiberationSans");
  size-adjust: 107.2%;
  ascent-override: 90.40%;
  descent-override: 22.51%;
  line-gap-override: 0%;
}

/* R E 1 – · */
@font-face {
  font-family: "Inter Fallback";
  font-style: normal;
  font-weight: 500;
  src: local("Arial"), local("ArialMT"), local("Helvetica"), local("Liberation Sans"), local("LiberationSans");
  unicode-range: U+31, U+45, U+52, U+B7, U+2013;
  size-adjust: 90.0%;
  ascent-override: 107.67%;
  descent-override: 26.82%;
  line-gap-override: 0%;
}

/* B F G I O Ö P Q S ? & @ */
@font-face {
  font-family: "Inter Fallback";
  font-style: normal;
  font-weight: 500;
  src: local("Arial"), local("ArialMT"), local("Helvetica"), local("Liberation Sans"), local("LiberationSans");
  unicode-range: U+26, U+3F-40, U+42, U+46-47, U+49, U+4F-51, U+53, U+D6;
  size-adjust: 96.4%;
  ascent-override: 100.52%;
  descent-override: 25.04%;
  line-gap-override: 0%;
}

/* a ä ß C D H K L U Ü Y 7 — */
@font-face {
  font-family: "Inter Fallback";
  font-style: normal;
  font-weight: 500;
  src: local("Arial"), local("ArialMT"), local("Helvetica"), local("Liberation Sans"), local("LiberationSans");
  unicode-range: U+37, U+43-44, U+48, U+4B-4C, U+55, U+59, U+61, U+DC, U+DF, U+E4, U+2014;
  size-adjust: 102.0%;
  ascent-override: 95.00%;
  descent-override: 23.66%;
  line-gap-override: 0%;
}

/* b c d g i j k l p q r v w x y z J 0 2 3 6 8 9 ( ) ; + % */
@font-face {
  font-family: "Inter Fallback";
  font-style: normal;
  font-weight: 500;
  src: local("Arial"), local("ArialMT"), local("Helvetica"), local("Liberation Sans"), local("LiberationSans");
  unicode-range: U+25, U+28-29, U+2B, U+30, U+32-33, U+36, U+38-39, U+3B, U+4A, U+62-64, U+67, U+69-6C, U+70-72, U+76-7A;
  size-adjust: 113.3%;
  ascent-override: 85.53%;
  descent-override: 21.30%;
  line-gap-override: 0%;
}

/* t 4 € ’ */
@font-face {
  font-family: "Inter Fallback";
  font-style: normal;
  font-weight: 500;
  src: local("Arial"), local("ArialMT"), local("Helvetica"), local("Liberation Sans"), local("LiberationSans");
  unicode-range: U+34, U+74, U+2019, U+20AC;
  size-adjust: 122.3%;
  ascent-override: 79.24%;
  descent-override: 19.74%;
  line-gap-override: 0%;
}

/* f - / " ' „ “ */
@font-face {
  font-family: "Inter Fallback";
  font-style: normal;
  font-weight: 500;
  src: local("Arial"), local("ArialMT"), local("Helvetica"), local("Liberation Sans"), local("LiberationSans");
  unicode-range: U+22, U+27, U+2D, U+2F, U+66, U+201C, U+201E;
  size-adjust: 125.0%;
  ascent-override: 77.52%;
  descent-override: 19.31%;
  line-gap-override: 0%;
}

@font-face {
  font-family: "Inter Fallback";
  font-style: normal;
  font-weight: 600;
  src: local("Arial Bold"), local("Arial-BoldMT"), local("Helvetica Bold"), local("Helvetica-Bold"), local("Liberation Sans Bold"), local("LiberationSans-Bold");
  size-adjust: 101.2%;
  ascent-override: 95.73%;
  descent-override: 23.83%;
  line-gap-override: 0%;
}

/* ----- JetBrains Mono Fallback: Consolas (Windows). Fehlt Consolas,
         greift der naechste Eintrag im Schriftstapel (ui-monospace, Menlo). ----- */
@font-face {
  font-family: "JetBrains Mono Fallback";
  font-style: normal;
  font-weight: 400;
  src: local("Consolas");
  size-adjust: 109.13%;
  ascent-override: 93.47%;
  descent-override: 27.49%;
  line-gap-override: 0%;
}

@font-face {
  font-family: "JetBrains Mono Fallback";
  font-style: normal;
  font-weight: 500;
  src: local("Consolas");
  size-adjust: 109.13%;
  ascent-override: 93.47%;
  descent-override: 27.49%;
  line-gap-override: 0%;
}

/* ----- Cormorant Garamond Fallback: Times New Roman bzw. die metrisch
         gleiche Liberation Serif. Faktoren je Schnitt aus den Ueberschriften
         und Leads der Seiten gemessen. ----- */
@font-face {
  font-family: "Cormorant Garamond Fallback";
  font-style: normal;
  font-weight: 400;
  src: local("Times New Roman"), local("TimesNewRomanPSMT"), local("Liberation Serif"), local("LiberationSerif");
  size-adjust: 96.4%;
  ascent-override: 95.85%;
  descent-override: 29.77%;
  line-gap-override: 0%;
}

@font-face {
  font-family: "Cormorant Garamond Fallback";
  font-style: normal;
  font-weight: 500;
  src: local("Times New Roman"), local("TimesNewRomanPSMT"), local("Liberation Serif"), local("LiberationSerif");
  size-adjust: 96.8%;
  ascent-override: 95.45%;
  descent-override: 29.65%;
  line-gap-override: 0%;
}

@font-face {
  font-family: "Cormorant Garamond Fallback";
  font-style: normal;
  font-weight: 600;
  src: local("Times New Roman Bold"), local("TimesNewRomanPS-BoldMT"), local("Liberation Serif Bold"), local("LiberationSerif-Bold");
  size-adjust: 91.4%;
  ascent-override: 101.09%;
  descent-override: 31.4%;
  line-gap-override: 0%;
}

@font-face {
  font-family: "Cormorant Garamond Fallback";
  font-style: italic;
  font-weight: 400;
  src: local("Times New Roman Italic"), local("TimesNewRomanPS-ItalicMT"), local("Liberation Serif Italic"), local("LiberationSerif-Italic");
  size-adjust: 87.6%;
  ascent-override: 105.48%;
  descent-override: 32.76%;
  line-gap-override: 0%;
}

@font-face {
  font-family: "Cormorant Garamond Fallback";
  font-style: italic;
  font-weight: 500;
  src: local("Times New Roman Italic"), local("TimesNewRomanPS-ItalicMT"), local("Liberation Serif Italic"), local("LiberationSerif-Italic");
  size-adjust: 88.25%;
  ascent-override: 104.7%;
  descent-override: 32.52%;
  line-gap-override: 0%;
}
