/* VoltCore — type scale. Modular, ratio 1.25, 12 → 72px, fluid via clamp().
   Display / headings: DM Sans. UI + prose: Inter. Data, specs, phone numbers: JetBrains Mono. */
:root {
  --fs-12: 0.75rem; /* @kind other */
  --fs-14: 0.875rem; /* @kind other */
  --fs-16: 1rem; /* @kind other */
  --fs-18: clamp(1rem, 0.97rem + 0.15vw, 1.125rem); /* @kind other */
  --fs-20: clamp(1.125rem, 1.08rem + 0.22vw, 1.25rem); /* @kind other */
  --fs-24: clamp(1.25rem, 1.16rem + 0.45vw, 1.5rem); /* @kind other */
  --fs-30: clamp(1.5rem, 1.36rem + 0.68vw, 1.875rem); /* @kind other */
  --fs-38: clamp(1.75rem, 1.5rem + 1.2vw, 2.375rem); /* @kind other */
  --fs-48: clamp(2.125rem, 1.72rem + 2vw, 3rem); /* @kind other */
  --fs-58: clamp(2.5rem, 1.9rem + 3vw, 3.625rem); /* @kind other */
  --fs-72: clamp(2.875rem, 1.9rem + 4.8vw, 4.5rem); /* @kind other */

  --lh-tight: 1.05; /* @kind other */
  --lh-snug: 1.15; /* @kind other */
  --lh-heading: 1.2; /* @kind other */
  --lh-normal: 1.55; /* @kind other */
  --lh-relaxed: 1.7; /* @kind other */

  --ls-display: -0.03em; /* @kind other */
  --ls-heading: -0.02em; /* @kind other */
  --ls-body: 0em; /* @kind other */
  --ls-overline: 0.14em; /* @kind other */
  --ls-mono: 0.02em; /* @kind other */

  --fw-regular: 400; /* @kind other */
  --fw-medium: 500; /* @kind other */
  --fw-semibold: 600; /* @kind other */
  --fw-bold: 700; /* @kind other */

  --measure-prose: 65ch; /* @kind other */
  --measure-lead: 52ch; /* @kind other */
  --measure-narrow: 38ch; /* @kind other */
}

/* Named text roles. Apply as classes or copy the declarations. */
.vc-display { font-family: var(--vc-font-display); font-size: var(--fs-72); font-weight: var(--fw-bold); line-height: var(--lh-tight); letter-spacing: var(--ls-display); color: var(--text-heading); text-wrap: balance }
.vc-h1 { font-family: var(--vc-font-display); font-size: var(--fs-58); font-weight: var(--fw-bold); line-height: var(--lh-snug); letter-spacing: var(--ls-display); color: var(--text-heading); text-wrap: balance }
.vc-h2 { font-family: var(--vc-font-display); font-size: var(--fs-48); font-weight: var(--fw-bold); line-height: var(--lh-snug); letter-spacing: var(--ls-heading); color: var(--text-heading); text-wrap: balance }
.vc-h3 { font-family: var(--vc-font-display); font-size: var(--fs-38); font-weight: var(--fw-bold); line-height: var(--lh-heading); letter-spacing: var(--ls-heading); color: var(--text-heading) }
.vc-h4 { font-family: var(--vc-font-display); font-size: var(--fs-30); font-weight: var(--fw-medium); line-height: var(--lh-heading); letter-spacing: var(--ls-heading); color: var(--text-heading) }
.vc-h5 { font-family: var(--vc-font-display); font-size: var(--fs-24); font-weight: var(--fw-medium); line-height: 1.3; letter-spacing: var(--ls-heading); color: var(--text-heading) }
.vc-h6 { font-family: var(--vc-font-display); font-size: var(--fs-20); font-weight: var(--fw-medium); line-height: 1.35; letter-spacing: -0.01em; color: var(--text-heading) }
.vc-lead { font-family: var(--vc-font-body); font-size: var(--fs-20); font-weight: var(--fw-regular); line-height: var(--lh-relaxed); color: var(--text-body); max-width: var(--measure-lead); text-wrap: pretty }
.vc-body { font-family: var(--vc-font-body); font-size: var(--fs-16); font-weight: var(--fw-regular); line-height: var(--lh-normal); color: var(--text-body); max-width: var(--measure-prose); text-wrap: pretty }
.vc-small { font-family: var(--vc-font-body); font-size: var(--fs-14); line-height: 1.5; color: var(--text-muted) }
.vc-caption { font-family: var(--vc-font-body); font-size: var(--fs-12); line-height: 1.45; color: var(--text-muted) }
.vc-overline { font-family: var(--vc-font-mono); font-size: var(--fs-12); font-weight: var(--fw-medium); line-height: 1.2; letter-spacing: var(--ls-overline); text-transform: uppercase; color: var(--text-accent) }
.vc-data { font-family: var(--vc-font-mono); font-weight: var(--fw-medium); letter-spacing: var(--ls-mono); font-variant-numeric: tabular-nums; color: var(--text-heading) }
.vc-quote { font-family: var(--vc-font-display); font-size: var(--fs-24); font-weight: var(--fw-medium); line-height: 1.45; letter-spacing: -0.01em; color: var(--text-heading); max-width: 46ch }
