.roofing_page__vi6XM{--brass-text:#6e5430}.roofing_page__vi6XM :is(h1,h2,h3){text-wrap:balance}.roofing_page__vi6XM :is(p,li,dd){overflow-wrap:break-word}.roofing_page__vi6XM section{scroll-margin-top:6rem}.roofing_page__vi6XM :is(a,button,summary):focus-visible{outline:2px solid var(--brass);outline-offset:3px}.roofing_page__vi6XM [class*=chapterLinks] a{min-height:44px}.roofing_page__vi6XM [class*=startChapterVisual] img{aspect-ratio:auto 3/2}.roofing_hero__PNbaH{position:relative;min-height:860px;overflow:hidden;background:var(--ivory);border-bottom:1px solid var(--line)}.roofing_hero__PNbaH>picture{position:absolute;inset:0;width:100%;height:100%}.roofing_hero__PNbaH>picture img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.roofing_hero__PNbaH:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#f5f3ee,hsla(43,26%,95%,.97) 28%,hsla(43,26%,95%,.65) 44%,transparent 62%);pointer-events:none}.roofing_hero__PNbaH>div{position:relative;z-index:1;padding-top:7rem;padding-bottom:4.5rem}.roofing_hero__PNbaH nav a{display:inline-flex;min-height:44px;align-items:center}.roofing_hero__PNbaH nav li{display:flex;align-items:center}.roofing_heroCopy__AYnc9{width:min(42rem,53%);padding-top:clamp(3rem,5vw,5rem)}.roofing_heroCopy__AYnc9 h1{max-width:14ch;font-size:clamp(3.1rem,5.1vw,5.15rem)}.roofing_heroCopy__AYnc9>p:first-child{margin-top:0;font-size:.72rem;letter-spacing:.14em}.roofing_heroCopy__AYnc9>p:not(:first-child){max-width:30rem}.roofing_muted__lo_Gp{color:var(--ink-soft)}.roofing_artwork__H2Stp{margin:0;min-width:0}.roofing_artwork__H2Stp :is(picture,img){display:block;width:100%}.roofing_artwork__H2Stp img{height:auto;border-radius:3px;border:1px solid rgba(16,20,23,.06)}.roofing_artwork__H2Stp figcaption,.roofing_proof__QD3E9 figcaption{margin-top:.8rem;color:var(--ink-soft);font-size:.7rem;line-height:1.65}.roofing_ownerQuestions__idVj1{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;margin-top:3rem;border-top:1px solid var(--line);padding-top:1.5rem}.roofing_ownerQuestions__idVj1 li{font-size:1rem;line-height:1.5}.roofing_ownerQuestions__idVj1 span{display:block;margin-bottom:.8rem;color:var(--cobalt);font-size:.65rem;letter-spacing:.13em}.roofing_detail__rUBXd{margin-top:2rem;border-block:1px solid var(--line)}.roofing_detail__rUBXd summary{display:flex;min-height:60px;align-items:center;justify-content:space-between;gap:1.5rem;padding:.9rem 0;font-size:.9rem;font-weight:550;list-style:none;cursor:pointer}.roofing_detail__rUBXd summary::-webkit-details-marker,.roofing_engine__LqYIP summary::-webkit-details-marker{display:none}.roofing_detail__rUBXd summary>span{flex:none;color:var(--cobalt);font-size:1.4rem;font-weight:400;transition:transform .18s ease}.roofing_detail__rUBXd[open] summary>span,.roofing_engine__LqYIP details[open] summary>span{transform:rotate(45deg)}.roofing_detail__rUBXd>div{max-width:65rem;padding:.5rem 0 1.75rem}.roofing_detail__rUBXd li,.roofing_detail__rUBXd p{color:var(--ink-soft);font-size:.9rem;line-height:1.8}.roofing_detail__rUBXd p+p{margin-top:.9rem}.roofing_detail__rUBXd ul{display:grid;grid-template-columns:1fr 1fr;gap:.8rem 3rem;padding-left:1.2rem;margin-bottom:1rem;list-style:disc}.roofing_detail__rUBXd a{display:inline-flex;min-height:44px;align-items:center;text-decoration:underline;text-underline-offset:4px}.roofing_page__vi6XM a:is([href^="tel:"],[href^="mailto:"]){display:inline-flex;min-height:44px;align-items:center}.roofing_detail__rUBXd h3{margin-block:2rem .7rem;font-size:1rem;font-weight:600}.roofing_editorialHeading__1v77p{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:1.5rem 5rem;align-items:end;margin-bottom:3.5rem}.roofing_editorialHeading__1v77p>p:first-child{grid-column:1/-1}.roofing_editorialHeading__1v77p h2,.roofing_editorialSplit__SQAIw h2{font-family:var(--font-fraunces),Georgia,serif;font-size:clamp(2.5rem,4.5vw,4.5rem);line-height:1.05;font-weight:500;letter-spacing:-.04em}.roofing_editorialHeading__1v77p>p:last-child{color:var(--ink-soft);font-size:1rem;line-height:1.75}.roofing_editorialSplit__SQAIw{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);align-items:center;gap:4rem}.roofing_editorialSplit__SQAIw h2{margin-top:1.2rem}.roofing_editorialSplit__SQAIw>div>p:not(:first-child){margin-top:1.4rem;color:var(--ink-soft);font-size:.98rem;line-height:1.8}.roofing_kicker__kQ88S{color:var(--brass-text);font-size:.67rem;font-weight:650;letter-spacing:.14em;text-transform:uppercase}.roofing_decision__QYmXn,.roofing_faq__3mdI6,.roofing_independent__ZgO7S,.roofing_investment__GQ9LD,.roofing_journeys__5_S2h,.roofing_local___7FMK,.roofing_proof__QD3E9{padding-block:clamp(5rem,8vw,8rem)}.roofing_journeys__5_S2h{background:var(--ivory)}.roofing_journeys__5_S2h .roofing_editorialHeading__1v77p h2{max-width:24ch}.roofing_journeyCopy__vTjQH{display:grid;grid-template-columns:1fr 1fr;gap:4rem;margin-top:2.5rem}.roofing_journeyCopy__vTjQH article{border-top:2px solid var(--cobalt);padding-top:1.2rem}.roofing_journeyCopy__vTjQH article:nth-child(2){border-color:var(--brass)}.roofing_journeyCopy__vTjQH h3{margin-top:.9rem;font-family:var(--font-fraunces),Georgia,serif;font-size:clamp(1.6rem,2.5vw,2.4rem);line-height:1.2;font-weight:500}.roofing_journeyCopy__vTjQH ol{display:flex;flex-wrap:wrap;gap:.55rem .8rem;margin-block:1.2rem;color:var(--navy);font-size:.72rem;line-height:1.7}.roofing_journeyCopy__vTjQH li:not(:last-child):after{content:"→";margin-left:.8rem;color:var(--cobalt)}.roofing_journeyCopy__vTjQH article>p:not(:first-child){color:var(--ink-soft);font-size:.94rem;line-height:1.8}.roofing_journeyCopy__vTjQH strong{display:block;margin-top:1rem;font-size:.87rem;font-weight:550;line-height:1.6}.roofing_researchInsight__n2Q0f{display:grid;grid-template-columns:1fr 1fr;gap:2rem 5rem;align-items:center;margin-top:3.5rem;border-top:1px solid var(--brass);padding-top:1.5rem}.roofing_researchInsight__n2Q0f strong{font-family:var(--font-fraunces),Georgia,serif;font-size:clamp(1.5rem,2.6vw,2.4rem);line-height:1.2;font-weight:500}.roofing_researchInsight__n2Q0f p{color:var(--ink-soft);font-size:.85rem;line-height:1.8}.roofing_searchColumns__jbqY_{display:grid;grid-template-columns:1fr 1fr;gap:4rem;margin-top:3.5rem}.roofing_searchColumns__jbqY_ h3{margin-top:.9rem;font-family:var(--font-fraunces),Georgia,serif;font-size:clamp(1.7rem,2.8vw,2.6rem);font-weight:500;letter-spacing:-.025em;line-height:1.1}.roofing_searchColumns__jbqY_ p:not(.roofing_kicker__kQ88S){margin-top:1.2rem;color:var(--ink-soft);font-size:.9rem;line-height:1.8}.roofing_searchColumns__jbqY_ blockquote{margin-top:1.2rem;padding:.5rem 0 .5rem 1.2rem;border-left:2px solid var(--cobalt);font-size:1rem;line-height:1.7}.roofing_serviceNames__b6nDi{display:flex;flex-wrap:wrap;gap:.6rem 1.3rem;margin-top:1.5rem;border-block:1px solid var(--line);padding-block:1rem;font-size:.83rem}.roofing_decision__QYmXn{background:var(--paper)}.roofing_questionList__yOPzm{display:grid;gap:.7rem;margin-top:1.6rem;border-top:1px solid var(--line);padding-top:1.2rem;font-size:.95rem}.roofing_questionList__yOPzm li{padding-block:.3rem}.roofing_editorialSplit__SQAIw .roofing_contentResult__pj7oV{color:var(--navy);font-weight:550}.roofing_priceStory__JHawb{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start;margin-top:3.5rem;border-top:1px solid var(--line);padding-top:2rem}.roofing_priceStory__JHawb h3{font-family:var(--font-fraunces),Georgia,serif;font-size:clamp(1.6rem,2.5vw,2.2rem);font-weight:500;line-height:1.2}.roofing_priceStory__JHawb p{color:var(--ink-soft);font-size:.94rem;line-height:1.8}.roofing_channelCopy__H7OZN{display:grid;grid-template-columns:1fr 1fr;gap:4rem;margin-top:3.5rem;border-top:1px solid hsla(43,26%,95%,.12);padding-top:1.8rem}.roofing_channelCopy__H7OZN h3{font-size:1.05rem;font-weight:550}.roofing_channelCopy__H7OZN p{margin-top:.8rem;color:hsla(43,26%,95%,.75);font-size:.94rem;line-height:1.8}.roofing_page__vi6XM section[id=roofing-paid-growth] :is(a,summary):focus-visible{outline-color:#f5f3ee}.roofing_page__vi6XM section[id=roofing-paid-growth] .roofing_detail__rUBXd{border-color:hsla(43,26%,95%,.12)}.roofing_page__vi6XM section[id=roofing-paid-growth] :is(.roofing_detail__rUBXd p,.roofing_detail__rUBXd li,figcaption){color:hsla(43,26%,95%,.75)}.roofing_page__vi6XM section[id=roofing-paid-growth] .roofing_detail__rUBXd summary>span{color:#f5f3ee}.roofing_callScenario__W_zsy{display:grid;grid-template-columns:1fr 1fr;gap:4rem;margin-top:3rem;border-top:1px solid var(--line);padding-top:1.8rem}.roofing_callScenario__W_zsy blockquote{max-width:28ch;margin-top:1rem;font-family:var(--font-fraunces),Georgia,serif;font-size:clamp(1.6rem,2.5vw,2.3rem);line-height:1.2;font-weight:480}.roofing_callScenario__W_zsy strong{font-size:1rem;line-height:1.6;font-weight:550}.roofing_callScenario__W_zsy div>p:not(.roofing_kicker__kQ88S){margin-top:.9rem;color:var(--ink-soft);font-size:.92rem;line-height:1.8}.roofing_safetyBoundary__uER2C{margin-top:2rem;border-left:2px solid var(--brass);padding:.5rem 0 .5rem 1.3rem}.roofing_safetyBoundary__uER2C strong{font-size:.95rem}.roofing_safetyBoundary__uER2C p{margin-top:.7rem;color:var(--ink-soft);font-size:.86rem;line-height:1.8}.roofing_jobJourney__DKNjU{display:grid;grid-template-columns:repeat(6,1fr);gap:1.5rem;margin-top:2.5rem}.roofing_jobJourney__DKNjU li{border-top:1px solid var(--cobalt);padding-top:.9rem}.roofing_jobJourney__DKNjU strong{display:block;color:var(--navy);font-family:var(--font-fraunces),Georgia,serif;font-size:1.3rem;font-weight:500}.roofing_jobJourney__DKNjU span{display:block;margin-top:.6rem;color:var(--ink-soft);font-size:.77rem;line-height:1.7}.roofing_measurement__gjXap{display:grid;grid-template-columns:1fr 2fr;gap:2rem;margin-top:2rem;border-top:1px solid #315fce50;padding-block:1.3rem}.roofing_measurement__gjXap>p{color:var(--cobalt);font-size:.65rem;letter-spacing:.12em;text-transform:uppercase;font-weight:600}.roofing_measurement__gjXap strong{font-size:.95rem;font-weight:550}.roofing_measurement__gjXap div p{margin-top:.6rem;color:var(--ink-soft);font-size:.79rem;line-height:1.8}.roofing_engine__LqYIP{display:grid;grid-template-columns:repeat(6,1fr);align-items:start;border-bottom:4px solid #b38b52;background:var(--navy);color:#f5f3ee}.roofing_engine__LqYIP details{min-width:0;padding:.65rem 1rem}.roofing_engine__LqYIP details+details{border-left:1px solid hsla(43,26%,95%,.12)}.roofing_engine__LqYIP summary{display:flex;min-height:52px;align-items:center;justify-content:space-between;gap:.5rem;font-size:.8rem;line-height:1.5;list-style:none;cursor:pointer}.roofing_engine__LqYIP summary span{color:#f5f3ee;transition:transform .18s ease}.roofing_engine__LqYIP details p{padding-bottom:1rem;color:hsla(43,26%,95%,.75);font-size:.78rem;line-height:1.7}.roofing_engine__LqYIP summary:focus-visible{outline-color:#f5f3ee}.roofing_platforms__7xb9e{margin-top:2rem}.roofing_platforms__7xb9e>p{color:var(--ink-soft);font-size:.75rem;line-height:1.8}.roofing_platforms__7xb9e ul{display:flex;flex-wrap:wrap;gap:.5rem;margin-block:.8rem 1rem}.roofing_platforms__7xb9e li{border:1px solid var(--line);border-radius:40px;padding:.45rem .8rem;color:var(--ink-soft);font-size:.72rem}.roofing_systemClosing__nfJbx{margin-top:2.2rem;font-family:var(--font-fraunces),Georgia,serif;font-size:clamp(1.4rem,2.5vw,2.1rem);font-weight:450;line-height:1.4}.roofing_independent__ZgO7S,.roofing_local___7FMK{background:var(--stone)}.roofing_proof__QD3E9{background:var(--paper)}.roofing_proof__QD3E9 figure{min-width:0;margin:0}.roofing_proof__QD3E9 img{display:block;width:100%;height:auto}.roofing_textLink__xPMRu{display:inline-flex;align-items:center;min-height:48px;gap:1.5rem;margin-top:1.5rem;border-bottom:1px solid var(--ink);font-size:.92rem}.roofing_textLink__xPMRu:hover{color:var(--cobalt)}.roofing_cities__aN2u5{display:grid;grid-template-columns:1fr 1fr;gap:.3rem 2rem}.roofing_cities__aN2u5 a{display:flex;min-height:60px;align-items:center;justify-content:space-between;gap:.75rem;border-bottom:1px solid var(--line);font-size:1rem}.roofing_cities__aN2u5 a:hover,.roofing_cities__aN2u5 span{color:var(--cobalt)}.roofing_investment__GQ9LD{background:var(--paper)}.roofing_faq__3mdI6{border-top:1px solid var(--line)}.roofing_faq__3mdI6 .roofing_editorialHeading__1v77p{display:block}.roofing_faq__3mdI6 .roofing_editorialHeading__1v77p h2{margin-top:1rem}.roofing_researchNote__XDovF{margin-top:3rem}.roofing_researchNote__XDovF>p:last-of-type{max-width:60rem;margin-top:.8rem;color:var(--ink-soft);font-size:.85rem;line-height:1.8}.roofing_researchNote__XDovF dl{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem 3rem;margin-top:1.5rem}.roofing_researchNote__XDovF dt{font-size:.88rem;font-weight:550}.roofing_researchNote__XDovF dd{margin-top:.4rem;color:var(--ink-soft);font-size:.8rem;line-height:1.8}@media(max-width:1100px){.roofing_heroCopy__AYnc9{width:60%}.roofing_editorialSplit__SQAIw{gap:2.5rem}.roofing_engine__LqYIP{grid-template-columns:repeat(3,1fr)}.roofing_engine__LqYIP details:nth-child(n+4){border-top:1px solid hsla(43,26%,95%,.12)}.roofing_engine__LqYIP details:nth-child(4){border-left:0}}@media(max-width:980px){.roofing_editorialHeading__1v77p,.roofing_editorialSplit__SQAIw{grid-template-columns:1fr;gap:2rem}.roofing_editorialHeading__1v77p{margin-bottom:2.5rem}.roofing_editorialHeading__1v77p>p:last-child{max-width:42rem}.roofing_editorialSplit__SQAIw h2{max-width:21ch}.roofing_jobJourney__DKNjU{grid-template-columns:repeat(3,1fr)}}@media(max-width:700px){.roofing_page__vi6XM [class*=startChapterVisual] img{aspect-ratio:auto var(--industry-mobile-ratio,4/5)}.roofing_hero__PNbaH{min-height:690px}.roofing_hero__PNbaH:after{background:hsla(43,26%,95%,.82)}.roofing_hero__PNbaH>div{padding-top:5.7rem;padding-bottom:2.5rem;width:100%}.roofing_heroCopy__AYnc9{width:100%;padding-top:2.3rem}.roofing_heroCopy__AYnc9 h1{max-width:14ch;font-size:clamp(2.7rem,10.8vw,4.3rem);line-height:1.02}.roofing_heroCopy__AYnc9>p:not(:first-child){font-size:1rem}.roofing_heroCopy__AYnc9>p:first-child{font-size:.66rem}.roofing_ownerQuestions__idVj1{grid-template-columns:1fr 1fr;gap:1.5rem}.roofing_callScenario__W_zsy,.roofing_channelCopy__H7OZN,.roofing_detail__rUBXd ul,.roofing_journeyCopy__vTjQH,.roofing_priceStory__JHawb,.roofing_researchInsight__n2Q0f,.roofing_researchNote__XDovF dl,.roofing_searchColumns__jbqY_{grid-template-columns:1fr;gap:1.5rem}.roofing_journeyCopy__vTjQH{gap:2.5rem}.roofing_callScenario__W_zsy,.roofing_channelCopy__H7OZN,.roofing_priceStory__JHawb,.roofing_researchInsight__n2Q0f,.roofing_searchColumns__jbqY_{margin-top:2rem}.roofing_searchColumns__jbqY_{gap:2.5rem}.roofing_jobJourney__DKNjU{grid-template-columns:1fr;gap:0;border-left:1px solid var(--cobalt);padding-left:1.2rem}.roofing_jobJourney__DKNjU li{border-top:0;padding-block:.5rem 1.1rem}.roofing_jobJourney__DKNjU span{margin-top:.35rem;font-size:.83rem}.roofing_measurement__gjXap{grid-template-columns:1fr;gap:.7rem}.roofing_engine__LqYIP{grid-template-columns:1fr}.roofing_engine__LqYIP details+details{border-left:0;border-top:1px solid hsla(43,26%,95%,.12)}.roofing_cities__aN2u5{gap:.3rem 1rem}.roofing_page__vi6XM :is(.roofing_detail__rUBXd a,.roofing_textLink__xPMRu){display:inline-flex;align-items:center;min-height:44px}}@media(prefers-reduced-motion:reduce){.roofing_page__vi6XM *,.roofing_page__vi6XM :after,.roofing_page__vi6XM :before{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.roofing_heroRule__piUJk{margin-top:1.6rem;width:9rem;height:1px;background:var(--cobalt)}.roofing_heroCopy__AYnc9 .roofing_subheadline__EL8Ms{font-weight:550}.roofing_heroCopy__AYnc9 .roofing_heroCaption__IZ6nF{margin-top:1rem;font-size:.72rem;line-height:1.5;color:var(--ink-soft)}.roofing_cmsMark__NfviW{margin-bottom:1.4rem}.roofing_ratingBadge__UIjTJ a{display:inline-flex;min-height:44px;align-items:center}.roofing_evidenceStats__7_YC5{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2.5rem;margin-top:2.5rem}.roofing_evidenceStats__7_YC5>div{border-top:1px solid var(--line);padding-top:1.4rem}.roofing_evidenceStats__7_YC5 dt{font-size:clamp(1.6rem,2.8vw,2.7rem);line-height:1.15;font-weight:550;letter-spacing:-.025em}.roofing_evidenceStats__7_YC5 dd{margin-top:1rem;font-size:.95rem;line-height:1.7;color:var(--ink-soft)}.roofing_evidenceFollowup__ulMmK{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);align-items:center;gap:4rem;margin-top:5rem}.roofing_evidenceFollowup__ulMmK h3{font-size:clamp(1.8rem,3.2vw,3rem);line-height:1.1;font-weight:550;letter-spacing:-.03em;margin-top:1.5rem}.roofing_evidenceFollowup__ulMmK p,.roofing_sectionNote__DUHQ_{margin-top:1.5rem;font-size:.95rem;line-height:1.8;color:var(--ink-soft)}.roofing_researchTable__RSFT4{overflow-x:auto;margin-top:2.5rem}.roofing_researchTable__RSFT4 table{width:100%;min-width:520px;border-collapse:collapse;font-size:.95rem}.roofing_researchTable__RSFT4 :is(th,td){text-align:left;padding:1rem;border-bottom:1px solid var(--line)}.roofing_researchTable__RSFT4 tbody th{font-weight:400}.roofing_researchTable__RSFT4 caption{caption-side:bottom;text-align:left;color:var(--ink-soft);padding-top:1rem;font-size:.78rem;line-height:1.65}.roofing_policySources__J7mQX{font-size:.8rem;line-height:1.8;color:var(--ink-soft);margin-top:1.6rem}.roofing_policySources__J7mQX a{display:inline-flex;min-height:44px;align-items:center;text-decoration:underline;text-underline-offset:4px;color:var(--ink)}.roofing_relatedTrades__utKqE{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem 2rem;margin-top:3rem;padding-top:1.5rem;border-top:1px solid var(--line)}.roofing_relatedTrades__utKqE p{width:100%;color:var(--ink-soft);font-size:.8rem}.roofing_relatedTrades__utKqE a{display:inline-flex;gap:1rem;min-height:44px;align-items:center;text-decoration:underline;text-underline-offset:5px}@media(max-width:980px){.roofing_evidenceFollowup__ulMmK{grid-template-columns:1fr;gap:2rem}}@media(max-width:700px){.roofing_evidenceStats__7_YC5{grid-template-columns:1fr;gap:1.5rem}.roofing_evidenceFollowup__ulMmK{margin-top:3rem}}