:root {
  /* Brand colors */
  --color-ink-950: var(--a19-onyx);
  --color-ink-900: #08080b;
  --color-ink-850: #0b0b10;
  --color-ink-800: #101019;
  --color-ink-700: #1a1821;
  --color-white: var(--a19-white);
  --color-text: #ffffff;
  --color-text-soft: #c8c4cc;
  --color-muted: #aaa4b0;
  --color-subtle: #74707d;
  --color-purple-300: #c77dff;
  --color-purple-400: var(--a19-amethyst);
  --color-purple-500: var(--a19-violet);
  --color-purple-600: #7b2cbf;
  --color-purple-700: #5d1f95;

  /* Semantic aliases used by the current website */
  --bg: var(--color-ink-950);
  --surface: var(--color-ink-850);
  --surface-2: var(--color-ink-800);
  --text: var(--color-text);
  --muted: var(--color-muted);
  --purple: var(--color-purple-500);
  --purple-bright: var(--color-purple-400);
  --purple-deep: var(--color-purple-700);
  --line: rgba(255, 255, 255, 0.115);

  /* Gradients */
  --gradient-brand: linear-gradient(135deg, #c77dff 0%, #7b2cbf 100%);
  --gradient-text: linear-gradient(110deg, #ffffff 0%, #c77dff 85%);
  --gradient-surface: linear-gradient(160deg, rgba(255,255,255,.035), rgba(255,255,255,.008));
  --gradient-glass: linear-gradient(135deg, rgba(27,25,34,.78), rgba(9,9,14,.60));
  --gradient-cta: linear-gradient(120deg, #7b2cbf 0%, #5d1f95 72%, #351052 100%);
  --gradient-halo: radial-gradient(circle at 45% 35%, #c77dff 0%, #7b2cbf 30%, #4c176f 66%, rgba(36,10,56,.2) 72%);

  /* Typography */
  --font-display: Manrope, Inter, "Segoe UI", Arial, sans-serif;
  --font-body: Inter, Manrope, "Segoe UI", Arial, sans-serif;
  --font-mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  --font-weight-regular: 400;
  --font-weight-medium: 560;
  --font-weight-semibold: 650;
  --font-weight-bold: 750;
  --tracking-display: -0.055em;
  --tracking-label: 0.16em;
  --leading-display: 1.02;
  --leading-body: 1.7;

  /* Fluid type scale */
  --text-display-xl: clamp(3.4rem, 6vw, 6.75rem);
  --text-display-lg: clamp(2.5rem, 4.6vw, 5.15rem);
  --text-display-md: clamp(2rem, 3.2vw, 3.5rem);
  --text-heading: 1.65rem;
  --text-lead: clamp(1rem, 1.4vw, 1.22rem);
  --text-body: 1rem;
  --text-small: 0.86rem;
  --text-label: 0.72rem;

  /* Spacing: 4px base unit */
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.5rem;
  --space-6: 2rem;
  --space-7: 3rem;
  --space-8: 4rem;
  --space-9: 6rem;
  --space-10: 9.375rem;

  /* Shape */
  --radius-xs: 8px;
  --radius-sm: 12px;
  --radius-md: 16px;
  --radius-lg: 22px;
  --radius-xl: 26px;
  --radius-2xl: 38px;
  --radius-pill: 999px;
  --radius: var(--radius-xl);

  /* Elevation */
  --shadow-sm: 0 12px 28px rgba(0,0,0,.28);
  --shadow-md: 0 24px 50px rgba(0,0,0,.35);
  --shadow-lg: 0 40px 90px rgba(0,0,0,.46);
  --shadow-purple: 0 18px 44px rgba(104,33,205,.40);
  --shadow-inset: inset 0 1px 0 rgba(255,255,255,.08);

  /* Borders and blur */
  --border-subtle: 1px solid rgba(255,255,255,.08);
  --border-default: 1px solid rgba(255,255,255,.115);
  --border-accent: 1px solid rgba(181,114,255,.38);
  --blur-glass: 18px;
  --blur-nav: 22px;

  /* Motion */
  --ease-standard: cubic-bezier(.2,.75,.25,1);
  --ease-emphasized: cubic-bezier(.16,1,.3,1);
  --duration-fast: 180ms;
  --duration-normal: 280ms;
  --duration-reveal: 800ms;
  --duration-float: 7s;
  --motion-float-distance: 7px;
  --ease: var(--ease-standard);

  /* Layout */
  --max: 1440px;
  --content-narrow: 1050px;
  --gutter-desktop: 28px;
  --gutter-mobile: 15px;
  --breakpoint-tablet: 1100px;
  --breakpoint-mobile: 760px;
}

@media (prefers-reduced-motion: reduce) {
  :root {
    --duration-fast: 0.01ms;
    --duration-normal: 0.01ms;
    --duration-reveal: 0.01ms;
    --duration-float: 0.01ms;
    --motion-float-distance: 0px;
  }
}
