/* Shared typography and section rhythm for all sixteen service pages.
   Loaded after page styles so old inline typography cannot split the design. */
@layer service-unification {
body.unified-service {
  --font-heading: 'Plus Jakarta Sans', Arial, sans-serif;
  --font-body: 'Plus Jakarta Sans', Arial, sans-serif;
  --service-font: 'Plus Jakarta Sans', Arial, sans-serif;
  --service-section-space: clamp(48px, 6vw, 80px);
  --service-container-width: 1200px;
  font-family: var(--service-font) !important;
}
body.unified-service :is(h1,h2,h3,h4,h5,h6,p,a,button,input,textarea,select,label,li,strong,b,em,small,summary,figcaption,blockquote),
body.unified-service :is(div,span):not([class*="fa-"]):not(.fas):not(.far):not(.fab):not(.fa) {
  font-family: var(--service-font) !important;
}
body.unified-service section {padding-block: var(--service-section-space) !important;scroll-margin-top:136px;}
body.unified-service section:first-of-type {
  padding-top: 164px !important;
}
body.unified-service section > :is(.container,.remaining-container) {
  width: min(var(--service-container-width), calc(100% - 64px)) !important;
  max-width: var(--service-container-width) !important;
  padding-inline: 0 !important;
  margin-inline: auto !important;
}
body.unified-service section :is(h1,h2,h3,h4,p,li) {overflow-wrap: break-word;}
body.unified-service section h1 {
  font-size: clamp(2.25rem, 3.6vw, 3.25rem) !important;
  line-height: 1.18 !important;
  font-weight: 800 !important;
  letter-spacing: -.035em !important;
}
body.unified-service section h2 {
  font-size: clamp(1.8rem, 2.6vw, 2.5rem) !important;
  line-height: 1.28 !important;
  font-weight: 800 !important;
  letter-spacing: -.025em !important;
}
body.unified-service section :is(h3,h4) {
  font-size: 1.2rem !important;
  line-height: 1.45 !important;
  font-weight: 700 !important;
  letter-spacing: -.01em !important;
}
body.unified-service section p {
  font-size: 1rem !important;
  line-height: 1.8 !important;
}
body.unified-service section li {line-height: 1.7 !important;}
body.unified-service section .remaining-tagline {
  font-size: 1.2rem !important;
  font-weight: 700 !important;
  line-height: 1.5 !important;
  letter-spacing: 0 !important;
}
body.unified-service section :is(.remaining-eyebrow,[class*="eyebrow"],.section-label) {
  font-size: .8rem !important;
  line-height: 1.5 !important;
  font-weight: 800 !important;
  letter-spacing: .1em !important;
}
body.unified-service section [class*="grid"] > *,
body.unified-service section [class*="split"] > * {min-width: 0;}
body.unified-service section .remaining-card {height:100%;}
body.unified-service section :is(h1,h2,h3,h4) :is(span,strong,em) {
  font-size: inherit !important;
  line-height: inherit !important;
  letter-spacing: inherit !important;
  white-space: normal !important;
}
body.unified-service section :is(.why-h2-line,.pb-cta-line-1,.pb-cta-line-2) {white-space:normal !important;}
@media(max-width:991px) {
  body.unified-service section:first-of-type {padding-top:144px !important;}
}
@media(max-width:600px) {
  body.unified-service section > :is(.container,.remaining-container) {
    width: calc(100% - 40px) !important;
  }
  body.unified-service section:first-of-type {padding-top:130px !important;}
  body.unified-service section h1 {font-size:2.25rem !important;}
  body.unified-service section h2 {font-size:1.8rem !important;}
  body.unified-service .local-banner-mockup-img {
    width:100% !important;max-width:100% !important;
    transform:none !important;margin-inline:0 !important;
    left:auto !important;right:auto !important;
    grid-column:1 / -1 !important;
  }
  body.unified-service .local-banner-visual-wrap {
    display:grid !important;grid-template-columns:minmax(0,1fr) !important;
    width:100% !important;gap:14px !important;
  }
  body.unified-service .local-banner-visual-wrap > .banner-float-pill {
    position:static !important;transform:none !important;
    width:100% !important;grid-column:1 / -1 !important;
  }
  body.unified-service .geo-3channels-row {
    display:grid !important;grid-template-columns:minmax(0,1fr) !important;
    width:100% !important;gap:16px !important;
  }
  body.unified-service .geo-channel-card {
    width:100% !important;min-width:0 !important;box-sizing:border-box;
  }
}
}
