/* ============================================================
   WingForce — Base layer
   Element defaults + typography helper classes built on the tokens.
   ============================================================ */

body {
  font-family: var(--font-body);
  font-size: var(--size-body);
  line-height: var(--lh-body);
  color: var(--text-body);
  background: var(--surface-page);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

a { color: var(--text-link); text-decoration: none; }
a:hover { color: var(--wf-blue-700); }

/* ---- Display & headings (Barlow) ---- */
.wf-display {
  font-family: var(--font-display);
  font-weight: var(--weight-black);
  font-size: var(--size-display);
  line-height: var(--lh-display);
  letter-spacing: var(--tracking-display);
  color: var(--text-strong);
}
.wf-h1 {
  font-family: var(--font-display);
  font-weight: var(--weight-extrabold);
  font-size: var(--size-h1);
  line-height: var(--lh-h1);
  letter-spacing: var(--tracking-display);
  color: var(--text-strong);
}
.wf-h2 {
  font-family: var(--font-display);
  font-weight: var(--weight-bold);
  font-size: var(--size-h2);
  line-height: var(--lh-h2);
  color: var(--text-strong);
}
.wf-h3 {
  font-family: var(--font-display);
  font-weight: var(--weight-semibold);
  font-size: var(--size-h3);
  line-height: var(--lh-h3);
  color: var(--text-strong);
}
.wf-h4 {
  font-family: var(--font-display);
  font-weight: var(--weight-semibold);
  font-size: var(--size-h4);
  line-height: var(--lh-h4);
  color: var(--text-strong);
}

/* ---- Body (Inter) ---- */
.wf-body-lg { font-size: var(--size-body-lg); line-height: var(--lh-body); }
.wf-body { font-size: var(--size-body); line-height: var(--lh-body); }
.wf-body-strong { font-size: var(--size-body); line-height: var(--lh-body); font-weight: var(--weight-semibold); }
.wf-small { font-size: var(--size-small); line-height: var(--lh-small); }
.wf-caption { font-size: var(--size-caption); line-height: var(--lh-caption); font-weight: var(--weight-medium); }

/* ---- Label / all-caps ---- */
.wf-label {
  font-family: var(--font-body);
  font-size: var(--size-caption);
  font-weight: var(--weight-semibold);
  letter-spacing: var(--tracking-label);
  text-transform: uppercase;
  color: var(--text-muted);
}

/* ---- Technical / data (JetBrains Mono) ---- */
.wf-code {
  font-family: var(--font-mono);
  font-size: var(--size-code);
  line-height: var(--lh-body);
}
