/* css/tokens.css */
:root {
  /* ── Colors ── */
  --color-bg-dark:        #0a0a0a;
  --color-bg-light:       #f4f1ec;
  --color-bg-white:       #ffffff;
  --color-cobalt:         #1a4fd6;
  --color-cobalt-hover:   #1640b8;
  --color-cobalt-subtle:  rgba(26, 79, 214, 0.12);
  --color-emerald-bg:     #0d2b1e;
  --color-emerald:        #1a9e6a;
  --color-emerald-hover:  #15855a;
  --color-emerald-subtle: rgba(26, 158, 106, 0.15);
  --color-text-on-dark:   #f4f1ec;
  --color-text-on-light:  #1a1a1a;
  --color-text-muted-dark:  #888888;
  --color-text-muted-light: #666666;
  --color-border-light:   #e0ddd8;
  --color-border-dark:    #2a2a2a;
  --color-surface-raised-dark: #141414;
  --color-focus-ring:     var(--color-cobalt);

  /* ── Typography ── */
  --font-display: 'Bricolage Grotesque', sans-serif;
  --font-body:    'DM Sans', sans-serif;
  --font-mono:    'JetBrains Mono', monospace;

  /* ── Type scale (fluid) ── */
  --text-xs:   clamp(0.7rem,   0.65rem + 0.25vw, 0.8rem);
  --text-sm:   clamp(0.875rem, 0.8rem  + 0.35vw, 1rem);
  --text-base: clamp(1rem,     0.95rem + 0.25vw, 1.125rem);
  --text-lg:   clamp(1.125rem, 1rem    + 0.6vw,  1.375rem);
  --text-xl:   clamp(1.375rem, 1.2rem  + 0.9vw,  1.75rem);
  --text-2xl:  clamp(1.75rem,  1.5rem  + 1.25vw, 2.5rem);
  --text-3xl:  clamp(2.5rem,   2rem    + 2.5vw,  4rem);
  --text-4xl:  clamp(3.5rem,   2.8rem  + 3.5vw,  5.5rem);

  /* ── Spacing (8px grid) ── */
  --sp-1:  0.25rem;   /* 4px  */
  --sp-2:  0.5rem;    /* 8px  */
  --sp-3:  0.75rem;   /* 12px */
  --sp-4:  1rem;      /* 16px */
  --sp-6:  1.5rem;    /* 24px */
  --sp-8:  2rem;      /* 32px */
  --sp-12: 3rem;      /* 48px */
  --sp-16: 4rem;      /* 64px */
  --sp-24: 6rem;      /* 96px */
  --sp-32: 8rem;      /* 128px */

  /* ── Border radius ── */
  --radius-sm:   4px;
  --radius-md:   10px;
  --radius-lg:   20px;
  --radius-full: 9999px;

  /* ── Layout ── */
  --max-width:  1100px;
  --nav-height: 64px;
  --section-py: clamp(4rem, 8vw, 8rem);

  /* ── Transitions ── */
  --ease-fast: 150ms ease;
  --ease-base: 250ms ease;
}
