:root{--paper:#f6f5f1;--background:#f6f5f1;--ink:#282c28;--foreground:#282c28;--orange:#a34732;--orange-light:#e8ad96;--primary:#a34732;--primary-foreground:#fff;--accent:#a34732;--secondary:#eeede7;--border:#d9dbd3;--muted-foreground:#656963}body,main,.content-site{background:var(--paper);color:var(--ink)}html{scroll-padding-top:100px}a,button{-webkit-tap-highlight-color:transparent}.site-header{background:var(--paper);width:100%;height:94px;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;border:0;border-bottom:1px solid #dedfd7;border-radius:0;grid-template-columns:auto 1fr auto;padding:0 max(4vw,50vw - 700px);position:relative;top:auto;left:auto;transform:none}.site-header .brand{padding:0}.site-header .brand b{font-size:1.2rem;font-weight:750}.site-header .brand small{color:#74776f;letter-spacing:.17em;margin-top:.35rem;font-size:.65rem}.site-header .brand-mark{background:#a34732;border:0;border-radius:0;width:38px;height:38px;transform:none}.site-header .brand-mark:before,.site-header .brand-mark:after,.site-header .brand-mark span{background:#fff;transform:none}.site-header .home-nav{gap:1.6rem}.site-header .header-call{color:#fff;box-shadow:none;background:#282c28;border-radius:3px;min-height:46px;padding:0 1.3rem}.site-header .header-call span,.site-header .header-call svg{color:#fff}.site-header .header-call:hover{background:#a34732}.site-header .nav>a,.site-header .mega-nav-item>summary{font-size:.9rem;font-weight:600}.editorial-hero{padding:0 max(4vw,50vw - 700px)}.editorial-intro{grid-template-columns:minmax(0,1.5fr) minmax(0,.8fr);align-items:end;gap:5%;padding:65px 0 46px;display:grid}.editorial-kicker{letter-spacing:.16em;color:#767a71;margin:0 0 1.7rem;font-size:.75rem;font-weight:650}.editorial-intro h1{font-family:var(--font-heading),sans-serif;letter-spacing:-.065em;margin:0;font-size:clamp(3rem,5.25vw,5.5rem);font-weight:500;line-height:1.08}.editorial-intro h1 em{color:#a34732;font-style:normal}.editorial-intro-copy{padding-bottom:.3rem}.editorial-intro-copy p{color:#656963;max-width:38ch;margin:0 0 1.4rem;font-size:1.07rem;line-height:1.7}.editorial-button{color:#fff;background:#a34732;border-radius:3px;align-items:center;gap:1.5rem;min-height:52px;padding:.9rem 1.3rem;font-size:.95rem;font-weight:650;display:inline-flex}.editorial-button:hover{background:#853723}.editorial-button svg{width:19px;height:19px}.editorial-intro-copy>span{color:#777b72;margin-top:.75rem;font-size:.8rem;display:block}.editorial-cover{background:#ddded6;border-radius:4px;height:clamp(340px,33vw,480px);margin:0;position:relative;overflow:hidden}.editorial-cover>img{object-fit:cover;object-position:50% 59%}.editorial-cover figcaption{background:#f6f5f1;border-top-left-radius:3px;width:320px;padding:1.6rem 1.8rem;position:absolute;bottom:0;right:0}.editorial-cover figcaption>span{letter-spacing:.1em;color:#7c8077;font-size:.65rem}.editorial-cover figcaption a{margin-top:.65rem;font-size:1.35rem;font-weight:500;line-height:1.5;display:block}.editorial-cover figcaption b{color:#a34732;align-items:center;gap:.8rem;margin-top:.4rem;font-size:.88rem;font-weight:600;display:flex}.editorial-cover figcaption svg{width:18px}.cover-index{color:#fff;letter-spacing:.15em;text-shadow:0 1px 6px #000;font-size:.7rem;position:absolute;bottom:1.8rem;left:1.8rem}.editorial-principles{color:#666b61;border-bottom:1px solid #dedfd7;justify-content:space-between;gap:1rem;padding:1.5rem 0;font-size:.88rem;display:flex}.editorial-principles span{align-items:center;gap:.7rem;display:flex}.editorial-principles svg{color:#a34732;width:16px}.section-pad,.replacement-focus{padding:85px max(4vw,50vw - 700px)}.section-heading .eyebrow,.eyebrow,.content-eyebrow{color:#a34732;letter-spacing:.13em;font-size:.75rem;font-weight:600}.section-heading .eyebrow span,.eyebrow span{display:none}.section-heading h2,.result-copy .section-heading h2,.scan-intro .section-heading h2,.replacement-focus-copy h2,.final-copy h2{letter-spacing:-.05em;font-size:clamp(2.1rem,3.5vw,3.5rem);font-weight:500;line-height:1.15}.section-heading>p:last-child{color:#656963;font-size:1.05rem}.button,.content-button,.next-button{box-shadow:none;border-radius:3px;font-weight:600}.button.primary,.content-button.primary,.form-submit,.next-button{color:#fff;background:#a34732;border-color:#a34732}.button.primary:hover,.content-button.primary:hover{color:#fff;background:#853723}.button.ghost-dark{color:#50564d;border-color:#cdd0c5}.replacement-focus{background:var(--paper)}.replacement-focus-copy{grid-template-columns:1.2fr 1fr;gap:0 8%;margin-bottom:2.5rem}.replacement-focus-copy h2{font-size:clamp(2.3rem,3.8vw,3.8rem)}.replacement-focus-copy h2 em{color:#92978a;font-style:normal;font-weight:500}.replacement-focus-copy>p:not(.eyebrow){color:#656963;font-size:1rem;line-height:1.7}.replacement-focus-copy .button{min-height:44px;padding:.7rem 1rem;font-size:.875rem}.replacement-route-grid{gap:1.3rem}.replacement-route-grid>a{min-height:0;box-shadow:none;color:var(--ink);background:0 0;border:0;border-radius:0;overflow:visible;animation:none!important;translate:none!important}.replacement-route-grid>a:hover{box-shadow:none}.route-photo-frame{aspect-ratio:1.24;background:#e1e2da;border-radius:3px;margin:0 0 1.3rem;position:relative;overflow:hidden}.route-photo-frame>span{background:var(--paper);color:#72786b;place-items:center;width:38px;height:35px;font-size:.75rem;display:grid;position:absolute;bottom:0;left:0}.replacement-route-copy{position:static}.replacement-route-copy h3{margin-bottom:.7rem;font-size:1.35rem;font-weight:600;line-height:1.2}.replacement-route-copy p{color:#74796f;font-size:.95rem;line-height:1.6}.replacement-route-copy b{color:#a34732;border-bottom:1px solid #d4d7cd;justify-content:space-between;padding:.2rem 0 1rem;font-size:.85rem;font-weight:600}.replacement-route-grid svg{color:#a34732}.result-section{background:#eaece5}.result-inner{grid-template-columns:.82fr 1.1fr;align-items:center;gap:8%}.result-copy .section-heading h2{max-width:12ch}.result-copy .detail-list{color:#52584e;grid-template-columns:1fr;gap:.65rem;margin:1.5rem 0 0;font-size:.95rem;display:grid}.detail-list svg{color:#a34732}.image-disclosure{color:#787e72;font-size:.8rem}.comparison{aspect-ratio:1.15;box-shadow:none;border:0;border-radius:3px}.comparison .tag{color:#282c28;background:#f6f5f1;border-radius:2px;padding:.5rem .85rem;font-size:.7rem}.comparison .tag.after{color:#fff;background:#a34732}.scan-section.section-pad{background:var(--paper);grid-template-columns:.85fr 1.15fr;gap:8%;padding-top:90px;padding-bottom:90px}.scan-shell{box-shadow:none;background:#fff;border:1px solid #d6d9cd;border-radius:4px}.scan-shell:before{display:none}.scan-top{color:#50574a;background:#eff0e9;border-radius:3px 3px 0 0}.scan-intro-visual{min-height:235px;box-shadow:none;border-radius:3px}.scan-intro-visual b{font-size:1.3rem;font-weight:500;line-height:1.3}.scan-intro-visual em{font-size:.75rem}.scan-intro-visual small{color:#e8ad96}.choice-grid button{border-radius:3px}.choice-grid button.selected{background:#f6eee8;border-color:#a34732}.choice-grid button.selected svg{color:#a34732}.problem-section{background:#eeefe9}.problem-layout{grid-template-columns:1fr 1fr;gap:7%}.issue-card{box-shadow:none;background:0 0;border:0;border-bottom:1px solid #d3d7ca;border-radius:0;padding:1.3rem 0}.issue-card:hover,.issue-card.active{background:0 0;border-color:#a34732;transform:none}.issue-card b{font-size:1rem}.issue-card small{color:#747b6c;font-size:.95rem}.issue-card>svg:first-child{color:#a34732}.photo-orbit{height:100%;min-height:390px}.photo-orbit-ring,.orbit-photo,.orbit-note{display:none}.orbit-main{width:100%;height:100%;box-shadow:none;border-radius:3px;margin:0;animation:none;position:absolute;inset:0;transform:none}.orbit-main img{animation:none}.orbit-main figcaption{color:var(--ink);box-shadow:none;background:#f6f5f1;border-radius:2px;transform:none}.orbit-main figcaption small{color:#a34732}.process{background:var(--paper)}.process-layout{grid-template-columns:1fr 1fr;gap:8%}.section-heading.light h2{color:var(--ink)}.section-heading.light>p:last-child{color:#656963}.section-heading.light .eyebrow{color:#a34732}.timeline:before{background:#d5d9cd}.timeline-step{grid-template-columns:48px 1fr;gap:1rem;padding-bottom:2rem}.timeline-step>svg{display:none}.timeline-step h3{font-size:1.15rem;font-weight:550}.timeline-step p{color:#74796d;font-size:1rem}.step-no{background:var(--paper);color:#a34732;font-size:.875rem}.work-photo-collage{height:470px;min-height:0}.work-photo-main{width:100%;height:100%;box-shadow:none;border-radius:3px;animation:none;inset:0;transform:none}.work-photo-main>img{animation:none}.work-photo-detail,.work-photo-result,.work-photo-note{display:none}.materials{background:#eaece5}.material-tabs{box-shadow:none;background:0 0;border-radius:3px;gap:.5rem}.material-tabs button{color:#747c6a;background:#f6f5f1;border-radius:2px;font-size:.9rem}.material-tabs button.active{color:#fff;background:#282c28;border-color:#282c28}.material-tabs button span{display:none}.material-photo-visual{box-shadow:none;border-radius:3px}.material-photo-visual>img{animation:none}.material-copy h3{font-size:2rem;font-weight:500}.material-copy dt,.material-copy dd,.material-note{font-size:1rem}.material-note{border-radius:3px}.roof-detail-disclosure{border-bottom:1px solid #d5d9cd;margin:0 max(4vw,50vw - 700px)}.roof-detail-disclosure>summary{cursor:pointer;justify-content:space-between;align-items:center;gap:1rem;padding:1.8rem 0;font-size:1.1rem;font-weight:550;display:flex}.roof-detail-disclosure>summary svg{width:18px}.roof-detail-disclosure[open]>summary svg{transform:rotate(180deg)}.roof-layers-section{background:var(--paper);padding:2rem 0 4rem}.cutaway-card{box-shadow:none;border-radius:3px}.seo-section{background:var(--paper);grid-template-columns:1.45fr 1fr;gap:8%}.seo-main h3{font-size:1.3rem;font-weight:600;line-height:1.35}.seo-main p{color:#74796d;font-size:1rem}.local-card{color:var(--ink);box-shadow:none;background:#eaece5;border:0;border-radius:3px;transform:none}.local-card h3{font-size:1.65rem;font-weight:550}.local-card p,.local-card small{color:#74796d}.neighborhoods span{background:0 0;border-color:#cfd4c7;border-radius:2px;font-size:.85rem}.faq-section{background:#f6f5f1;border-top:1px solid #d9dcd1}.faq-list{border-color:#cfd4c7}.final-cta{background:#eaece5;gap:8%}.final-copy h2{font-weight:500}.final-copy>p:not(.eyebrow),.contact-options span{color:#74796d}.final-cta .eyebrow{color:#a34732}.final-form{box-shadow:none;border:0;border-radius:4px}.final-form input,.final-form textarea{color:var(--ink);background:#f6f5f1;border-color:#d9dcd1;border-radius:3px}.final-form label,.final-form .consent span{color:#656c5c}.final-form .upload-field{background:#f6f5f1;border-color:#d5d9cd;border-radius:3px}.content-footer{background:#282c28;border-radius:0}.content-footer h2{font-weight:500;line-height:1.1}.content-footer .content-eyebrow{color:#e8ad96}.footer-primary-cta{color:#fff;background:#a34732;border-radius:3px}.footer-directory section{box-shadow:none;background:0 0;border-radius:0}.content-header{background:var(--paper);border-color:#d9dcd1}.content-hero,.hub-hero{background:var(--paper)}.content-hero h1,.hub-hero h1{font-weight:500}.content-hero-image,.hub-hero-visual,.content-card,.lead-panel{box-shadow:none;border-radius:3px}.content-eyebrow{color:#a34732}.content-header-cta{color:#fff;background:#282c28;border-radius:3px}.content-summary,.hub-hero-copy>p:not(.content-eyebrow),.breadcrumbs{color:#74796d}.reading-progress,.motion-ribbon,.flow-transition{display:none}[data-reveal],.reveal{opacity:1;animation:none;transform:none}:focus-visible{outline-color:#a34732}@media (max-width:1100px){.site-header{grid-template-columns:auto 1fr auto;padding:0 4vw}.site-header .menu-button{color:var(--ink);display:block}.site-header .header-call{justify-self:end;margin-left:auto}.site-header .home-nav{display:none}.site-header .home-nav.open{background:var(--paper);border:1px solid #d9dcd1;border-radius:0;flex-direction:column;align-items:stretch;padding:1.5rem 4vw;display:flex;position:absolute;top:100%;left:0;right:0;box-shadow:0 15px 20px #282c2810}.editorial-intro{gap:2rem}.editorial-intro h1{font-size:clamp(3rem,5.5vw,4.4rem)}.editorial-intro-copy p{font-size:1rem}.editorial-button{gap:.7rem;font-size:.875rem}.replacement-route-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:2.5rem 1.5rem}.scan-section.section-pad{grid-template-columns:1fr 1.2fr;gap:4%}}@media (max-width:800px){.site-header{height:78px}.editorial-intro{grid-template-columns:1fr;gap:1.5rem;padding:42px 0 30px}.editorial-intro h1{font-size:clamp(2.75rem,7.7vw,4.3rem)}.editorial-kicker{margin-bottom:1.1rem}.editorial-intro-copy p{max-width:54ch}.editorial-cover{height:380px}.editorial-principles{flex-wrap:wrap;justify-content:flex-start;gap:.7rem 1.5rem}.section-pad,.replacement-focus,.scan-section.section-pad{padding:60px 5vw}.replacement-focus-copy{grid-template-columns:1fr}.replacement-focus-copy h2{grid-row:auto;margin:0 0 1.4rem}.replacement-focus-copy .eyebrow{grid-column:auto}.result-inner,.scan-section.section-pad,.process-layout,.problem-layout,.material-panel,.seo-section,.faq-section,.final-cta{grid-template-columns:1fr;gap:2.5rem}.result-copy .section-heading h2{max-width:none}.photo-orbit{height:360px}.work-photo-collage{height:380px}.scan-intro-visual{display:none}.comparison{max-width:none}}@media (max-width:500px){.site-header .header-call{display:none}.site-header{grid-template-columns:1fr auto;padding:0 5vw}.editorial-hero{padding:0 5vw}.editorial-intro h1{font-size:2.7rem}.editorial-intro-copy>span{font-size:.75rem}.editorial-cover{height:360px}.editorial-cover>img{object-position:61% center}.editorial-cover figcaption{width:245px;padding:1.1rem 1.2rem}.editorial-cover figcaption>span{font-size:.55rem}.editorial-cover figcaption a{font-size:1.2rem}.cover-index{display:none}.editorial-principles{flex-direction:column;padding:1.2rem 0;font-size:.82rem}.replacement-route-grid{gap:2rem 1rem}.replacement-route-copy h3{font-size:1.1rem}.replacement-route-copy p{font-size:.9rem}.replacement-route-copy b{font-size:.8rem}.route-photo-frame{aspect-ratio:.95;margin-bottom:1rem}.material-tabs{grid-template-columns:repeat(2,1fr)}.material-tabs button b{font-size:.8rem}.comparison{aspect-ratio:1}.section-heading h2,.scan-intro .section-heading h2,.result-copy .section-heading h2{font-size:2.1rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}
:root{--ink:#1e2e4f;--foreground:#1e2e4f;--paper:#fff;--background:#fff;--orange:#f19e1f;--orange-light:#ffc875;--primary:#f19e1f;--primary-foreground:#1e2e4f;--accent:#f19e1f;--secondary:#f4f8ff;--border:#cfd8e8;--muted-foreground:#616a7e}body,main,.content-site{color:#1e2e4f;background:#fff}h1,h2,h3,h4{font-family:var(--font-heading),sans-serif}.site-header{background:#fff;border:0;max-width:1600px;height:100px;margin:auto;padding:0 4vw}.site-header .brand b{color:#1e2e4f;font-size:1.3rem}.site-header .brand small{color:#616a7e}.site-header .brand-mark{background:#f19e1f;border-radius:10px;transform:skew(-6deg)}.site-header .brand-mark:before,.site-header .brand-mark:after,.site-header .brand-mark span{background:#1e2e4f}.site-header .header-call{background:#f19e1f;border-radius:30px;padding:.9rem 1.4rem}.site-header .header-call span,.site-header .header-call svg{color:#1e2e4f}.site-header .header-call:hover{background:#ffc875}.site-header .nav>a,.site-header .mega-nav-item>summary{color:#1e2e4f}.rf-hero{isolation:isolate;color:#fff;background:#1e2e4f;border-radius:45px;min-height:730px;margin:0 24px;position:relative;overflow:hidden}.rf-hero-image{z-index:-3;object-fit:cover;object-position:center;animation:18s ease-in-out infinite alternate rf-kenburns}.rf-hero-overlay{z-index:-2;background:linear-gradient(90deg,#12223feb,#12223fa6 42%,#12223f0d 76%);position:absolute;inset:0}.rf-hero-copy{max-width:900px;padding:110px 4.5vw 115px}.rf-kicker{font-family:var(--font-body),sans-serif;letter-spacing:.13em;color:#f19e1f;margin:0 0 1.2rem;font-size:.85rem;font-weight:700}.rf-hero h1{letter-spacing:-.055em;max-width:850px;margin:0 0 1.7rem;font-size:clamp(3.5rem,6vw,6.7rem);font-weight:650;line-height:1.1}.rf-hero h1 em{color:#ffc875;font-style:normal}.rf-hero-copy>p:not(.rf-kicker){color:#e0e7f2;max-width:53ch;font-size:1.15rem;line-height:1.75}.rf-hero-actions{flex-wrap:wrap;gap:1rem;margin:2rem 0 1.7rem;display:flex}.rf-button{color:#1e2e4f;min-height:58px;transform-style:preserve-3d;background:#f19e1f;border:1px solid #0000;border-radius:35px;justify-content:space-between;align-items:center;gap:1.1rem;padding:.75rem .8rem .75rem 1.5rem;font-size:1rem;font-weight:700;transition:background .25s,box-shadow .25s;display:inline-flex;box-shadow:0 10px 28px #15223d12}.rf-button>svg{color:#fff;background:#1e2e4f;border-radius:50%;width:38px;height:38px;padding:10px;transition:rotate .3s,translate .3s}.rf-button:hover{background:#ffc875;box-shadow:0 16px 35px #15223d22}.rf-button:hover>svg{translate:2px -2px;rotate:-35deg}.rf-outline{color:#1e2e4f;background:#fff}.rf-outline:hover{background:#eaf1fc}.rf-explore{color:#e7edf7;border-bottom:1px solid #ffffff40;align-items:center;gap:.65rem;padding-bottom:.6rem;font-size:.92rem;display:inline-flex}.rf-explore svg{color:#ffc875;width:19px}.rf-floating{color:#1e2e4f;background:#fff;border-radius:18px;align-items:center;gap:1rem;padding:1.2rem 1.4rem;animation:6s ease-in-out infinite rf-float;display:flex;position:absolute;box-shadow:0 20px 55px #14243c35}.rf-floating>svg{color:#e0951e;width:38px;height:38px}.rf-floating span{font-size:.92rem;line-height:1.55}.rf-floating b{font-family:var(--font-heading),sans-serif;font-size:1rem}.rf-floating-one{top:14%;right:8%;rotate:5deg}.rf-floating-two{animation-delay:-2s;top:44%;right:3%;rotate:-5deg}.rf-floating-three{animation-delay:-4s;bottom:12%;right:15%;rotate:3deg}.rf-floating-three>svg:last-child{width:22px}.rf-scroll{letter-spacing:.1em;align-items:center;gap:.7rem;font-size:.72rem;display:flex;position:absolute;bottom:28px;left:4.5vw}.rf-scroll svg{width:23px;animation:2s ease-in-out infinite rf-bounce}.rf-service-strip{color:#616a7e;background:#fff;border-bottom:1px solid #e6ebf6;grid-template-columns:repeat(3,1fr) auto;align-items:center;gap:1rem;padding:35px 5vw;display:grid}.rf-service-strip span,.rf-service-strip a{align-items:center;gap:.7rem;font-size:.93rem;display:flex}.rf-service-strip svg{color:#d9911f;width:22px}.rf-service-strip a{color:#1e2e4f;font-weight:700}.section-pad,.replacement-focus{padding:90px 5vw}.section-heading h2,.result-copy .section-heading h2,.scan-intro .section-heading h2,.replacement-focus-copy h2,.final-copy h2{color:#1e2e4f;font-size:clamp(2.3rem,3.7vw,3.7rem);font-weight:650;line-height:1.17}.section-heading>p:last-child,.replacement-focus-copy>p:not(.eyebrow){color:#616a7e}.section-heading .eyebrow,.eyebrow,.content-eyebrow{color:#b8740d;letter-spacing:.06em;font-size:.85rem;font-weight:700}.result-section{background:#fff9ef}.result-inner{grid-template-columns:.9fr 1.1fr;gap:7%}.comparison{aspect-ratio:1.25;border-radius:30px;transition:transform .6s;transform:perspective(1500px)rotateY(-5deg);box-shadow:18px 18px #f7dba6,0 30px 70px #1e2e4f12}.comparison:hover,.comparison:focus-within{transform:perspective(1500px)rotateY(0)}.comparison .tag{color:#1e2e4f;background:#fff;border-radius:25px;padding:.6rem 1.1rem;font-size:.8rem}.comparison .tag.after{color:#1e2e4f;background:#f19e1f}.comparison .divider span{box-shadow:0 0 0 9px #ffffff30,0 8px 22px #142b4a30}.comparison-controls{flex-wrap:wrap;gap:.6rem;margin:1.8rem 0 1rem;display:flex}.comparison-controls button{color:#1e2e4f;cursor:pointer;background:#fff;border:1px solid #d8c6a6;border-radius:24px;padding:.7rem 1rem;font-size:.85rem}.comparison-controls button[aria-pressed=true]{color:#fff;background:#1e2e4f;border-color:#1e2e4f}.comparison-controls button:hover{border-color:#f19e1f}.rf-text-link{color:#1e2e4f;border-bottom:2px solid #f19e1f;align-items:center;gap:.6rem;padding-bottom:.45rem;font-size:1rem;font-weight:650;display:inline-flex}.rf-text-link svg{width:19px}.image-disclosure{color:#817765}.result-copy .detail-list{color:#616a7e}.detail-list svg{color:#d9911f}.roof-experience{color:#fff;background:radial-gradient(at 20% 55%,#314e75,#0000 65%),#1e2e4f;padding:90px 5vw;overflow:hidden}.experience-heading{text-align:center;max-width:820px;margin:auto auto 3rem}.experience-heading h2{margin:0 0 1.2rem;font-size:clamp(2.4rem,4vw,4rem);font-weight:650;line-height:1.15}.experience-heading h2 em{color:#ffc875;font-style:normal}.experience-heading>p:last-child{color:#bccadd;font-size:1.1rem;line-height:1.65}.experience-grid{grid-template-columns:1.2fr .8fr;align-items:center;gap:5%;max-width:1380px;margin:auto;display:grid}.roof-viewer{background:linear-gradient(145deg,#ffffff0c,#ffffff02);border:1px solid #ffffff25;border-radius:30px;min-width:0;padding:1.5rem;box-shadow:inset 0 1px #ffffff15,0 35px 70px #08162b20}.viewer-toolbar{justify-content:space-between;align-items:center;gap:1rem;display:flex}.viewer-toolbar span{color:#becbdf;letter-spacing:.08em;align-items:center;gap:.7rem;font-size:.73rem;display:flex}.viewer-toolbar svg{width:20px}.viewer-toolbar button{color:#fff;cursor:pointer;background:#ffffff0c;border:1px solid #ffffff25;border-radius:50%;place-items:center;width:38px;height:38px;display:grid}.roof-drag-stage{perspective:1100px;touch-action:pan-y;cursor:grab;-webkit-user-select:none;user-select:none;place-items:center;height:380px;display:grid}.roof-drag-stage:active{cursor:grabbing}.roof-model{width:260px;height:210px;transform-style:preserve-3d;position:relative}.roof-slab{transform-style:preserve-3d;border:1px solid #ffffff35;outline:2px solid #0000;transition:transform .75s cubic-bezier(.2,.7,.2,1),outline-color .4s;position:absolute;inset:0;box-shadow:0 0 0 1px #0b1b3420}.roof-slab.is-selected{outline:3px solid #ffc875}.roof-slab:before{content:"";background:inherit;filter:brightness(.7);transform-origin:top;height:14px;position:absolute;top:100%;left:0;right:0;transform:rotateX(-90deg)}.roof-slab:after{content:"";background:inherit;filter:brightness(.5);transform-origin:0;width:14px;position:absolute;top:0;bottom:0;left:100%;transform:rotateY(90deg)}.roof-slab span{font-family:var(--font-heading),sans-serif;color:#ffffffb0;font-size:1.5rem;font-weight:700;position:absolute;bottom:12px;right:14px}.slab-0{background-image:repeating-linear-gradient(90deg,#0000 0 64px,#fff2 64px 66px)}.slab-1{background-image:linear-gradient(90deg,#0000 49.5%,#b8851d 49.5% 50.5%,#0000 50.5%),linear-gradient(#0000 49.5%,#b8851d 49.5% 50.5%,#0000 50.5%)}.slab-3{background-image:repeating-linear-gradient(0deg,#0000 0 40px,#65452755 40px 42px)}.roof-ground{filter:blur(20px);background:#070f2540;border-radius:40%;position:absolute;inset:-30px;transform:translateZ(-25px)}.viewer-hint{color:#a9b9ce;justify-content:center;align-items:center;gap:.5rem;font-size:.83rem;display:flex}.viewer-hint svg{width:18px}.viewer-controls{flex-wrap:wrap;justify-content:center;gap:.7rem;margin:1rem 0;display:flex}.viewer-controls button{color:#fff;cursor:pointer;background:#ffffff0b;border:1px solid #ffffff30;border-radius:25px;justify-content:center;align-items:center;gap:.5rem;padding:.7rem 1rem;font-size:.85rem;display:flex}.viewer-controls svg{width:17px;height:17px}.viewer-controls button[aria-pressed=true]{color:#ffc875;border-color:#f19e1f}button:disabled{opacity:.5;cursor:not-allowed}.roof-angle{color:#a9b9ce;align-items:center;gap:1rem;font-size:.8rem;display:flex}.roof-angle input{accent-color:#f19e1f;cursor:ew-resize;width:100%}.layer-choice{color:#fff;text-align:left;cursor:pointer;background:#ffffff07;border:1px solid #ffffff25;border-radius:18px;align-items:center;gap:1rem;width:100%;margin-bottom:.75rem;padding:1.2rem;transition:translate .3s,background .3s;display:flex}.layer-choice>span{color:#ffc875;background:#ffffff0c;border-radius:50%;place-items:center;width:40px;height:40px;font-size:.85rem;display:grid}.layer-choice div{flex:1}.layer-choice b,.layer-choice small{display:block}.layer-choice b{font-family:var(--font-heading),sans-serif;font-size:1rem}.layer-choice small{color:#a9b9ce;margin-top:.3rem;font-size:.85rem}.layer-choice>svg{width:20px}.layer-choice.active{color:#1e2e4f;background:#f19e1f;border-color:#f19e1f;translate:8px;box-shadow:0 15px 30px #07152825}.layer-choice.active small,.layer-choice.active>span{color:#1e2e4f}.layer-description{min-height:130px;padding:1rem .3rem}.layer-description>b{color:#ffc875}.layer-description p{color:#b8c8dd;margin-top:.5rem;font-size:1rem;line-height:1.65}.roof-layer-selector>.rf-button{font-size:.9rem}.replacement-focus{background:#f4f8ff}.replacement-focus-copy h2 em{color:#db911c;font-weight:650}.replacement-route-grid{perspective:1400px;gap:1.5rem}.replacement-route-grid>a{transform-style:preserve-3d;background:#fff;border:1px solid #e3eaf5;border-radius:25px;padding:12px;overflow:hidden;box-shadow:0 14px 40px #1734560c}.route-photo-frame{border-radius:18px;margin:0}.route-photo-frame>span{color:#1e2e4f;background:#f19e1f;border-top-right-radius:16px;width:48px;height:42px;font-size:.85rem}.replacement-route-copy{padding:1.3rem .65rem .4rem}.replacement-route-copy h3{color:#1e2e4f;font-size:1.35rem}.replacement-route-copy p{color:#616a7e;font-size:1rem}.replacement-route-copy b{color:#1e2e4f;border-color:#e6ebf6;font-size:.88rem}.replacement-route-grid svg{color:#db911c}.button.primary,.content-button.primary,.next-button,.form-submit{color:#1e2e4f;background:#f19e1f;border-color:#f19e1f;border-radius:30px}.button.primary:hover,.content-button.primary:hover{color:#1e2e4f;background:#ffc875}.button.ghost-dark{color:#1e2e4f;border-color:#cfd8e8;border-radius:30px}.scan-section.section-pad{background:#fff}.scan-shell{border:1px solid #dfe7f5;border-radius:28px;box-shadow:0 25px 60px #1e2e4f0c}.scan-top{color:#fff;background:#1e2e4f;border-radius:27px 27px 0 0}.scan-top>span,.scan-top>b{color:#fff}.scan-intro-visual{border-radius:25px;display:block}.choice-grid button{border-radius:16px;transition:transform .25s,box-shadow .25s}.choice-grid button:hover{transform:translateY(-4px);box-shadow:0 8px 18px #1e2e4f12}.choice-grid button.selected{background:#fff4e3;border-color:#f19e1f}.choice-grid button.selected svg{color:#bf7810}.problem-section{background:#1e2e4f}.problem-section .section-heading h2,.problem-section .section-heading.light h2{color:#fff}.problem-section .section-heading>p:last-child{color:#bbc8df}.problem-section .section-heading .eyebrow{color:#ffc875}.issue-card{background:#ffffff05;border:1px solid #ffffff20;border-radius:18px;padding:1.2rem}.issue-card:hover,.issue-card.active{background:#ffffff0e;border-color:#f19e1f;transform:translate(6px)}.issue-card b{color:#fff}.issue-card small{color:#bbc8df}.issue-card>svg:first-child{color:#f19e1f}.photo-orbit{perspective:1100px;height:520px;min-height:520px}.orbit-main{border-radius:35px;width:84%;height:79%;animation:7s ease-in-out infinite rf-photo-float;inset:7% 8% 14%;transform:rotateY(-8deg)rotate(-3deg);box-shadow:0 30px 65px #07142640}.orbit-photo{border:6px solid #fff;border-radius:20px;width:145px;height:155px;animation:5s ease-in-out infinite rf-float;display:block;position:absolute;overflow:hidden;box-shadow:0 15px 40px #091a3540}.orbit-before{display:none}.orbit-after{animation-delay:-2s;top:auto;bottom:0;left:0;rotate:-9deg}.orbit-detail{inset:0 0 auto auto;rotate:9deg}.orbit-main figcaption{color:#1e2e4f;background:#fff;border-radius:15px}.orbit-main figcaption small{color:#b8740d}.process{background:#fff}.timeline-step>svg{color:#bf7810;background:#fff4e3;border-radius:12px;display:block}.timeline-step{grid-template-columns:45px 42px 1fr}.step-no{color:#b8740d;background:#fff}.timeline-step h3{color:#1e2e4f}.timeline-step p{color:#616a7e}.work-photo-collage{perspective:1200px;height:520px}.work-photo-main{border-radius:35px;width:88%;height:90%;animation:8s ease-in-out infinite rf-photo-float;inset:0 6% 8%;transform:rotateY(-6deg)}.work-photo-detail{border:6px solid #fff;border-radius:25px;width:190px;height:165px;animation:6s ease-in-out infinite rf-float;display:block;position:absolute;top:auto;bottom:0;left:-2%;rotate:-7deg;box-shadow:0 15px 35px #1e2e4f20}.materials{background:#fff4e3}.material-tabs button{background:#fff;border-radius:18px}.material-tabs button.active{background:#1e2e4f;border-color:#1e2e4f}.material-photo-visual{border-radius:30px;transition:transform .5s;transform:perspective(1100px)rotateY(5deg);box-shadow:15px 15px #f7dba6}.material-photo-visual:hover{transform:perspective(1100px)rotateY(0)}.material-note{border-radius:18px}.material-copy h3{color:#1e2e4f}.seo-section{background:#f4f8ff}.seo-main h3{color:#1e2e4f}.seo-main p{color:#616a7e}.local-card{background:#fff;border-radius:28px;box-shadow:0 20px 50px #1e2e4f0c}.local-card h3{color:#1e2e4f}.local-card p,.local-card small{color:#616a7e}.neighborhoods span{border-color:#cfd8e8;border-radius:20px}.faq-section{background:#fff;border:0}.faq-list{border-color:#cfd8e8}.final-cta{background:linear-gradient(115deg,#1e2e4f,#2d466e)}.final-copy h2{color:#fff}.final-cta .eyebrow{color:#ffc875}.final-copy>p:not(.eyebrow),.contact-options span{color:#bfccdf}.final-form{border-radius:28px;box-shadow:0 25px 70px #0b192d30}.final-form label,.final-form .consent span{color:#616a7e}.final-form input,.final-form textarea{background:#f4f8ff;border-color:#cfd8e8;border-radius:12px}.final-form .upload-field{background:#fff9ef;border-color:#f1cd91;border-radius:15px}.content-footer{background:#15223c}.footer-primary-cta{color:#1e2e4f;background:#f19e1f;border-radius:30px}.content-footer .content-eyebrow{color:#ffc875}.content-header{background:#fff}.content-header-cta{color:#1e2e4f;background:#f19e1f;border-radius:30px}.content-hero,.hub-hero{background:#f4f8ff}.content-hero h1,.hub-hero h1{color:#1e2e4f;font-weight:650}.content-hero-image,.hub-hero-visual,.content-card,.lead-panel{border-radius:28px}.content-summary,.hub-hero-copy>p:not(.content-eyebrow),.breadcrumbs{color:#616a7e}:root [data-tilt],:root [data-magnetic]{transform:perspective(1100px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));will-change:transform;transition:transform .2s,box-shadow .3s}:root [data-tilt]:hover{box-shadow:0 28px 60px #10274725}.motion-control{z-index:55;color:#1e2e4f;cursor:pointer;background:#fff;border:1px solid #cfd8e8;border-radius:30px;align-items:center;gap:.5rem;padding:.65rem .95rem;font-size:.75rem;display:flex;position:fixed;bottom:18px;left:18px;box-shadow:0 5px 20px #1e2e4f15}.motion-control svg{width:15px;height:15px}@keyframes rf-float{0%,to{translate:0}50%{translate:0 -15px}}@keyframes rf-bounce{0%,to{translate:0}50%{translate:0 6px}}@keyframes rf-photo-float{0%,to{transform:perspective(1100px)rotateY(-6deg)rotate(-2deg)translateY(0)}50%{transform:perspective(1100px)rotateY(3deg)rotate(1deg)translateY(-10px)}}@keyframes rf-kenburns{0%{transform:scale(1)}to{transform:scale(1.075)}}html[data-roof-motion=paused] *,html[data-roof-motion=paused] :before,html[data-roof-motion=paused] :after{animation-play-state:paused!important}html[data-roof-motion=paused] [data-tilt],html[data-roof-motion=paused] [data-magnetic]{transform:none!important}:focus-visible{outline-color:#d9911f}@media (min-width:1500px){.rf-hero-copy{width:900px;max-width:calc(100% - 10vw);margin-left:max(5vw,50% - 690px);padding:110px 0 115px}.rf-hero h1{max-width:100%}.rf-scroll{left:max(5vw,50% - 690px)}}@media (max-width:1150px){.rf-hero{min-height:680px}.rf-hero-copy{max-width:760px;padding-top:90px}.rf-hero h1{max-width:700px;font-size:4.5rem}.rf-hero-copy>p:not(.rf-kicker){max-width:43ch}.rf-floating-one{top:8%;right:4%;scale:.85}.rf-floating-two{top:46%;right:2%;scale:.85}.rf-floating-three{bottom:8%;right:6%;scale:.85}.rf-service-strip{grid-template-columns:1fr 1fr;gap:1.2rem}.site-header .home-nav.open{background:#fff;border-color:#cfd8e8}.experience-grid{grid-template-columns:1fr 1fr;gap:3%}.roof-model{width:220px;height:190px}}@media (max-width:850px){.rf-hero{border-radius:30px;min-height:770px;margin:0 14px}.rf-hero-copy{max-width:none;padding:65px 6vw 215px}.rf-hero h1{font-size:clamp(3rem,7.5vw,4.5rem)}.rf-hero-copy>p:not(.rf-kicker){max-width:50ch}.rf-hero-overlay{background:linear-gradient(90deg,#12223fea,#12223f80)}.rf-floating-one{transform-origin:0;inset:auto auto 70px 6%;scale:.85}.rf-floating-two{top:auto;bottom:65px;right:5%;scale:.85}.rf-floating-three{display:none}.rf-scroll{bottom:22px;left:6vw}.experience-grid{grid-template-columns:1fr;gap:2rem}.roof-viewer{width:100%;max-width:700px;margin:auto}.roof-model{width:260px;height:210px}.roof-layer-selector{width:100%;max-width:700px;margin:auto}.roof-experience{padding:65px 5vw}.result-inner{grid-template-columns:1fr;gap:2.5rem}.comparison{width:100%;max-width:650px;margin:auto}.photo-orbit{height:460px;min-height:460px}.motion-control{padding:.5rem .7rem;font-size:.7rem;bottom:78px}}@media (max-width:500px){.site-header{height:80px}.rf-hero{min-height:820px;margin:0 10px}.rf-hero-copy{padding:48px 6vw 215px}.rf-hero h1{font-size:2.95rem;line-height:1.12}.rf-kicker{font-size:.7rem}.rf-hero-copy>p:not(.rf-kicker){font-size:1.03rem}.rf-hero-actions{flex-direction:column;gap:.7rem;margin:1.5rem 0}.rf-button{min-height:54px;font-size:.9rem}.rf-explore{gap:.4rem;font-size:.8rem}.rf-floating{gap:.6rem;max-width:175px;padding:.85rem}.rf-floating>svg{width:27px;height:27px}.rf-floating span,.rf-floating b{font-size:.8rem}.rf-floating-one{bottom:64px;left:0}.rf-floating-two{bottom:67px;right:0}.rf-service-strip{grid-template-columns:1fr;gap:.9rem;padding:25px 6vw}.rf-service-strip span,.rf-service-strip a{font-size:.85rem}.section-pad,.replacement-focus{padding:60px 5vw}.replacement-route-grid{grid-template-columns:1fr;gap:1.5rem}.route-photo-frame{aspect-ratio:1.5}.replacement-route-copy{padding:1.2rem}.comparison{aspect-ratio:1;box-shadow:9px 9px #f7dba6}.roof-viewer{border-radius:22px;padding:1rem}.roof-drag-stage{height:330px}.roof-model{width:200px;height:180px}.viewer-toolbar span{font-size:.6rem}.viewer-controls button{padding:.65rem .75rem;font-size:.75rem}.layer-choice{padding:1rem}.layer-choice.active{translate:3px}.experience-heading h2{font-size:2.2rem}.photo-orbit{height:390px;min-height:390px}.orbit-photo{width:115px;height:130px}.work-photo-collage{height:410px}.work-photo-detail{width:145px;height:135px}.timeline-step{grid-template-columns:30px 32px 1fr;gap:.65rem}.timeline-step>svg{width:32px;height:32px;padding:8px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}:root [data-tilt],:root [data-magnetic]{transform:none!important}}.homepage-cta-dock{color:#1e2e4f;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffffff7;border:1px solid #e2e8f1;border-radius:24px;grid-template-columns:48px minmax(0,1fr) auto auto;gap:14px;width:min(860px,100% - 40px);padding:12px 14px;bottom:22px;box-shadow:0 18px 60px #0e234330,0 3px 12px #0e234310}.homepage-cta-dock .dock-emblem{color:#1e2e4f;background:#edf3fc;border-radius:15px;place-items:center;width:48px;height:48px;display:grid}.homepage-cta-dock svg{flex-shrink:0;width:20px;height:20px}.homepage-cta-dock .dock-emblem svg{width:24px;height:24px}.homepage-cta-dock .dock-copy{gap:4px}.homepage-cta-dock small{letter-spacing:0;text-transform:none;color:#616a7e;font-size:.75rem;font-weight:500}.homepage-cta-dock b{white-space:normal;font-size:.9rem;font-weight:650;line-height:1.4;overflow:visible}.homepage-cta-dock>a{gap:.6rem;min-height:50px;padding:.7rem 1rem;font-size:.875rem;font-weight:650;transition:background .25s,box-shadow .25s,transform .25s}.homepage-cta-dock>.dock-secondary{color:#1e2e4f;background:#f2f6fc;border:1px solid #e4ebf5;border-radius:16px}.homepage-cta-dock>.dock-secondary:hover{background:#e7eef9}.homepage-cta-dock>.dock-primary{color:#1e2e4f;background:#f19e1f;border-radius:17px;gap:1rem;padding:.5rem .5rem .5rem 1.1rem;box-shadow:0 5px 14px #f19e1f20}.homepage-cta-dock .dock-arrow{color:#fff;background:#1e2e4f;border-radius:11px;place-items:center;width:34px;min-width:34px;height:34px;transition:transform .25s;display:grid}.homepage-cta-dock>.dock-primary:hover{background:#ffb63f;transform:translateY(-2px);box-shadow:0 8px 18px #f19e1f35}.homepage-cta-dock>.dock-primary:hover .dock-arrow{transform:rotate(-12deg)}.content-footer{padding-bottom:130px}@media (min-width:761px) and (max-width:1220px){.motion-control,.floating-contact{bottom:118px}}@media (max-width:920px) and (min-width:761px){.homepage-cta-dock{grid-template-columns:minmax(0,1fr) auto auto;gap:10px}.homepage-cta-dock .dock-emblem{display:none}}@media (max-width:760px){.homepage-cta-dock{display:none}.mobile-cta{z-index:70;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffffff7;border:1px solid #e2e8f1;border-radius:22px;grid-template-columns:1fr 1.55fr;gap:8px;height:auto;min-height:68px;padding:8px;display:grid;position:fixed;box-shadow:0 10px 35px #0e23432b}.mobile-cta a{color:#1e2e4f;background:#edf3fc;border-radius:15px;justify-content:center;align-items:center;gap:9px;min-height:50px;padding:.7rem .8rem;font-size:.9rem;font-weight:650;display:flex}.mobile-cta a:last-child{color:#1e2e4f;background:#f19e1f}.mobile-cta svg{flex-shrink:0;width:19px;height:19px}.motion-control{bottom:calc(96px + env(safe-area-inset-bottom,0px))}.floating-contact{display:none}.content-footer{padding-bottom:140px}}
.roof-site{--content:1280px;--gutter:max(24px,calc((100% - var(--content))/2));font-size:18px;line-height:1.65}.roof-site .section-pad,.roof-site .replacement-focus,.roof-site .roof-experience{padding:76px var(--gutter);border-radius:0}.roof-site .section-heading{max-width:720px}.roof-site .section-heading h2,.roof-site .replacement-focus-copy h2,.roof-site .experience-heading h2,.roof-site .final-copy h2{letter-spacing:-.04em;font-size:clamp(30px,3vw,44px);font-weight:650;line-height:1.22}.roof-site .section-heading p,.roof-site .replacement-focus-copy>p:not(.eyebrow),.roof-site .seo-main p{font-size:17px;line-height:1.75}.roof-site .eyebrow,.roof-site .rf-kicker{letter-spacing:.07em;font-size:13px;line-height:1.6}.roof-site .site-header{max-width:1328px;height:92px;padding:0 24px}.roof-site .rf-hero{width:calc(100% - 40px);max-width:var(--content);border-radius:28px;min-height:640px;margin:0 auto}.roof-site .rf-hero-copy{width:760px;max-width:62%;margin:0;padding:85px 0 100px 56px}.roof-site .rf-hero h1{letter-spacing:-.045em;max-width:none;font-size:clamp(42px,4.5vw,66px);line-height:1.15}.roof-site .rf-hero-copy>p:not(.rf-kicker){max-width:46ch;font-size:18px;line-height:1.75}.roof-site .rf-hero-image{object-position:60% center}.roof-site .rf-hero-overlay{background:linear-gradient(90deg,#142743ed 0%,#142743c9 38%,#14274320 73%,#0000)}.roof-site .rf-floating{padding:16px 20px}.roof-site .rf-floating-one{top:16%;right:7%}.roof-site .rf-floating-two{top:48%;right:3%}.roof-site .rf-floating-three{bottom:10%;right:13%}.roof-site .rf-scroll{bottom:25px;left:56px}.roof-site .rf-service-strip{max-width:1328px;margin:auto;padding:28px 24px}.roof-site .result-inner{grid-template-columns:minmax(0,.85fr) minmax(0,1fr);gap:64px;max-width:none}.roof-site .result-copy{max-width:none}.roof-site .comparison{aspect-ratio:1;border:0;border-radius:22px;width:100%;max-width:560px;max-height:560px;transform:none;box-shadow:0 20px 45px #1e2e4f12}.roof-site .comparison:hover{transform:none}.roof-site .image-disclosure{font-size:13px}.roof-site .detail-list{gap:8px;font-size:16px}.roof-site .replacement-focus-copy{grid-template-columns:1fr 1fr;gap:0 70px}.roof-site .replacement-focus-copy h2{max-width:none}.roof-site .replacement-route-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.roof-site .replacement-route-grid>a{border:1px solid #e1e7f0;border-radius:20px;padding:0;box-shadow:0 8px 24px #1e2e4f07}.roof-site .route-photo-frame{aspect-ratio:1.4;border-radius:19px 19px 0 0}.roof-site .replacement-route-copy{padding:22px}.roof-site .replacement-route-copy h3{max-width:none;font-size:21px;line-height:1.3}.roof-site .replacement-route-copy p{font-size:16px;line-height:1.65}.roof-site .replacement-route-copy b{font-size:14px}.roof-site .experience-heading{max-width:750px;margin-bottom:40px}.roof-site .experience-grid{gap:50px}.roof-site .roof-viewer{border-radius:24px}.roof-site .scan-section{grid-template-columns:minmax(0,.75fr) minmax(0,1fr);align-items:center;gap:72px}.roof-site .scan-intro{position:static}.roof-site .scan-shell{border-radius:22px;box-shadow:0 12px 40px #1e2e4f0a}.roof-site .scan-top{border-radius:21px 21px 0 0;padding:22px 28px}.roof-site .scan-top>span,.roof-site .scan-top>b{font-size:13px}.roof-site .scan-step{min-height:0;margin:0;padding:28px}.roof-site .scan-step legend{margin:0 0 12px;padding:0;font-size:25px;line-height:1.3}.roof-site .scan-step>p{margin-bottom:20px;font-size:16px}.roof-site .choice-grid{gap:12px}.roof-site .choice-grid button{min-height:84px;padding:17px}.roof-site .choice-grid button b{font-size:15px}.roof-site .choice-grid button small{font-size:13px}.roof-site .scan-navigation{padding:0 28px 28px}.roof-site .scan-points span{font-size:15px}.scan-preparation{background:#f4f8ff;border:1px solid #e0e8f3;border-radius:18px;margin-top:28px;padding:24px}.scan-preparation b{font-size:17px}.scan-preparation ul{color:#616a7e;margin:12px 0;padding-left:20px;font-size:16px;line-height:1.9}.scan-preparation p{color:#616a7e;margin:12px 0 0;font-size:14px}.roof-site .problem-layout{grid-template-columns:1fr 1fr;align-items:center;gap:60px;margin-top:35px}.roof-site .issue-list{gap:12px}.roof-site .issue-card{min-height:108px;padding:18px}.roof-site .issue-card b{font-size:17px}.roof-site .issue-card small{font-size:15px;line-height:1.6}.inspection-diagram{background:#ffffff08;border:1px solid #ffffff25;border-radius:22px;padding:26px}.inspection-diagram-head span{letter-spacing:.12em;color:#ffc875;font-size:12px}.inspection-diagram-head b{color:#fff;font-size:22px;font-family:var(--font-heading);margin-top:5px;display:block}.inspection-roof{perspective:900px;place-items:center;height:260px;display:grid}.inspection-plane{background:#536c91;border:8px solid #abc0dc;width:260px;height:200px;position:relative;transform:rotateX(50deg)rotate(-23deg);box-shadow:0 10px #2e4566,0 38px 45px #091e3a60}.inspection-plane .roof-seam{background:#b5c8df60;height:2px;position:absolute;left:0;right:0}.seam-one{top:33%}.seam-two{top:66%}.roof-drain{background:#172c4b;border:3px solid #d2ddec;width:20px;height:25px;position:absolute;bottom:15px;right:-7px}.inspection-marker{color:#1e2e4f;background:#f19e1f;border-radius:50%;place-items:center;width:44px;height:44px;transition:left .5s,top .5s;display:grid;position:absolute;transform:translate(-50%,-50%)rotate(23deg);box-shadow:0 0 0 10px #f19e1f25}.inspection-marker svg{width:24px;height:24px}.inspection-summary{color:#fff;border-top:1px solid #ffffff20;gap:14px;min-height:120px;padding-top:18px;display:flex}.inspection-summary>svg{color:#ffc875;flex-shrink:0;width:24px}.inspection-summary b{font-size:17px}.inspection-summary p{color:#bfccdf;margin:5px 0;font-size:15px;line-height:1.6}.inspection-diagram>small{color:#9bb0cc;font-size:12px}.roof-site .process-layout{grid-template-columns:1fr 1fr;align-items:center;gap:65px;margin-top:40px}.roof-site .timeline-step{gap:14px;padding-bottom:26px}.roof-site .timeline-step h3{font-size:19px;line-height:1.3}.roof-site .timeline-step p{font-size:16px;line-height:1.7}.work-photo-clean{background:#fff;border:1px solid #e2e8f2;border-radius:22px;margin:0;overflow:hidden;box-shadow:0 15px 35px #1e2e4f09}.work-photo-window{aspect-ratio:1.4;position:relative}.work-photo-window>img{object-fit:cover;object-position:center}.work-photo-clean figcaption{padding:22px 26px}.work-photo-clean figcaption span{letter-spacing:.09em;color:#a4690d;font-size:12px}.work-photo-clean figcaption b{color:#1e2e4f;margin-top:7px;font-size:22px;line-height:1.35;display:block}.work-photo-clean figcaption small{color:#7f899c;margin-top:9px;font-size:12px;display:block}.roof-site .material-tabs{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:30px}.roof-site .material-tabs button{justify-content:center;min-height:60px}.roof-site .material-tabs button b{font-size:15px}.roof-site .material-panel{grid-template-columns:.8fr 1fr;gap:65px;margin-top:30px}.roof-site .material-copy h3{letter-spacing:-.025em;font-size:25px;line-height:1.4}.roof-site .material-copy dt{color:#6a7180;font-size:14px}.roof-site .material-copy dd{font-size:16px;font-weight:550}.roof-site .material-copy dl div{grid-template-columns:120px 1fr;gap:16px}.roof-site .material-note{font-size:15px}.material-sample-card{background:#fff;border:1px solid #eedfc8;border-radius:22px;padding:28px}.sample-eyebrow{font-family:var(--font-heading);font-size:22px;font-weight:600}.sample-stage{perspective:900px;place-items:center;height:230px;display:grid}.roof-material-sample{background:#3d4652;width:220px;height:160px;transition:transform .6s;position:relative;transform:rotateX(55deg)rotate(-25deg);box-shadow:0 14px #272e37,0 32px 35px #1e2e4f20}.material-sample-card:hover .roof-material-sample{transform:rotateX(40deg)rotate(-10deg)}.roof-material-sample i{background:#8e9ba480;height:2px;position:absolute;left:0;right:0}.roof-material-sample i:first-child{top:33%}.roof-material-sample i:nth-child(2){top:66%}.roof-material-sample i:nth-child(3){display:none}.sample-epdm{background:#30373f}.sample-epdm i{display:none}.sample-pvc{background:#c8cdd0;box-shadow:0 12px #87939c,0 32px 35px #1e2e4f20}.sample-isolatie{background:#e2c778;box-shadow:0 18px #b29646,0 26px #3d4652,0 32px 35px #1e2e4f20}.sample-description{border-top:1px solid #e5e9ef;gap:5px;padding-top:18px;display:grid}.sample-description b{font-size:16px}.sample-description span{color:#818898;font-size:13px}.material-sample-card>a{color:#1e2e4f;align-items:center;gap:10px;margin-top:20px;font-size:14px;font-weight:600;display:flex}.material-sample-card>a svg{width:18px}.roof-site .seo-section{grid-template-columns:1.2fr .8fr;align-items:start;gap:65px}.roof-site .seo-main h3{margin-top:25px;font-size:21px;line-height:1.45}.roof-site .local-card{padding:28px;position:static}.roof-site .local-card h3{font-size:25px;line-height:1.3}.roof-site .local-card p{font-size:16px;line-height:1.7}.roof-site .local-card small{font-size:14px;line-height:1.6}.roof-site .neighborhoods span{color:#485b78;border-color:#ccd8e8;padding:6px 10px;font-size:14px}.roof-site .local-card>a{justify-content:space-between;align-items:center;font-size:15px;line-height:1.4;display:flex}.roof-site .local-card>.official-area-link{color:#64748b;background:0 0;border:0;margin-top:14px;padding:0;font-size:13px;text-decoration:underline;display:inline-block}.roof-site .faq-section{grid-template-columns:.8fr 1.2fr;gap:65px}.roof-site .faq-trigger{line-height:1.5;font-size:17px!important}.roof-site .faq-content{font-size:16px!important;line-height:1.75!important}.roof-site .final-cta{grid-template-columns:.85fr 1fr;gap:65px}.roof-site .final-copy>p:not(.eyebrow){font-size:17px;line-height:1.75}.roof-site .content-footer{padding-inline:var(--gutter)}.roof-site .content-footer .footer-directory{gap:18px}@media (max-width:1100px){.roof-site .rf-hero-copy{max-width:69%;padding-left:36px}.roof-site .rf-hero h1{font-size:48px}.roof-site .rf-floating{right:2%;scale:.8}.roof-site .rf-floating-three{right:4%}.roof-site .replacement-route-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.roof-site .scan-section,.roof-site .result-inner,.roof-site .process-layout,.roof-site .material-panel,.roof-site .seo-section,.roof-site .faq-section,.roof-site .final-cta,.roof-site .problem-layout{gap:35px}}@media (max-width:800px){.roof-site{--gutter:24px}.roof-site .section-pad,.roof-site .replacement-focus,.roof-site .roof-experience{padding:54px 24px}.roof-site .rf-hero{border-radius:22px;width:calc(100% - 24px);min-height:770px}.roof-site .rf-hero-copy{width:100%;max-width:none;padding:48px 28px 200px}.roof-site .rf-hero h1{font-size:clamp(35px,7vw,49px)}.roof-site .rf-hero-copy>p:not(.rf-kicker){max-width:40ch}.roof-site .rf-hero-overlay{background:linear-gradient(90deg,#142743ed,#14274383)}.roof-site .rf-floating-one{inset:auto auto 65px 3%}.roof-site .rf-floating-two{top:auto;bottom:60px;right:3%}.roof-site .rf-floating-three{display:none}.roof-site .rf-scroll{bottom:22px;left:28px}.roof-site .rf-service-strip{grid-template-columns:1fr 1fr;padding:24px}.roof-site .scan-section,.roof-site .result-inner,.roof-site .process-layout,.roof-site .material-panel,.roof-site .seo-section,.roof-site .faq-section,.roof-site .final-cta,.roof-site .problem-layout,.roof-site .experience-grid{grid-template-columns:1fr;gap:32px}.roof-site .replacement-focus-copy{grid-template-columns:1fr;gap:10px}.roof-site .result-copy .section-heading h2{max-width:none}.roof-site .comparison{margin:auto}.roof-site .scan-step{padding:22px}.roof-site .material-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.roof-site .replacement-route-copy{padding:18px}.roof-site .replacement-route-copy h3{font-size:19px}}@media (max-width:480px){.roof-site .rf-hero-copy{padding:40px 22px 195px}.roof-site .rf-hero h1{font-size:35px}.roof-site .rf-hero-copy>p:not(.rf-kicker){font-size:16px}.roof-site .rf-service-strip,.roof-site .replacement-route-grid{grid-template-columns:1fr}.roof-site .route-photo-frame{aspect-ratio:1.5}.roof-site .section-pad,.roof-site .replacement-focus,.roof-site .roof-experience{padding:48px 20px}.roof-site .choice-grid.two{grid-template-columns:1fr}.roof-site .material-copy dl div{grid-template-columns:1fr;gap:5px}.inspection-plane{width:205px;height:175px}}.roof-site .comparison .comparison-before-source,.roof-site .comparison .comparison-after-source{object-fit:fill!important;width:200%!important;max-width:none!important;height:100%!important;right:auto!important}.roof-site .comparison .comparison-before-source{left:0!important}.roof-site .comparison .comparison-after-source{left:-100%!important}.route-service-visual{perspective:700px;background:#f4f8ff;border-radius:19px 19px 0 0;place-items:center;height:175px;display:grid;position:relative;overflow:hidden}.route-service-visual>span{color:#71829c;font-size:12px;position:absolute;top:14px;left:20px}.route-service-visual>b{letter-spacing:.15em;color:#71829c;font-size:11px;position:absolute;bottom:14px;right:20px}.route-layer-stack{width:125px;height:100px;transform-style:preserve-3d;transition:transform .6s;position:relative;transform:rotateX(50deg)rotate(-30deg)}.route-layer-stack i{background:#40536c;position:absolute;inset:0;box-shadow:0 5px #24364c}.route-layer-stack i:first-child{background:#bed0e4;transform:translateZ(-24px)}.route-layer-stack i:nth-child(2){background:#f3ce81;transform:translateZ(-12px)}.route-layer-pvc i:last-child{background:#d2dde6}.route-layer-r-i i:last-child{background:#f3ce81}.roof-site .replacement-route-grid>a:hover .route-layer-stack{transform:rotateX(40deg)rotate(-10deg)translateY(-5px)}@media (prefers-reduced-motion:reduce){.roof-material-sample,.route-layer-stack,.inspection-marker{transition:none!important}}html[data-roof-motion=paused] .roof-material-sample,html[data-roof-motion=paused] .route-layer-stack,html[data-roof-motion=paused] .inspection-marker{transition:none!important}.roof-site .result-inner{grid-template-columns:minmax(0,1fr);gap:32px;max-width:1040px;margin-inline:auto}.roof-site .result-copy{text-align:center;width:100%;max-width:760px;margin-inline:auto}.roof-site .result-copy .section-heading{max-width:none;margin-inline:auto}.roof-site .result-copy .section-heading h2{max-width:none}.roof-site .result-copy .eyebrow,.roof-site .result-copy .comparison-controls,.roof-site .result-copy .detail-list,.roof-site .result-copy .rf-text-link{justify-content:center}.roof-site .result-copy .detail-list{gap:10px 24px;margin-top:18px}.roof-site .result-section .comparison{aspect-ratio:1.6;max-width:1040px;max-height:none;margin-inline:auto}.roof-site .result-section .comparison .comparison-before-source,.roof-site .result-section .comparison .comparison-after-source{object-fit:cover!important}@media (max-width:800px){.roof-site .result-section .comparison{aspect-ratio:1.15}.roof-site .result-copy .comparison-controls{gap:8px}}.roof-site .rf-hero{border-radius:0;width:100%;max-width:none;margin:0}.roof-site .rf-hero-copy{width:min(760px,62%);max-width:none;margin-left:var(--gutter);padding:85px 0 100px}.roof-site .rf-scroll{left:var(--gutter)}@media (max-width:1100px){.roof-site .rf-hero-copy{width:65%;padding-top:75px}}@media (max-width:800px){.roof-site .rf-hero-copy{width:auto;margin:0;padding:48px 28px 200px}.roof-site .rf-scroll{left:28px}}@media (max-width:480px){.roof-site .rf-hero-copy{padding:40px 22px 195px}.roof-site .rf-scroll{left:22px}}
.roof-site,.content-site{--content:1280px;--page-edge:24px;--gutter:max(var(--page-edge),calc((100% - var(--content))/2));--column-gap:48px;--section-space:76px}.roof-site .section-pad,.roof-site .replacement-focus,.roof-site .roof-experience{padding-inline:var(--gutter);padding-block:var(--section-space)}.roof-site .scan-section,.roof-site .problem-layout,.roof-site .process-layout,.roof-site .material-panel,.roof-site .seo-section,.roof-site .faq-section,.roof-site .final-cta,.roof-site .experience-grid{gap:var(--column-gap);grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.roof-site .section-heading,.roof-site .section-heading h2{margin-top:0}.roof-site .section-heading>p:last-child{max-width:65ch}.roof-site .result-copy .section-heading>p:last-child{margin-inline:auto}.roof-site .result-copy .detail-list{flex-wrap:wrap;justify-content:center;width:100%;display:flex}.roof-site .result-copy .detail-list span{align-items:center;gap:10px;display:flex}.roof-site .material-panel{padding-top:0}.roof-site .material-copy>.eyebrow,.roof-site .material-copy h3{margin-top:0}.roof-site .replacement-focus-copy{column-gap:var(--column-gap);grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.roof-site .replacement-focus-copy h2{grid-area:2/1/span 2}.roof-site .replacement-focus-copy>p:not(.eyebrow),.roof-site .replacement-focus-copy>div{grid-column:2}.roof-site .replacement-route-grid>a{flex-direction:column;min-height:0;display:flex}.roof-site .replacement-route-copy{flex-direction:column;flex:1;display:flex}.roof-site .replacement-route-copy b{margin-top:auto;padding-top:16px}.roof-site .replacement-route-copy h3{min-height:2.6em}.roof-site .rf-service-strip{width:100%;max-width:none;padding-inline:var(--gutter)}.roof-site .site-header{width:100%;max-width:none;padding-inline:var(--gutter);margin:0}.roof-site .rf-hero-copy{margin-left:var(--gutter)}.roof-site .rf-scroll{left:var(--gutter)}.content-site .content-hero,.content-site .hub-hero,.content-site .faq-hub-hero,.content-site .content-faq,.content-site .related-content,.content-site .faq-groups{padding-inline:var(--gutter);padding-block:var(--section-space)}.content-site .content-hero,.content-site .hub-hero-with-image,.content-site .faq-hub-hero{gap:var(--column-gap);grid-template-columns:repeat(2,minmax(0,1fr));min-height:0}.content-site>.content-header{width:100%;max-width:none;min-height:92px;padding:12px var(--gutter);border-radius:0;position:relative;top:auto;left:auto;transform:none}.content-site .quick-answer-grid,.content-site .hub-intro-strip,.content-site .article-shell,.content-site .content-card-grid,.content-site .area-grid,.content-site .workarea-note,.content-site .knowledge-service-bridge,.content-site .knowledge-hub-services,.content-site .hub-mid-cta,.content-site .faq-topic-nav,.content-site .faq-final-cta{width:min(calc(100% - 2 * var(--page-edge)),var(--content));margin-inline:auto}.content-site .quick-answer-grid,.content-site .hub-intro-strip{margin-top:32px}.content-site .article-shell{gap:var(--column-gap);padding-block:var(--section-space);grid-template-columns:minmax(0,2fr) minmax(0,1fr)}.content-site .content-faq{gap:var(--column-gap);grid-template-columns:repeat(2,minmax(0,1fr))}.content-site .content-card-grid,.content-site .area-grid{padding-block:var(--section-space);gap:24px}.content-site .workarea-note,.content-site .knowledge-hub-services{gap:var(--column-gap)}.content-site .content-hero-image,.content-site .hub-hero-visual,.content-site .faq-hub-visual{width:100%;min-width:0;margin:0}.content-site .content-card{flex-direction:column;display:flex}.content-site .content-card>div{flex-direction:column;flex:1;display:flex}.content-site .content-card>div>b{margin-top:auto;padding-top:20px}.content-site .content-article>section{padding-left:0}.content-site .content-article .section-number{margin-bottom:12px;display:block;position:static}.content-site .content-article p,.content-site .content-article li{max-width:70ch}.content-site .content-final-cta{padding-inline:var(--gutter)}.content-site .faq-group>header{grid-template-columns:48px 1fr;gap:24px;max-width:none}.roof-site .content-footer,.content-site .content-footer{padding-inline:var(--gutter);column-gap:var(--column-gap)}.roof-site :is(.scan-section,.problem-layout,.process-layout,.material-panel,.seo-section,.faq-section,.final-cta,.experience-grid)>*,.content-site :is(.content-hero,.hub-hero,.article-shell,.content-faq,.content-card-grid,.area-grid,.content-footer)>*{min-width:0}@media (max-width:1000px){.roof-site,.content-site{--column-gap:32px;--section-space:60px}.content-site .content-hero,.content-site .hub-hero-with-image,.content-site .faq-hub-hero,.content-site .article-shell{grid-template-columns:1fr}.content-site .article-shell>aside{position:static}.content-site .content-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:800px){.roof-site,.content-site{--section-space:52px}.roof-site .scan-section,.roof-site .problem-layout,.roof-site .process-layout,.roof-site .material-panel,.roof-site .seo-section,.roof-site .faq-section,.roof-site .final-cta,.roof-site .experience-grid,.roof-site .replacement-focus-copy,.content-site .content-faq,.content-site .knowledge-hub-services,.content-site .workarea-note,.roof-site .content-footer,.content-site .content-footer{grid-template-columns:1fr}.roof-site .replacement-focus-copy h2,.roof-site .replacement-focus-copy>p:not(.eyebrow),.roof-site .replacement-focus-copy>div{grid-area:auto}.roof-site .rf-hero-copy{padding-inline:var(--page-edge);margin-left:0}.roof-site .replacement-route-copy h3{min-height:0}.content-site .lead-panel{position:static}.content-site .hub-mid-cta,.content-site .faq-final-cta{grid-template-columns:1fr}}@media (max-width:540px){.roof-site,.content-site{--page-edge:20px;--section-space:48px}.content-site .content-card-grid,.content-site .area-grid,.content-site .quick-answer-grid{grid-template-columns:1fr}.roof-site .result-copy .detail-list{text-align:left;justify-content:center;display:grid}.content-site .faq-group>header{grid-template-columns:1fr;gap:8px}}.context-reading{margin-top:20px;font-size:16px;line-height:1.7}.context-reading a,.roof-site .seo-main p a{color:inherit;text-underline-offset:4px;-webkit-text-decoration:underline #b8740d;text-decoration:underline #b8740d}.context-reading a:hover,.roof-site .seo-main p a:hover{color:#a16609}.content-footer .footer-bottom{flex-wrap:wrap;align-items:center;gap:20px}.content-footer .footer-credit{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px 22px;font-size:14px;line-height:1.7;display:flex}.content-footer .footer-credit span{color:#bec9dc}.content-footer .footer-credit span a{color:#fff;align-items:center;gap:6px;font-weight:600;text-decoration:none;display:inline-flex}.content-footer .footer-credit svg{width:14px;height:14px}.content-footer .footer-credit>a{color:#bec9dc;text-underline-offset:4px;font-size:13px;text-decoration:underline}.content-footer .footer-credit a:hover{color:#ffc875}.website-credits{padding:64px var(--gutter) 84px}.website-credits h1{overflow-wrap:anywhere;max-width:850px;margin:20px 0 28px;font-size:clamp(30px,4vw,48px);line-height:1.2}.website-credits h2{margin:36px 0 16px;font-size:25px;line-height:1.35}.website-credits p:not(.content-eyebrow){color:#616a7e;max-width:70ch;font-size:18px;line-height:1.8}.website-credits .credits-intro{font-size:21px}.website-credits p a{color:#1e2e4f;text-underline-offset:4px;text-decoration:underline}.credits-actions{flex-wrap:wrap;gap:16px;margin-top:32px;display:flex}@media (max-width:800px){.content-footer .footer-credit{justify-content:flex-start}.website-credits{padding-block:48px}.credits-actions>a{white-space:normal;max-width:100%}}.lead-trap{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.privacy-note a,.delivery-notice a{text-decoration:underline}.content-site>.content-header{color:#1e2e4f;box-shadow:none;background:#fff}.content-header .content-desktop-nav>.mega-simple-link,.content-header .content-desktop-nav>.mega-nav-item>summary,.content-header .content-mobile-menu>summary{color:#1e2e4f}.content-header .content-desktop-nav>.mega-simple-link{color:#1e2e4f!important}.content-header .brand small{color:#657086}
