/* Design tokens — monochrome minimal, serif editorial, generous whitespace */
:root {
  /* Ink & surface (monochrome black / white) */
  --ink: #0B0B0C;        /* primary text — 16.9:1 on paper */
  --ink-2: #3A3A40;      /* secondary text — 9.1:1 on paper */
  --ink-3: #5E5E66;      /* muted text — 5.8:1 on paper (AA body) */
  --paper: #FFFFFF;
  --paper-2: #F5F5F3;    /* alternate section surface */
  --paper-3: #EBEBE8;
  --rule: #D8D8D4;       /* hairlines */
  --rule-soft: #E4E4E0;

  /* Inverted surface (dev section, footer) */
  --ink-surface: #0B0B0C;
  --ink-surface-2: #16161A;
  --on-ink: #FFFFFF;     /* 16.9:1 */
  --on-ink-2: #C9C9CE;   /* 10.4:1 */
  --on-ink-3: #9A9AA2;   /* 5.9:1 — AA body on ink */
  --rule-ink: #2C2C32;

  /* Data ink — two steps, not hues (monochrome chart) */
  --series-lead: #0B0B0C;
  --series-base: #8A8A93; /* paired with dash pattern + legend */
  --grid: #E2E2DE;

  /* Type */
  --serif: "Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua",
          "Times New Roman", Georgia, serif;
  --sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas,
         "Liberation Mono", monospace;

  /* Fluid type scale — mobile first */
  --fs-hero: clamp(2.6rem, 9vw, 5.4rem);
  --fs-h2: clamp(1.85rem, 4.4vw, 2.9rem);
  --fs-h3: clamp(1.15rem, 2vw, 1.35rem);
  --fs-lede: clamp(1.02rem, 1.9vw, 1.2rem);
  --fs-body: 1rem;       /* 16px */
  --fs-sm: 0.9375rem;    /* 15px */
  --fs-xs: 0.875rem;     /* 14px — mobile floor */

  /* Whitespace rhythm — deliberately loose */
  --s-1: 0.5rem;
  --s-2: 0.875rem;
  --s-3: 1.25rem;
  --s-4: 2rem;
  --s-5: 3rem;
  --s-6: 4.5rem;
  --s-7: 6.5rem;
  --section-y: clamp(4.5rem, 11vw, 9.5rem);
  --gutter: clamp(1.25rem, 5vw, 4rem);
  --maxw: 1240px;
  --maxw-text: 62ch;

  /* Flat geometry — near-square, flat icons, hairline rules */
  --r-sm: 2px;
  --r-md: 3px;
  --r-lg: 4px;

  /* Motion */
  --ease: cubic-bezier(0.22, 0.61, 0.36, 1);
  --dur: 420ms;
  --dur-fast: 200ms;

  --nav-h: 68px;
}
