@font-face {
  font-family: "Neuton";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("./assets/fonts/neuton-bold-700.ttf") format("truetype");
}

@font-face {
  font-family: "Sentient";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("./assets/fonts/sentient-regular-400.woff2") format("woff2");
}

@font-face {
  font-family: "Sentient";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("./assets/fonts/sentient-medium-500.woff2") format("woff2");
}

:root {
  --serif: "Neuton", Georgia, "Times New Roman", serif;
  --sans: "Sentient", Georgia, "Times New Roman", serif;
  --font-body: var(--sans);
}

body {
  font-family: var(--sans);
  font-synthesis: style;
}

/* Use real Regular/Medium faces where older controls specified heavy weights.
   Font families remain inherited, preserving monospace codes and symbols. */
:where(body, body *) { font-weight: 400 !important; }
button, input, select, textarea { font-family: var(--sans); }
:where(button, .btn, .button, select, summary, label, legend, strong, b, th,
       .nav-button, nav a, [role="button"], .eyebrow, .badge, .tag,
       .school-tag, .nav-badge, .school-nav-group),
:where(button, .btn, .button, select, summary, label, legend, strong, b, th,
       .nav-button, nav a, [role="button"], .eyebrow, .badge, .tag,
       .school-tag, .nav-badge, .school-nav-group) * {
  font-weight: 500 !important;
}
input, textarea { font-weight: 400 !important; }
input:is([type="button"], [type="submit"], [type="reset"]) { font-weight: 500 !important; }

:is(h1, h2, h3, h4, h5, h6),
:is(h1, h2, h3, h4, h5, h6) *,
.institution-name, .brand strong, .brand .brand-name,
.score-orb strong, .module-card strong, .avatar, .summary-tile strong,
.payslip-totals strong, .kpi-target-card strong, .hr-case-card strong,
.school-product-price {
  font-family: var(--serif) !important;
  font-weight: 700 !important;
}

/* Financial previews retain the PDF's Helvetica presentation. */
.finance-sheet, .finance-sheet * {
  font-family: Helvetica, Arial, sans-serif !important;
  font-weight: 400 !important;
}
.finance-sheet :is(h1, h2, h3, h4, h5, h6, th, strong, b),
.finance-sheet-totals > div:last-child,
.finance-sheet-totals > div:last-child * {
  font-weight: 700 !important;
}
@media (max-width: 700px) {
  .finance-sheet-table td:nth-child(2) { font-weight: 700 !important; }
}

@media print {
  :root {
    --serif: Helvetica, Arial, sans-serif;
    --sans: Helvetica, Arial, sans-serif;
  }
}
