/* ============================================================
   site-v14.css — Global white background + typography split
   White everywhere (except footer). Poppins for headings,
   sans-serif for everything else.
   ============================================================ */

/* ── 1. White surfaces everywhere ─────────────────────── */
html, body,
.section, .practices, .industries-section, .insights,
.timeline-dark, .timeline-light, .triptych-dark, .why-connect,
.testimonial, .pull-quote, .stats-band, .brief-section, .logo-wall,
.hero, .page-hero, .cta-dark,
.dash-page, .dash-main, .dash-topbar,
.modal-body, .modal-foot, .modal-tabs,
.entry-card, .entry-employers, .entry-candidates, .entry-whatsapp,
.mv-card, .mv-mission, .mv-vision,
.brief-form,
.kpi, .dash-card, .card, .case-card, .leader, .insight, .ind-card,
.profile-card, .file-row, .empty-state,
.why-connect .item, .triptych-dark .item, .roster-group .label,
.logo-marquee .logo-tile, .logo-marquee .logo-tile.tile-img,
.logo-marquee .logo-tile.tile-stacked, .logo-marquee .logo-tile.tile-dark,
.jobs-filter, .jobs-search, .job-card,
.utility-bar, .site-header,
.sticky-cta, .toast,
body.dash-mode { background: #ffffff !important; }

/* Restore subtle borders so cards remain visible against white */
.card, .case-card, .leader, .insight, .ind-card, .kpi, .dash-card,
.entry-card, .entry-employers, .entry-candidates, .entry-whatsapp,
.mv-card, .why-connect .item, .triptych-dark .item, .roster-group .label,
.brief-form, .job-card, .logo-marquee .logo-tile,
.profile-card, .file-row {
  background: #ffffff !important;
  border: 1px solid rgba(20,33,61,0.08) !important;
  color: #14213D !important;
}
.entry-employers, .entry-employers h3, .entry-employers p, .entry-employers .tag {
  color: #14213D !important;
}
.entry-employers .btn { background: #4F8EDC !important; color: #fff !important; border-color: #4F8EDC !important; }
.entry-employers::after, .mv-vision::after { display: none !important; }
.mv-vision { color: #14213D !important; }
.mv-vision h3, .mv-vision .tag { color: #14213D !important; }

/* Hero & CTA — keep readable on white */
.hero { color: #14213D !important; }
.hero h1, .hero h2, .hero .h1, .hero .h2 { color: #14213D !important; }
.hero .lede, .hero p { color: #6B7280 !important; }
.hero::before, .hero::after { display: none !important; }
.hero-flank .label { color: #4F8EDC !important; }
.hero-flank .rule { background: #4F8EDC !important; }

.cta-dark { color: #14213D !important; border-top: 1px solid rgba(20,33,61,0.08) !important; }
.cta-dark::before { display: none !important; }
.cta-dark h2 { color: #14213D !important; }
.cta-dark p { color: #6B7280 !important; }
.cta-dark .eyebrow { color: #4F8EDC !important; }
.cta-dark .eyebrow::before { background: #4F8EDC !important; }
.cta-dark .btn.btn-primary { background: #4F8EDC !important; color: #fff !important; border-color: #4F8EDC !important; }
.cta-dark .btn.btn-ghost-light { color: #14213D !important; border-color: rgba(20,33,61,0.25) !important; }

/* Triptych / timeline-dark headlines stay dark on white */
.triptych-dark h2, .triptych-dark blockquote { color: #14213D !important; }
.triptych-dark cite { color: #4F8EDC !important; }
.timeline-dark h2, .timeline-dark h4 { color: #14213D !important; }
.timeline-dark .desc { color: #6B7280 !important; }

/* Stats band — white with subtle border */
.stats-band { border-top: 1px solid rgba(20,33,61,0.08) !important; border-bottom: 1px solid rgba(20,33,61,0.08) !important; }
.stats-band .num { color: #4F8EDC !important; }
.stats-band .lbl { color: #6B7280 !important; }

/* Header text */
.utility-bar { border-bottom: 1px solid rgba(20,33,61,0.08) !important; color: #6B7280 !important; }
.site-header { border-bottom: 1px solid rgba(20,33,61,0.08) !important; }
.brand-text .name { color: #14213D !important; }
.brand-text .sub  { color: #4F8EDC !important; }
.main-nav a { color: #14213D !important; }
.main-nav a.is-active { color: #4F8EDC !important; }
.header-cta .login-btn { color: #14213D !important; }
.user-chip { background: #f5f6f8 !important; color: #14213D !important; border-color: rgba(20,33,61,0.08) !important; }
.user-chip .avatar { background: #4F8EDC !important; color: #fff !important; }

/* Modal head: keep blue so the modal feels accented; body stays white */
.modal { background: #ffffff !important; }
.modal-body, .modal-foot { background: #ffffff !important; }
.modal-tabs { background: #ffffff !important; border-bottom: 1px solid rgba(20,33,61,0.08) !important; }
.modal-tab.is-active { background: #ffffff !important; }

/* Dashboard sidebar exception: keep dark for sidebar nav contrast */
.dash-sidebar { background: linear-gradient(180deg, #14213D 0%, #06101c 100%) !important; }
.dash-topbar { border-bottom: 1px solid rgba(20,33,61,0.08) !important; }

/* Logo tiles: clean white */
.logo-marquee .logo-tile.tile-dark { background: #ffffff !important; border: 1px solid rgba(20,33,61,0.08) !important; }
.logo-marquee .logo-tile.tile-dark img { filter: none !important; }

/* Pills/status badges keep tinted backgrounds (already RGBA over white) */

/* ── 2. Footer — untouched (uses its v13 blue) ────────── */
/* Intentionally no rules here so footer keeps its existing background. */

/* ── 3. Typography: Poppins for headings, sans-serif for the rest ── */
html, body {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif !important;
}

/* All non-heading elements default to sans-serif */
body, p, span, div, a, li, td, th, label, input, textarea, select, button,
.btn, .link, .lede, .body, .desc, .pill, .status-badge,
.eyebrow, .mono, .mono-gold, .modal-body .sub, .input-group .hint,
.brand-text .sub, .dash-table td, .field input, .field textarea, .field select,
.utility-bar, .main-nav a, .mobile-drawer nav a,
.kpi .lbl, .kpi .trend,
.case-card .desc, .leader p, .insight .body, .entry-card p,
.timeline-list p, .timeline-dark .desc, .principles .pr p,
.testimonial blockquote, .pull-quote blockquote, .triptych-dark blockquote,
cite, .who, .role,
.toast, .sticky-cta {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif !important;
}

/* Headings — Poppins everywhere */
h1, h2, h3, h4, h5, h6,
.display, .h1, .h2, .h3, .h4,
.brand-text .name, .modal-head .brand-row span,
.modal h2, .modal-head h2,
.dash-topbar h1, .dash-page-head h1,
.dash-card h3, .dash-card .head h3,
.card h3, .case-card h3, .leader h3, .insight h4,
.profile-name h2,
.ind-card h4, .kpi .num, .stats-band .num, .page-hero .inline-stats .num,
.entry-card h3, .mv-card h3, .timeline-list h3, .timeline-dark h4,
.principles .pr h4, .why-connect .item h4,
.site-footer h6, .site-footer .brand-block .name,
.specimen .name, .fn h4,
.logo-wall h2, .jobs-filter h4 {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  color: #14213D !important;
  font-weight: 600 !important;
  letter-spacing: -0.01em !important;
}

/* Heading sizes — kept compact per the v1.4 spec */
h1, h2, h3, h4, h5, h6 { font-size: 16px !important; }
.hero .h1, .page-hero .h1 { font-size: clamp(20px, 2.2vw, 26px) !important; font-weight: 700 !important; }
.display.h2 { font-size: clamp(17px, 1.8vw, 20px) !important; }
.display em { color: #4F8EDC !important; -webkit-text-fill-color: #4F8EDC !important; background: none !important; font-style: normal !important; font-weight: 700 !important; }

/* Body */
body, p, .body, .lede, .desc { font-size: 13px !important; font-weight: 400 !important; color: #6B7280 !important; line-height: 1.6 !important; }
.lede { font-size: 14px !important; }

/* Buttons */
.btn { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif !important; font-size: 13px !important; font-weight: 600 !important; text-transform: none !important; letter-spacing: 0 !important; }

/* Menu */
.main-nav a, .mobile-drawer nav a { font-size: 14px !important; font-weight: 500 !important; letter-spacing: 0 !important; }
