:root {
  /* Colors — Siftstack-inspired palette */
  --color-bg-primary: #121619;
  --color-bg-secondary: #1e2329;
  --color-bg-card: #2a3039;
  --color-bg-card-hover: #353c47;
  --color-text-primary: #ffffff;
  --color-text-secondary: #b0aeb8;
  --color-text-muted: #6e6d75;
  --color-accent: #EE4120;
  --color-accent-hover: #d93c1d;
  --color-accent-light: rgba(238, 65, 32, 0.10);
  --color-surface-light: #f5f5f5;
  --color-surface-light-alt: #eaeaea;
  --color-border: rgba(255, 255, 255, 0.10);
  --color-border-light: rgba(255, 255, 255, 0.16);
  --color-border-hover: rgba(238, 65, 32, 0.4);
  --color-success: #22c55e;
  --color-error: #EE4120;

  /* Typography */
  --font-heading: 'Exo', system-ui, -apple-system, sans-serif;
  --font-body: 'IBM Plex Sans', system-ui, -apple-system, sans-serif;
  --font-mono: 'IBM Plex Mono', 'SFMono-Regular', Consolas, monospace;

  /* Font sizes — fluid */
  --text-xs: clamp(0.6875rem, 0.65rem + 0.2vw, 0.75rem);
  --text-sm: clamp(0.8125rem, 0.775rem + 0.2vw, 0.875rem);
  --text-base: clamp(0.9375rem, 0.9rem + 0.2vw, 1rem);
  --text-lg: clamp(1.0625rem, 1rem + 0.3vw, 1.125rem);
  --text-xl: clamp(1.1875rem, 1.1rem + 0.4vw, 1.3125rem);
  --text-2xl: clamp(1.375rem, 1.2rem + 0.8vw, 1.5rem);
  --text-3xl: clamp(1.625rem, 1.4rem + 1.2vw, 2rem);
  --text-4xl: clamp(2rem, 1.6rem + 2vw, 2.75rem);
  --text-5xl: clamp(2.5rem, 1.8rem + 3.5vw, 3.75rem);
  --text-6xl: clamp(3rem, 2rem + 5vw, 5rem);

  /* Spacing */
  --section-padding: clamp(4.5rem, 9vw, 8rem);
  --section-padding-sm: clamp(2.5rem, 5vw, 4rem);
  --container-max: 1240px;
  --container-narrow: 880px;
  --gap-xs: 0.5rem;
  --gap-sm: 1rem;
  --gap-md: 1.5rem;
  --gap-lg: 2rem;
  --gap-xl: 3rem;
  --gap-2xl: 4rem;

  /* Border radius */
  --radius-sm: 0.25rem;
  --radius-md: 0.5rem;
  --radius-lg: 0.75rem;
  --radius-xl: 1rem;
  --radius-pill: 300rem;

  /* Shadows */
  --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.4);
  --shadow-md: 0 4px 16px rgba(0, 0, 0, 0.4);
  --shadow-lg: 0 8px 32px rgba(0, 0, 0, 0.5);

  /* Transitions */
  --transition-base: 200ms ease;
  --transition-slow: 400ms ease;
  --transition-spring: 300ms cubic-bezier(0.34, 1.56, 0.64, 1);

  /* Z-index scale */
  --z-nav: 100;
  --z-overlay: 200;
  --z-modal: 300;
}
