/* ──────────────────────────────────────────────
   Life Street — Global Heading System
   Single source of truth for all headlines.
   Include with: <link rel="stylesheet" href="assets/css/headings.css">
   ────────────────────────────────────────────── */

:root{
  --ls-heading-color: #58595B;
  --ls-heading-accent: #7EA411; /* lime / green */
  --ls-heading-font: 'Roboto', system-ui, -apple-system, Helvetica, Arial, sans-serif;
}

/* Base headline rhythm — applied to native h1–h4 AND any element using .ls-h1/.ls-h2/.ls-h3/.ls-h4 */
.ls-heading,
.ls-h1,
.ls-h2,
.ls-h3,
.ls-h4{
  font-family: var(--ls-heading-font);
  font-weight: 900;
  letter-spacing: -0.035em;
  line-height: 1.03;
  color: var(--ls-heading-color);
  margin: 0;
  text-wrap: balance;
}

.ls-h1{ font-size: clamp(2.8rem, 5.5vw, 6.2rem); }
.ls-h2{ font-size: clamp(2.2rem, 4.4vw, 4.4rem); line-height: 1.05; }
.ls-h3{ font-size: clamp(1.6rem, 2.6vw, 2.4rem); line-height: 1.1; letter-spacing: -0.03em; }
.ls-h4{ font-size: clamp(1.2rem, 1.6vw, 1.5rem); line-height: 1.2; letter-spacing: -0.02em; font-weight: 700; }

/* Accent treatment for highlighted words (use <em> inside) */
.ls-heading em,
.ls-h1 em,
.ls-h2 em,
.ls-h3 em,
.ls-h4 em{
  font-style: normal;
  color: var(--ls-heading-accent);
  font-weight: inherit;
}

/* Mobile tightening */
@media (max-width: 720px){
  .ls-h1{ font-size: clamp(2.2rem, 9vw, 3.4rem); letter-spacing: -0.025em; line-height: 1.05; }
  .ls-h2{ font-size: clamp(1.9rem, 7.5vw, 2.8rem); letter-spacing: -0.025em; }
  .ls-h3{ font-size: clamp(1.4rem, 5.5vw, 2rem); }
}

/* Legacy class bridges — existing pages keep working without rewrites.
   These map current class names onto the new system so the visual standard
   is enforced everywhere a heading appears. */
.h-head,
.hc-h1,
.vb-title,
.approach-h2,
.approach-h2--oneline,
.lwt-h2,
.vd-title,
.about-h2,
.team-h2,
.team-hero-h1,
.join-h2,
.tst-h2,
.tiles-h2,
.gap-h2,
.gap-copy h2,
.cred-h2,
.platform-h2,
.resources-h2,
.r-h1,
.r-grid-head h2,
.contact-h2,
.c-h1,
.paul-h2,
.wave-h,
.p-hero-h1,
.p-fresh-h2,
.p-programs-h2,
.p-diff-h2,
.p-prog-h3{
  font-family: var(--ls-heading-font) !important;
  font-weight: 900 !important;
  letter-spacing: -0.035em !important;
  line-height: 1.03 !important;
  color: var(--ls-heading-color) !important;
}

.h-head em,
.hc-h1 em,
.vb-title em,
.approach-h2 em,
.lwt-h2 em,
.vd-title em,
.about-h2 em,
.team-h2 em,
.team-hero-h1 em,
.join-h2 em,
.tst-h2 em,
.tiles-h2 em,
.gap-h2 em,
.gap-copy h2 em,
.cred-h2 em,
.platform-h2 em,
.resources-h2 em,
.r-h1 em,
.r-grid-head h2 em,
.contact-h2 em,
.c-h1 em,
.paul-h2 em,
.wave-h em,
.p-hero-h1 em,
.p-fresh-h2 em,
.p-programs-h2 em,
.p-diff-h2 em,
.p-prog-h3 em{
  font-style: normal;
  color: var(--ls-heading-accent) !important;
  font-weight: 900 !important;
}

/* "Built on experience/focus/passion" cycling hero (programs page) */
.hc-h1{
  color: var(--ls-heading-color) !important;
}
.hc-cycle{
  color: var(--ls-heading-accent) !important;
  font-weight: 900 !important;
}

/* ──────────────────────────────────────────────
   "Let's work together" CTA — site-wide standard
   ────────────────────────────────────────────── */

/* Remove the horizontal side rules around the headline (across all pages) */
.lwt-rule-l,
.lwt-rule-r{ display: none !important; }

/* Remove the "Available for new programs" status pill above the headline */
.lwt-status{ display: none !important; }

/* Standard headline treatment for the LWT block.
   Matches the canonical hero header — heavy weight, near-black, with green accent. */
.lwt-h2{
  font-family: var(--ls-heading-font) !important;
  font-weight: 900 !important;
  letter-spacing: -0.035em !important;
  line-height: 1.03 !important;
  color: var(--ls-heading-color) !important;
  font-size: clamp(2.8rem, 5.5vw, 6.2rem) !important;
}
.lwt-line{ padding-bottom: 0.12em !important; }
.lwt-soft{ color: var(--ls-heading-accent) !important; }
