/* ============================================================
   NEMPATHY — one type scale for every screen page.
   Loaded last so it wins. Print documents are excluded.
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=DM+Mono:wght@400;500&display=swap');

:root {
  --t-body:   17px;
  --t-lede:   18px;
  --t-h1:     34px;
  --t-card:   19px;
  --t-eyebrow:15px;
  --t-table:  16px;
  --t-small:  14px;
  --lh:       1.65;
}

/* ---------- base ---------- */
body {
  font-family: 'DM Sans', system-ui, -apple-system, sans-serif !important;
  font-size: var(--t-body) !important;
  line-height: var(--lh) !important;
}

p, li, a.card p, .insight-text, .detail-block p, .section-body, .note-text,
.finding p, .scoredesc, .event .et, .verdict p, .ba .bn {
  font-size: var(--t-body) !important;
  line-height: var(--lh) !important;
}

/* ---------- headings ---------- */
h1, .hero h1 {
  font-family: 'DM Sans', system-ui, sans-serif !important;
  font-size: var(--t-h1) !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  letter-spacing: -0.02em !important;
}

/* Section labels. On the newer pages these are <h2>; on the older ones
   they are .section-title / .eyebrow. One treatment for all of them. */
h2, .section-title, .eyebrow, .kc-t, .insight .ih, .ebitda-box .el, .verdict .vl {
  font-family: 'DM Sans', system-ui, sans-serif !important;
  font-size: var(--t-eyebrow) !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.09em !important;
  line-height: 1.4 !important;
}

h3, a.card h3, .card .ct, .phead .pt, .finding h4, .recovery-top h3 {
  font-family: 'DM Sans', system-ui, sans-serif !important;
  font-size: var(--t-card) !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
  letter-spacing: -0.01em !important;
}

/* ---------- supporting text ---------- */
.sub, .subtitle, .h2sub, .hero .lede, .lede, .section-sub, .flag {
  font-size: var(--t-lede) !important;
  line-height: var(--lh) !important;
}

.m-sub, .os, .assump, .eb-note, .srcs, .section-note, .fixture,
footer, .footer-brand, .footer-contact, .note {
  font-size: var(--t-small) !important;
  line-height: 1.6 !important;
}

/* ---------- data ---------- */
table { font-size: var(--t-table) !important; }
th { font-size: 13px !important; letter-spacing: 0.06em !important; text-transform: uppercase !important; }
td { font-size: var(--t-table) !important; padding: 15px 17px !important; }
.amount, .mono, .proof, .co-name, .co-cat { font-family: 'DM Mono', ui-monospace, monospace !important; }
.amount, .proof { font-size: 14.5px !important; }
.m-value, .ov, .scorebig { font-family: 'DM Sans', system-ui, sans-serif !important; }
.m-value, .ocard .ov { font-size: 38px !important; line-height: 1.05 !important; letter-spacing: -0.03em !important; }

/* ---------- controls ---------- */
label, .field label, .slider-label { font-size: 15.5px !important; font-weight: 500 !important; }
button, .btn, .action-btn, .action-pill { font-family: 'DM Sans', system-ui, sans-serif !important; font-size: 15px !important; }
.opt { font-size: 16px !important; line-height: 1.5 !important; }
.qt { font-size: 17.5px !important; line-height: 1.5 !important; }
.badge { font-size: 13px !important; }
.tabs a { font-size: 15px !important; }

/* ---------- narrow screens: one step down, uniformly ---------- */
@media (max-width: 640px) {
  :root { --t-body: 16px; --t-lede: 17px; --t-h1: 27px; --t-card: 17.5px; --t-table: 15.5px; }
  .m-value, .ocard .ov { font-size: 30px !important; }
  .scorebig { font-size: 70px !important; }
  td { padding: 12px 13px !important; }
}
