/* ============================================================
   tokens.css — design tokens
   The only file that defines colors, type, space, motion.
   Other files reference --custom-properties; never literal values.
   ============================================================ */

:root {
  /* ---- color ---- */
  --ink:        #1B1916;   /* primary text — warm near-black */
  --ink-soft:   #5C5651;   /* secondary text */
  --ink-faint:  #8B847C;   /* captions, mono labels, metadata */
  --paper:      #F5F1EA;   /* primary surface — warm off-white */
  --paper-deep: #EDE7DC;   /* secondary surface */
  --line:       #D6CFC2;   /* hairlines */

  --accent:        #7A1F2B;  /* oxblood */
  --accent-deep:   #5E1721;  /* hover state */
  --accent-faint:  rgba(122, 31, 43, 0.08);  /* tints */

  /* ---- type ---- */
  --font-serif: 'Instrument Serif', Georgia, 'Times New Roman', serif;
  --font-sans:  'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --font-mono:  'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;

  --size-display: clamp(3rem, 8vw, 6.5rem);
  --size-h2:      clamp(2rem, 4vw, 3.25rem);
  --size-h3:      clamp(1.25rem, 2vw, 1.5rem);
  --size-lead:    clamp(1.125rem, 1.5vw, 1.375rem);
  --size-body:    1.0625rem;
  --size-small:   0.9375rem;
  --size-mono:    0.8125rem;

  --line-tight:   0.95;
  --line-snug:    1.2;
  --line-normal:  1.6;

  --track-tight:  -0.02em;
  --track-normal: 0;
  --track-loose:  0.08em;

  /* ---- space ---- */
  --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-10: 8rem;
  --space-11: 12rem;

  --measure: 38rem;            /* prose max-width */
  --measure-wide: 56rem;       /* hero & wider sections */
  --gutter: clamp(1.5rem, 5vw, 3rem);

  /* ---- motion ---- */
  --ease-out:    cubic-bezier(0.16, 1, 0.3, 1);     /* premium ease-out */
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  --duration-fast:   200ms;
  --duration-normal: 400ms;
  --duration-slow:   800ms;
  --duration-reveal: 1000ms;

  /* ---- radius & elevation ---- */
  --radius-sm: 6px;
  --radius-pill: 999px;

  /* ---- z-index ---- */
  --z-header: 100;
  --z-overlay: 200;
  --z-modal:   300;
}

@media (prefers-reduced-motion: reduce) {
  :root {
    --duration-fast:   0ms;
    --duration-normal: 0ms;
    --duration-slow:   0ms;
    --duration-reveal: 0ms;
  }
}
