:root {
  /* Font-size tokens — every literal px value used by the .text-* styles
     below, extracted from Figma. Edit here to change a size everywhere
     it's used instead of hunting through each class. */
  --font-size-10: 10px;
  --font-size-11: 11px;
  --font-size-12: 12px;
  --font-size-13: 13px;
  --font-size-14: 14px;
  --font-size-16: 16px;
  --font-size-17: 17px;
  --font-size-18: 18px;
  --font-size-20: 20px;
  --font-size-22: 22px;
  --font-size-24: 24px;
  --font-size-28: 28px;
  --font-size-32: 32px;
  --font-size-35: 35px;
  --font-size-40: 40px;
  --font-size-41: 41px;
  --font-size-48: 48px;
  --font-size-50: 50px;
  --font-size-52: 52px;
}

/* Mobile font sizes — same tokens, scaled down 20% (× 0.8).
   Desktop values above are untouched; this just overrides them
   below the project's mobile breakpoint. */
@media (max-width: 1400px) {
  :root {
    --font-size-10: 8px;
    --font-size-11: 8.8px;
    --font-size-12: 9.6px;
    --font-size-13: 10.4px;
    --font-size-14: 11.2px;
    --font-size-16: 12.8px;
    --font-size-17: 13.6px;
    --font-size-18: 14.4px;
    --font-size-20: 16px;
    --font-size-22: 17.6px;
    --font-size-24: 19.2px;
    --font-size-28: 22.4px;
    --font-size-32: 25.6px;
    --font-size-35: 28px;
    --font-size-40: 32px;
    --font-size-41: 32.8px;
    --font-size-48: 38.4px;
    --font-size-50: 40px;
    --font-size-52: 41.6px;
  }
}

body {
  font-family: var(--font-family-inter);
}

/* Named Figma text styles */

.text-label-medium-16-nav {
  font-family: var(--font-family-inter);
  font-weight: 500;
  font-size: var(--font-size-16);
  line-height: 20px;
  letter-spacing: 0;
}

.text-label-semibold-14-auto {
  font-family: var(--font-family-inter);
  font-weight: 600;
  font-size: var(--font-size-14);
  line-height: normal;
  letter-spacing: 0;
}

.text-mono-small-10-wide {
  font-family: var(--font-family-mono);
  font-weight: 400;
  font-size: var(--font-size-10);
  line-height: normal;
  letter-spacing: 0.5px;
}

.text-body-regular-14 {
  font-family: var(--font-family-inter);
  font-weight: 400;
  font-size: var(--font-size-14);
  line-height: normal;
  letter-spacing: 0;
}

.text-mono-label-11-auto {
  font-family: var(--font-family-mono);
  font-weight: 400;
  font-size: var(--font-size-11);
  line-height: normal;
  letter-spacing: 0;
}

/*
 * Ad-hoc treatments found in the frame that do not map to a named
 * Figma text style (no token exists for them at time of implementation).
 */

.text-label-medium-14 {
  font-family: var(--font-family-inter);
  font-weight: 500;
  font-size: var(--font-size-14);
  line-height: normal;
  letter-spacing: 0;
}

.text-heading-bold-35 {
  font-family: var(--font-family-inter);
  font-weight: 700;
  font-size: var(--font-size-35);
  line-height: normal;
  letter-spacing: 0;
}

.text-mono-caption {
  font-family: var(--font-family-mono);
  font-weight: 400;
  font-size: var(--font-size-11);
  line-height: normal;
  letter-spacing: 0.2px;
}

.text-mono-section-label {
  font-family: var(--font-family-mono);
  font-weight: 400;
  font-size: var(--font-size-11);
  line-height: normal;
  letter-spacing: 1.2px;
}

.text-mono-eyebrow-12 {
  font-family: var(--font-family-mono);
  font-weight: 400;
  font-size: var(--font-size-12);
  line-height: normal;
  letter-spacing: 1.2px;
}

.text-heading-bold-35-tight {
  font-family: var(--font-family-inter);
  font-weight: 700;
  font-size: var(--font-size-35);
  line-height: 51.2px;
  letter-spacing: 0;
}

.text-name-semibold-16 {
  font-family: var(--font-family-inter);
  font-weight: 600;
  font-size: var(--font-size-16);
  line-height: normal;
  letter-spacing: 0;
}

.text-body-regular-12 {
  font-family: var(--font-family-inter);
  font-weight: 400;
  font-size: var(--font-size-12);
  line-height: normal;
  letter-spacing: 0;
}

.text-mono-regular-12 {
  font-family: var(--font-family-mono);
  font-weight: 400;
  font-size: var(--font-size-12);
  line-height: normal;
  letter-spacing: 0;
}

.text-mono-medium-11 {
  font-family: var(--font-family-mono);
  font-weight: 500;
  font-size: var(--font-size-11);
  line-height: normal;
  letter-spacing: 0;
}

.text-body-regular-16-relaxed {
  font-family: var(--font-family-inter);
  font-weight: 400;
  font-size: var(--font-size-16);
  line-height: 26px;
  letter-spacing: 0;
}

.text-heading-bold-20 {
  font-family: var(--font-family-inter);
  font-weight: 700;
  font-size: var(--font-size-20);
  line-height: normal;
  letter-spacing: 0;
}

.text-body-regular-14-relaxed {
  font-family: var(--font-family-inter);
  font-weight: 400;
  font-size: var(--font-size-14);
  line-height: 22.75px;
  letter-spacing: 0;
}

.text-heading-bold-35-lh40 {
  font-family: var(--font-family-inter);
  font-weight: 700;
  font-size: var(--font-size-35);
  line-height: 40px;
  letter-spacing: 0;
}

.text-label-medium-12 {
  font-family: var(--font-family-inter);
  font-weight: 500;
  font-size: var(--font-size-12);
  line-height: normal;
  letter-spacing: 0;
}

.text-mono-11-tracking-06 {
  font-family: var(--font-family-mono);
  font-weight: 400;
  font-size: var(--font-size-11);
  line-height: normal;
  letter-spacing: 0.6px;
}

/*
 * Original design uses the "Carbona" type family (Bold/Light/Regular),
 * a commercial font not available via Google Fonts. Per product decision,
 * these fall back to Inter at the exact sizes/weights/tracking extracted
 * from Figma, rather than substituting a lookalike or blocking on font files.
 */

.text-hero-heading {
  font-family: var(--font-family-inter);
  font-weight: 700;
  font-size: var(--font-size-50);
  line-height: 1;
  letter-spacing: -0.96px;
}

.text-hero-subheading {
  font-family: var(--font-family-inter);
  font-weight: 300;
  font-size: var(--font-size-41);
  line-height: 1;
  letter-spacing: 0;
}

.text-hero-lead {
  font-family: var(--font-family-inter);
  font-weight: 700;
  font-size: var(--font-size-17);
  line-height: 26px;
  letter-spacing: 0;
}

.text-hero-body {
  font-family: var(--font-family-inter);
  font-weight: 400;
  font-size: var(--font-size-16);
  line-height: 26px;
  letter-spacing: 0;
}

.text-heading-bold-18 {
  font-family: var(--font-family-inter);
  font-weight: 700;
  font-size: var(--font-size-18);
  line-height: normal;
  letter-spacing: 0;
}

.text-heading-bold-24 {
  font-family: var(--font-family-inter);
  font-weight: 700;
  font-size: var(--font-size-24);
  line-height: normal;
  letter-spacing: 0;
}

.text-heading-bold-28 {
  font-family: var(--font-family-inter);
  font-weight: 700;
  font-size: var(--font-size-28);
  line-height: 1.2;
  letter-spacing: 0;
}

.text-heading-bold-35-lh120 {
  font-family: var(--font-family-inter);
  font-weight: 700;
  font-size: var(--font-size-35);
  line-height: 1.2;
  letter-spacing: 0;
}

.text-heading-bold-32 {
  font-family: var(--font-family-inter);
  font-weight: 700;
  font-size: var(--font-size-32);
  line-height: normal;
  letter-spacing: 0;
}

.text-heading-bold-52 {
  font-family: var(--font-family-inter);
  font-weight: 700;
  font-size: var(--font-size-52);
  line-height: 1;
  letter-spacing: 0;
}

.text-heading-bold-48 {
  font-family: var(--font-family-inter);
  font-weight: 700;
  font-size: var(--font-size-48);
  line-height: 1.1;
  letter-spacing: 0;
}

.text-mono-regular-14 {
  font-family: var(--font-family-mono);
  font-weight: 400;
  font-size: var(--font-size-14);
  line-height: normal;
  letter-spacing: 0;
}

.text-heading-bold-24-lh120 {
  font-family: var(--font-family-inter);
  font-weight: 700;
  font-size: var(--font-size-24);
  line-height: 1.2;
  letter-spacing: 0;
}

.text-mono-11-tracking-05 {
  font-family: var(--font-family-mono);
  font-weight: 400;
  font-size: var(--font-size-11);
  line-height: normal;
  letter-spacing: 0.5px;
}

.text-mono-regular-10 {
  font-family: var(--font-family-mono);
  font-weight: 400;
  font-size: var(--font-size-10);
  line-height: normal;
  letter-spacing: 0;
}

.text-mono-10-tracking-12 {
  font-family: var(--font-family-mono);
  font-weight: 400;
  font-size: var(--font-size-10);
  line-height: normal;
  letter-spacing: 1.2px;
}

.text-mono-13-auto {
  font-family: var(--font-family-mono);
  font-weight: 400;
  font-size: var(--font-size-13);
  line-height: normal;
  letter-spacing: 0;
}

.text-heading-bold-40-lh115 {
  font-family: var(--font-family-inter);
  font-weight: 700;
  font-size: var(--font-size-40);
  line-height: 1.15;
  letter-spacing: 0;
}

.text-heading-bold-22 {
  font-family: var(--font-family-inter);
  font-weight: 700;
  font-size: var(--font-size-22);
  line-height: normal;
  letter-spacing: 0;
}

.text-label-semibold-14-lh125 {
  font-family: var(--font-family-inter);
  font-weight: 600;
  font-size: var(--font-size-14);
  line-height: 1.25;
  letter-spacing: 0;
}

.text-heading-bold-20-lh24 {
  font-family: var(--font-family-inter);
  font-weight: 700;
  font-size: var(--font-size-20);
  line-height: 24px;
  letter-spacing: 0;
}

.text-mono-13-tracking-08 {
  font-family: var(--font-family-mono);
  font-weight: 400;
  font-size: var(--font-size-13);
  line-height: normal;
  letter-spacing: 0.8px;
}
