:root {
  --color-bg: #FFFFFF;
  --color-bg-soft: #FBF9F6;
  --color-text: #0A0A0A;
  --color-text-muted: #6B6B6B;
  --color-text-subtle: #9A9A9A;

  --color-accent: #FF6B1A;
  --color-accent-hover: #E85A0B;
  --color-accent-soft: #FFF1E8;
  --color-accent-border: #FFD4B8;

  --color-border: #E8E4DE;
  --color-border-strong: #D6D0C7;
  --color-surface: #FFFFFF;
  --color-surface-sunken: #F5F2ED;

  --color-success: #1F7A3C;
  --color-warning: #C77700;
  --color-danger: #C13B1F;

  --ff-head: 'Fraunces', Georgia, serif;
  --ff-body: 'Inter', system-ui, -apple-system, sans-serif;
  --ff-mono: 'JetBrains Mono', 'SF Mono', Menlo, monospace;

  --fs-display: clamp(2.5rem, 5vw + 1rem, 5.5rem);
  --fs-h1: clamp(2rem, 3.5vw + 0.75rem, 3.75rem);
  --fs-h2: clamp(1.5rem, 2vw + 0.75rem, 2.5rem);
  --fs-h3: clamp(1.25rem, 1vw + 0.75rem, 1.75rem);
  --fs-h4: clamp(1.05rem, 0.5vw + 0.85rem, 1.25rem);
  --fs-lead: clamp(1.05rem, 0.6vw + 0.9rem, 1.25rem);
  --fs-body: 1rem;
  --fs-small: 0.875rem;
  --fs-tiny: 0.75rem;

  --lh-tight: 1.08;
  --lh-snug: 1.25;
  --lh-normal: 1.55;
  --lh-loose: 1.75;

  --fw-reg: 400;
  --fw-med: 500;
  --fw-semi: 600;
  --fw-bold: 700;

  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.5rem;
  --space-6: 2rem;
  --space-7: 2.75rem;
  --space-8: 4rem;
  --space-9: 6rem;
  --space-10: 8rem;

  --radius-sm: 6px;
  --radius-md: 12px;
  --radius-lg: 20px;
  --radius-xl: 28px;
  --radius-pill: 999px;

  --shadow-sm: 0 1px 2px rgba(10, 10, 10, 0.04);
  --shadow-md: 0 6px 20px rgba(10, 10, 10, 0.06), 0 2px 6px rgba(10, 10, 10, 0.04);
  --shadow-lg: 0 20px 60px rgba(10, 10, 10, 0.10), 0 6px 18px rgba(10, 10, 10, 0.06);
  --shadow-focus: 0 0 0 3px rgba(255, 107, 26, 0.22);

  --container-max: 1280px;
  --container-narrow: 880px;
  --container-reading: 680px;
  --header-height: 72px;

  --bp-sm: 640px;
  --bp-md: 960px;
  --bp-lg: 1200px;

  --ease-out: cubic-bezier(0.22, 1, 0.36, 1);
  --ease-in-out: cubic-bezier(0.65, 0.05, 0.36, 1);
  --dur-fast: 140ms;
  --dur-base: 240ms;
  --dur-slow: 420ms;
}
