/* ==========================================================================
   Design tokens — joeforarlington.org
   Inferred from the live site, September 12, 2026.

   This is the experiment surface. Change a value here and it propagates
   everywhere. Nothing else in the stylesheet hard-codes a colour.
   ========================================================================== */

/* ---- fonts ----
   Served from this site (assets/fonts), not Google Fonts: no third-party
   request on every visit, and the page is not held up waiting on another
   host. Variable fonts, so one file covers every weight in use. Latin
   only. Licenses (SIL OFL 1.1) sit beside the files. The two most-used
   files are preloaded in _partials/head.html. */
@font-face {
  font-family: 'Newsreader';
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
  src: url(../fonts/newsreader-latin-opsz-normal.woff2) format('woff2');
}
@font-face {
  font-family: 'Newsreader';
  font-style: italic;
  font-weight: 200 800;
  font-display: swap;
  src: url(../fonts/newsreader-latin-wght-italic.woff2) format('woff2');
}
@font-face {
  font-family: 'Public Sans';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(../fonts/public-sans-latin-wght-normal.woff2) format('woff2');
}
@font-face {
  font-family: 'Public Sans';
  font-style: italic;
  font-weight: 100 900;
  font-display: swap;
  src: url(../fonts/public-sans-latin-wght-italic.woff2) format('woff2');
}
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../fonts/ibm-plex-mono-latin-400-normal.woff2) format('woff2');
}
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(../fonts/ibm-plex-mono-latin-500-normal.woff2) format('woff2');
}

:root {
  /* ---- brand ---- */
  --burgundy:        #5e1315;   /* header, footer, headings, CTA fill      */
  --burgundy-light:  #8b2326;   /* CTA hover only                          */

  /* ---- surface & text ---- */
  --cream:           #faf8f5;   /* page background                         */
  --ink:             #1a1210;   /* headings, strong text                   */
  --text-secondary:  #333333;   /* body copy inside content blocks         */
  --muted:           #6b5f5d;   /* supporting text, subheads               */

  /* ---- lines & depth ---- */
  --border:          rgba(94, 19, 21, 0.15);
  --border-strong:   rgba(94, 19, 21, 0.25);
  --shadow:          0 2px 12px rgba(0, 0, 0, 0.06);
  --shadow-lg:       0 8px 32px rgba(0, 0, 0, 0.10);

  /* ---- geometry ---- */
  --radius-md:       8px;       /* cards                                   */
  --radius-sm:       6px;       /* nav pills                               */
  --radius-xs:       4px;       /* buttons                                 */
  --container-width: 1100px;
  --gutter:          32px;      /* 20px below 768px                        */
  --nav-height:      64px;

  /* ---- type ----
     Burgundy stays (it is the town's colour); the faces changed from
     Cormorant Garamond / DM Sans in September 2026. Newsreader is a news
     face — sturdier than Cormorant and better suited to a site that
     publishes regularly. Public Sans is the US federal government's
     open-source typeface, which is the right register for civic writing. */
  --font-display: 'Newsreader', Georgia, 'Times New Roman', serif;
  --font-body:    'Public Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI',
                  Helvetica, Arial, sans-serif;
  --font-mono:    'IBM Plex Mono', ui-monospace, SFMono-Regular, Menlo,
                  Consolas, monospace;

  /* Display carries every heading. Body carries everything else. Mono is
     used only for dates, meeting data and small labels. */
}
