/* BUC-36 — Typografie-Tokens
   Space Grotesk: Headlines, große Zahlen, Labels. Inter Tight: Fließtext, UI, Formular.
   Kleinste Größe 14px; Labels bis 11px, aber nur in Versalien.
   Werte unten sind Desktop; die Media-Query am Ende setzt Mobile-Größen. */
:root {
  --font-display: 'Space Grotesk', 'Segoe UI', system-ui, sans-serif;
  --font-text: 'Inter Tight', 'Helvetica Neue', Arial, system-ui, sans-serif;

  --fw-regular: 400; /* @kind font */
  --fw-medium: 500; /* @kind font */
  --fw-semibold: 600; /* @kind font */
  --fw-bold: 700; /* @kind font */

  /* Stufe: -size / -lh (Zeilenhöhe) / -ls (Laufweite). Desktop. */
  --text-display-lg-size: 72px;  --text-display-lg-lh: 1.02; --text-display-lg-ls: -0.02em;
  --text-display-sm-size: 48px;  --text-display-sm-lh: 1.05; --text-display-sm-ls: -0.015em;
  --text-section-size: 34px;     --text-section-lh: 1.1;     --text-section-ls: -0.01em;
  --text-card-size: 22px;        --text-card-lh: 1.2;        --text-card-ls: 0;
  --text-lead-size: 20px;        --text-lead-lh: 1.5;        --text-lead-ls: 0;
  --text-body-size: 17px;        --text-body-lh: 1.6;        --text-body-ls: 0;
  --text-small-size: 14px;       --text-small-lh: 1.5;       --text-small-ls: 0;
  --text-label-size: 13px;       --text-label-lh: 1.2;       --text-label-ls: 0.12em;
  --text-data-size: 28px;        --text-data-lh: 1.1;        --text-data-ls: 0;
}
@media (max-width: 767px) {
  :root {
    --text-display-lg-size: 40px; --text-display-lg-lh: 1.05;
    --text-display-sm-size: 30px; --text-display-sm-lh: 1.08;
    --text-section-size: 24px;    --text-section-lh: 1.12;
    --text-card-size: 20px;
    --text-lead-size: 18px;
    --text-body-size: 16px;
    --text-label-size: 12px;
    --text-data-size: 22px;
  }
}

/* Anwendungsklassen — bilden die Skala 1:1 ab. */
.buc-display-lg{font-family:var(--font-display);font-weight:var(--fw-bold);font-size:var(--text-display-lg-size);line-height:var(--text-display-lg-lh);letter-spacing:var(--text-display-lg-ls)}
.buc-display-sm{font-family:var(--font-display);font-weight:var(--fw-bold);font-size:var(--text-display-sm-size);line-height:var(--text-display-sm-lh);letter-spacing:var(--text-display-sm-ls)}
.buc-section{font-family:var(--font-display);font-weight:var(--fw-semibold);font-size:var(--text-section-size);line-height:var(--text-section-lh);letter-spacing:var(--text-section-ls)}
.buc-card-title{font-family:var(--font-display);font-weight:var(--fw-semibold);font-size:var(--text-card-size);line-height:var(--text-card-lh);letter-spacing:var(--text-card-ls)}
.buc-lead{font-family:var(--font-text);font-weight:var(--fw-regular);font-size:var(--text-lead-size);line-height:var(--text-lead-lh)}
.buc-body{font-family:var(--font-text);font-weight:var(--fw-regular);font-size:var(--text-body-size);line-height:var(--text-body-lh)}
.buc-small{font-family:var(--font-text);font-weight:var(--fw-regular);font-size:var(--text-small-size);line-height:var(--text-small-lh)}
.buc-label{font-family:var(--font-display);font-weight:var(--fw-medium);font-size:var(--text-label-size);line-height:var(--text-label-lh);letter-spacing:var(--text-label-ls);text-transform:uppercase}
.buc-data{font-family:var(--font-display);font-weight:var(--fw-bold);font-size:var(--text-data-size);line-height:var(--text-data-lh)}
