/* ============================================================
   BAUM — Design tokens (single source of truth)
   Canonical palette from design-system.html; editorial scale
   extended for the cinematic art direction.
   ============================================================ */
:root {
  /* Brand */
  --c-primary:        #2672B9;
  --c-primary-hover:  #1F5C96;
  --c-primary-active: #1A4E80;
  --c-accent:         #5B8CBF;
  --c-eyebrow:        #3F6D9E;

  /* Navy scale (dark surfaces) */
  --c-navy:           #0B2547;
  --c-navy-2:         #123A75;
  --c-navy-deep:      #071A33;   /* hero/near-black sections */
  --c-navy-ink:       #050F1E;   /* darkest atmosphere */

  /* Surfaces */
  --c-surface:        #FFFFFF;
  --c-bg-alt:         #EEF2F7;

  /* Text on light */
  --c-text:           #0F172A;
  --c-body:           #475569;
  --c-muted:          #5B6A80;  /* ≥4.5:1 auch auf --c-bg-alt */
  --c-primary-text:   #1F5C96;  /* Primärfarbe als FLIESSTEXT/Link < 24px auf --c-bg-alt.
                                   --c-primary selbst schafft dort nur 4.45:1 (WCAG AA: 4.5) —
                                   auf Weiss reicht es (5.01:1), auf #EEF2F7 nicht. Dieser Ton
                                   liegt bei 6.17:1. Für Buttons/Flächen weiter --c-primary. */

  /* Text on navy */
  --c-on-navy:        #C9D8EC;
  --c-on-navy-2:      #BCD4F0;
  --c-on-navy-muted:  #96ACC9;  /* 4.97:1 auf der SOLIDEN Nav (rgba(7,26,51,.86) über Weiss
                                   = effektiv #2A3A50) — das ist der hellste Navy-Untergrund und
                                   damit der bindende Fall. Der frühere Wert #7E96B8 schaffte dort
                                   nur 3.82:1 und liess .nav-brand-sub (10px) durchfallen. Auf allen
                                   dunkleren Navy-Flächen liegt der Ton bei 7–9:1, bleibt aber klar
                                   gedämpfter als --c-on-navy (#C9D8EC). */

  /* Signals */
  --c-alert:          #E25C5C;   /* Notdienst dot */
  --c-alert-text:     #B3261E;   /* Fehlertexte (Formulare) — 6.5:1 auf Weiß; --c-alert allein nur 3.4:1 */
  --c-star:           #F5B301;   /* Google review stars */
  --c-bg-alt-hover:   #E4EAF2;   /* hover shade of --c-bg-alt */

  /* Lines & borders */
  --c-border:         #E2E8F0;
  --c-border-dark:    rgba(201, 216, 236, 0.14);  /* hairlines on navy */
  --c-line-tech:      rgba(38, 114, 185, 0.35);   /* technical lines on light */
  --c-line-tech-dark: rgba(91, 140, 191, 0.40);   /* technical lines on navy */

  /* Cobalt glow (radial illumination only — never flat gradient fills) */
  --glow-cobalt: radial-gradient(closest-side, rgba(38,114,185,.28), transparent 70%);

  /* Typography */
  --font-sans: 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --fs-display: clamp(40px, 4.6vw, 64px);    /* hero H1 */
  --fs-h1:      clamp(36px, 4.2vw, 56px);    /* page H1 (secondary heroes) */
  --fs-h2:      clamp(30px, 3.6vw, 48px);    /* section headlines */
  --fs-h3:      clamp(24px, 2.6vw, 32px);
  --fs-h4:      clamp(19px, 1.6vw, 22px);
  --fs-lead:    clamp(15px, 1.05vw, 16px);
  --fs-base:    16px;
  --fs-sm:      14px;
  --fs-xs:      12px;
  --fs-micro:   11px;                         /* index labels, coordinates */

  --lh-display: 1.02;
  --lh-heading: 1.12;
  --lh-body:    1.65;

  --ls-display: -0.035em;
  --ls-heading: -0.02em;
  --ls-eyebrow: 0.22em;
  --ls-micro:   0.14em;

  /* Spacing (4px base) */
  --sp-1: 4px;  --sp-2: 8px;  --sp-3: 12px; --sp-4: 16px;
  --sp-5: 20px; --sp-6: 24px; --sp-8: 32px; --sp-10: 40px;
  --sp-12: 48px; --sp-16: 64px; --sp-20: 80px; --sp-24: 96px;

  /* Zwei Halbschritte (v=166). Sie brechen bewusst mit dem 4px-Raster, weil das
     Raster die Realitaet nicht beschrieb: 10px kam 56x und 14px 26x fest kodiert
     vor — zusammen die Haelfte aller Abweichungen. Die Alternative waere gewesen,
     82 Deklarationen auf 8/12/16 zu ziehen; das ist eine SICHTBARE Aenderung an
     Knoepfen, Chips und Listen quer ueber die Site. Die Werte sind offensichtlich
     gewollt, also bekommen sie einen Namen statt einer Migration. */
  --sp-2_5: 10px; --sp-3_5: 14px;

  --section-pad: clamp(88px, 9vw, 132px);   /* web-design-rules band: 64–132px.
                                               USER v=84: Mobil-Untergrenze 64 → 88px — auf dem
                                               Handy standen die Sektionen zu dicht aufeinander.
                                               Desktop unverändert (9vw greift ab ~978px). */
  --container: 1480px;
  --gutter: clamp(20px, 4vw, 48px);
  --nav-h: 68px;                            /* desktop menubar height */

  /* Radii — restrained; canonical elevation is border-only */
  --r-sm: 4px; --r-md: 8px; --r-lg: 12px; --r-full: 9999px;

  /* Motion */
  --t-fast: 0.2s;
  --t-reveal: 0.6s;
  --ease-out: cubic-bezier(0.22, 1, 0.36, 1);
  --ease-inout: cubic-bezier(0.65, 0, 0.35, 1);

  /* Z-layers */
  --z-nav: 100;
  --z-mega: 90;
  --z-mobile-menu: 95;  /* below nav so burger/close stays reachable */
  --z-notdienst: 80;
}
