/* All service landings share the approved roofing design. Roofing itself keeps its existing styles. */
.service-page .roof-hero-heading{max-width:900px}
.service-page .roof-hero-heading h1{font-size:clamp(41px,4.6vw,64px);line-height:1.08;max-width:980px;margin-left:auto;margin-right:auto}
.service-page .roof-hero-heading p{max-width:690px;margin-left:auto;margin-right:auto;font-size:18px;line-height:1.8}
.service-page .roof-offer-photo{background:#edf3f7}
.service-page .roof-offer-photo img{width:100%;height:100%;inset:0;object-fit:contain;object-position:center;transform:none}
.service-page .roof-offer-copy h2{font-size:clamp(23px,2.3vw,34px);line-height:1.15}
.service-page .roof-offer-ribbon{font-size:12px;letter-spacing:.07em;line-height:1.6}
.service-page .roof-offer-saving.is-free>span{font-size:clamp(23px,2.7vw,37px)}
.service-page .roof-offer-saving:not(.is-free)>span{font-size:34px}
.service-page .roof-service-photo:not(.is-thumbnail){height:380px;background:#eef4f8;overflow:hidden;display:flex;align-items:center;justify-content:center}
.service-page .roof-service-photo:not(.is-thumbnail)>img{width:100%;height:100%;object-fit:contain}
.service-page .roof-service-photo.is-thumbnail{width:110px;height:76px;overflow:hidden;border-radius:7px;flex:0 0 110px;background:#edf3f8}
.service-page .roof-service-photo.is-thumbnail>img{width:100%;height:100%;object-fit:cover}
.service-page .roof-accordion-body h3{font-size:22px;color:#112e46;line-height:1.4;font-weight:800;margin:24px 0 12px}
.service-page .roof-accordion-body h4{font-size:19px;color:#142e43;line-height:1.4;font-weight:800;margin:23px 0 10px}
.service-page .roof-accordion-body :is(p,li){color:#263b4b;font-size:16px;line-height:1.85}
.service-page .roof-accordion-body :is(strong,b){color:#0b1720;font-weight:800}
.service-page .roof-intro-details{margin:24px 0 27px}
.service-page .roof-slider-controls{flex-wrap:wrap}
.service-page .roof-dots{flex-wrap:wrap;justify-content:center;max-width:74%;gap:9px}
.service-page .roof-dots button{min-width:12px;min-height:12px}
.service-page .roof-slide-stage{background:#eaf1f6}
.service-page .service-special-photo{min-height:450px;background:#e3edf4}
.service-page .service-special-photo>img{height:100%;width:100%;object-fit:contain;object-position:center;transform:none;inset:0}
.service-page .service-free-amount{flex-direction:column;align-items:flex-start;gap:9px;margin-bottom:21px}
.service-page .service-free-amount strong{font-size:77px}
.service-page .service-free-amount span{font-size:23px;letter-spacing:.02em}
.service-page .service-team-photo>img{height:100%;object-fit:contain;object-position:center;transform:none}
.service-page .roof-inquiry-context h2{font-size:clamp(32px,3.6vw,47px);line-height:1.13}
.service-inquiry .roof-options label{font-size:15px;line-height:1.5;min-height:63px}
.service-inquiry .roof-options label>span{flex:0 0 auto}
.service-page .roof-inquiry-large .roof-options{grid-template-columns:repeat(3,minmax(0,1fr))}
.service-page .roof-inquiry-large fieldset{min-width:0}
.service-page .roof-boroughs h3{font-size:23px}
.service-page .roof-boroughs p{font-size:14px;line-height:1.8}
.service-professional-note{max-width:960px;background:#eef5fa;border-left:4px solid #176e9f;padding:22px 25px;margin:32px 0 0}
.service-professional-note p{font-size:14px!important;line-height:1.85!important;color:#2d4352!important;margin:0}
.service-professional-note a{display:inline-flex;align-items:center;gap:13px;min-height:44px;margin-top:10px;font-size:13px;font-weight:800;color:#0b4e77}
.service-professional-note .roof-ui-icon{width:16px;height:16px}
@media(max-width:1000px){.service-page .roof-hero-heading h1{font-size:48px}.service-page .roof-services-section{grid-template-columns:1fr}.service-page .roof-services-section>div:first-child{position:static}.service-page .roof-inquiry-large .roof-options{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.service-page .roof-hero-heading h1{font-size:42px}.service-page .roof-hero-heading p{font-size:17px}.service-page .service-special-photo{min-height:0;aspect-ratio:1.45}.service-page .roof-boroughs p{font-size:13px}.service-page .roof-inquiry-large .roof-options{grid-template-columns:1fr 1fr}}
@media(max-width:600px){
 .service-page .roof-hero-heading h1{font-size:clamp(32px,8.8vw,39px);line-height:1.11;letter-spacing:-.04em;max-width:450px}
 .service-page .roof-hero-heading p{font-size:16px;line-height:1.75;max-width:360px}
 .service-page .roof-offer-controls>button[aria-label^="Next "]{grid-column:3;grid-row:1}
 .service-page .roof-offer-photo{height:205px}
 .service-page .roof-offer-copy h2{font-size:23px;line-height:1.2}
 .service-page .roof-offer-ribbon{font-size:10px;line-height:1.65;letter-spacing:.045em}
 .service-page .roof-offer-saving.is-free>strong{font-size:75px}
 .service-page .roof-offer-saving.is-free>span{font-size:24px;line-height:1.2;overflow-wrap:anywhere}
 .service-page .roof-offer-saving:not(.is-free)>strong{font-size:91px}
 .service-page .roof-offer-saving:not(.is-free)>span{font-size:28px}
 .service-page .roof-inquiry-context h2{font-size:32px}
 .service-page .roof-inquiry-context p{font-size:16px}
 .service-page .roof-service-photo.is-thumbnail{width:88px;height:65px;flex-basis:88px}
 .service-page .roof-service-photo:not(.is-thumbnail){height:310px}
 .service-page .roof-accordions summary{font-size:21px;line-height:1.3;gap:15px}
 .service-page .roof-accordion-body :is(p,li){font-size:16px;line-height:1.85}
 .service-page .roof-accordion-body h3{font-size:21px}.service-page .roof-accordion-body h4{font-size:18px}
 .service-page .roof-dots{max-width:65%;gap:8px}
 .service-page .roof-slider-controls button{min-width:36px;min-height:39px}
 .service-page .roof-slider-controls .roof-dots button{width:28px;height:40px;min-width:28px;min-height:40px;padding:0}
 .service-page .roof-slider-controls .roof-pause{font-size:11px;min-height:37px}
 .service-page .roof-inquiry-large .roof-options{grid-template-columns:1fr}
 .service-inquiry .roof-options label{font-size:15px;min-height:63px}
 .service-page .roof-special-amount.service-free-amount strong{font-size:72px}
 .service-page .roof-special-amount.service-free-amount span{font-size:23px}
 .service-page .roof-boroughs h3{font-size:21px}.service-page .roof-boroughs p{font-size:13px}
 .service-professional-note{padding:20px;margin-top:28px}.service-professional-note p{font-size:13px!important;line-height:1.85!important}
}
@media(max-width:360px){.service-page .roof-offer-saving.is-free>strong{font-size:65px}.service-page .roof-offer-saving:not(.is-free)>strong{font-size:79px}.service-page .roof-hero-heading h1{font-size:30px}.service-page .roof-accordions summary{font-size:19px;gap:12px}.service-page .roof-service-photo.is-thumbnail{width:75px;height:61px;flex-basis:75px}}
