:root {
  /* Primitive color tokens from the frozen Apex Technical system. */
  --pbt-color-black: #000000;
  --pbt-color-ink: #1a1c1c;
  --pbt-color-charcoal: #1c1b1b;
  --pbt-color-inverse: #2f3131;
  --pbt-color-white: #ffffff;
  --pbt-color-surface: #f9f9f9;
  --pbt-color-surface-low: #f3f3f4;
  --pbt-color-surface-mid: #eeeeee;
  --pbt-color-surface-high: #e2e2e2;
  --pbt-color-text-muted: #444748;
  --pbt-color-outline: #747878;
  --pbt-color-outline-soft: #c4c7c7;
  --pbt-color-accent: #d2f000;
  --pbt-color-accent-soft: #d0ed00;
  --pbt-color-accent-hover: #b8d300;
  --pbt-color-accent-ink: #191e00;
  --pbt-color-error: #ba1a1a;

  /* Semantic color tokens. */
  --pbt-page-bg: var(--pbt-color-surface);
  --pbt-text: var(--pbt-color-ink);
  --pbt-text-subtle: var(--pbt-color-text-muted);
  --pbt-border: color-mix(in srgb, var(--pbt-color-ink) 16%, transparent);
  --pbt-border-strong: color-mix(in srgb, var(--pbt-color-ink) 38%, transparent);
  --pbt-focus: var(--pbt-color-accent-hover);

  /* Typography. */
  --pbt-font-display: "Montserrat", "Helvetica Neue", Arial, sans-serif;
  --pbt-font-body: "Inter", "Helvetica Neue", Arial, sans-serif;
  --pbt-font-mono: "JetBrains Mono", "SFMono-Regular", Consolas, monospace;
  --pbt-font-display-xl: clamp(3rem, 6.2vw, 5.5rem);
  --pbt-font-display: clamp(2.6rem, 5vw, 4.5rem);
  --pbt-font-h2: clamp(2rem, 3.8vw, 3.5rem);
  --pbt-font-h3: clamp(1.25rem, 2vw, 2rem);
  --pbt-font-body-lg: clamp(1rem, 1.35vw, 1.125rem);
  --pbt-font-body: 1rem;
  --pbt-font-label: 0.75rem;

  /* 4px spacing system. */
  --pbt-space-1: 0.25rem;
  --pbt-space-2: 0.5rem;
  --pbt-space-3: 0.75rem;
  --pbt-space-4: 1rem;
  --pbt-space-5: 1.25rem;
  --pbt-space-6: 1.5rem;
  --pbt-space-8: 2rem;
  --pbt-space-10: 2.5rem;
  --pbt-space-12: 3rem;
  --pbt-space-16: 4rem;
  --pbt-space-20: 5rem;
  --pbt-space-24: 6rem;
  --pbt-space-30: 7.5rem;
  --pbt-space-40: 10rem;

  /* Layout. */
  --pbt-container: 90rem;
  --pbt-container-narrow: 62rem;
  --pbt-gutter: clamp(1.25rem, 4.5vw, 4rem);
  --pbt-grid-gap: clamp(1rem, 2vw, 1.5rem);
  --pbt-section-space: clamp(5rem, 9vw, 7.5rem);
  --pbt-section-space-lg: clamp(6rem, 11vw, 10rem);

  /* Components. */
  --pbt-radius-sm: 0.125rem;
  --pbt-radius: 0.25rem;
  --pbt-border-width: 1px;
  --pbt-button-height: 3.25rem;
  --pbt-transition: 180ms ease;
  --pbt-shadow-float: 0 1.5rem 3.5rem rgba(0, 0, 0, 0.16);
}
