/*
  The Generations Collective (TGC) design tokens, Gate Olive v1 (draft).
  TGC only. Company surfaces. Contrast ratios computed with the WCAG 2.1
  relative luminance formula on 2026-10-04.

  Verified pairs (foreground on background):
    text      #1C2822 on background #F4F0E6  13.41:1  AAA
    background #F4F0E6 on primary   #2F4639   8.98:1  AAA
    secondary #5E6B4A on background #F4F0E6   5.02:1  AA
    accent    #7A432C on background #F4F0E6   6.92:1  AA
    background #F4F0E6 on accent    #7A432C   6.92:1  AA (button labels)
    background #F4F0E6 on secondary #5E6B4A   5.02:1  AA
  Never: accent on primary (1.30:1), text on primary (1.49:1).
*/
:root {
  /* Color */
  --tgc-primary: #2F4639;
  --tgc-secondary: #5E6B4A;
  --tgc-accent: #7A432C;
  --tgc-background: #F4F0E6;
  --tgc-text: #1C2822;

  /* Roles */
  --tgc-link: var(--tgc-accent);
  --tgc-focus: var(--tgc-accent);          /* use on light surfaces */
  --tgc-focus-on-dark: var(--tgc-background); /* use on primary surfaces */
  --tgc-rule: var(--tgc-secondary);

  /* Fonts (self-hosted, no CDN) */
  --tgc-font-heading: "Fraunces", Georgia, "Times New Roman", serif;
  --tgc-font-body: "Source Sans 3", "Segoe UI", system-ui, -apple-system, Arial, sans-serif;

  /* Type scale (phone first; body is 18px) */
  --tgc-fs-small: 1rem;       /* 16px, the smallest text we use */
  --tgc-fs-body: 1.125rem;    /* 18px */
  --tgc-fs-lead: 1.3125rem;   /* 21px */
  --tgc-fs-h3: 1.5rem;        /* 24px */
  --tgc-fs-h2: clamp(1.75rem, 1.4rem + 1.4vw, 2.25rem); /* 28px to 36px */
  --tgc-fs-h1: clamp(2.25rem, 1.6rem + 2.8vw, 3.5rem);  /* 36px to 56px */
  --tgc-lh-body: 1.65;
  --tgc-lh-heading: 1.2;

  /* Layout */
  --tgc-measure: 65ch;
  --tgc-page-max: 72rem;     /* 1152px */
  --tgc-target: 2.75rem;     /* 44px minimum touch target */

  /* Spacing, 8px scale */
  --tgc-space-1: 0.5rem;   /*   8 */
  --tgc-space-2: 1rem;     /*  16 */
  --tgc-space-3: 1.5rem;   /*  24 */
  --tgc-space-4: 2rem;     /*  32 */
  --tgc-space-6: 3rem;     /*  48 */
  --tgc-space-8: 4rem;     /*  64 */
  --tgc-space-12: 6rem;    /*  96 */
  --tgc-space-16: 8rem;    /* 128 */

  /* Shape: flat and matte, no shadows, no textures */
  --tgc-radius: 4px;
  --tgc-border: 2px;

  /* Motion: opacity fades only */
  --tgc-fade: 200ms;
  --tgc-ease: ease-out;
}
