/* V37 — Sitewide section typography + heading proportion system */
:root{
  --section-title-size:clamp(2rem,3vw,3.15rem);
  --section-title-wide:clamp(2.15rem,3.25vw,3.35rem);
  --article-title-size:clamp(1.75rem,2.35vw,2.35rem);
}

/* Keep page heroes expressive; normalize content-section titles below them. */
.section h2,
.section-head h2,
.reviews-intro h2,
.intro-grid h2,
.project-grid h2,
.team-grid h2,
.areas-grid h2,
.cta-grid h2,
.faq-grid h2,
.final-grid h2,
.additional-box h2,
.project-overview-head h2,
.service-summary-section h2,
.estimate-intro-v27 h2{
  font-size:var(--section-title-size) !important;
  line-height:1.08 !important;
  letter-spacing:-.032em !important;
  max-width:760px;
  text-wrap:balance;
}

/* Standard two-column section headers: more room for the actual heading. */
.section-head{
  grid-template-columns:minmax(0,1.22fr) minmax(300px,.78fr) !important;
  gap:42px !important;
  align-items:end !important;
  margin-bottom:38px !important;
}
.section-head > div:first-child{min-width:0}
.section-head p{
  max-width:500px !important;
  font-size:1rem !important;
  line-height:1.6 !important;
}

/* Reviews had the most visible imbalance: title column was too narrow. */
.reviews-intro{
  grid-template-columns:minmax(0,1.28fr) minmax(300px,.72fr) !important;
  gap:42px !important;
  align-items:end !important;
  margin-bottom:32px !important;
}
.reviews-intro h2{
  max-width:720px !important;
  font-size:clamp(2.15rem,3.15vw,3.25rem) !important;
}
.reviews-intro p{
  max-width:470px !important;
  font-size:1rem !important;
  line-height:1.62 !important;
  justify-self:end;
}

/* Split sections should not look like another page hero. */
.split h2,
.intro-grid h2,
.team-grid h2,
.areas-grid h2,
.project-grid h2{
  max-width:680px !important;
}

/* Dark CTA / closing sections: strong but subordinate to the page hero. */
.cta-grid h2,
.final-grid h2,
.final-cta h2{
  font-size:clamp(2rem,2.8vw,3rem) !important;
  max-width:720px !important;
}

/* Long-form resource/article headings need a calmer reading scale. */
.prose h2,
.article-layout h2{
  font-size:var(--article-title-size) !important;
  line-height:1.16 !important;
  letter-spacing:-.025em !important;
  max-width:820px;
  text-wrap:balance;
}

/* Cards remain compact; don't let generic h2 rules inflate them. */
.card h2,
.hub-card h2,
.quote-head h2,
.review-head h2{
  font-size:clamp(1.18rem,1.55vw,1.4rem) !important;
  line-height:1.18 !important;
  letter-spacing:-.02em !important;
}

/* City/service and overview section titles: wider line measure, less forced wrapping. */
.wrap.section > h2,
.page > h2,
.project-category-head h2{
  max-width:820px !important;
  text-wrap:balance;
}

@media(max-width:1080px){
  .section-head,
  .reviews-intro{
    grid-template-columns:1fr !important;
    gap:18px !important;
    align-items:start !important;
  }
  .section-head p,
  .reviews-intro p{
    justify-self:start !important;
    max-width:680px !important;
  }
}

@media(max-width:760px){
  :root{
    --section-title-size:clamp(1.85rem,9vw,2.55rem);
    --article-title-size:clamp(1.55rem,7vw,2rem);
  }
  .section-head{margin-bottom:28px !important}
  .reviews-intro{margin-bottom:26px !important}
  .reviews-intro h2{font-size:var(--section-title-size) !important}
}
