/* ==========================================================================
   Base — self-hosted fonts + element typography
   ========================================================================== */

/* --- Self-hosted fonts (latin subset, woff2) ---------------------------- */
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../assets/fonts/Inter-400.woff2") format("woff2");
}
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../assets/fonts/Inter-500.woff2") format("woff2");
}
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../assets/fonts/Inter-600.woff2") format("woff2");
}
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../assets/fonts/Inter-700.woff2") format("woff2");
}
@font-face {
  font-family: "Inter Tight";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../assets/fonts/InterTight-500.woff2") format("woff2");
}
@font-face {
  font-family: "Inter Tight";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../assets/fonts/InterTight-600.woff2") format("woff2");
}
@font-face {
  font-family: "Inter Tight";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../assets/fonts/InterTight-700.woff2") format("woff2");
}

/* --- Document ----------------------------------------------------------- */
body {
  font-family: var(--font-text);
  font-size: var(--fs-body);
  font-weight: var(--fw-regular);
  color: var(--text);
  background: var(--bg);
  font-feature-settings: "cv05" 1, "ss01" 1, "tnum" 0;
}

/* --- Headings ----------------------------------------------------------- */
h1, h2, h3, h4 {
  font-family: var(--font-display);
  font-weight: var(--fw-semibold);
  line-height: var(--lh-heading);
  letter-spacing: var(--tracking-tight);
  color: var(--text);
}

h1 { font-size: var(--fs-h1); line-height: var(--lh-display); letter-spacing: var(--tracking-display); }
h2 { font-size: var(--fs-h2); }
h3 { font-size: var(--fs-h3); }

/* --- Body copy ---------------------------------------------------------- */
p { color: var(--text-secondary); }

.lead {
  font-size: var(--fs-lead);
  line-height: 1.5;
  color: var(--steel-600);
  max-width: var(--measure);
}

strong { font-weight: var(--fw-semibold); color: var(--text); }

/* --- Links -------------------------------------------------------------- */
a { color: inherit; transition: color var(--dur) var(--ease-out); }

/* --- Selection on dark sections ----------------------------------------- */
.section--dark ::selection { background: var(--brass-500); color: var(--navy-900); }

/* --- Reduced transparency / contrast preferences ------------------------ */
@media (prefers-contrast: more) {
  :root { --text-secondary: var(--steel-600); --line: var(--line-strong); }
}
