/* ============================================================
   RassIntel — Design Tokens
   Single source of truth. No raw values in component styles.
   ============================================================ */

:root {
  /* ---- Color: dark fields ---- */
  --navy-950: #04081A;        /* wordmark near-black (sampled from logo) */
  --navy-900: #0A1628;        /* primary dark field */
  --navy-850: #0D1E36;        /* raised surface on navy */
  --navy-800: #0F3460;        /* cobalt structural */
  --navy-700: #1565C0;        /* blue structural */

  /* ---- Color: brand greens (logo-derived) ---- */
  --teal-500: #00ACC1;        /* teal highlight */
  --teal-600: #00838F;        /* teal, AA on white for large text */
  --teal-700: #006570;        /* teal, AA on white for body */
  --green-700: #0E7A4A;       /* Intel gradient start (sampled) */
  --green-500: #23A93C;       /* Intel gradient end (sampled) */
  --green-400: #2BC558;       /* bright green for dark grounds */
  --lime-400: #8FE03C;        /* logo lime (emphasis on dark only) */
  --lime-300: #A2E639;        /* logo lime light stop (sampled) */

  /* ---- Color: light fields ---- */
  --white: #FFFFFF;
  --paper: #F7F9FB;           /* near-white section ground */
  --mist: #E8EEF4;            /* hairlines on light */

  /* ---- Color: text ---- */
  --ink: #0A1628;             /* body on light = navy-900 */
  --ink-soft: #3D4D63;        /* secondary on light, AA on white/paper */
  --ink-faint: #5C6B80;       /* captions on light, AA on white */
  --snow: #F4F8FB;            /* body on dark */
  --snow-soft: #B8C7D9;       /* secondary on dark, AA on navy-900 */
  --snow-faint: #8DA2BC;      /* captions on dark, AA on navy-900 */

  /* ---- Gradients ---- */
  --grad-intel: linear-gradient(90deg, var(--green-700), var(--green-500));
  --grad-intel-dark: linear-gradient(90deg, var(--green-400), var(--lime-400));
  --grad-emphasis: linear-gradient(90deg, var(--lime-400), var(--teal-500));
  --grad-cta: linear-gradient(135deg, var(--green-700), var(--teal-600));
  --grad-core-glow: radial-gradient(closest-side, rgba(0, 172, 193, 0.18), transparent);

  /* ---- Type ---- */
  --font-display: "Montserrat", "Arial Black", system-ui, sans-serif;
  --font-body: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-mono: ui-monospace, "SF Mono", Consolas, monospace;

  /* Fluid type scale (360px → 1280px) */
  --text-xs: 0.75rem;                                   /* 12 */
  --text-sm: 0.875rem;                                  /* 14 */
  --text-base: 1rem;                                    /* 16 */
  --text-md: clamp(1.0625rem, 1rem + 0.3vw, 1.1875rem); /* 17→19 */
  --text-lg: clamp(1.25rem, 1.1rem + 0.6vw, 1.5rem);    /* 20→24 */
  --text-xl: clamp(1.5rem, 1.25rem + 1.1vw, 2rem);      /* 24→32 */
  --text-2xl: clamp(1.875rem, 1.4rem + 2vw, 2.75rem);   /* 30→44 */
  --text-3xl: clamp(2.375rem, 1.7rem + 3vw, 3.75rem);   /* 38→60 */
  --text-stat: clamp(2rem, 1.5rem + 2.4vw, 3.25rem);    /* 32→52 */

  --leading-tight: 1.1;
  --leading-snug: 1.3;
  --leading-body: 1.65;
  --tracking-caps: 0.14em;
  --tracking-tag: 0.22em;

  /* ---- Spacing ---- */
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.5rem;
  --space-6: 2rem;
  --space-7: 3rem;
  --space-8: 4rem;
  --space-9: 6rem;
  --space-band: clamp(4rem, 3rem + 5vw, 7.5rem);  /* section vertical rhythm */
  --gutter: clamp(1.25rem, 4vw, 2.5rem);

  /* ---- Layout ---- */
  --max-w: 72rem;        /* 1152px content column */
  --max-w-text: 42rem;   /* prose measure */
  --header-h: 4.25rem;

  /* ---- Radii ---- */
  --radius-sm: 6px;
  --radius-md: 12px;
  --radius-lg: 20px;
  --radius-pill: 999px;

  /* ---- Shadows ---- */
  --shadow-card: 0 1px 2px rgba(10, 22, 40, 0.06), 0 8px 24px rgba(10, 22, 40, 0.08);
  --shadow-lift: 0 2px 4px rgba(10, 22, 40, 0.08), 0 16px 40px rgba(10, 22, 40, 0.14);
  --shadow-header: 0 1px 0 rgba(255, 255, 255, 0.06), 0 8px 24px rgba(4, 8, 26, 0.35);

  /* ---- Motion ---- */
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);      /* decisive settle */
  --ease-flow: cubic-bezier(0.45, 0, 0.25, 1);    /* organic drift */
  --dur-fast: 160ms;
  --dur-base: 280ms;
  --dur-slow: 600ms;
  --dur-breathe: 6s;       /* ecosystem pulse */
  --dur-flow: 9s;          /* data path travel */

  /* ---- Borders ---- */
  --hairline-light: 1px solid var(--mist);
  --hairline-dark: 1px solid rgba(184, 199, 217, 0.16);
}
