@font-face {
  font-family: "Bricolage Grotesque";
  src: url("../fonts/bricolage-grotesque-latin.woff2") format("woff2");
  font-weight: 400 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "DM Sans";
  src: url("../fonts/dm-sans-latin.woff2") format("woff2");
  font-weight: 400 800;
  font-style: normal;
  font-display: swap;
}

:root {
  color-scheme: light;

  --color-primary: #0a2540;
  --color-primary-900: #041028;
  --color-primary-800: #082038;
  --color-secondary: #00b4d8;
  --color-secondary-soft: #dff7fb;
  --color-accent: #ff7a00;
  --color-accent-strong: #ea5f00;
  --color-bg: #f8fafc;
  --color-bg-soft: #f8fafc;
  --color-surface: #ffffff;
  --color-surface-warm: #fff9f0;
  --color-text: #0a2540;
  --color-text-soft: #334155;
  --color-muted: #64748b;
  --color-border: #e5e7eb;
  --color-border-soft: #f1f3f5;
  --color-success: #17a39a;
  --color-warning: #ffd166;
  --color-error: #c81922;

  --font-display: "Bricolage Grotesque", "Mona Sans", -apple-system, system-ui, sans-serif;
  --font-body: "DM Sans", "Inter", -apple-system, system-ui, sans-serif;

  --text-display: clamp(3.1rem, 9vw, 6.9rem);
  --text-h1: clamp(2.65rem, 7vw, 5.4rem);
  --text-h2: clamp(2.05rem, 5vw, 4.1rem);
  --text-h3: clamp(1.4rem, 3vw, 2.1rem);
  --text-body-lg: clamp(1.05rem, 2.2vw, 1.25rem);
  --text-body: 1rem;
  --text-body-sm: 0.92rem;
  --text-caption: 0.78rem;
  --text-micro: 0.68rem;

  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-6: 1.5rem;
  --space-8: 2rem;
  --space-12: 3rem;
  --space-16: 4rem;
  --space-24: 6rem;

  --radius-sm: 0.5rem;
  --radius-md: 1rem;
  --radius-lg: 1.5rem;
  --radius-xl: 2rem;
  --radius-2xl: 2.75rem;
  --radius-full: 999px;

  --shadow-xs: 0 1px 2px rgba(10, 37, 64, 0.06);
  --shadow-sm: 0 8px 24px -18px rgba(10, 37, 64, 0.2);
  --shadow-md: 0 18px 54px -36px rgba(10, 37, 64, 0.36);
  --shadow-lg: 0 32px 90px -58px rgba(10, 37, 64, 0.52);
  --shadow-xl: 0 48px 120px -70px rgba(10, 37, 64, 0.62);

  --bp-sm: 360px;
  --bp-md: 480px;
  --bp-lg: 768px;
  --bp-xl: 1024px;
  --bp-2xl: 1280px;

  --header-height-mobile: 64px;
  --header-height-desktop: 72px;
  --header-bg: rgba(248, 250, 252, 0.82);
  --logo-height-mobile: 32px;
  --logo-height-desktop: 40px;
  --brand-accent: #4face8;

  --ease-standard: cubic-bezier(0.2, 0.8, 0.2, 1);
  --ease-emphasized: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-decelerated: cubic-bezier(0, 0, 0.2, 1);
  --duration-100: 100ms;
  --duration-150: 150ms;
  --duration-200: 200ms;
  --duration-300: 300ms;
  --duration-500: 500ms;

  --z-dropdown: 40;
  --z-sticky: 50;
  --z-fixed: 80;
  --z-modal: 100;
  --z-popover: 120;
  --z-tooltip: 140;
  --z-toast: 160;

  /* Button-Sizing */
  --btn-min-height: 56px;
  --btn-min-height-hero: 60px;
  --btn-min-height-sticky: 52px;
  --btn-padding: 0.95rem 1.55rem;
  --btn-padding-hero: 0.95rem 1.9rem;
  --btn-font-size: 1rem;
  --btn-font-weight: 700;
  --btn-radius: 999px;

  /* Button-Brand-Colors */
  --btn-primary-bg: linear-gradient(180deg, #ff922f 0%, #ff7a00 100%);
  --btn-primary-bg-hover: linear-gradient(180deg, #ff7f09 0%, #e66300 100%);
  --btn-primary-color: #fff;

  /* Hero-H1-Skalen */
  --hero-h1: clamp(3rem, 8vw, 6rem);
  --hero-h1-mobile: clamp(48px, 14.2vw, 64px);
  --hero-h1-display: clamp(3.4rem, 9vw, 7rem);
  --hero-h1-compact: clamp(2.4rem, 6vw, 4rem);

  /* Letter-Spacing */
  --tracking-tight: -0.025em;
  --tracking-tighter: -0.05em;
  --tracking-tightest: -0.075em;
  --tracking-wide: 0.18em;

  /* Sticky-CTA */
  --sticky-cta-height: 72px;

  /* Legacy aliases consumed by the current CSS while components migrate. */
  --bg: var(--color-bg);
  --surface: var(--color-surface);
  --ink: var(--color-text);
  --ink-soft: var(--color-text-soft);
  --muted: var(--color-muted);
  --navy-deep: var(--color-primary-900);
  --aqua: #3bc4b8;
  --aqua-bright: #5eead4;
  --aqua-soft: #d1f4ee;
  --aqua-pale: #eafbf8;
  --sky: #7cc4f0;
  --sky-bright: #4fade8;
  --sky-soft: #dbeffa;
  --sky-pale: #eaf5fc;
  --sunshine: var(--color-warning);
  --sunshine-soft: #fff0c7;
  --sunshine-pale: #fff8e0;
  --coral: #ff8c7a;
  --coral-soft: #ffd4cc;
  --coral-pale: #ffe8e2;
  --lavender: #b5a8fc;
  --lavender-soft: #e3ddfe;
  --lavender-pale: #f0ebfe;
  --mint: #5eead4;
  --mint-mid: #3bc4b8;
  --mint-deep: #17a39a;
  --mint-ink: #0e7a75;
  --mint-pale: #eafbf8;
  --mint-soft: #d1f4ee;
  --rose: #ffb4a2;
  --rose-soft: #ffe5dd;
  --berry: #0e7a75;
  --berry-deep: #0a5f5c;
  --berry-soft: #5eead4;
  --blush: #d1f4ee;
  --blush-soft: #eafbf8;
  --gold: var(--color-warning);
  --border: var(--color-border);
  --border-soft: var(--color-border-soft);
  --border-strong: #cbd5e1;
  --accent: var(--color-accent);
  --accent-strong: var(--color-accent-strong);
  --max: 1280px;
  --max-prose: 680px;
  --gutter: clamp(1rem, 4vw, 3rem);
  --radius: var(--radius-sm);
  --shadow-soft: var(--shadow-sm);
  --shadow-card: var(--shadow-md);
  --shadow-deep: var(--shadow-lg);
  --ease: var(--ease-standard);
  --ease-out: var(--ease-emphasized);
}
