.roofs-page{overflow:clip}.roofs-page section[id]{scroll-margin-top:110px}.roofs-hero{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch;gap:6%;margin-top:90px;padding-top:34px;padding-bottom:82px;display:grid}.roofs-hero-copy{align-self:center;padding-bottom:30px}.roofs-hero .service-breadcrumb{margin-bottom:70px}.roofs-hero .eyebrow{color:var(--petrol);margin-bottom:22px}.roofs-hero h1{letter-spacing:-.045em;animation:hero-enter 1s 80ms var(--ease) both;font-size:clamp(2.7rem,4.4vw,5rem);font-weight:400;line-height:1.1}.roofs-hero h1 span{color:var(--petrol)}.roofs-intro{color:#536158;max-width:440px;animation:hero-enter 1s .18s var(--ease) both;margin-top:30px;font-size:1rem;line-height:1.85}.roofs-actions{animation:hero-enter 1s .28s var(--ease) both;flex-direction:column;align-items:flex-start;gap:18px;margin-top:34px;display:flex}.roofs-primary{background:var(--petrol);color:#fff;border-radius:4px;justify-content:space-between;align-items:center;gap:30px;min-height:58px;padding:18px 23px;font-size:.9375rem;transition:background .2s;display:inline-flex}.roofs-primary:hover{background:#096b76}.roofs-primary svg,.roofs-related svg{transition:transform .35s var(--ease);flex-shrink:0}.roofs-primary:hover svg,.roofs-related a:hover svg{transform:translate(3px,-3px)}.roofs-primary:focus-visible{outline:2px solid var(--petrol);outline-offset:5px}.roofs-discover:focus-visible{outline:2px solid var(--petrol);outline-offset:5px}.roofs-related a:focus-visible{outline:2px solid var(--petrol);outline-offset:5px}.roofs-discover{color:#536158;align-items:center;gap:22px;min-height:44px;font-size:.875rem;display:inline-flex}.roofs-discover:hover{color:var(--petrol)}.roofs-hero-photo{aspect-ratio:3/4;background:#153f3b;width:100%;min-width:0;position:relative;overflow:hidden}.roofs-hero-photo img{object-fit:cover;object-position:69% 50%;width:100%;height:100%;transform:scale(1.07) translateY(var(--image-shift,0px));position:absolute;inset:0}.roofs-hero-photo:after{content:"";pointer-events:none;background:linear-gradient(#0000,#0b201ccc);position:absolute;inset:65% 0 0}.roofs-hero-photo figcaption{color:#fff;z-index:1;padding:26px;font-size:.875rem;line-height:1.6;position:absolute;bottom:0;left:0;right:0}.roofs-hero-photo figcaption span{display:block}.roofs-gallery{padding-bottom:85px}.roofs-gallery-heading{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:end;gap:6%;margin-bottom:32px;display:grid}.roofs-gallery-heading h2{letter-spacing:-.035em;font-size:clamp(2rem,3.2vw,3rem);font-weight:400;line-height:1.2}.roofs-gallery-heading h2 span{color:var(--petrol)}.roofs-gallery-heading p{color:#536158;max-width:450px;font-size:1rem;line-height:1.85}.roofs-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px;display:grid}.roofs-gallery-image{aspect-ratio:4/3;background:#153f3b;overflow:hidden}.roofs-gallery-image img{object-fit:cover;width:100%;height:100%}.roofs-gallery figcaption{border-bottom:1px solid #bccabe;flex-wrap:wrap;justify-content:space-between;gap:6px 15px;padding-block:18px;font-size:.875rem;line-height:1.6;display:flex}.roofs-specialties{color:#f2f6ef;background:#153f3b;padding-block:85px 90px}.roofs-specialties .eyebrow{color:#53d8d0}.roofs-specialties-heading h2,.roofs-study h2{letter-spacing:-.035em;margin-top:22px;font-size:clamp(2.1rem,3.2vw,3.5rem);font-weight:400;line-height:1.2}.roofs-specialties-heading h2>span{color:#d5e6aa}.roofs-situations{grid-template-columns:repeat(2,minmax(0,1fr));gap:45px 8%;margin-top:55px;display:grid}.roofs-situation{border-top:1px solid #6b918666;padding-top:25px}.roofs-situation-label{color:#53d8d0;align-items:center;gap:15px;font-size:.875rem;line-height:1.6;display:flex}.roofs-situation-label svg{flex:0 0 24px}.roofs-situation h3{letter-spacing:-.025em;margin-top:25px;font-size:clamp(1.5rem,2.2vw,2rem);font-weight:400;line-height:1.35}.roofs-situation-text{color:#cfddd3;max-width:510px;margin-top:15px;font-size:1rem;line-height:1.85}.roofs-study{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:9%;padding-block:100px 75px;display:grid}.roofs-study .eyebrow,.roofs-study h2>span{color:var(--petrol)}.roofs-study-intro>p:last-child{color:#536158;max-width:400px;margin-top:28px;font-size:1rem;line-height:1.85}.roofs-checks{margin:0;padding:0;list-style:none}.roofs-checks li{border-top:1px solid #bccabe;padding-block:28px}.roofs-checks li:first-child{padding-top:22px}.roofs-checks li:last-child{border-bottom:1px solid #bccabe}.roofs-checks h3{letter-spacing:-.025em;font-size:1.4rem;font-weight:400;line-height:1.4}.roofs-checks p{color:#536158;margin-top:12px;font-size:1rem;line-height:1.85}.roofs-questions{padding-top:40px;padding-bottom:70px}.roofs-questions .service-faq-list{min-width:0}.roofs-questions .commitment-trigger,.roofs-questions .commitment-description p{font-size:1rem}.roofs-related{grid-template-columns:repeat(2,minmax(0,1fr));gap:6%;padding-bottom:80px;display:grid}.roofs-related a{border-block:1px solid #bccabe;justify-content:space-between;align-items:center;gap:25px;padding-block:25px;display:flex}.roofs-related span{color:#536158;font-size:.875rem}.roofs-related h2{letter-spacing:-.02em;margin-top:12px;font-size:1.4rem;font-weight:400;line-height:1.4}.roofs-related svg,.roofs-related a:hover h2{color:var(--petrol)}@media (max-width:1050px){.roofs-hero{gap:5%}.roofs-hero h1{font-size:clamp(2.3rem,4.5vw,3rem)}.roofs-hero .service-breadcrumb{margin-bottom:45px}.roofs-study{gap:6%}}@media (max-width:760px){.roofs-hero{grid-template-columns:minmax(0,1fr);gap:32px;padding-bottom:50px}.roofs-hero-copy{padding-bottom:0}.roofs-hero .service-breadcrumb{margin-bottom:35px}.roofs-hero h1{font-size:clamp(2.5rem,8.7vw,4rem)}.roofs-intro{max-width:550px}.roofs-hero-photo{aspect-ratio:3/4;min-height:0}.roofs-hero-photo img{object-position:64% 50%}.roofs-specialties{padding-block:60px}.roofs-gallery{padding-bottom:55px}.roofs-gallery-heading,.roofs-gallery-grid{grid-template-columns:minmax(0,1fr);gap:25px}.roofs-situations{grid-template-columns:minmax(0,1fr);gap:32px;margin-top:38px}.roofs-situation h3{margin-top:18px}.roofs-study{grid-template-columns:minmax(0,1fr);gap:35px;padding-top:60px;padding-bottom:40px}.roofs-study-intro>p:last-child{max-width:none}.roofs-questions{padding-block:30px 45px}.roofs-related{grid-template-columns:minmax(0,1fr);gap:0;padding-bottom:55px}.roofs-related a+a{border-top:0}}@media (max-width:600px){.roofs-hero{margin-top:74px;padding-top:24px}.roofs-page section[id]{scroll-margin-top:92px}.roofs-hero-photo figcaption{padding:18px;font-size:.8125rem}.roofs-primary{gap:14px;width:100%;padding-inline:19px}.roofs-actions{align-items:stretch;gap:10px}.roofs-discover{justify-content:space-between}.roofs-specialties-heading h2,.roofs-study h2{font-size:clamp(1.9rem,7.3vw,2.5rem)}.roofs-hero .eyebrow,.roofs-specialties .eyebrow,.roofs-study .eyebrow{font-size:.75rem;line-height:1.7}}@media (prefers-reduced-motion:reduce){.roofs-hero h1,.roofs-intro,.roofs-actions{animation:none}.roofs-hero-photo img{transform:none}.roofs-primary,.roofs-primary svg,.roofs-related svg{transition:none}}
