/* ============================================================
   TYPOGRAPHY — Switzer variable font + base text styles
   Using the variable font = full weight range in one file.
   ============================================================ */

@font-face {
  font-family: "Switzer";
  src: url("../../assets/fonts/Switzer-Variable.woff2") format("woff2-variations");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Switzer";
  src: url("../../assets/fonts/Switzer-VariableItalic.woff2") format("woff2-variations");
  font-weight: 100 900;
  font-style: italic;
  font-display: swap;
}

/* ---- Base elements ------------------------------------- */
.h1 {
  font-size: var(--fs-h1);
  line-height: var(--lh-tight);
  letter-spacing: var(--tracking-tight);
  font-weight: 500;
}
.h2 {
  font-size: var(--fs-h2);
  line-height: var(--lh-tight);
  letter-spacing: var(--tracking-tight);
  font-weight: 500;
}
.h3 {
  font-size: var(--fs-h3);
  line-height: var(--lh-snug);
  font-weight: 500;
}

.display {
  font-size: var(--fs-display);
  line-height: var(--lh-tight);
  letter-spacing: var(--tracking-tight);
  font-weight: 500;
}

.lead {
  font-size: var(--fs-lead);
  line-height: var(--lh-body);
  color: var(--color-text-dim);
}

.body { color: var(--color-text-dim); }

/* Overline / eyebrow label used across sections */
.eyebrow {
  font-size: var(--fs-label);
  letter-spacing: var(--tracking-label);
  text-transform: uppercase;
  color: var(--color-text-mute);
  font-weight: 500;
}

.text-accent { color: var(--color-accent); }
.text-dim    { color: var(--color-text-dim); }
.text-mute   { color: var(--color-text-mute); }

/* Balanced headlines where supported */
.h1, .h2, .display { text-wrap: balance; }
p { text-wrap: pretty; }
