:root {
  color-scheme: dark;

  --jg-black: #050505;
  --jg-white: #ffffff;
  --jg-text-primary: #f2f2f0;
  --jg-lime: #e8ff00;
  --jg-purple: #6d38c9;

  /* Functional states stay inside the locked four-colour Brand OS. */
  --jg-success: var(--jg-lime);
  --jg-alert: var(--jg-purple);
  --jg-warning: var(--jg-lime);
  --jg-info: var(--jg-lime);

  --color-brand: var(--jg-purple);
  --color-brand-focus: var(--jg-lime);
  --color-brand-soft: color-mix(in srgb, var(--jg-purple) 14%, transparent);
  --color-brand-line: color-mix(in srgb, var(--jg-purple) 42%, transparent);
  --color-price: var(--jg-lime);
  --color-price-focus: var(--jg-lime);
  --color-ink: var(--jg-black);
  --color-surface: var(--jg-black);
  --color-surface-raised: color-mix(in srgb, var(--jg-white) 3%, var(--jg-black));
  --color-panel: color-mix(in srgb, var(--jg-white) 5%, var(--jg-black));
  --color-line: color-mix(in srgb, var(--jg-white) 14%, transparent);
  --color-line-strong: color-mix(in srgb, var(--jg-white) 24%, transparent);
  --color-text: var(--jg-text-primary);
  --color-muted: color-mix(in srgb, var(--jg-white) 74%, transparent);
  --color-subtle: color-mix(in srgb, var(--jg-white) 57%, transparent);
  --font-display: "Akzidenz Grotesk", "Arial Narrow", Arial, sans-serif;
  --font-body: "Open Sans", Arial, sans-serif;
  --font-technical: ui-monospace, "SFMono-Regular", Menlo, Monaco, Consolas, "Liberation Mono", monospace;

  --step--1: clamp(0.82rem, 0.79rem + 0.12vw, 0.9rem);
  --step-0: clamp(0.96rem, 0.91rem + 0.19vw, 1.08rem);
  --step-1: clamp(1.16rem, 1.04rem + 0.47vw, 1.48rem);
  --step-2: clamp(1.42rem, 1.2rem + 0.82vw, 2rem);
  --step-3: clamp(1.82rem, 1.45rem + 1.4vw, 2.82rem);
  --step-4: clamp(2.4rem, 1.76rem + 2.45vw, 4.05rem);
  --step-5: clamp(3.1rem, 2rem + 4.2vw, 6rem);

  --space-1: 0.375rem;
  --space-2: 0.625rem;
  --space-3: 0.875rem;
  --space-4: 1.25rem;
  --space-5: 1.75rem;
  --space-6: 2.5rem;
  --space-7: 3.5rem;
  --space-8: 5rem;
  --space-9: clamp(5.5rem, 9vw, 9rem);

  --container: 75rem;
  --container-narrow: 52rem;
  --header-height: 4.5rem;
  --radius-sm: 0.5rem;
  --radius-md: 0.875rem;
  --radius-lg: 1.35rem;
  --radius-button: 1.125rem;
  --radius-button-large: 1.375rem;
  --radius-pill: 999px;
  --line-hairline: 1px;
  --line-structural: 2px;
  --border-subtle: var(--color-line);
  --border-active: color-mix(in srgb, var(--jg-lime) 68%, transparent);
  --ambient-purple: color-mix(in srgb, var(--jg-purple) 16%, transparent);
  --shadow-card: 0 1.5rem 4rem color-mix(in srgb, var(--jg-black) 30%, transparent);
  --shadow-brand: 0 0 2.5rem var(--ambient-purple);
  --shadow-price: none;
  --transition-fast: 120ms ease;
  --transition-base: 240ms cubic-bezier(0.2, 0.75, 0.25, 1);
  --transition-slow: 480ms cubic-bezier(0.2, 0.75, 0.25, 1);

  --bp-small: 40rem;
  --bp-medium: 54rem;
  --bp-large: 72rem;
}
