:root{
  --font-display:"Cormorant Garamond",Georgia,"Times New Roman",serif;
  --font-text:"Manrope","Helvetica Neue",Arial,sans-serif;
  --font-mono:"IBM Plex Mono",ui-monospace,Menlo,monospace;

  /* size scale */
  --fs-3xs:11px;--fs-2xs:12px;--fs-xs:13px;--fs-sm:14px;--fs-base:16px;--fs-md:18px;
  --fs-lg:20px;--fs-xl:24px;--fs-2xl:30px;--fs-3xl:38px;--fs-4xl:48px;--fs-5xl:60px;--fs-6xl:76px;
  --fs-hero:clamp(44px,6.2vw,88px); /* @kind font */
  --fs-section:clamp(30px,3.4vw,46px); /* @kind font */

  /* weights */
  --fw-light:300; /* @kind font */
  --fw-regular:400; /* @kind font */
  --fw-medium:500; /* @kind font */
  --fw-semibold:600; /* @kind font */
  --fw-bold:700; /* @kind font */

  /* line heights */
  --lh-tight:1.06; /* @kind other */
  --lh-display:1.12; /* @kind other */
  --lh-snug:1.28; /* @kind other */
  --lh-normal:1.5; /* @kind other */
  --lh-relaxed:1.66; /* @kind other */

  /* tracking */
  --ls-display:-0.02em; /* @kind other */
  --ls-tight:-0.01em; /* @kind other */
  --ls-normal:0; /* @kind other */
  --ls-wide:0.04em; /* @kind other */
  --ls-eyebrow:0.16em; /* @kind other */

  /* composed roles */
  --type-hero:var(--fw-light) var(--fs-hero)/var(--lh-tight) var(--font-display); /* @kind font */
  --type-section:var(--fw-regular) var(--fs-section)/var(--lh-display) var(--font-display); /* @kind font */
  --type-title:var(--fw-medium) var(--fs-xl)/var(--lh-snug) var(--font-display); /* @kind font */
  --type-body:var(--fw-regular) var(--fs-md)/var(--lh-relaxed) var(--font-text); /* @kind font */
  --type-body-sm:var(--fw-regular) var(--fs-sm)/var(--lh-normal) var(--font-text); /* @kind font */
  --type-ui:var(--fw-medium) var(--fs-sm)/1.2 var(--font-text); /* @kind font */
  --type-eyebrow:var(--fw-semibold) var(--fs-2xs)/1.2 var(--font-text); /* @kind font */
  --measure-prose:64ch; /* @kind other */
  --measure-narrow:44ch; /* @kind other */
}
