/*
 * Hausschriften, selbst ausgeliefert.
 *
 * Einbinden statt der beiden Google-<link>-Tags:
 *
 *   <link rel="stylesheet" href="/shared/fonts.css" />
 *
 * Die `preconnect`-Zeilen auf fonts.googleapis.com und fonts.gstatic.com
 * fallen dabei ersatzlos weg — es gibt nichts mehr zu verbinden.
 *
 * Warum selbst ausliefern: ein <link> auf die Google-CDN überträgt die
 * IP-Adresse jeder Besucherin an Google, bevor sie zugestimmt hat, und unsere
 * Datenschutzerklärungen behaupten, dass keine Drittdienste eingebunden sind.
 * Lizenz und Herkunft der Dateien stehen in fonts/OFL.txt.
 *
 * `font-display: swap` und nicht `block`: der Text steht sofort in der
 * Ersatzschrift da und wird nachträglich ersetzt. Ein kurzer Umbruch ist
 * besser als eine leere Seite. (Die iOS-Apps benutzen bewusst `block` — dort
 * liegt die Schrift im Bundle und ist ohne Verzögerung da.)
 *
 * Erneuern, wenn Google eine neue Schnittfassung ausliefert: die CSS-API mit
 * einem aktuellen Browser-User-Agent abrufen, aus dem @font-face-Block mit
 * `unicode-range: U+0000-00FF` die woff2-URL nehmen und die Datei ersetzen.
 * Kein Automatismus — das passiert alle paar Jahre.
 */

/* Space Grotesk — variabel, deckt 300–700 mit einer Datei ab. */
@font-face {
  font-family: "Space Grotesk";
  src: url("/shared/fonts/SpaceGrotesk-latin.woff2") format("woff2");
  font-weight: 300 700;
  font-style: normal;
  font-display: swap;
}

/* IBM Plex Mono gibt es nicht variabel, deshalb je Gewicht eine Datei.
   Nur die vier Gewichte, die im Haus tatsächlich benutzt werden. */
@font-face {
  font-family: "IBM Plex Mono";
  src: url("/shared/fonts/IBMPlexMono-400-latin.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "IBM Plex Mono";
  src: url("/shared/fonts/IBMPlexMono-500-latin.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "IBM Plex Mono";
  src: url("/shared/fonts/IBMPlexMono-600-latin.woff2") format("woff2");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "IBM Plex Mono";
  src: url("/shared/fonts/IBMPlexMono-700-latin.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

/* Darker Grotesque — variabel, 300–900. Nur VitalLoop benutzt sie. */
@font-face {
  font-family: "Darker Grotesque";
  src: url("/shared/fonts/DarkerGrotesque-latin.woff2") format("woff2");
  font-weight: 300 900;
  font-style: normal;
  font-display: swap;
}
