/* ============================================================
   site-v41.css — Premium typography refinement (v2.1.0)
   Loaded LAST. Plus Jakarta Sans (headings) + Source Sans 3 (body),
   lighter weights, refined scale, executive colour palette.
   ============================================================ */

/* ── Font families ─────────────────────────────────────── */
html, body,
p, .body, .lede, .desc, li, td, th, span, a, label, input, select, textarea,
.btn, .main-nav a, .mobile-drawer nav a, .breadcrumb, .eyebrow, .tag,
.channels, .field label, .input-group label, .dash-table td, .toast {
  font-family: 'Source Sans 3', sans-serif !important;
}

h1, h2, h3, h4, h5, h6,
.display, .h1, .h2, .h3, .h4, .h5, .h6,
.card h3, .ind-card h4, .leader h3, .mv-card h3, .insight h3,
.contact-card h3, .legal-body h2, .cj-contact-success h3,
.brand-text .name, .hero-media-badge .num, .stats-band .num,
.page-hero .inline-stats .num, .card .num, .specimen .name {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
}

/* ── Colour palette ────────────────────────────────────── */
:root {
  --c-ink: #14213D;
  --c-blue: #4F8EDC;
  --c-muted: #6B7280;
}

h1, h2, h3, h4, h5, h6,
.display, .h1, .h2, .h3, .h4 { color: #14213D !important; }

body, p, .body, .lede, .desc { color: #6B7280 !important; }

/* Brand emphasis — colour, weight 500, non-italic */
.display em, .h1 em, .h2 em, em.accent {
  color: #4F8EDC !important;
  -webkit-text-fill-color: #4F8EDC !important;
  font-style: normal !important;
  font-weight: 500 !important;
  background: none !important;
}

/* ── Sizes + weights (refined hierarchy, lighter) ──────── */
.hero .h1, .page-hero .h1, .hero-text .h1, .jobs-hero-text h1 {
  font-size: clamp(24px, 2.5vw, 32px) !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
  letter-spacing: -0.01em !important;
}
.display.h2, .h2 {
  font-size: clamp(20px, 2vw, 24px) !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
}
h1, h2, h3, h4, h5, h6 { font-size: 17px !important; font-weight: 500 !important; line-height: 1.25 !important; }

/* Body */
body, p, .body, .desc { font-size: 15px !important; font-weight: 400 !important; line-height: 1.7 !important; }
.lede { font-size: 16px !important; font-weight: 400 !important; line-height: 1.7 !important; }

/* Buttons */
.btn { font-size: 14px !important; font-weight: 500 !important; }

/* Navigation */
.main-nav a, .mobile-drawer nav a { font-size: 15px !important; font-weight: 400 !important; }

/* Eyebrow / small labels */
.eyebrow, .mono, .tag { font-weight: 500 !important; }

/* Header brand tagline — reduce excessive tracking */
.brand-text .sub { letter-spacing: 0.08em !important; }

/* Keep heading weights in sync where earlier layers forced 700 */
.card h3, .ind-card h4, .leader h3, .mv-card h3, .insight h3,
.contact-card h3, .legal-body h2, .cj-contact-success h3 {
  font-weight: 500 !important;
}
