:root{
  /* Typography scale (restrained) */
  --step--1: 0.875rem;  /* ~14px */
  --step-0:  1.0625rem; /* ~17px */
  --step-1:  1.25rem;   /* ~20px */
  --step-2:  1.5rem;    /* ~24px */
  --step-3:  2rem;      /* ~32px */

  /* Line heights */
  --lh-tight: 1.2;
  --lh-base:  1.55;

  /* Spacing scale */
  --space-1: 0.5rem;
  --space-2: 0.75rem;
  --space-3: 1.25rem;
  --space-4: 2rem;
  --space-5: 3rem;

  /* Measure (readable line length) */
  --measure: 68ch;

  /* Neutrals aligned to the logo palette (light) */
  --bg: #f7fafc;
  --paper: #ffffff;
  --paper-2: #eef3f8;
  --text: #5f646b;      /* logo gray for body/headlines */
  --muted: #8c9199;     /* lighter gray for secondary text */
  --rule: #cfd6df;

  /* Accents */
  --accent: #418c39;      /* brand green */
  --accent-gray: #6f6f6f; /* brand gray */
  --accent-soft: #c7d8d6; /* banner background */
}
