/* ---------------------------------------------------------------------------
   The Holiday Edit: the brand tokens, in one file every page links.

   The site is built by Astro and the customer's quote page and the admin are
   drawn by the Worker, and until September 2026 each carried its own copy of
   the palette and the type stacks. Three copies of a color is how one of them
   stays wrong. This file is served as a plain static asset at /tokens.css,
   with no build step and no hashed name, which is what lets a page the Worker
   renders link it the same way an Astro page does.

   What belongs here: the palette and the font stacks, the things that make a
   page read as this business. What does not: layout, spacing, component
   tokens, anything one surface needs and another does not. Every component
   and its own tokens are /ui.css, beside this file. The site's global.css
   and the admin's styles.ts each keep their own layout, and the
   admin deliberately overrides a few of these (its faint ink is lighter, its
   rules are opaque, its serif is Cormorant at 600) because it was designed from
   its own token sheet; see design/admin-design-system.md.

   The seasonal accent is decided in src/content/theme.json and written into
   every Astro page's head by Base.astro AFTER this file, so the values below
   are only what a page falls back to without that style block. They are not
   the source. Type and mark settings come from design/BrandMarks.dc.html.
--------------------------------------------------------------------------- */
:root {
  /* Ground and ink, constant across seasons. */
  --ground: #F2EDE5;
  --ground-warm: #EAE3D7;
  --ground-deep: #DDD2C4;
  --ink: #2E2620;
  --ink-soft: #584A3C;
  /* 4.5:1 on the warm ground, which small text needs; the admin lightens it. */
  --ink-faint: #6F6049;
  --ink-faint-on-dark: #B3A38D;

  /* Translucent ink rather than opaque beige, so a line darkens whichever
     ground it is over by the same amount. --rule is a structural hairline;
     --edge is a component border that has to be seen. */
  --rule: rgba(139, 122, 102, 0.2);
  --edge: rgba(139, 122, 102, 0.42);

  /* The raised fill: anything that sits ON the ground rather than in it. */
  --card: #FFFDF9;

  /* Seasonal accent fallbacks. See the note above. */
  --accent: #BE6C3B;
  --accent-deep: #8E3B33;
  --accent-on-dark: #D9986B;

  --serif: 'Cormorant Garamond', Georgia, 'Times New Roman', serif;
  --smallcaps: 'Cormorant SC', 'Cormorant Garamond', Georgia, serif;
  --sans: 'Jost', 'Century Gothic', 'Futura', system-ui, sans-serif;

  /* Brand tracking, in em because absolute values are not comparable across
     sizes. 0.07em at display sizes, 0.14em below 30pt. */
  --track-display: 0.07em;
  --track-small: 0.14em;
}
