:root {
  /* ---------- Base unit: 4px. The grid is strict; the graph is not ---------- */
  --space-0: 0px;
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-8: 32px;
  --space-10: 40px;
  --space-12: 48px;
  --space-16: 64px;
  --space-20: 80px;
  --space-24: 96px;
  --space-32: 128px;
  --space-40: 160px;
  --space-48: 192px;

  /* ---------- Layout ---------- */
  --measure: 68ch; /* max reading width for body prose */
  --measure-narrow: 46ch;
  --container-max: 1360px;
  --container-text: 760px;
  --gutter: var(--space-6); /* column gap in the 12-col grid */
  --page-margin: var(--space-8);
  --page-margin-lg: var(--space-16);
  --section-gap: var(--space-32); /* vertical rhythm between marketing sections */
  --section-gap-sm: var(--space-20);

  /* ---------- Component internals ---------- */
  --control-height-sm: 28px;
  --control-height: 36px;
  --control-height-lg: 44px;
  --control-pad-x: var(--space-4);
  --card-pad: var(--space-6);
  --card-pad-lg: var(--space-8);
}
