/* ERGO Design System — Base
   Reset, font stack, and base typography built on the official ERGO
   semantic tokens (tokens/eds-variables.css, doc-eds v2.6.0).

   ABWEICHUNG ZUR CONTENT-FACTORY (bewusst): Dort steht Inter vor Arial, begruendet mit
   "internes Werkzeug, wird nie an ERGO uebergeben". Die Nutzer DIESER Anwendung sind ERGO,
   also gilt ERGOs eigene Vorgabe: "In absoluten Ausnahmefaellen darf in digitalen Medien
   die Arial als Ersatzschrift fuer unsere Hausschrift FS Me verwendet werden." FS Me Neue
   steht zuerst und greift ohne weitere Aenderung, sobald die Lizenzdateien vorliegen.
   Kein Webfont-Load von externen Hosts (C2-Datenklassifikation, EU-Datenresidenz).
   Georgia kommt laut ERGO digital nicht zum Einsatz, die Sekundaerschrift bleibt daher
   ohne Georgia-Fallback. */

:root {
  --eds-font-primary: "FS Me Neue", Arial, Helvetica, sans-serif;
  --eds-font-secondary: "Fedra Serif LCG", "Times New Roman", serif;
}

*, *::before, *::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; }

body {
  margin: 0;
  font-family: var(--eds-font-primary);
  font-size: var(--eds-semantic-typography-font-size-xs);     /* 16px */
  line-height: var(--eds-semantic-typography-line-height-xs); /* 24px */
  color: var(--eds-semantic-color-content-primary);           /* #333 */
  background: var(--eds-semantic-color-background-primary);    /* #fff */
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

h1, h2, h3, h4 {
  font-family: var(--eds-font-primary);
  font-weight: var(--eds-semantic-typography-font-weight-bold);
  color: var(--eds-semantic-color-content-primary);
  margin: 0 0 var(--eds-semantic-dimension-gap-2-xs) 0;
  letter-spacing: -0.01em;
  text-wrap: balance;
}

h1 { font-size: var(--eds-semantic-typography-font-size-3-xl); line-height: var(--eds-semantic-typography-line-height-3-xl); } /* 48 / 56 */
h2 { font-size: var(--eds-semantic-typography-font-size-2-xl); line-height: var(--eds-semantic-typography-line-height-2-xl); } /* 36 / 44 */
h3 { font-size: var(--eds-semantic-typography-font-size-xl);   line-height: var(--eds-semantic-typography-line-height-xl); }   /* 28 / 40 */
h4 { font-size: var(--eds-semantic-typography-font-size-lg);   line-height: var(--eds-semantic-typography-line-height-lg); }   /* 24 / 36 */

p { margin: 0 0 var(--eds-semantic-dimension-gap-2-xs) 0; text-wrap: pretty; }

a {
  color: var(--eds-semantic-color-content-brand-primary-default); /* #8e0038 */
  text-decoration: underline;
  text-underline-offset: 2px;
}
a:hover { color: var(--eds-semantic-color-content-brand-primary-hover); } /* #601028 */

.eds-text-secondary { color: var(--eds-semantic-color-content-secondary); }
.eds-text-tertiary  { color: var(--eds-semantic-color-content-tertiary); }
