:root{
  /* Families */
  --font-sans:"Open Sans","Segoe UI",Arial,sans-serif;      /* the workhorse */
  --font-serif-display:"Besley",Georgia,"Times New Roman",serif;  /* Clarendon display serif; the wordmark itself is The Seasons, not this */
  --font-wordmark:var(--font-serif-display);

  /* Weights */
  --weight-light:300; --weight-regular:400; --weight-semibold:600; --weight-bold:700; --weight-extrabold:800;

  /* Scale
     Raised 2026-08-15 on a client read of the site: everything below 20px
     gained a step (small type gained two), while display and heading sizes
     were left where they were — they were never the legibility problem, and
     this site has a standing rule that headings must not wrap into stacks.

     The eyebrow moved most, 12px -> 14px, and its tracking came down from
     .2em to .12em. Small gold caps at wide tracking were the specific thing
     the client could not read, and on kidz-kamp.html (where this started)
     size alone did not fix it — the tracking had to come down with it. */
  --size-display:3.25rem;  --lh-display:1.1;
  --size-h1:2.5rem;        --lh-h1:1.1;
  --size-h2:1.75rem;       --lh-h2:1.15;
  --size-h3:1.25rem;       --lh-h3:1.25;
  --size-eyebrow:0.875rem; --lh-eyebrow:1.2;  --tracking-eyebrow:0.12em;
  --size-body:1.0625rem;   --lh-body:1.55;
  --size-body-lg:1.1875rem;--lh-body-lg:1.55;
  --size-caption:0.9375rem;--lh-caption:1.45;
  --measure-body:68ch;

  /* Composed roles */
  --type-display:var(--weight-extrabold) var(--size-display)/var(--lh-display) var(--font-sans);
  --type-h2:var(--weight-bold) var(--size-h2)/var(--lh-h2) var(--font-sans);
  --type-h3:var(--weight-bold) var(--size-h3)/var(--lh-h3) var(--font-sans);
  --type-body:var(--weight-regular) var(--size-body)/var(--lh-body) var(--font-sans);
  --type-caption:var(--weight-regular) var(--size-caption)/var(--lh-caption) var(--font-sans);
}
