/* ============================================================
   Brand: jobin — Fonts
   ------------------------------------------------------------
   Bewusste Entscheidung (v1): KEINE separate Highlight-Schrift.
   --font-display = Inter (global, self-hosted, aus core.css),
   nur mit hohem Gewicht + engem Tracking (siehe theme.css h1-h3)
   für Wumms auf großen Headlines. Deckt sich mit dem eigenen
   Leitbild aus DESIGN-PRINCIPLES.md ("typografie- und whitespace-
   getrieben", keine kurzlebige Trend-Schrift) UND spart ein
   zusätzliches Web-Font-Ladepaket (Performance/Core Web Vitals
   auf einer mobil-first Bewerber-Zielgruppe).

   Optionaler Ausbau später: eigenes Adobe-Fonts-Kit (siehe
   design.md) für eine markantere Display-Schrift — dann hier
   @import + --font-display setzen, analog akko/staffix/talentim.
   ============================================================ */
/* ============================================================
   Massgleiche Ersatzschrift gegen das Flackern beim Laden
   ------------------------------------------------------------
   `font-display: swap` (core.css) zeigt erst die Systemschrift und
   tauscht dann gegen Inter. Der Tausch ist nicht das Problem — das
   Problem ist, dass beide unterschiedlich BREIT sind: der Text springt,
   und das sieht man.

   Diese Definition gibt der Systemschrift Inters Masse. Der Tausch
   findet weiter statt, er bewegt nur nichts mehr.

   ⚠️ DIE WERTE SIND GEMESSEN (23.09.2026), nicht geschaetzt: mittlere
   Zeichenbreite, gewichtet nach deutscher Buchstabenhaeufigkeit, aus
   den echten Dateien gerechnet.
       Inter 0.4904 em · Arial 0.4573 em → 107.2 %
                        · Segoe UI 0.4552 em → 107.7 %
   Beide liegen 0,5 % auseinander — ein Mittelwert deckt beide.
   Hoehen kommen direkt aus Inters hhea (asc 0.9688, desc 0.2412 em),
   geteilt durch den size-adjust.

   ⚠️ NICHT ueber `xAvgCharWidth` rechnen, obwohl es nahelaege: der Wert
   wird je nach Spec-Fassung anders gebildet und ist zwischen diesen
   Schriften nicht vergleichbar. Er ergaebe 138 % — die Ersatzschrift
   waere sichtbar zu gross und damit schlimmer als das Flackern.

   ⚠️ Es wird NICHTS nachgeladen: `local()` nimmt nur, was auf dem Geraet
   schon liegt. Findet der Browser keine der drei, faellt er auf die
   naechste Stufe im Stapel zurueck — dann flackert es wie bisher, aber
   es bricht nichts.
   ============================================================ */
/* ============================================================
   KEIN TAUSCH MEHR: font-display: optional
   ------------------------------------------------------------
   Der massgleiche Ersatz unten verhindert, dass der Text SPRINGT.
   Er verhindert nicht, dass er sich SICHTBAR AENDERT — Segoe UI und
   Inter haben verschiedene Buchstabenformen, auch bei gleicher Breite.
   Genau das sieht man als Flackern, und genau das war mit dem ersten
   Anlauf (23.09.2026) noch nicht behoben.

   `optional` beendet es: der Browser wartet rund 100 ms auf Inter.
   Ist sie da, wird sie genommen. Ist sie es nicht, bleibt es fuer
   DIESEN Seitenaufruf beim Ersatz — und es wird NICHT nachtraeglich
   getauscht. Beim naechsten Aufruf liegt sie im Cache und ist sofort da.

   ⚠️ Der Preis: Wer zum ersten Mal kommt und eine langsame Verbindung
   hat, sieht die Systemschrift. Genau dafuer steht der massgleiche
   Ersatz darunter — er sieht Inter aehnlich genug, dass es nicht
   auffaellt. Die beiden gehoeren zusammen.

   ⚠️ Dieselbe Adresse wie in core.css und im Preload — zeichengleich,
   sonst laedt der Browser die Schrift ein zweites Mal. Die spaetere
   Definition gewinnt, deshalb steht hier nur, was sich aendert.
   ============================================================ */
@font-face {
  font-family: "Inter";
  src: url("../../../fonts/inter-latin-variable.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: optional;
}

@font-face {
  font-family: "Inter Ersatz";
  src: local("Segoe UI"), local("Helvetica Neue"), local("Arial");
  size-adjust: 107.4%;
  ascent-override: 90.1%;
  descent-override: 22.5%;
  line-gap-override: 0%;
}

:root {
  /* ⚠️ Die Ersatzschrift muss DIREKT hinter Inter stehen — sie ist die
     erste, die greift, solange Inter laedt. Der Rest des Stapels bleibt
     als Netz, falls keine der drei Systemschriften da ist.
     `--font-sans` setzt core.css; hier gewinnt es, weil diese Datei
     zuletzt geladen wird. */
  --font-sans: "Inter", "Inter Ersatz", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --font-display: var(--font-sans);
  --weight-display: 800;
}
