/* ==========================================================================
   The Fresh Agent Co — Design Tokens
   Phase 3 first-pass. Editorial / institutional light surface + one dark
   ticker band. Mirrors the reconciled token set from Phase 2.
   Scope: website_v2/ only. Do not import into website/ until cutover.
   ========================================================================== */

:root {
  /* ---------- Ink & neutrals (text, rules, paper) ---------- */
  --ink:        #0F1419;   /* primary text, display */
  --ink-2:      #2A2F38;   /* body copy */
  --muted:      #5C6470;   /* secondary / meta */
  --faint:      #8B92A0;   /* tertiary, captions */
  --rule:       #E5E2D9;   /* hairline borders */
  --rule-2:     #D8D4C6;   /* stronger hairline */
  --paper:      #FAFAF7;   /* page background */
  --paper-2:    #F3F1EA;   /* alternating band */
  --paper-3:    #ECE9DE;   /* tertiary surface / cards */
  --white:      #FFFFFF;

  /* ---------- Brand / action ---------- */
  --navy:          #0A1F3D;
  --navy-hover:    #112C52;
  --navy-press:    #081831;
  --forest:        #1F4D3E;
  --forest-hover:  #2A5F4D;

  /* ---------- Market semantic (data only — not decorative) ---------- */
  --up:        #2F7A4C;
  --down:      #B33A2E;
  --flat:      #B8860B;
  --up-tint:   rgba(47,122,76,0.08);
  --down-tint: rgba(179,58,46,0.08);
  --flat-tint: rgba(184,134,11,0.08);

  /* ---------- Dark ticker band (single inverted region) ---------- */
  --dark-bg:       #0B0F17;
  --dark-bg-2:     #111622;
  --dark-rule:     #1E2534;
  --dark-ink:      #E6E8EC;
  --dark-muted:    #8A93A6;

  /* ---------- Focus / interaction ---------- */
  --focus-ring: 0 0 0 3px rgba(10,31,61,0.18);
  --focus-ring-dark: 0 0 0 3px rgba(230,232,236,0.22);

  /* ---------- Type families ---------- */
  --f-display: 'Source Serif 4', 'Source Serif Pro', Georgia, 'Times New Roman', serif;
  --f-body:    'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --f-mono:    'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;

  /* ---------- Type scale (desktop) ---------- */
  --t-micro:   11px;   /* ticker, legal */
  --t-eyebrow: 12px;   /* section eyebrows */
  --t-small:   13px;   /* meta, captions */
  --t-body:    17px;   /* body copy */
  --t-lead:    19px;   /* hero subhead, intros */
  --t-h5:      22px;
  --t-h4:      28px;
  --t-h3:      36px;
  --t-h2:      48px;
  --t-h1:      64px;   /* hero headline */

  /* ---------- Line heights ---------- */
  --lh-tight:  1.1;
  --lh-snug:   1.25;
  --lh-normal: 1.5;
  --lh-body:   1.6;
  --lh-loose:  1.7;

  /* ---------- Tracking ---------- */
  --tr-eyebrow: 0.12em;
  --tr-caps:    0.08em;
  --tr-display: -0.015em;

  /* ---------- Spacing (8pt grid + editorial extremes) ---------- */
  --sp-0:  0;
  --sp-1:  4px;
  --sp-2:  8px;
  --sp-3:  12px;
  --sp-4:  16px;
  --sp-5:  24px;
  --sp-6:  32px;
  --sp-7:  48px;
  --sp-8:  64px;
  --sp-9:  96px;
  --sp-10: 128px;
  --sp-11: 160px;

  /* ---------- Widths ---------- */
  --w-content: 1240px;
  --w-narrow:  720px;
  --w-wide:    1440px;

  /* ---------- Radii ---------- */
  --r-0:    0;
  --r-1:    2px;
  --r-2:    6px;
  --r-3:    8px;
  --r-4:    12px;
  --r-pill: 999px;

  /* ---------- Shadows (low / editorial) ---------- */
  --shadow-1: 0 1px 0 rgba(15,20,25,0.04);
  --shadow-2: 0 1px 2px rgba(15,20,25,0.06), 0 1px 1px rgba(15,20,25,0.04);
  --shadow-3: 0 4px 12px rgba(15,20,25,0.06), 0 1px 2px rgba(15,20,25,0.04);
  --shadow-4: 0 12px 32px rgba(15,20,25,0.10), 0 4px 8px rgba(15,20,25,0.05);

  /* ---------- Transitions ---------- */
  --ease:      cubic-bezier(0.22, 0.61, 0.36, 1);
  --dur-fast:  120ms;
  --dur-base:  180ms;
  --dur-slow:  280ms;

  /* ---------- Z ---------- */
  --z-nav:     40;
  --z-ticker:  30;
  --z-over:    50;
}

/* Respect reduced motion preferences */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
  }
}
