/* Reviewed source composition; existing Service Area Pages opt in individually. */
:is(.bc-source-service-area, .editor-styles-wrapper:has(.service-area-masthead)) .interior-body { width: 100%; max-width: none; margin: 0; padding: 0; }
:is(.bc-source-service-area, .editor-styles-wrapper:has(.service-area-masthead)) .interior-body > .wp-block-post-content > * { max-width: none; margin: 0; }
:is(.bc-source-service-area, .editor-styles-wrapper:has(.service-area-masthead)) .service-area-masthead { position: relative; isolation: isolate; min-height: 552px; padding: 120px 30px 80px; overflow: hidden; border-radius: 20px 20px 0 0; background: var(--bc-navy); color: var(--bc-white); }
:is(.bc-source-service-area, .editor-styles-wrapper:has(.service-area-masthead)) .service-area-masthead__image { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; object-fit: cover; }
:is(.bc-source-service-area, .editor-styles-wrapper:has(.service-area-masthead)) .service-area-masthead::before { content: ''; position: absolute; z-index: -1; inset: 0; background: rgba(25, 50, 60, .68); }
:is(.bc-source-service-area, .editor-styles-wrapper:has(.service-area-masthead)) .service-area-masthead > h2 { max-width: 900px; margin: 0 auto 40px; color: var(--bc-white); font-size: 52px; font-weight: 800; line-height: 1.12; text-transform: uppercase; }
:is(.bc-source-service-area, .editor-styles-wrapper:has(.service-area-masthead)) .service-area-masthead .trust-benefits__items { max-width: 900px; margin: auto; gap: 20px; }
:is(.bc-source-service-area, .editor-styles-wrapper:has(.service-area-masthead)) .service-area-masthead .trust-benefit { grid-template-columns: 114px minmax(0, 1fr); gap: 15px; align-items: start; }
:is(.bc-source-service-area, .editor-styles-wrapper:has(.service-area-masthead)) .service-area-masthead .trust-benefit__icon { width: 114px; height: 114px; }
:is(.bc-source-service-area, .editor-styles-wrapper:has(.service-area-masthead)) .service-area-masthead .trust-benefit__icon img { width: 55px; height: 55px; }
:is(.bc-source-service-area, .editor-styles-wrapper:has(.service-area-masthead)) .service-area-masthead h3 { margin: 0 0 6px; color: var(--bc-white); font-size: 18px; }
:is(.bc-source-service-area, .editor-styles-wrapper:has(.service-area-masthead)) .solution-finder { min-height: 333px; border-radius: 0; }
:is(.bc-source-service-area, .editor-styles-wrapper:has(.service-area-masthead)) .solution-finder::after { display: none; }
:is(.bc-source-service-area, .editor-styles-wrapper:has(.service-area-masthead)) .solution-finder .finder-inner { padding: 45px 0; }
:is(.bc-source-service-area, .editor-styles-wrapper:has(.service-area-masthead)) .solution-finder .bc-solution-finder-toggle { background: var(--bc-yellow) !important; color: var(--bc-ink) !important; }
:is(.bc-source-service-area, .editor-styles-wrapper:has(.service-area-masthead)) .site-breadcrumbs { background: var(--bc-white); }
:is(.bc-source-service-area, .editor-styles-wrapper:has(.service-area-masthead)) .service-area-introduction { width: min(calc(100% - 40px), 1300px); margin: 30px auto 55px !important; grid-template-columns: minmax(0, 1fr) 514px; gap: 30px; }
:is(.bc-source-service-area, .editor-styles-wrapper:has(.service-area-masthead)) .service-area-introduction h1 { margin: 10px 0 25px; font-size: 42px; line-height: 1.2; }
:is(.bc-source-service-area, .editor-styles-wrapper:has(.service-area-masthead)) .content-lead-form__body ul { padding-left: 35px; list-style: disc; }
:is(.bc-source-service-area, .editor-styles-wrapper:has(.service-area-masthead)) .content-lead-form__body li { padding-left: 0; }
:is(.bc-source-service-area, .editor-styles-wrapper:has(.service-area-masthead)) .content-lead-form__body li::before { content: none; }
:is(.bc-source-service-area, .editor-styles-wrapper:has(.service-area-masthead)) .estimate-card { border-top: 10px solid var(--bc-navy); border-radius: 20px 20px 0 0; }
:is(.bc-source-service-area, .bc-source-local-service, .editor-styles-wrapper:has(.service-area-masthead, .local-service-masthead)) .office-details { padding: 30px max(20px, calc((100% - 1300px) / 2)); grid-template-columns: minmax(0, 756fr) minmax(0, 514fr); gap: 30px; background: linear-gradient(rgba(25, 50, 60, .78), rgba(25, 50, 60, .78)), var(--bc-office-background) center / cover; color: var(--bc-white); }
:is(.bc-source-service-area, .bc-source-local-service, .editor-styles-wrapper:has(.service-area-masthead, .local-service-masthead)) .office-details h2, :is(.bc-source-service-area, .bc-source-local-service, .editor-styles-wrapper:has(.service-area-masthead, .local-service-masthead)) .office-details strong, :is(.bc-source-service-area, .bc-source-local-service, .editor-styles-wrapper:has(.service-area-masthead, .local-service-masthead)) .office-details a { color: var(--bc-white); }
:is(.bc-source-service-area, .bc-source-local-service, .editor-styles-wrapper:has(.service-area-masthead, .local-service-masthead)) .office-details__columns { grid-template-columns: 150px 1fr; }
:is(.bc-source-service-area, .bc-source-local-service, .editor-styles-wrapper:has(.service-area-masthead, .local-service-masthead)) .office-details__phone { margin: 0 0 35px; font-size: 16px; font-weight: 400; }
:is(.bc-source-service-area, .bc-source-local-service, .editor-styles-wrapper:has(.service-area-masthead, .local-service-masthead)) .office-details__reviews { padding: 30px; border-top: 1px solid var(--bc-white); border-radius: 20px; }
:is(.bc-source-service-area, .bc-source-local-service, .editor-styles-wrapper:has(.service-area-masthead, .local-service-masthead)) .office-details__map img { max-width: 492px; margin-left: auto; filter: none; }
:is(.bc-source-service-area, .editor-styles-wrapper:has(.service-area-masthead)) .interior-body > .wp-block-post-content > .interior-section { max-width: none !important; margin: 0 !important; padding: 40px max(20px, calc((100% - 1000px) / 2)); border-radius: 0; }
:is(.bc-source-service-area, .editor-styles-wrapper:has(.service-area-masthead)) .interior-section h2 { margin-top: 0; }
:is(.bc-source-service-area, .editor-styles-wrapper:has(.service-area-masthead)) .interior-section p:last-child { margin-bottom: 0; }
:is(.bc-source-service-area, .editor-styles-wrapper:has(.service-area-masthead)) .service-area-listing { padding: 40px max(30px, calc((100% - 1000px) / 2)); display: block; background: var(--bc-white); }
:is(.bc-source-service-area, .editor-styles-wrapper:has(.service-area-masthead)) .service-area-listing h2, :is(.bc-source-service-area, .editor-styles-wrapper:has(.service-area-masthead)) .service-area-listing a { color: var(--bc-ink); }
:is(.bc-source-service-area, .editor-styles-wrapper:has(.service-area-masthead)) .service-area-listing__kicker { margin-bottom: 25px; text-transform: uppercase; }
:is(.bc-source-service-area, .editor-styles-wrapper:has(.service-area-masthead)) .service-area-listing__kicker::after { content: ""; width: 110px; height: 7px; display: block; background: var(--bc-blue); }
:is(.bc-source-service-area, .editor-styles-wrapper:has(.service-area-masthead)) .service-area-listing a { text-decoration-color: var(--bc-yellow); }
:is(.bc-source-service-area, .editor-styles-wrapper:has(.service-area-masthead)) .related-services { padding: 30px 20px; background: var(--bc-yellow); }
:is(.bc-source-service-area, .editor-styles-wrapper:has(.service-area-masthead)) .related-services ul { max-width: 400px; margin: auto; grid-template-columns: repeat(3, minmax(0, 1fr)); }
:is(.bc-source-service-area, .editor-styles-wrapper:has(.service-area-masthead)) .related-services__icon { width: 75px; height: 75px; margin: 0 auto 10px; padding: 18px; display: grid; place-items: center; border-radius: 50%; background: var(--bc-light); color: var(--bc-ink); }
:is(.bc-source-service-area, .editor-styles-wrapper:has(.service-area-masthead)) .related-services__icon .bc-icon { width: 100%; height: 100%; }
:is(.bc-source-service-area, .editor-styles-wrapper:has(.service-area-masthead)) .related-services a { min-height: 0; padding: 0; border: 0; background: transparent; color: var(--bc-white); font-size: 16px; line-height: 20px; }
:is(.bc-source-service-area, .editor-styles-wrapper:has(.service-area-masthead)) .interior-body > .wp-block-post-content > .offer-listing { max-width: none; padding: 40px max(20px, calc((100% - 1300px) / 2)); background: var(--bc-blue); }
:is(.bc-source-service-area, .editor-styles-wrapper:has(.service-area-masthead)) .testimonials { padding: 40px max(20px, calc((100% - 1300px) / 2)); background: var(--bc-light); }
:is(.bc-source-service-area, .editor-styles-wrapper:has(.service-area-masthead)) .testimonials blockquote { border-top: 0; background: var(--bc-white); }
:is(.bc-source-service-area, .editor-styles-wrapper:has(.service-area-masthead)) .interior-body > .wp-block-post-content > .estimate-card { width: min(calc(100% - 40px), 1300px); margin: 30px auto !important; }

@media (max-width: 900px) {
  :is(.bc-source-service-area, .editor-styles-wrapper:has(.service-area-masthead)) .service-area-introduction { grid-template-columns: 1fr; }
}

@media (max-width: 767px) {
  :is(.bc-source-service-area, .editor-styles-wrapper:has(.service-area-masthead)) .service-area-masthead { padding: 80px 30px 60px; border-radius: 0; }
  :is(.bc-source-service-area, .editor-styles-wrapper:has(.service-area-masthead)) .service-area-masthead > h2 { margin-bottom: 40px; font-size: 26px; }
  :is(.bc-source-service-area, .editor-styles-wrapper:has(.service-area-masthead)) .service-area-masthead .trust-benefits__items { grid-template-columns: 1fr; gap: 30px; }
  :is(.bc-source-service-area, .editor-styles-wrapper:has(.service-area-masthead)) .solution-finder .finder-inner { padding: 30px 20px; }
  :is(.bc-source-service-area, .editor-styles-wrapper:has(.service-area-masthead)) .solution-finder { min-height: 0; }
  :is(.bc-source-service-area, .editor-styles-wrapper:has(.service-area-masthead)) .service-area-introduction { width: calc(100% - 60px); }
  :is(.bc-source-service-area, .editor-styles-wrapper:has(.service-area-masthead)) .service-area-introduction h1 { font-size: 32px; }
  :is(.bc-source-service-area, .editor-styles-wrapper:has(.service-area-masthead)) .interior-main h2 { font-size: 26px; line-height: 1.125; }
  :is(.bc-source-service-area, .editor-styles-wrapper:has(.service-area-masthead)) .interior-body > .wp-block-post-content > .interior-section { padding-inline: 30px; }
  :is(.bc-source-service-area, .editor-styles-wrapper:has(.service-area-masthead)) .interior-main p, :is(.bc-source-service-area, .editor-styles-wrapper:has(.service-area-masthead)) .interior-main ul, :is(.bc-source-service-area, .editor-styles-wrapper:has(.service-area-masthead)) .interior-main ol { font-size: 16px; line-height: 1.8; }
  :is(.bc-source-service-area, .editor-styles-wrapper:has(.service-area-masthead)) .content-lead-form__body ul { columns: 1; }
  :is(.bc-source-service-area, .bc-source-local-service, .editor-styles-wrapper:has(.service-area-masthead, .local-service-masthead)) .office-details { grid-template-columns: 1fr; padding: 40px 30px; }
  :is(.bc-source-service-area, .bc-source-local-service, .editor-styles-wrapper:has(.service-area-masthead, .local-service-masthead)) .office-details__map img { max-width: 100%; }
  :is(.bc-source-service-area, .bc-source-local-service, .editor-styles-wrapper:has(.service-area-masthead, .local-service-masthead)) .office-details__reviews { padding: 20px 0; }
  :is(.bc-source-service-area, .editor-styles-wrapper:has(.service-area-masthead)) .service-area-listing { grid-template-columns: 1fr; }
  :is(.bc-source-service-area, .editor-styles-wrapper:has(.service-area-masthead)) .service-area-listing ul { columns: 2; }
}

:is(.bc-source-service-area, .editor-styles-wrapper:has(.service-area-masthead)) .related-services ul:has(li:nth-child(4)) { max-width: 550px; grid-template-columns: repeat(4, minmax(0, 1fr)); }

@media (max-width: 767px) {
  :is(.bc-source-service-area, .editor-styles-wrapper:has(.service-area-masthead)) .related-services ul:has(li:nth-child(4)) { max-width: 300px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
