:root {
  /* palette */
  --bg:            #0A0A0A;
  --bg-elev:       #131313;
  --ink:           #EDEAE3;
  --ink-strong:    #FFFFFF;
  --ink-muted:     #8B8680;
  --ink-faint:     #4D4A45;
  --rule:          #1E1D1B;
  --accent:        #E8CBA3;
  --accent-dim:    #A88E68;

  /* type */
  --font-display:  "Instrument Serif", "Georgia", "Times New Roman", serif;
  --font-body:     "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-mono:     "JetBrains Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;

  /* fluid scale — clamp(min, target, max) */
  --step--2: clamp(0.68rem, 0.65rem + 0.15vw, 0.75rem);
  --step--1: clamp(0.80rem, 0.76rem + 0.18vw, 0.88rem);
  --step-0:  clamp(0.96rem, 0.92rem + 0.20vw, 1.05rem);
  --step-1:  clamp(1.12rem, 1.05rem + 0.35vw, 1.30rem);
  --step-2:  clamp(1.40rem, 1.28rem + 0.60vw, 1.75rem);
  --step-3:  clamp(1.85rem, 1.60rem + 1.20vw, 2.55rem);
  --step-4:  clamp(2.60rem, 2.10rem + 2.40vw, 4.20rem);
  --step-5:  clamp(3.90rem, 3.00rem + 4.40vw, 6.80rem);
  --step-6:  clamp(5.50rem, 3.80rem + 8.20vw, 11.5rem);

  /* leading */
  --lh-tight:  1.00;
  --lh-snug:   1.15;
  --lh-normal: 1.35;
  --lh-loose:  1.55;

  /* tracking */
  --tr-tight:  -0.03em;
  --tr-normal:  0;
  --tr-wide:    0.06em;
  --tr-mono:    0.02em;

  /* spacing (8px base) */
  --sp-0:  0;
  --sp-1:  0.5rem;
  --sp-2:  1rem;
  --sp-3:  1.5rem;
  --sp-4:  2rem;
  --sp-5:  3rem;
  --sp-6:  4rem;
  --sp-7:  6rem;
  --sp-8:  8rem;
  --sp-9: 12rem;

  /* grid */
  --gutter:     clamp(1rem, 1.8vw, 1.75rem);
  --col-count:  12;
  --page-max:   1600px;
  --page-pad:   clamp(1.25rem, 3.5vw, 3rem);

  /* motion */
  --dur-fast:   180ms;
  --dur:        320ms;
  --dur-slow:   520ms;
  --ease:       cubic-bezier(0.22, 0.61, 0.36, 1);
  --ease-out:   cubic-bezier(0.16, 1, 0.30, 1);
}

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