/* ==========================================================================
   TYPOGRAPHY — Lamborghini Design System
   Single-typeface discipline. ALL-CAPS display voice. Extreme scale range
   (120px → 10px). Weight 400 carries headlines. Tight line-heights at scale.
   ========================================================================== */

:root {
  /* --- Families ------------------------------------------------------- */
  --font-display: 'Archivo', 'Roboto', 'Helvetica Neue', Arial, sans-serif;
  --font-ui: 'Archivo', 'Roboto', 'Helvetica Neue', Arial, sans-serif;
  /* Display uses the Expanded cut where an authentic wide-grotesk feel helps */
  --font-display-expanded: 'Archivo Expanded', 'Archivo', Arial, sans-serif;

  /* --- 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 */
  --fw-black: 900;      /* @kind font */

  /* --- Type scale (size / line-height / tracking) --------------------- */
  --fs-hero: 7.50rem;      /* 120px */
  --lh-hero: 0.92;         /* @kind other */

  --fs-display-2: 5.00rem; /* 80px */
  --lh-display-2: 1.13;    /* @kind other */

  --fs-section: 3.38rem;   /* 54px */
  --lh-section: 1.19;      /* @kind other */

  --fs-subsection: 2.50rem;/* 40px */
  --lh-subsection: 1.15;   /* @kind other */

  --fs-feature: 1.69rem;   /* 27px */
  --lh-feature: 1.37;      /* @kind other */

  --fs-card-title: 1.50rem;/* 24px */

  --fs-body-lg: 1.13rem;   /* 18px */
  --lh-body-lg: 1.56;      /* @kind other */

  --fs-body: 1.00rem;      /* 16px */
  --lh-body: 1.50;         /* @kind other */

  --fs-button: 1.00rem;    /* 16px — gold CTA */
  --fs-button-std: 0.90rem;/* 14.4px — ghost */
  --fs-button-sm: 0.81rem; /* 13px */

  --fs-caption: 0.88rem;   /* 14px */
  --ls-caption: -0.42px;   /* negative tracking — technical, compressed */

  --fs-label: 0.75rem;     /* 12px */
  --ls-label: 0.96px;

  --fs-micro: 0.63rem;     /* 10px */
  --ls-micro: 0.225px;

  /* --- Semantic aliases ---------------------------------------------- */
  --text-transform-display: uppercase; /* @kind other */
}

/* ==========================================================================
   TYPE UTILITY CLASSES — optional helpers mirroring the scale
   ========================================================================== */
.lt-hero {
  font-family: var(--font-display);
  font-size: var(--fs-hero);
  line-height: var(--lh-hero);
  font-weight: var(--fw-regular);
  text-transform: uppercase;
  color: var(--text-heading);
}
.lt-display-2 {
  font-family: var(--font-display);
  font-size: var(--fs-display-2);
  line-height: var(--lh-display-2);
  font-weight: var(--fw-regular);
  text-transform: uppercase;
  color: var(--text-heading);
}
.lt-section {
  font-family: var(--font-display);
  font-size: var(--fs-section);
  line-height: var(--lh-section);
  font-weight: var(--fw-regular);
  text-transform: uppercase;
  color: var(--text-heading);
}
.lt-subsection {
  font-family: var(--font-display);
  font-size: var(--fs-subsection);
  line-height: var(--lh-subsection);
  font-weight: var(--fw-regular);
  text-transform: uppercase;
  color: var(--text-heading);
}
.lt-feature {
  font-family: var(--font-display);
  font-size: var(--fs-feature);
  line-height: var(--lh-feature);
  font-weight: var(--fw-regular);
  text-transform: uppercase;
  color: var(--text-heading);
}
.lt-body {
  font-family: var(--font-ui);
  font-size: var(--fs-body);
  line-height: var(--lh-body);
  font-weight: var(--fw-regular);
  color: var(--text-body);
}
.lt-label {
  font-family: var(--font-ui);
  font-size: var(--fs-label);
  line-height: 1.83;
  letter-spacing: var(--ls-label);
  font-weight: var(--fw-regular);
  text-transform: uppercase;
  color: var(--text-muted);
}
.lt-caption {
  font-family: var(--font-ui);
  font-size: var(--fs-caption);
  letter-spacing: var(--ls-caption);
  font-weight: var(--fw-semibold);
  text-transform: uppercase;
}
