/* Shared service details. Colored heroes extend behind the floating header. */
.service-page--hero-background { --service-header-overlap: 80px; margin-top: calc(-1 * var(--service-header-overlap)); }
.service-hero { background: #fff; }
.service-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr);
  align-items: center;
  gap: clamp(32px, 4vw, 70px);
  padding-top: clamp(88px, 8vw, 128px);
  padding-bottom: clamp(100px, 9vw, 150px);
}
.service-hero .home-hero__content { max-width: none; padding: 0; text-align: left; }
.service-hero .home-kicker { margin: 0 0 28px; }
.service-hero h1 { margin: 0 0 25px; }
.service-hero h1 span { display: inline-block; margin: 0; padding-bottom: 4px; white-space: nowrap; }
.service-hero h1 span::after { right: 0; bottom: -2px; width: 96%; }
.service-hero .home-hero__lead { max-width: 550px; margin: 0 0 34px; }
.service-hero .home-hero__actions { justify-content: flex-start; }
.service-page__editor-content { margin-top: 48px; }

@media (max-width: 959px) {
  .service-page--hero-background { --service-header-overlap: 74px; }
  .service-hero__grid { grid-template-columns: 1fr; gap: 40px; padding-top: 82px; padding-bottom: 88px; }
  .service-hero .home-hero__content { max-width: 700px; }
}
@media (max-width: 639px) {
  .service-page--hero-background { --service-header-overlap: 70px; }
  .service-hero__grid { gap: 24px; padding-top: 64px; padding-bottom: 64px; }
  .service-hero .home-kicker { margin-bottom: 22px; }
  .service-hero h1 { margin-bottom: 22px; }
  .service-hero .home-hero__lead { margin-bottom: 25px; }
  .service-page__editor-content { margin-top: 32px; }
}
