:root {
  --color-bg: #f5f6f8;
  --color-surface: #ffffff;
  --color-ink: #14161d;
  --color-muted: #565a66;
  --color-faint: #686d79;
  --color-line: #e7e9ef;
  --color-line-strong: #dee1ea;
  --color-hover-line: #c7cde6;
  --color-accent: #3a5bff;
  --color-accent-soft: #5e6bff;
  --color-on-accent: #ffffff;
  --color-error: #d64550;
  --color-error-on-dark: #ff8a8a;
  --color-dark: #0a0a0c;
  --color-dark-panel: #14161d;
  --color-on-dark: #edeff5;
  --color-on-dark-muted: rgba(237, 239, 245, 0.66);
  --color-on-dark-soft: rgba(237, 239, 245, 0.82);
  --color-footer-muted: rgba(255, 255, 255, 0.5);
  --color-footer-link: rgba(255, 255, 255, 0.62);
  --color-footer-label: rgba(255, 255, 255, 0.56);
  --color-footer-copy: rgba(255, 255, 255, 0.5);
  --color-footer-line: #2a2a2e;
  --color-input-dark: rgba(255, 255, 255, 0.05);
  --color-input-dark-line: rgba(255, 255, 255, 0.16);
  --color-success-glow: rgba(94, 107, 255, 0.12);
  --color-success-line: rgba(94, 107, 255, 0.3);
  --color-hot-mark: #c4c8d2;
  --color-stat: #4a4e5a;
  --font-display: "Schibsted Grotesk", system-ui, sans-serif;
  --font-body: "Geist", system-ui, sans-serif;
  --font-mono: "Geist Mono", ui-monospace, monospace;
  --header-height: 4.25rem;
  --touch-min: 44px;
  --container: 75rem;
  --container-narrow: 70rem;
  --measure: 54ch;
  --section-padding-x: clamp(1.25rem, 5vw, 2rem);
  --section-y: clamp(2.75rem, 6vw, 4.5rem);
  --section-y-lg: clamp(3.5rem, 8vw, 5.75rem);
  --radius-sm: 0.6875rem;
  --radius-md: 0.8125rem;
  --radius-lg: 1.375rem;
  --radius-xl: 1.125rem;
  --diamond: 0.625rem;
  --shadow-card: 0 14px 34px rgba(20, 22, 29, 0.08);
  --ease: cubic-bezier(0.22, 0.61, 0.36, 1);
  --motion-fast: 160ms;
  --motion-base: 240ms;
  --motion-menu: 280ms;
  --motion-enter: 640ms;
  --fs-logo: 2rem;
  --fs-nav: 0.9375rem;
  --fs-hero: clamp(2.75rem, 4.6vw + 1.1rem, 5rem);
  --fs-h2: clamp(1.75rem, 3.4vw, 2.75rem);
  --fs-h2-lg: clamp(2.125rem, 5vw, 4.25rem);
  --fs-h2-cta: clamp(2.375rem, 6vw, 4.5rem);
  --fs-lead: clamp(1.0625rem, 2vw, 1.25rem);
  --fs-body: 1rem;
  --fs-card: 0.9375rem;
  --fs-small: 0.875rem;
  --focus-ring: 0 0 0 3px color-mix(in srgb, var(--color-accent) 16%, transparent);

  --ui-space-1: 4px;
  --ui-space-2: 8px;
  --ui-space-3: 12px;
  --ui-space-4: 16px;
  --ui-space-5: 20px;
  --ui-space-6: 24px;
  --ui-space-8: 32px;
  --ui-space-10: 40px;
  --ui-space-12: 48px;
  --ui-space-16: 64px;
  --ui-space-20: 80px;
  --ui-space-24: 96px;
  --ui-radius-sm: 8px;
  --ui-radius-md: 12px;
  --ui-radius-lg: 16px;
  --ui-type-h1: clamp(2.25rem, 1.5rem + 3.8vw, 5rem);
  --ui-type-h2: clamp(1.75rem, 1.35rem + 2.3vw, 3.25rem);
  --ui-type-h3: clamp(1.25rem, 1.1rem + 0.9vw, 1.75rem);
  --ui-leading-heading: 1.08;
  --ui-leading-body: 1.55;
  --ui-tracking-heading: -0.02em;
  --ui-touch-target: 44px;
  --ui-duration: 180ms;
  --ui-ease: cubic-bezier(0.22, 0.61, 0.36, 1);
  --ui-focus-color: var(--color-accent);
}

@media (min-width: 768px) {
  :root {
    --header-height: 4.5rem;
  }
}
