/* ==========================================================================
   Typography — Plus Jakarta Sans (headings + body)
   Self-hosted in /assets/fonts/ as WOFF2 (plan §19). Drop the five .woff2 files
   in that folder; the stack falls back to system UI until they are present.
   Subset must include latin-ext — German umlauts and the ž/ć in the operator
   name live there, not in the basic latin range.
   ========================================================================== */

@font-face {
  font-family: "Plus Jakarta Sans"; font-style: normal; font-weight: 400; font-display: swap;
  src: url("/assets/fonts/plus-jakarta-sans-400.woff2") format("woff2");
}
@font-face {
  font-family: "Plus Jakarta Sans"; font-style: normal; font-weight: 500; font-display: swap;
  src: url("/assets/fonts/plus-jakarta-sans-500.woff2") format("woff2");
}
@font-face {
  font-family: "Plus Jakarta Sans"; font-style: normal; font-weight: 600; font-display: swap;
  src: url("/assets/fonts/plus-jakarta-sans-600.woff2") format("woff2");
}
@font-face {
  font-family: "Plus Jakarta Sans"; font-style: normal; font-weight: 700; font-display: swap;
  src: url("/assets/fonts/plus-jakarta-sans-700.woff2") format("woff2");
}
@font-face {
  font-family: "Plus Jakarta Sans"; font-style: normal; font-weight: 800; font-display: swap;
  src: url("/assets/fonts/plus-jakarta-sans-800.woff2") format("woff2");
}

body {
  font-family: var(--font-body);
  font-size: var(--fs-body);
  font-weight: var(--fw-regular);
  color: var(--color-text);
  letter-spacing: 0.005em;
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-heading);
  line-height: var(--lh-heading);
  color: var(--color-graphite);
  letter-spacing: -0.02em;
}

h1 { font-size: var(--fs-h1); font-weight: var(--fw-extra); line-height: var(--lh-tight); }
h2 { font-size: var(--fs-h2); font-weight: var(--fw-bold); }
h3 { font-size: var(--fs-h3); font-weight: var(--fw-bold); }
h4 { font-size: var(--fs-h4); font-weight: var(--fw-semibold); }

p { margin-block: 0; }
.lead { font-size: var(--fs-lead); color: var(--color-text-muted); line-height: 1.6; }

.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-family: var(--font-heading);
  font-size: var(--fs-eyebrow);
  font-weight: var(--fw-bold);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--color-primary);
}
.eyebrow::before {
  content: "";
  width: 22px; height: 2px;
  background: var(--color-primary);
  border-radius: 2px;
}
.eyebrow--light { color: #ffb98f; }
.eyebrow--light::before { background: var(--color-primary); }

.display { font-size: var(--fs-display); font-weight: var(--fw-extra); line-height: var(--lh-tight); }

strong, b { font-weight: var(--fw-semibold); }
