/* tokens.css — Long Table Catering
   ---------------------------------------------------------------------------
   The brief says "linen cream and olive". The old palette read olive as a muddy
   brown; this one is a true olive, dark enough to be TEXT as well as a band, so
   headings, links and rules can all carry it. One warm terracotta for prices and
   the primary CTA — the colour of the food, used sparingly.

   Measured on the linen ground (#FAF7F0):
     --ink          14.9:1
     --muted         5.5:1   (5.1:1 on the tinted band — passes on both)
     --olive         7.7:1   headings, links, rules, bands
     --terracotta    5.2:1   prices and the primary CTA
     --cream on --olive        7.7:1
     --cream on --olive-deep  11.1:1
     white on --terracotta     5.5:1
   --------------------------------------------------------------------------- */

:root {
  /* Ground */
  --cream: #FAF7F0;
  --cream-2: #F2EDE1;
  --cream-3: #E6DFCE;
  --surface: #FFFFFF;

  /* Ink */
  --ink: #262418;
  --ink-2: #47432F;
  --muted: #6A6450;

  /* Olive — the structural colour */
  --olive: #4E5230;
  --olive-deep: #363A20;
  --olive-soft: #6B7145;
  --on-dark: #FAF7F0;
  --on-dark-muted: rgba(250, 247, 240, 0.76);

  /* Terracotta — the one accent */
  --terracotta: #A5522A;
  --terracotta-deep: #8A4222;

  /* Lines — the long tables drawn across the page */
  --line: #E2DACA;
  --line-2: #C6BCA4;
  --line-dark: rgba(250, 247, 240, 0.22);

  /* Type */
  --font-display: "EB Garamond", Georgia, "Iowan Old Style", "Times New Roman", serif;
  --font-body: "Manrope", system-ui, -apple-system, "Segoe UI", Helvetica, Arial, sans-serif;

  --fs-xs: 0.74rem;
  --fs-sm: 0.92rem;
  --fs-0: clamp(1rem, 0.96rem + 0.2vw, 1.08rem);
  --fs-1: clamp(1.14rem, 1.04rem + 0.45vw, 1.36rem);
  --fs-2: clamp(1.4rem, 1.2rem + 0.95vw, 1.95rem);
  --fs-3: clamp(1.95rem, 1.5rem + 2.1vw, 3.05rem);
  --fs-4: clamp(2.6rem, 1.75rem + 4.2vw, 4.6rem);
  --fs-price: clamp(1.35rem, 1.15rem + 0.9vw, 1.9rem);
  --fs-quote: clamp(1.5rem, 1.1rem + 2vw, 2.5rem);

  --lh-body: 1.65;
  --lh-head: 1.06;
  --track-label: 0.145em;
  --measure: 62ch;

  /* Space */
  --sp-1: 0.35rem;
  --sp-2: 0.7rem;
  --sp-3: 1.15rem;
  --sp-4: 1.9rem;
  --sp-5: 3rem;
  --sp-6: 4.5rem;
  --section-y: clamp(3.75rem, 7.5vw, 7.5rem);
  --gutter: clamp(1.25rem, 4.5vw, 2.5rem);
  --maxw: 1180px;

  /* Shape — letterpress, not cards-on-cards */
  --r: 3px;
  --r-lg: 4px;

  --shadow-sm: 0 1px 2px rgba(38, 36, 24, 0.05);
  --shadow: 0 2px 8px rgba(38, 36, 24, 0.05), 0 28px 56px -30px rgba(38, 36, 24, 0.35);

  /* Motion */
  --ease: cubic-bezier(0.22, 0.68, 0.28, 1);
  --dur: 230ms;

  /* Fixed chrome */
  --header-h: 74px;
  --duna-h: 48px;
}
