:root {
  /* ── Brand Colors ── */
  --color-ink:        #2B2B2D;
  --color-ink-soft:   #4A4A4D;
  --color-bg:         #FFFFFF;
  --color-bg-alt:     #ECEBE8;
  --color-teal:       #5C8A8E;
  --color-teal-dark:  #4A7479;
  --color-sage:       #C9D8C5;
  --color-beige:      #E8E1D4;
  --color-line:       #E2E2E0;
  --color-on-teal:    #FFFFFF;
  --color-error:      #C0392B;
  --color-error-bg:   #FDEDEB;

  /* ── Typography ── */
  --font-display: "Playfair Display", Georgia, serif;
  --font-body:    "Poppins", system-ui, sans-serif;

  --fs-h1:    clamp(2.25rem, 5vw, 3.75rem);
  --fs-h2:    clamp(1.75rem, 3.5vw, 2.75rem);
  --fs-h3:    clamp(1.25rem, 2vw, 1.5rem);
  --fs-lead:  clamp(1.35rem, 2.5vw, 1.625rem);
  --fs-body:  clamp(1.0625rem, 1.5vw, 1.1875rem);
  --fs-small: 0.875rem;

  --lh-tight:  1.15;
  --lh-normal: 1.6;

  --fw-regular: 400;
  --fw-medium:  500;
  --fw-bold:    700;

  /* ── Spacing (8pt scale) ── */
  --space-1: 0.5rem;
  --space-2: 1rem;
  --space-3: 1.5rem;
  --space-4: 2rem;
  --space-5: 3rem;
  --space-6: 4rem;
  --space-7: 6rem;

  /* ── Radius / Shadow / Layout ── */
  --radius:    14px;
  --radius-sm: 8px;
  --shadow:    0 10px 30px rgba(0, 0, 0, 0.08);

  --container:        1080px;
  --container-narrow: 720px;
  --section-y: clamp(3rem, 8vw, 6rem);

  /* ── Transitions ── */
  --ease-out: cubic-bezier(0.22, 1, 0.36, 1);
  --duration: 0.3s;
}
