:root{
  --font-display:"DM Serif Display",Georgia,"Times New Roman",serif;
  --font-body:"PT Sans","Trebuchet MS","Lucida Sans Unicode",Tahoma,sans-serif;
  --font-mono:"PT Sans","Trebuchet MS",Tahoma,sans-serif;

  --fw-regular:400; /* @kind font */
  --fw-medium:500; /* @kind font */
  --fw-bold:700; /* @kind font */

  --fs-3xs:12px;--fs-2xs:12px;--fs-xs:14px;--fs-sm:14px;--fs-base:16px;--fs-md:18px;
  --fs-lg:20px;--fs-xl:24px;--fs-2xl:30px;--fs-3xl:36px;--fs-4xl:48px;--fs-5xl:60px;--fs-6xl:80px;

  --lh-tight:1.1; /* @kind font */
  --lh-heading:1.2; /* @kind font */
  --lh-title:1.35; /* @kind font */
  --lh-body:1.5; /* @kind font */
  --lh-loose:1.7; /* @kind font */

  --ls-display:0em; /* @kind font */
  --ls-heading:0em; /* @kind font */
  --ls-body:0em; /* @kind font */
  --ls-label:0.01em; /* @kind font */
  --ls-eyebrow:0.08em; /* @kind font */
  --ls-logo:0.32em; /* @kind font */

  /* Composite roles. Display sizes mirror the live site: h1 60, section header 48,
     h2 30, h3 20, h4 18 — all DM Serif Display at weight 400. */
  --type-display:var(--fw-regular) var(--fs-5xl)/var(--lh-tight) var(--font-display);
  --type-h1:var(--fw-regular) var(--fs-4xl)/var(--lh-heading) var(--font-display);
  --type-h2:var(--fw-regular) var(--fs-2xl)/var(--lh-heading) var(--font-display);
  --type-h3:var(--fw-regular) var(--fs-lg)/var(--lh-title) var(--font-display);
  --type-h4:var(--fw-regular) var(--fs-md)/var(--lh-title) var(--font-display);
  --type-body:var(--fw-regular) var(--fs-base)/var(--lh-body) var(--font-body);
  --type-body-sm:var(--fw-regular) var(--fs-sm)/var(--lh-body) var(--font-body);
  --type-label:var(--fw-bold) var(--fs-base)/1.3 var(--font-body);
  --type-eyebrow:var(--fw-bold) var(--fs-2xs)/1.2 var(--font-body);
  --type-meta:var(--fw-regular) var(--fs-xs)/1.4 var(--font-body);
  --type-button:var(--fw-bold) var(--fs-sm)/1 var(--font-body);
}
