/* =================================================================
   TOKENS &#8212; primitives.json v1.9.0
   Single source of truth for all Hadeda consumer surfaces.
   Every value traces to its derivation chain in primitives.json.
   Consumed by: companion page (index.html), order confirmation,
   future pages (lot detail, farm profile).
   L-046: design system tokens via shared file, not copy-paste.
   ================================================================= */
:root {
  /* --- Colour: biome accents (DEC-028 OKLCH parametric, from primitives.json biome.families) --- */
  --plum:        oklch(0.506 0.047 9);     /* coastal: accent_lightness chroma_bias hue */
  --olive:       oklch(0.472 0.016 107);   /* midlands */
  --teal:        oklch(0.445 0.047 158);   /* escarpment */
  --subtropical: oklch(0.475 0.037 70);    /* subtropical */
  --cape:        oklch(0.475 0.037 250);   /* cape */

  /* --- Colour: brand non-biome --- */
  --kraft: #C4A574;   /* colour.brand.kraft */

  /* --- Colour: neutral --- */
  --black: #1C1815;   /* colour.neutral.black */
  --white: #FFFFFF;   /* colour.neutral.white */
  --bone: #F5F2ED;    /* colour.neutral.bone */

  /* --- Colour: muted variants (color-mix toward bone, DEC-020 blend_factor 0.333, INT-013) --- */
  --plum-muted:        color-mix(in oklch, var(--plum) 66.7%, var(--bone));
  --olive-muted:       color-mix(in oklch, var(--olive) 66.7%, var(--bone));
  --teal-muted:        color-mix(in oklch, var(--teal) 66.7%, var(--bone));
  --subtropical-muted: color-mix(in oklch, var(--subtropical) 66.7%, var(--bone));
  --cape-muted:        color-mix(in oklch, var(--cape) 66.7%, var(--bone));

  /* --- Geometry: master dimension system (DEC-014) --- */
  --logo-font: 16px;                   /* geometry.master.logo_font */
  --band-height: 42px;                 /* logo_font * 2.625 (ratios.band_height_to_font) */
  --band-height-compact: 28px;         /* compact logo cell size (build_01) */
  --spacing: 4px;                      /* band_height * 0.1 (ratios.spacing_to_band_height) */
  --corner-radius: 6px;                /* band_height * 0.15 (ratios.corner_radius_to_band_height) */

  /* --- Typography: four-tier system (RD-018 F3) --- */
  --body-font: 13px;                   /* band_height * 0.31 (ratios.body_font_to_band_height) */
  --texture-font: 12px;                /* logo_font * 0.75 (RD-018 confirmed fourth tier) */
  --detail-font: 10px;                 /* logo_font - 6 (ratios.detail_font_offset) */

  /* --- Typography: letter spacing --- */
  --ls-brand: 2px;                     /* logo_font * 0.125 (ratios.letter_spacing_brand_to_font) */
  --ls-detail: 1px;                    /* logo_font * 0.0625 (ratios.letter_spacing_detail_to_font) */

  /* --- Typefaces --- */
  --font-brand: 'Inconsolata', monospace;
  --font-utility: 'Inter', sans-serif;

  /* --- Composition: RD-021, RD-018 --- */
  --card-padding: 24px;                /* logo_font * 1.5 (RD-018 F6) */
  --card-gap: 16px;                    /* logo_font * 1.0 (RD-018 F6) */
  --zone-gap: 40px;                    /* D6: ~40px between sections */
}
