/* tokens.css - erzeugt von website-starterpack-jnl designsystem aus KUNDEN-DESIGN.md am 2026-10-14 22:52.
   Nicht von Hand ändern: KUNDEN-DESIGN.md anpassen und neu prüfen. */

@font-face {
  font-family: "Source Serif 4";
  src: url("fonts/source-serif-4-normal-latin.woff2") format("woff2");
  font-weight: 200 900;
  font-style: normal;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
  font-display: swap;
}

@font-face {
  font-family: "Source Serif 4";
  src: url("fonts/source-serif-4-normal-latin-ext.woff2") format("woff2");
  font-weight: 200 900;
  font-style: normal;
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
  font-display: swap;
}

@font-face {
  font-family: "Hanken Grotesk";
  src: url("fonts/hanken-grotesk-normal-latin.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
  font-display: swap;
}

@font-face {
  font-family: "Hanken Grotesk";
  src: url("fonts/hanken-grotesk-normal-latin-ext.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
  font-display: swap;
}

:root {
  color-scheme: dark;

  /* Farben */
  --color-canvas: #0C1119;
  --color-surface: #121A26;
  --color-lack: #1A2432;
  --color-ink: #EFE8DA;
  --color-ink-muted: #A9B3C2;
  --color-primary: #E3A646;
  --color-primary-hell: #F0BE6A;
  --color-akzent-text: #EDB660;
  --color-on-primary: #0C1119;
  --color-papier: #EEE8DB;
  --color-papier-ink: #121823;
  --color-papier-muted: #4D5563;
  --color-papier-akzent: #8E520E;
  --color-line: #68748A;
  --color-rule: #242E3D;
  --color-focus: #EFE8DA;
  --color-disabled-bg: #1E2733;
  --color-disabled-ink: #8A94A3;

  /* Typografie */
  --font-display-family: 'Source Serif 4', 'Georgia', serif;
  --font-display-size: clamp(3.25rem, 1.5rem + 6.6vw, 8.75rem);
  --font-display-weight: 300;
  --font-display-line-height: 0.96;
  --font-display-letter-spacing: -0.025em;
  --font-heading-family: var(--font-display-family);
  --font-heading-size: clamp(2.25rem, 1.35rem + 3.3vw, 4.75rem);
  --font-heading-weight: 340;
  --font-heading-line-height: 1.02;
  --font-heading-letter-spacing: -0.018em;
  --font-eyebrow-family: 'Hanken Grotesk', 'Segoe UI', system-ui, sans-serif;
  --font-eyebrow-size: 0.8125rem;
  --font-eyebrow-weight: 600;
  --font-eyebrow-line-height: 1.3;
  --font-eyebrow-letter-spacing: 0.28em;
  --font-body-family: 'Hanken Grotesk', 'Segoe UI', system-ui, sans-serif;
  --font-body-size: 1.0625rem;
  --font-body-weight: 400;
  --font-body-line-height: 1.65;
  --font-small-family: var(--font-body-family);
  --font-small-size: 0.875rem;
  --font-small-weight: 450;
  --font-small-line-height: 1.5;
  --font-button-family: var(--font-body-family);
  --font-button-size: 0.9375rem;
  --font-button-weight: 640;
  --font-button-line-height: 1.2;
  --font-button-letter-spacing: 0.06em;

  /* Abstände */
  --space-xs: 4px;
  --space-sm: 8px;
  --space-md: 16px;
  --space-lg: 24px;
  --space-xl: 32px;
  --space-2xl: 48px;
  --space-3xl: 64px;
  --space-4xl: 96px;
  --space-5xl: 176px;

  /* Radien */
  --radius-sm: 0px;
  --radius-md: 2px;
  --radius-lg: 2px;
  --radius-pill: 999px;

  /* Schatten */
  --shadow-card: 0 1px 0 rgba(239, 232, 218, 0.04) inset, 0 24px 60px rgba(2, 5, 10, 0.6);
  --shadow-licht: 0 0 0 1px rgba(227, 166, 70, 0.4), 0 16px 48px rgba(227, 166, 70, 0.25);

  /* Bewegung */
  --motion-duration-fast: 160ms;
  --motion-duration-base: 300ms;
  --motion-duration-slow: 1000ms;
  --motion-duration-atem: 1800ms;
  --motion-easing-standard: cubic-bezier(0.19, 1, 0.22, 1);
  --motion-easing-exit: cubic-bezier(0.7, 0, 0.3, 1);

  /* Breakpoints (Information; in @media nicht als var() nutzbar) */
  --breakpoint-sm: 480px;
  --breakpoint-md: 768px;
  --breakpoint-lg: 1024px;
  --breakpoint-xl: 1280px;

  /* Komponenten */
  --comp-button-primary-background-color: var(--color-primary);
  --comp-button-primary-text-color: var(--color-on-primary);
  --comp-button-primary-font-family: var(--font-button-family);
  --comp-button-primary-font-size: var(--font-button-size);
  --comp-button-primary-font-weight: var(--font-button-weight);
  --comp-button-primary-line-height: var(--font-button-line-height);
  --comp-button-primary-letter-spacing: var(--font-button-letter-spacing);
  --comp-button-primary-rounded: var(--radius-pill);
  --comp-button-primary-padding: 16px 28px;
  --comp-button-primary-height: 52px;
  --comp-button-primary-hover-background-color: var(--color-primary-hell);
  --comp-button-primary-focus-outline-color: var(--color-focus);
  --comp-button-primary-focus-outline-width: 3px;
  --comp-button-primary-focus-outline-offset: 3px;
  --comp-button-primary-active-background-color: var(--color-primary-hell);
  --comp-button-primary-disabled-background-color: var(--color-disabled-bg);
  --comp-button-primary-disabled-text-color: var(--color-disabled-ink);
  --comp-button-ghost-background-color: transparent;
  --comp-button-ghost-text-color: var(--color-ink);
  --comp-button-ghost-border-color: var(--color-line);
  --comp-button-ghost-font-family: var(--font-button-family);
  --comp-button-ghost-font-size: var(--font-button-size);
  --comp-button-ghost-font-weight: var(--font-button-weight);
  --comp-button-ghost-line-height: var(--font-button-line-height);
  --comp-button-ghost-letter-spacing: var(--font-button-letter-spacing);
  --comp-button-ghost-rounded: var(--radius-pill);
  --comp-button-ghost-padding: 16px 28px;
  --comp-button-ghost-height: 52px;
  --comp-button-ghost-hover-border-color: var(--color-ink);
  --comp-button-ghost-focus-outline-color: var(--color-focus);
  --comp-button-ghost-focus-outline-width: 3px;
  --comp-button-ghost-focus-outline-offset: 3px;
  --comp-button-ghost-active-border-color: var(--color-akzent-text);
  --comp-button-ghost-disabled-text-color: var(--color-disabled-ink);
  --comp-button-ghost-disabled-border-color: var(--color-disabled-bg);
  --comp-link-background-color: transparent;
  --comp-link-text-color: var(--color-ink);
  --comp-link-hover-text-color: var(--color-akzent-text);
  --comp-link-focus-outline-color: var(--color-focus);
  --comp-link-focus-outline-width: 2px;
  --comp-link-focus-outline-offset: 3px;
  --comp-link-active-text-color: var(--color-akzent-text);
  --comp-chip-background-color: var(--color-surface);
  --comp-chip-text-color: var(--color-ink);
  --comp-chip-border-color: var(--color-line);
  --comp-chip-rounded: var(--radius-pill);
  --comp-chip-padding: 10px 18px;
  --comp-chip-height: 44px;
  --comp-chip-hover-border-color: var(--color-ink);
  --comp-chip-focus-outline-color: var(--color-focus);
  --comp-chip-focus-outline-width: 2px;
  --comp-chip-focus-outline-offset: 2px;
  --comp-chip-active-background-color: var(--color-ink);
  --comp-chip-active-text-color: var(--color-canvas);
  --comp-input-background-color: var(--color-lack);
  --comp-input-text-color: var(--color-ink);
  --comp-input-placeholder-color: var(--color-ink-muted);
  --comp-input-border-color: var(--color-line);
  --comp-input-rounded: var(--radius-md);
  --comp-input-padding: 14px 16px;
  --comp-input-height: 52px;
  --comp-input-hover-border-color: var(--color-ink-muted);
  --comp-input-focus-border-color: var(--color-focus);
  --comp-input-focus-outline-color: var(--color-focus);
  --comp-input-focus-outline-width: 2px;
  --comp-input-focus-outline-offset: 0px;
  --comp-input-active-border-color: var(--color-focus);
  --comp-input-disabled-background-color: var(--color-disabled-bg);
  --comp-input-disabled-text-color: var(--color-disabled-ink);
  --comp-card-background-color: var(--color-surface);
  --comp-card-text-color: var(--color-ink);
  --comp-card-rounded: var(--radius-lg);
  --comp-card-padding: 28px;
  --comp-card-shadow: var(--shadow-card);
}

/* Reduzierte Bewegung: nur das Tempo sinkt, Inhalte bleiben sichtbar und erreichbar. */
@media (prefers-reduced-motion: reduce) {
  :root {
    --motion-duration-fast: 0ms;
    --motion-duration-base: 0ms;
    --motion-duration-slow: 0ms;
    --motion-duration-atem: 0ms;
  }
}
