/* Hallmark · macrostructure: Split Studio · tone: utilitarian-editorial · anchor hue: leaf-green 140°
 * theme: custom (vibe: "agricultural green, maize, trade paper")
 * paper oklch(97.6% 0.008 95) warm-light · accent oklch(50.3% 0.128 140.6) chromatic-green
 * display Newsreader · body Public Sans · data IBM Plex Mono
 * axes: paper-band=light · display-style=roman-serif · accent-hue=chromatic-green
 * nav: N6 newspaper masthead · footer: Ft4 dense typographic
 * H2 split diptych knobs: ratio=7/5, right=proof column, divider=hairline
 * source: brand colours sampled from BGI Coffee Brochure 2026.pdf (#357529, #fdc10e)
 * pre-emit critique: P5 H4 E4 S5 R4 V5
 */

:root {
  /* ── Colour ─────────────────────────────────────────────────────────
     Anchored on BGI's own brand, not on the coffee-brown default. The
     green is the company's; the maize is its accent; the paper is warm
     so nothing on the page sits on pure white. */
  --color-paper:        oklch(97.6% 0.008 95);
  --color-paper-2:      oklch(95.2% 0.012 95);
  --color-paper-3:      oklch(92.4% 0.016 95);
  --color-ink:          oklch(21.5% 0.018 140);
  --color-ink-2:        oklch(38.0% 0.014 140);
  --color-ink-muted:    oklch(52.0% 0.012 140);

  --color-accent:       oklch(50.3% 0.128 140.6);   /* BGI green   #357529 */
  --color-accent-deep:  oklch(28.4% 0.069 140.9);   /* BGI dark    #14320f */
  --color-accent-soft:  oklch(93.0% 0.030 140.0);
  --color-maize:        oklch(84.2% 0.171 85.6);    /* BGI maize   #fdc10e */
  --color-maize-ink:    oklch(42.0% 0.098 78.0);    /* readable on paper   */

  --color-rule:         oklch(87.0% 0.012 140);
  --color-hatch:        oklch(92.0% 0.014 140 / 0.55);

  /* on the deep-green band */
  --color-on-deep:      oklch(88.0% 0.024 140);
  --color-on-deep-2:    oklch(90.0% 0.020 140);
  --color-on-deep-3:    oklch(84.0% 0.030 140);
  --color-deep-rule:    oklch(45.0% 0.060 140);
  --color-maize-rule:   oklch(84.2% 0.171 85.6 / 0.4);
  --color-rule-strong:  oklch(72.0% 0.020 140);
  --color-focus:        oklch(45.0% 0.150 250);

  /* ── Type ───────────────────────────────────────────────────────────
     A roman serif for display (trade document, not craft market), a
     workmanlike grotesque for body, and a mono reserved for figures —
     grades, screens, altitudes, tonnages — so numbers align in columns. */
  --font-display: "Newsreader", "Iowan Old Style", Georgia, serif;
  --font-body:    "Public Sans", "Helvetica Neue", Arial, sans-serif;
  --font-data:    "IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace;

  --text-xs:        0.75rem;
  --text-sm:        0.8125rem;
  --text-base:      1rem;
  --text-lg:        1.125rem;
  --text-xl:        1.375rem;
  --text-2xl:       1.75rem;
  --text-3xl:       2.25rem;
  --text-4xl:       3rem;
  --text-display-s: clamp(2.25rem, 1.4rem + 3.4vw, 3.75rem);
  --text-display:   clamp(2.75rem, 1.5rem + 5.2vw, 5.5rem);

  --leading-tight:  1.06;
  --leading-snug:   1.28;
  --leading-body:   1.62;
  --measure:        62ch;

  /* ── Space (4 pt) ───────────────────────────────────────────────── */
  --space-3xs: 0.25rem;
  --space-2xs: 0.5rem;
  --space-xs:  0.75rem;
  --space-sm:  1rem;
  --space-md:  1.5rem;
  --space-lg:  2rem;
  --space-xl:  3rem;
  --space-2xl: 4.5rem;
  --space-3xl: 7rem;

  /* ── Line, radius, motion ───────────────────────────────────────── */
  --shadow-photo:    0 1px 2px oklch(21.5% 0.018 140 / 0.10),
                     0 12px 32px -8px oklch(21.5% 0.018 140 / 0.22);
  --shadow-photo-sm: 0 1px 2px oklch(21.5% 0.018 140 / 0.08),
                     0 10px 26px -10px oklch(21.5% 0.018 140 / 0.18);

  --rule-hair:   1px;
  --rule-thick:  2px;
  --radius-sm:   2px;
  --radius-md:   4px;

  --dur-fast:    120ms;
  --dur-base:    200ms;
  --dur-slow:    380ms;
  --ease-out:    cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in:     cubic-bezier(0.7, 0, 0.84, 0);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);

  --wrap:        1180px;
  --wrap-narrow: 780px;
}
