/* Ag360 — design tokens: colour, type, spacing, motion */

:root {
  --ag-blue:          #1E40AF;   /* Primary Blue  - Deep sky blue */
  --ag-green:         #16A34A;   /* Primary Green - Verdant green */
  --ag-navy:          #001887;   /* Secondary blue - Navy field */
  --ag-forest:        #008540;   /* Secondary green - Forest green */
  --ag-green-light:   #48D586;   /* Tertiary green - Mint green */
  --ink:              #0B1420;   /* Body text */
  --paper:            #F3F6F4;   /* Page ground */
  --canopy:           #0C2A1C;   /* Deep green-black: dark bands, footer, scrims */
  --field:            #E4EAE4;   /* One step under paper: quiet alternating bands */
  --stone-dark:       #4A574F;   /* Secondary text that must pass AA on paper */
  --bg:               var(--paper);
  --bg-alt:           var(--field);
  --bg-invert:        var(--canopy);
  --text:             var(--ink);
  --text-muted:       var(--stone-dark);
  --text-on-invert:   #EAF1EC;
  --text-muted-invert: #A9BFB2;
  --rule:             rgba(107, 122, 114, 0.22);
  --rule-invert:      rgba(234, 241, 236, 0.18);
  --focus:            var(--ag-blue);
  --font-display: 'Newsreader', 'Iowan Old Style', Georgia, serif;
  --font-body:    'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-mono:    'IBM Plex Mono', ui-monospace, 'SF Mono', Menlo, monospace;
  --t-h1:      clamp(2.5rem, 1.5rem + 4.2vw, 4.5rem);       /* 40 -> 72 */
  --t-h2:      clamp(1.875rem, 1.2rem + 2.8vw, 3rem);       /* 30 -> 48 */
  --t-h3:      clamp(1.25rem, 1.1rem + 0.5vw, 1.5rem);      /* 20 -> 24 */
  --t-h4:      1rem;                                        /* 16       */
  --t-lead:    clamp(1.0625rem, 1rem + 0.25vw, 1.125rem);   /* 17 -> 18 */
  --t-body:    1rem;                                        /* 16       */
  --t-small:   0.9375rem;                                   /* 15       */
  --t-micro:   0.8125rem;                                   /* 13       */
  --t-label:   0.6875rem;                                   /* 11       */
  --ls-h1: -0.028em;
  --ls-h2: -0.022em;
  --ls-h3: -0.012em;
  --lh-display: 1.06;
  --lh-heading: 1.14;
  --lh-body:    1.65;
  --s-1: 0.25rem;  --s-2: 0.5rem;   --s-3: 0.75rem;  --s-4: 1rem;
  --s-5: 1.5rem;   --s-6: 2rem;     --s-7: 2.5rem;   --s-8: 3rem;
  --s-9: 4rem;
  --section-y: clamp(3.5rem, 2rem + 6vw, 7rem);
  --gutter:    clamp(1.25rem, 0.5rem + 3vw, 3rem);
  --measure:   68ch;
  --radius: 4px;
  --wrap:       1200px;
  --wrap-text:  760px;
  --nav-h:      72px;
  --bp-nav: 60rem;   /* 960px — the header's collapse */
  --ease:      cubic-bezier(0.22, 1, 0.36, 1);
  --dur-fast:  180ms;
  --dur-slow:  900ms;
  --z-nav: 100;
  /* COLOUR-BLOCK LANGUAGE (every page) */
  --bone:        #F4F0E6;
  --bone-deep:   #E8E2D2;
  /* Panel fills, rotated section by section. */
  --panel-green: var(--ag-green);
  --panel-blue:  var(--ag-blue);
  --panel-mint:  var(--ag-green-light);
  --panel-navy:  var(--ag-navy);
  --panel-bone:  var(--bone);
  /* Larger, softer geometry than the editorial pages use. */
  --radius-panel: 20px;
  --radius-card:  16px;
  --radius-pill:  999px;
  --shadow-panel: 0 18px 44px rgba(6, 26, 16, 0.28);
  --green-text: #006B34;
  --green-on-mint: #004F26;
}

@media (prefers-reduced-motion: reduce) {
  :root { --dur-fast: 1ms; --dur-slow: 1ms; }
}
