:root{
  --space-1:4px; --space-2:8px; --space-3:12px; --space-4:16px; --space-5:24px;
  --space-6:32px; --space-7:48px; --space-8:64px; --space-9:96px; --space-10:128px;

  --gutter:var(--space-5);
  --section-y:var(--space-9);
  --container-max:1200px;
  --container-narrow:760px;

  /* Page frame — the only thing holding full-bleed band content off the
     viewport edge now that the centred 1180px column is gone. It was a flat
     40px, which reads as "stretched" on a wide monitor: at 1920 the copy ran
     nearly 1840px across. Scaling with the viewport keeps the 40px floor on
     small screens and opens the margins up as the window grows. Per-page
     mobile media queries still override it with a flat 20px below 640. */
  --frame:clamp(40px, 5vw, 120px);

  /* Radii */
  --radius-sm:3px; --radius-md:6px; --radius-lg:10px; --radius-pill:999px; --radius-circle:50%;

  /* Structure */
  --hairline:1px;
  --keyline:3px;
  --rule-strong:2px;
}
