/* GalapagoGTM design tokens · v1.0
 * Single source of truth. Import this file and use the variables.
 * Do not redefine values inline. If you need a new token, add it here first.
 */

:root {
  /* ── Ink / Slate · dark surfaces ─────────────────────────── */
  --ink:        #111113;  /* default text + darkest surface */
  --ink-soft:   #1D1D1D;  /* secondary text on paper */
  --slate:      #18181B;  /* dark section background */
  --slate-2:    #1F1F23;  /* card on dark */
  --slate-3:    #2A2A2E;  /* hover / raised on dark */

  /* ── Paper · light surfaces ──────────────────────────────── */
  --paper:      #FBFBF9;  /* default page background, warm white */
  --paper-2:    #F4F4F1;  /* card background on paper */
  --paper-3:    #ECECE7;  /* subtle dividers / inset */

  /* ── Brand · Teal (operator voice) ───────────────────────── */
  --teal:        #0F665E;
  --teal-bright: #1B8C82;
  --teal-glow:   rgba(27, 140, 130, 0.35);

  /* ── Brand · Lime (highlight, used sparingly) ────────────── */
  --lime:       #BFF73D;
  --lime-soft:  #C9F858;
  --lime-glow:  rgba(191, 247, 61, 0.60);

  /* ── Aurora · mesh-only pastels ──────────────────────────── */
  --aurora-pink:   #F4D5C2;
  --aurora-violet: #E0DCFB;

  /* ── Stone · neutrals on light ───────────────────────────── */
  --stone-200: #E1E0DC;  /* divider */
  --stone-300: #B5B3AC;  /* faint label */
  --stone-400: #9A968E;  /* muted */
  --stone-500: #84807A;  /* caption */
  --stone-700: #54514C;  /* body text on paper */
  --stone-900: #2A2925;  /* strong */

  /* ── Signal ──────────────────────────────────────────────── */
  --signal-green: #34D26B; /* live dot only */

  /* ── Typography ──────────────────────────────────────────── */
  --font-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-mono: 'JetBrains Mono', 'Menlo', monospace;

  /* Type scale — fluid where useful */
  --fs-display: clamp(48px, 7vw, 112px);
  --fs-h1:      clamp(40px, 6vw, 88px);
  --fs-h2:      clamp(30px, 4vw, 56px);
  --fs-h3:      clamp(24px, 2.5vw, 32px);
  --fs-lead:    clamp(18px, 1.5vw, 22px);
  --fs-body:    17px;
  --fs-small:   14px;
  --fs-eyebrow: 11px;

  /* Line-heights / tracking */
  --lh-display: 0.95;
  --lh-h2:      1.05;
  --lh-h3:      1.15;
  --lh-body:    1.6;
  --ls-tight:  -0.025em;  /* display + section headings */
  --ls-eyebrow: 0.22em;   /* mono labels */

  /* ── Spacing scale ───────────────────────────────────────── */
  --space-2xs: 4px;
  --space-xs:  8px;
  --space-sm:  14px;
  --space-md:  24px;
  --space-lg:  36px;
  --space-xl:  56px;
  --space-2xl: 96px;
  --gutter:    clamp(20px, 5vw, 80px); /* page side padding */

  /* ── Radius ──────────────────────────────────────────────── */
  --r-tight:   4px;
  --r-input:   6px;
  --r-card-sm: 8px;
  --r-card:    12px;
  --r-card-lg: 14px;
  --r-pill:    999px;

  /* ── Elevation ───────────────────────────────────────────── */
  --shadow-flat:   1px solid rgba(0, 0, 0, 0.06);
  --shadow-pill:   0 1px 0 rgba(0, 0, 0, 0.02), 0 8px 28px -10px rgba(0, 0, 0, 0.08);
  --shadow-lift:   0 16px 40px -16px rgba(0, 0, 0, 0.18);
  --shadow-teal:   0 24px 80px -32px rgba(15, 102, 94, 0.32);
  --shadow-lime:   0 0 12px rgba(191, 247, 61, 0.60);

  /* ── Motion ──────────────────────────────────────────────── */
  --ease-operator: cubic-bezier(.2, .8, .2, 1);
  --dur-micro:     200ms;
  --dur-base:      300ms;
  --dur-cta:       350ms;
}
