:root {
  --ink: #171410;
  --ink-soft: #4f4a42;
  --ink-faint: #857d71;
  --paper: #f3eee4;
  --paper-warm: #ebe3d5;
  --paper-deep: #e0d4c1;
  --surface: #f8f4ec;
  --surface-2: #efe7da;
  --line: #d7cbb8;
  --line-strong: #bcae99;
  --accent: #bf4c2f;
  --accent-dark: #983722;
  --accent-ink: #fffaf4;
  --accent-alt: #2f5a4e;

  --font-display: "Fraunces", Georgia, serif;
  --font-body: "Manrope", "Segoe UI", sans-serif;
  --font-mono: "IBM Plex Mono", ui-monospace, monospace;

  --t-xs: 0.78rem;
  --t-sm: 0.92rem;
  --t-base: 1rem;
  --t-md: 1.18rem;
  --t-lg: 1.5rem;
  --t-xl: 2.1rem;
  --t-2xl: 3rem;
  --t-3xl: 4.5rem;
  --t-hero: clamp(2.45rem, 5.8vw, 5.4rem);

  --s-1: 0.5rem;
  --s-2: 1rem;
  --s-3: 1.5rem;
  --s-4: 2.5rem;
  --s-5: 4rem;
  --s-6: 6.5rem;
  --s-7: 9.5rem;

  --col-narrow: 34rem;
  --col-text: 52rem;
  --col-wide: 72rem;
  --col-hero: 82rem;
  --gutter: clamp(1.25rem, 4vw, 3rem);

  --radius-sm: 8px;
  --radius-md: 14px;
  --radius-lg: 22px;

  --shadow-soft: 0 18px 40px rgba(28, 20, 14, 0.08);
  --shadow-card: 0 22px 60px rgba(32, 24, 18, 0.1);

  --ease-out: cubic-bezier(0.2, 0.7, 0.2, 1);
  --t-fast: 180ms;
  --t-med: 320ms;
  --t-slow: 620ms;
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
