/* James Woolford Design — unified service chapter headings + coverage removal v40 */

:root{
  --jw40-ink:#101010;
  --jw40-blue:#2458ff;
  --jw40-cream:#f3f1eb;
  --jw40-pale:#eef1fa;
  --jw40-muted:#615d56;
}

/* The regional coverage block was repeating the footer/areas navigation and
   visually breaking the service page. Keep it out of the service detail view. */
.service-detail-page .service-coverage{
  display:none!important;
}

/* -------------------------------------------------------------------------- */
/* One heading language for every service chapter.                            */
/* -------------------------------------------------------------------------- */
.service-detail-page .service-section-head,
.service-detail-page .service-process__intro{
  display:block!important;
  grid-template-columns:none!important;
  width:100%!important;
  max-width:none!important;
  margin:0 0 clamp(46px,5.4vw,78px)!important;
  padding:0 0 clamp(30px,3.6vw,48px)!important;
  border-bottom:1px solid currentColor!important;
  text-align:left!important;
}

/* Dark capabilities chapter. */
.service-detail-page .service-capabilities .service-section-head{
  color:rgba(255,255,255,.16)!important;
}
.service-detail-page .service-capabilities .service-section-head .section-kicker{
  display:block!important;
  margin:0 0 20px!important;
  color:#8da5ff!important;
  font-size:10px!important;
  font-weight:800!important;
  letter-spacing:.18em!important;
  text-transform:uppercase!important;
}
.service-detail-page .service-capabilities .service-section-head h2{
  display:block!important;
  grid-column:auto!important;
  max-width:none!important;
  margin:0!important;
  color:#fff!important;
  font-size:clamp(54px,5.35vw,86px)!important;
  line-height:.9!important;
  letter-spacing:-.07em!important;
  text-align:left!important;
  text-wrap:balance!important;
}

/* Light process chapter. */
.service-detail-page .service-process__intro{
  color:rgba(16,16,16,.14)!important;
}
.service-detail-page .jw-service-process-heading{
  width:100%!important;
  min-width:0!important;
}
.service-detail-page .jw-service-process-heading .section-kicker{
  display:block!important;
  margin:0 0 20px!important;
  color:var(--jw40-blue)!important;
  font-size:10px!important;
  font-weight:800!important;
  letter-spacing:.18em!important;
  text-transform:uppercase!important;
}
.service-detail-page .jw-service-process-heading h2{
  display:block!important;
  max-width:none!important;
  margin:0!important;
  color:var(--jw40-ink)!important;
  font-size:clamp(54px,5.35vw,86px)!important;
  line-height:.9!important;
  letter-spacing:-.07em!important;
  text-align:left!important;
  text-wrap:balance!important;
}
.service-detail-page .jw-service-process-summary{
  display:block!important;
  width:100%!important;
  max-width:62ch!important;
  margin:26px 0 0!important;
  padding:0!important;
  border:0!important;
  color:var(--jw40-muted)!important;
  font-size:clamp(16px,1.2vw,19px)!important;
  line-height:1.72!important;
  text-align:left!important;
}

/* Let the headings genuinely use the width on larger screens. */
@media(min-width:1100px){
  .service-detail-page .service-capabilities .service-section-head h2,
  .service-detail-page .jw-service-process-heading h2{
    white-space:nowrap!important;
  }
}

/* Keep the cards close enough to feel connected to the heading. */
.service-detail-page .service-capabilities__grid,
.service-detail-page .service-process__steps{
  margin-top:0!important;
}

/* Equal card rhythm after the larger headings. */
.service-detail-page .service-capabilities__grid article,
.service-detail-page .service-process__steps article{
  min-height:300px!important;
}
.service-detail-page .service-capabilities__grid h3,
.service-detail-page .service-process__steps h3{
  margin-top:auto!important;
}

/* -------------------------------------------------------------------------- */
/* Tablet and mobile: same editorial pattern, allowed to wrap naturally.      */
/* -------------------------------------------------------------------------- */
@media(max-width:1099px){
  .service-detail-page .service-capabilities .service-section-head h2,
  .service-detail-page .jw-service-process-heading h2{
    max-width:12ch!important;
    white-space:normal!important;
  }
}

@media(max-width:900px){
  .service-detail-page .service-section-head,
  .service-detail-page .service-process__intro{
    margin-bottom:34px!important;
    padding-bottom:26px!important;
  }

  .service-detail-page .service-capabilities .service-section-head h2,
  .service-detail-page .jw-service-process-heading h2{
    max-width:10ch!important;
    font-size:clamp(46px,12vw,66px)!important;
    line-height:.92!important;
  }

  .service-detail-page .jw-service-process-summary{
    max-width:40ch!important;
    margin-top:20px!important;
    font-size:15px!important;
  }
}

@media(max-width:560px){
  .service-detail-page .service-capabilities .service-section-head h2,
  .service-detail-page .jw-service-process-heading h2{
    max-width:9ch!important;
    font-size:clamp(42px,13vw,56px)!important;
  }
}
