/* Sichtcode – Design Tokens. Quelle: tokens.json */
@font-face { font-family: 'Montserrat'; font-weight: 500; font-style: normal; font-display: swap; src: url('./fonts/montserrat-latin-500-normal.woff2') format('woff2'); }
@font-face { font-family: 'Montserrat'; font-weight: 600; font-style: normal; font-display: swap; src: url('./fonts/montserrat-latin-600-normal.woff2') format('woff2'); }
@font-face { font-family: 'Montserrat'; font-weight: 700; font-style: normal; font-display: swap; src: url('./fonts/montserrat-latin-700-normal.woff2') format('woff2'); }
@font-face { font-family: 'Montserrat'; font-weight: 800; font-style: normal; font-display: swap; src: url('./fonts/montserrat-latin-800-normal.woff2') format('woff2'); }
@font-face { font-family: 'DM Sans'; font-weight: 400; font-style: normal; font-display: swap; src: url('./fonts/dm-sans-latin-400-normal.woff2') format('woff2'); }
@font-face { font-family: 'DM Sans'; font-weight: 500; font-style: normal; font-display: swap; src: url('./fonts/dm-sans-latin-500-normal.woff2') format('woff2'); }
@font-face { font-family: 'DM Sans'; font-weight: 700; font-style: normal; font-display: swap; src: url('./fonts/dm-sans-latin-700-normal.woff2') format('woff2'); }

:root {
  --surface: #FFFFFF;
  --surface-alt: #F4F6F9;
  --line: #DCE2EA;
  --control-border: #7A8BA3;
  --ink: #0B1F3A;
  --ink-muted: #5A6B82;
  --navy: #0B1F3A;
  --teal: #12B5A3;
  --teal-ink: #0A766B;
  --teal-soft: #E6F7F4;
  --on-teal: #0B1F3A;
  --primary: #0B1F3A;
  --on-primary: #FFFFFF;
  --on-navy: #FFFFFF;
  --danger: #B42318;
  --focus: #0A766B;
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-6: 24px;
  --space-8: 32px;
  --space-12: 48px;
  --space-16: 64px;
  --space-24: 96px;
  --radius-sm: 6px;
  --radius-md: 10px;
  --radius-lg: 16px;
  --radius-pill: 999px;
  --shadow-card: 0 1px 2px rgba(11,31,58,0.06), 0 8px 24px rgba(11,31,58,0.08);
  --font-display: "Montserrat", system-ui, sans-serif;
  --font-sans: "DM Sans", system-ui, sans-serif;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
  --surface: #0A1A30;
  --surface-alt: #12284A;
  --line: #2A4670;
  --control-border: #6F86A8;
  --ink: #F2F5F9;
  --ink-muted: #A9B6C8;
  --navy: #1C3B68;
  --teal: #2FD3BF;
  --teal-ink: #2FD3BF;
  --teal-soft: #0F3B45;
  --on-teal: #0A1A30;
  --primary: #2FD3BF;
  --on-primary: #0A1A30;
  --on-navy: #FFFFFF;
  --danger: #F97066;
  --focus: #2FD3BF;
  }
}
:root[data-theme="dark"] {
  --surface: #0A1A30;
  --surface-alt: #12284A;
  --line: #2A4670;
  --control-border: #6F86A8;
  --ink: #F2F5F9;
  --ink-muted: #A9B6C8;
  --navy: #1C3B68;
  --teal: #2FD3BF;
  --teal-ink: #2FD3BF;
  --teal-soft: #0F3B45;
  --on-teal: #0A1A30;
  --primary: #2FD3BF;
  --on-primary: #0A1A30;
  --on-navy: #FFFFFF;
  --danger: #F97066;
  --focus: #2FD3BF;
}

/* Typografie-Stile */
.text-display { font-family: var(--font-display); font-size: 56px; line-height: 60px; font-weight: 800; letter-spacing: -0.02em; }
.text-h1 { font-family: var(--font-display); font-size: 40px; line-height: 48px; font-weight: 700; letter-spacing: -0.015em; }
.text-h2 { font-family: var(--font-display); font-size: 28px; line-height: 36px; font-weight: 700; letter-spacing: -0.01em; }
.text-h3 { font-family: var(--font-display); font-size: 20px; line-height: 28px; font-weight: 700; }
.text-eyebrow { font-family: var(--font-display); font-size: 13px; line-height: 16px; font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase; }
.text-lead { font-family: var(--font-sans); font-size: 20px; line-height: 32px; font-weight: 400; }
.text-body { font-family: var(--font-sans); font-size: 17px; line-height: 28px; font-weight: 400; }
.text-small { font-family: var(--font-sans); font-size: 14px; line-height: 22px; font-weight: 400; }
.text-button { font-family: var(--font-sans); font-size: 16px; line-height: 24px; font-weight: 700; }
