:root {
  --font-display: "Cormorant Garamond", Georgia, serif;
  --font-body: "Manrope", Arial, sans-serif;

  --color-paper: #fffefb;
  --color-cream: #f6f1e8;
  --color-oat: #e8dfd1;
  --color-stone: #c9beae;
  --color-taupe: #746c61;
  --color-ink: #1b1916;
  --color-ink-soft: #292620;
  --color-gold: #aa7e2e;
  --color-white-ink: #fffdf8;
  --color-overlay: rgb(20 17 13 / 34%);

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

  --type-display-xl: clamp(3.5rem, 8vw, 6.75rem);
  --type-display-lg: clamp(2.75rem, 6vw, 5rem);
  --type-heading-1: clamp(2.25rem, 4.5vw, 3.75rem);
  --type-heading-2: clamp(1.875rem, 3.5vw, 3rem);
  --type-heading-3: clamp(1.5rem, 2.5vw, 2rem);
  --type-lead: clamp(1.125rem, 1.8vw, 1.375rem);
  --type-body: clamp(1rem, 0.96rem + 0.15vw, 1.0625rem);
  --type-small: 0.875rem;
  --type-label: 0.75rem;

  --radius-control: 0.125rem;
  --radius-panel: 0.25rem;
  --radius-round: 999px;

  --shadow-ambient: 0 1rem 3rem rgb(27 25 22 / 8%);
  --shadow-raised: 0 0.5rem 1.5rem rgb(27 25 22 / 10%);

  --ease-out: cubic-bezier(0.22, 1, 0.36, 1);
  --ease-editorial: cubic-bezier(0.16, 1, 0.3, 1);
  --duration-instant: 120ms;
  --duration-micro: 180ms;
  --duration-hover: 280ms;
  --duration-panel: 420ms;
  --duration-reveal: 560ms;
  --duration-editorial: 720ms;

  --gutter: 1.25rem;
  --grid-gap: 1rem;
  --container-reading: 42.5rem;
  --container-content: 75rem;
  --container-wide: 90rem;
  --header-height: 4.75rem;
  --section-space: var(--space-9);

  --z-header: 50;
  --z-nav-panel: 60;
  --z-skip-link: 100;
}

@media (min-width: 30rem) {
  :root {
    --gutter: 1.5rem;
  }
}

@media (min-width: 48rem) {
  :root {
    --gutter: 2rem;
    --grid-gap: 1.25rem;
    --header-height: 5.25rem;
    --section-space: var(--space-11);
  }
}

@media (min-width: 64rem) {
  :root {
    --grid-gap: 2rem;
    --header-height: 6rem;
  }
}

@media (min-width: 80rem) {
  :root {
    --grid-gap: 2.5rem;
    --section-space: var(--space-12);
  }
}
