@charset "UTF-8";

/* Design tokens shared across pages. Single source of truth for palette,
   typography scale, spacing, and page geometry. */

:root {
  /* Paper / ink / accent — the whole palette.
     Paper is a clean warm cream: light enough to read as fresh
     paper, with just enough chroma in the yellow direction to
     stay warm without falling into greige. */
  --c-paper: #f2ece8;
  --c-paper-deep: #e9e3df;
  --c-paper-soft: #f8f4f1;
  --c-ink: #1a1613;
  --c-ink-soft: #423a32;
  --c-ink-muted: #685c4f;
  --c-rule: #d6cebe;
  --c-crimson: #9f1d35;
  --c-crimson-deep: #7a1528;
  --c-crimson-tint: rgb(159 29 53 / 8%);
  --c-crimson-hover: rgb(159 29 53 / 20%);
  --c-crimson-light: #d47a8c; /* readable accent on the dark colophon */

  /* Translucent variants of paper, used on the dark colophon and scrolled nav.
     RGB triplet must mirror --c-paper so the scrolled nav blurs to the same
     hue as the page underneath it. */
  --c-paper-translucent: rgb(242 236 232 / 86%);
  --c-on-ink-soft: rgb(244 239 225 / 70%);
  --c-on-ink-muted: rgb(244 239 225 / 60%);
  --c-on-ink-border: rgb(244 239 225 / 18%);
  --c-on-ink-rule: rgb(244 239 225 / 14%);

  /* Fonts */
  --f-display: "Alegreya", ui-serif, "Iowan Old Style", georgia, serif;
  --f-body: "PT Sans", system-ui, -apple-system, "Segoe UI", roboto, sans-serif;

  /* Fluid type scale — body text never drops below 18px */
  --t-xs: clamp(
    0.875rem,
    0.84rem + 0.15vw,
    0.9375rem
  ); /* 14-15px, meta labels only */

  --t-sm: clamp(1.0625rem, 1.03rem + 0.15vw, 1.125rem); /* 17-18px */
  --t-base: clamp(1.25rem, 1.21rem + 0.2vw, 1.3125rem); /* 20-21px */
  --t-md: clamp(1.375rem, 1.31rem + 0.3vw, 1.5rem); /* 22-24px */
  --t-lg: clamp(1.625rem, 1.5rem + 0.55vw, 1.875rem); /* 26-30px */
  --t-xl: clamp(2rem, 1.78rem + 1.1vw, 2.5rem); /* 32-40px */
  --t-2xl: clamp(2.625rem, 2.21rem + 1.85vw, 3.625rem); /* 42-58px */
  --t-hero: clamp(3.25rem, 2.16rem + 6.5vw, 8rem);

  /* Spacing */
  --s-1: 0.25rem;
  --s-2: 0.5rem;
  --s-3: 0.75rem;
  --s-4: 1rem;
  --s-5: 1.5rem;
  --s-6: 2rem;
  --s-7: 3rem;
  --s-8: 4.5rem;
  --s-9: 6.5rem;
  --s-10: 9rem;

  /* Page geometry */
  --gutter: clamp(1.25rem, 4vw, 3rem);
  --text-max: 38rem;

  /* Motion */
  --ease: cubic-bezier(0.2, 0.7, 0.3, 1);
}
