:root {
  --font-body: "DM Sans", -apple-system, BlinkMacSystemFont, "Helvetica Neue", system-ui, sans-serif;
  --font-mono: "JetBrains Mono", "SF Mono", Menlo, Consolas, monospace;
  --font-display: var(--font-body);   /* alias — DM Sans does display + body */
  --font-number: var(--font-mono);    /* alias — JetBrains Mono for hero numbers */
  --font-wordmark: "Archivo", var(--font-body);  /* the logo wordmark ONLY — Archivo 800 full-width */

  /* Weights */
  --fw-regular:  400;
  --fw-medium:   500;
  --fw-semibold: 600;
  --fw-bold:     700;

  /* Type ramp (size / weight / line-height / tracking) */
  --type-large-title:  700 34px/1.1   var(--font-body);
  --type-title-1:      700 28px/1.15  var(--font-body);
  --type-title-2:      600 22px/1.2   var(--font-body);
  --type-headline:     600 17px/1.3   var(--font-body);
  --type-body:         400 17px/1.45  var(--font-body);
  --type-callout:      400 16px/1.4   var(--font-body);
  --type-subheadline:  400 15px/1.4   var(--font-body);
  --type-footnote:     400 13px/1.4   var(--font-body);

  --tracking-tight:  -0.03em;  /* hero numbers, large titles */
  --tracking-snug:   -0.02em;  /* titles */
  --tracking-normal: 0;
  --tracking-wide:    0.08em;  /* uppercase labels / eyebrows */

  /* Hero numbers */
  --type-hero-number: 700 64px/1 var(--font-mono);
  --type-hero-money:  700 28px/1 var(--font-mono);
}

/* ── Specimen / utility classes (used by cards, components, UI kits) ── */
.hs-large-title { font: var(--type-large-title); letter-spacing: var(--tracking-snug); }
.hs-title-1     { font: var(--type-title-1);     letter-spacing: var(--tracking-snug); }
.hs-title-2     { font: var(--type-title-2);     letter-spacing: var(--tracking-snug); }
.hs-headline    { font: var(--type-headline); }
.hs-body        { font: var(--type-body); }
.hs-callout     { font: var(--type-callout); }
.hs-subheadline { font: var(--type-subheadline); color: var(--text-secondary); }
.hs-footnote    { font: var(--type-footnote); color: var(--text-secondary); }

.hs-eyebrow {
  font: var(--fw-semibold) 13px/1 var(--font-body);
  letter-spacing: var(--tracking-wide);
  text-transform: uppercase;
  color: var(--text-secondary);
}

.hs-wordmark {
  font-family: var(--font-wordmark);
  font-weight: 800;
  font-stretch: 100%;
  letter-spacing: -0.03em;
  line-height: 1;
}

.hs-mono { font-family: var(--font-mono); font-feature-settings: "tnum"; }
.hs-hero-number {
  font: var(--type-hero-number);
  letter-spacing: var(--tracking-tight);
  font-feature-settings: "tnum";
}
.hs-hero-money {
  font: var(--type-hero-money);
  color: var(--primary);
  font-feature-settings: "tnum";
}
