@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=League+Spartan:wght@600;700;800&display=swap";*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ink);background:#fff;margin:0;font-family:DM Sans,sans-serif}h1,h2,h3,.brand{font-family:League Spartan,sans-serif}a{color:inherit;text-decoration:none}header{z-index:30;background:#fff;border-bottom:1px solid #d8e5e7;justify-content:space-between;align-items:center;height:82px;padding:0 4.5vw;display:flex;position:sticky;top:0}.brand{letter-spacing:.06em;align-items:center;gap:11px;font-size:14px;line-height:.9;display:flex}.brand-mark{background:var(--teal);color:#fff;letter-spacing:-.08em;border-radius:50%;place-items:center;width:43px;height:43px;font-weight:800;display:grid}.brand b{color:var(--purple)}nav{gap:32px;font-size:14px;font-weight:600;display:flex}nav a:hover{color:var(--teal)}.header-cta,.primary{background:var(--purple);color:#fff;border-radius:3px;justify-content:space-between;align-items:center;gap:25px;padding:15px 20px;font-weight:700;display:inline-flex}.header-cta span,.primary span{font-size:22px}.hero{background:linear-gradient(125deg,#eef8f7 0%,#fff 56%);grid-template-columns:1.06fr .84fr .85fr;gap:3vw;min-height:700px;padding:72px 4.5vw 62px;display:grid;position:relative;overflow:hidden}.hero:before{content:"";background:#00b2a91a;border-radius:50%;width:460px;height:460px;position:absolute;top:-240px;left:-100px}.hero-copy{z-index:2;position:relative}.eyebrow,.section-tag{letter-spacing:.15em;color:var(--teal);font-size:12px;font-weight:800}.eyebrow{align-items:center;gap:10px;display:flex}.eyebrow i{background:var(--gold);width:28px;height:3px}h1{letter-spacing:-.05em;color:var(--deep);margin:28px 0;font-size:clamp(58px,6vw,98px);line-height:.83}h1 em,h2 em{color:var(--teal);font-style:normal}.hero-lede{color:#43575d;max-width:650px;font-size:18px;line-height:1.65}.guarantee{align-items:center;gap:15px;margin:25px 0;display:flex}.guarantee>span{color:var(--purple);font-size:52px;font-weight:800}.guarantee div{flex-direction:column;display:flex}.guarantee b{font-size:19px}.guarantee small{text-transform:uppercase;letter-spacing:.09em;color:#65777c;font-size:10px;font-weight:700}.primary{background:var(--teal);padding:18px 24px}.micro{color:#6b7b80;font-size:11px}.hero-visual{min-height:520px;position:relative}.sun{background:var(--gold);opacity:.9;border-radius:50%;width:310px;height:310px;position:absolute;top:30px;right:5%}.roof{width:108%;height:240px;position:absolute;top:155px;left:-4%;transform:rotate(-7deg)}.shingles{clip-path:polygon(10% 0,100% 0,90% 100%,0 100%);background:repeating-linear-gradient(10deg,#182d37 0 13px,#28414c 14px 26px);height:165px}.guard-grid{background-color:#c4d2d3;background-image:radial-gradient(#3f6269 1px,#0000 1px);background-size:5px 5px;border:6px solid #80979b;height:45px}.gutter{background:linear-gradient(#ebf0ef,#92a8aa);border-radius:0 0 28px 28px;height:48px;position:relative}.water{background:var(--aqua);border-radius:50% 50% 55% 55%;width:11px;height:34px;position:absolute;top:35px}.w1{left:27%}.w2{height:25px;left:46%}.w3{height:42px;left:70%}.callout{background:#fff;align-items:center;gap:10px;padding:13px 16px;display:flex;position:absolute;box-shadow:0 12px 30px #0b324744}.callout b{color:var(--purple);font:800 26px League Spartan}.callout span{font-size:10px;font-weight:700;line-height:1.3}.one{top:115px;left:-5%}.two{bottom:40px;right:0}.leaf{color:#a86d1c;font-size:31px;position:absolute;transform:rotate(35deg)}.leaf1{top:125px;right:25px}.leaf2{top:70px;left:35px}.lead-form{background:var(--deep);color:#fff;box-shadow:12px 12px 0 var(--aqua);border-radius:5px;align-self:start;padding:30px}.lead-form h2{margin:10px 0;font-size:31px;line-height:1}.lead-form>p{color:#b8c7ca;font-size:13px;line-height:1.5}.form-kicker{letter-spacing:.13em;color:var(--gold);font-size:10px;font-weight:800}.fields{grid-template-columns:1fr 1fr;gap:11px;display:grid}.fields label{flex-direction:column;gap:5px;display:flex}.fields label.wide{grid-column:1/-1}.fields label span{text-transform:uppercase;letter-spacing:.1em;color:#b4c5c8;font-size:10px;font-weight:700}.fields input,.fields select{color:#fff;height:44px;font:inherit;background:#132e39;border:1px solid #3b515a;border-radius:3px;padding:0 11px;font-size:13px}.consent{color:#a7bbc0;gap:8px;margin:14px 0;font-size:10px;display:flex}.lead-form button{background:var(--gold);width:100%;color:var(--deep);cursor:pointer;border:0;justify-content:space-between;align-items:center;height:53px;padding:0 15px;font-size:13px;font-weight:800;display:flex}.lead-form button b{font-size:22px}.lead-form>small{text-align:center;color:#80989e;margin-top:10px;font-size:9px;display:block}.lead-form .success{color:#7df4c3}.lead-form .error{color:#ff9b9b}.proof{background:var(--teal);color:#fff;justify-content:center;align-items:center;gap:28px;min-height:86px;padding:20px;display:flex}.proof span{letter-spacing:.15em;color:#a8e8e5;font-size:10px}.proof b{font:700 21px League Spartan}.proof i{color:var(--gold);font-size:24px;font-style:normal}.problem,.mesh,.comparison,.faq{padding:105px 8vw}.problem{background:var(--cream);grid-template-columns:1fr 1fr;gap:10vw;display:grid}h2{letter-spacing:-.035em;margin:18px 0;font-size:clamp(40px,4.3vw,70px);line-height:.96}.problem p,.mesh>div>p,.areas p,.warranty p,.final-cta p{color:#56666a;font-size:18px;line-height:1.7}.process{background:var(--deep);color:#fff;padding:105px 6vw}.section-head{text-align:center}.section-head h2 em,.warranty h2 em,.final-cta h2 em{color:var(--gold)}.steps{background:#36505a;grid-template-columns:repeat(4,1fr);gap:1px;margin-top:60px;display:grid}.steps article{background:var(--deep);min-height:290px;padding:35px 28px}.steps article>span{color:var(--aqua);font:700 52px League Spartan}.steps h3{letter-spacing:.06em;font-size:24px}.steps p{color:#9fb2b7;font-size:14px;line-height:1.65}.mesh{grid-template-columns:.9fr 1.1fr;align-items:center;gap:9vw;display:grid}.mesh-art{background:radial-gradient(circle at 40% 35%,#eef6f5,#a9c0c1);place-items:center;min-height:540px;display:grid;position:relative;overflow:hidden}.mesh-art:after{content:"";background-image:radial-gradient(#284d53 1.5px,#0000 1.5px);background-size:9px 9px;position:absolute;inset:-30%;transform:rotate(-12deg)}.mesh-disc{text-align:center;background:var(--purple);color:#fff;z-index:2;border:13px solid #fff;border-radius:50%;place-content:center;width:235px;height:235px;display:grid;box-shadow:0 20px 60px #14323c66}.mesh-disc span{font:800 66px League Spartan}.mesh-disc small{letter-spacing:.12em;font-weight:700}.mesh ul{padding:0;list-style:none}.mesh li{border-top:1px solid #d2dddd;flex-direction:column;padding:18px 0;display:flex}.mesh li span{color:#62757a;margin-top:5px;font-size:13px}.warranty{background:var(--purple);color:#fff;grid-template-columns:.35fr 1fr .75fr;align-items:center;gap:5vw;padding:100px 7vw;display:grid;overflow:hidden}.infinity{color:var(--aqua);font:800 220px/.6 League Spartan}.primary.gold{background:var(--gold);color:var(--deep)}.warranty-card{border:2px solid var(--gold);text-align:center;flex-direction:column;padding:40px;display:flex;transform:rotate(2deg)}.warranty-card span{letter-spacing:.2em;font-size:12px}.warranty-card b{color:var(--gold);margin-top:8px;font:800 46px League Spartan}.warranty-card strong{font:700 23px League Spartan}.warranty-card small{letter-spacing:.12em;font-size:9px}.comparison{text-align:center}.compare-grid{text-align:left;grid-template-columns:1fr 1fr;max-width:950px;margin:50px auto 0;display:grid;box-shadow:0 18px 60px #15354022}.compare-grid article{background:#eef2f1;padding:40px}.compare-grid .winner{background:var(--teal);color:#fff}.compare-grid h3{font-size:28px}.compare-grid ul{padding:0;list-style:none}.compare-grid li{border-bottom:1px solid #cdd6d3;padding:11px 0}.winner li{border-color:#43a1ad}.x,.check{font-size:40px}.x{color:#b34545}.check{color:var(--gold)}.areas{background:var(--teal);color:#fff;grid-template-columns:1fr 1fr;gap:8vw;padding:90px 8vw;display:grid}.areas p{color:#c0e8e9}.area-list{grid-template-columns:repeat(2,1fr);align-content:center;display:grid}.area-list span{border-bottom:1px solid #50a6af;padding:13px;font-weight:600}.faq{max-width:1100px;margin:auto}.faq>h2{text-align:left}.faq details{border-bottom:1px solid #cdd9da;padding:20px 0}.faq summary{cursor:pointer;justify-content:space-between;font:700 21px League Spartan;display:flex}.faq details p{color:#5e7075;max-width:800px;line-height:1.6}.final-cta{background:var(--deep);color:#fff;grid-template-columns:1fr 1fr;align-items:center;gap:8vw;padding:90px 7vw;display:grid}.final-cta>div>p{color:#abc0c4}.lead-form.compact{box-shadow:12px 12px 0 var(--gold)}footer{color:#fff;background:#06141b;grid-template-columns:1fr 1fr;align-items:center;padding:45px 5vw;display:grid}footer p{text-align:right;color:#94aab0}footer small{text-align:center;color:#657a80;grid-column:1/-1;margin-top:35px}@media (width<=1050px){nav{display:none}.hero{grid-template-columns:1fr 1fr}.hero-form{grid-column:1/-1;max-width:700px;margin:auto}.steps{grid-template-columns:1fr 1fr}.warranty{grid-template-columns:.2fr 1fr}.warranty-card{grid-column:1/-1;max-width:500px;margin:auto}.infinity{font-size:130px}}@media (width<=720px){header{height:70px;padding:0 18px}.header-cta{padding:11px;font-size:0}.header-cta:before{content:"FREE INSPECTION";font-size:10px}.hero{grid-template-columns:1fr;padding:50px 20px}.hero-visual{min-height:400px}.hero-form{grid-column:auto}.hero h1{font-size:61px}.proof{flex-wrap:wrap;gap:12px}.proof span{text-align:center;width:100%}.problem,.mesh,.areas,.final-cta{grid-template-columns:1fr;padding:72px 22px}.process,.comparison,.faq{padding:72px 22px}.steps{grid-template-columns:1fr}.steps article{min-height:auto}.mesh-art{min-height:380px}.warranty{grid-template-columns:1fr;padding:75px 22px}.infinity{display:none}.compare-grid,.area-list,.fields{grid-template-columns:1fr}.fields label.wide{grid-column:auto}.lead-form{box-shadow:7px 7px 0 var(--aqua);padding:23px}footer{grid-template-columns:1fr}footer p{text-align:left}}:root{--teal:#012939;--deep:#012939;--purple:#012939;--aqua:#a8e300;--gold:#a8e300;--cream:#f2f0ea;--ink:#012939}body{background:var(--cream)}header{background:var(--cream);border:0;height:96px;padding:0 5vw}.brand{letter-spacing:-.02em;font-size:17px;line-height:.95}.brand-mark{background:var(--ink);color:var(--aqua)}nav{font-size:15px}.header-cta,.primary{background:var(--aqua);color:var(--ink);border-radius:8px;padding:18px 25px;font-size:15px}.hero{background:var(--cream);grid-template-columns:1.03fr 1fr;gap:50px;padding:65px 6vw 75px;overflow:visible}.hero:before{display:none}.eyebrow{color:var(--ink);font-size:11px}.eyebrow i{background:var(--ink)}h1{letter-spacing:-.055em;margin:25px 0;font-size:clamp(65px,7.3vw,112px);line-height:.94}h1 em{color:var(--ink);background:linear-gradient(#0000 68%,#a8e300 68% 91%,#0000 91%);position:relative}h2{font-size:clamp(38px,4.5vw,66px);line-height:1.04}.hero-lede{color:#345461;max-width:590px;font-size:18px}.guarantee{margin:20px 0}.guarantee>span{color:var(--ink)}.hero-visual{min-height:590px}.hero-photo{object-fit:cover;object-position:center;border-radius:28px;width:100%;height:590px}.photo-label{background:var(--aqua);border-radius:14px;padding:22px 30px;position:absolute;bottom:40px;left:-24px;transform:rotate(-3deg)}.photo-label span{letter-spacing:.07em;font-size:12px;font-weight:800}.photo-label b{letter-spacing:-.04em;font:800 42px League Spartan;display:block}.photo-label small{font-size:10px}.mesh-photo{object-fit:contain;width:155px;height:155px;position:absolute;top:-25px;right:-20px}.hero-form{grid-column:1/-1;scroll-margin-top:110px}.lead-form{color:var(--ink);box-shadow:none;background:#fff;border:1px solid #dad8d3;border-radius:24px;grid-template-columns:.85fr 1.4fr;column-gap:55px;padding:36px;display:grid}.lead-form .form-kicker,.lead-form h2,.lead-form>p{grid-column:1}.lead-form .form-kicker{color:var(--ink);font-size:11px}.lead-form h2{font-size:38px;line-height:1.02}.lead-form>p{color:#345461;margin:0;font-size:15px}.lead-form .fields{grid-area:1/2/5}.fields label span{color:var(--ink)}.fields input,.fields select{color:var(--ink);background:#f2f0ea;border:1px solid #c2c0bb;border-radius:7px;height:48px;font-size:15px}.fields input::placeholder{color:#677f88}.consent,.lead-form button,.lead-form>small{grid-column:2}.consent{color:#345461;font-size:11px}.lead-form button{border-radius:8px;font-size:15px}.lead-form>small{color:#677f88;font-size:11px}.lead-form .success{color:#276515;grid-column:2;padding-top:12px}.lead-form .error{color:#b02626;grid-column:2;padding-top:12px}.proof{background:var(--aqua);color:var(--ink);gap:34px}.proof span,.proof i{color:var(--ink)}.problem{background:var(--cream)}.process{border-radius:32px;margin:0 28px}.section-tag.light{color:var(--aqua)}.steps{background:#345461;border-radius:18px;overflow:hidden}.steps article{background:var(--deep)}.steps article>span{color:var(--aqua)}.steps p{color:#dad8d3}.mesh-art{background:0 0;border-radius:24px;min-height:540px;display:block}.mesh-art:after{display:none}.mesh-art>img:first-child{object-fit:cover;border-radius:24px;width:100%;height:540px}.material-pill{width:220px;max-width:80%;position:absolute;bottom:25px;left:25px}.warranty{background:var(--aqua);color:var(--ink);border-radius:32px;grid-template-columns:.25fr 1fr .7fr;margin:0 28px}.warranty .section-tag,.warranty h2 em,.warranty .infinity{color:var(--ink)}.warranty p{color:#345461}.warranty .primary{background:var(--ink);color:#fff}.warranty-card{border:2px solid var(--ink);background:var(--cream);border-radius:18px;padding:30px}.warranty-card b{color:var(--ink)}.project-showcase{grid-template-columns:.8fr 1.2fr;align-items:center;gap:70px;padding:100px 8vw;display:grid}.project-showcase>img{border-radius:24px;width:100%}.project-showcase p{color:#345461;font-size:18px;line-height:1.7}.comparison{background:#fff}.compare-grid{box-shadow:none;gap:20px}.compare-grid article{background:var(--cream);border-radius:20px}.compare-grid .winner,.areas{background:var(--ink)}.area-list{gap:8px}.area-list span{border:1px solid #677f88;border-radius:7px}.faq{background:var(--cream)}.faq summary{font-size:23px}.final-cta .lead-form{display:block}.final-cta .lead-form.compact{box-shadow:none}.final-cta .fields{grid-template-columns:1fr 1fr}.final-cta .fields .wide{grid-column:1/-1}footer{background:#011922}footer .brand b{color:#fff}a:focus-visible,button:focus-visible,summary:focus-visible{outline-offset:4px;outline:3px solid #86b600}button:disabled{opacity:.6;cursor:wait}@media (width<=1050px){.hero{gap:35px}.hero h1{font-size:76px}.hero-photo,.hero-visual{height:540px;min-height:540px}.warranty{grid-template-columns:1fr 1fr}.warranty .infinity{display:none}.warranty-card{grid-column:auto}.lead-form{column-gap:30px}.project-showcase{gap:40px}}@media (width<=720px){header{height:80px;padding:0 18px}.brand{font-size:13px}.brand-mark{width:35px;height:35px}.header-cta{padding:12px;font-size:0}.hero{grid-template-columns:1fr;gap:32px;padding:35px 20px 50px}.hero h1{font-size:69px}.hero-visual,.hero-photo{height:430px;min-height:430px}.hero-photo{border-radius:20px}.mesh-photo{width:120px;height:120px;top:-15px;right:-7px}.photo-label{padding:18px;bottom:20px;left:10px}.photo-label b{font-size:34px}.lead-form{border-radius:20px;padding:25px;display:block}.lead-form h2{font-size:34px}.lead-form .fields{grid-template-columns:1fr 1fr;margin-top:22px}.fields label.wide{grid-column:1/-1}.proof{gap:12px}.proof b{font-size:18px}.process,.warranty{border-radius:22px;margin:0 12px}.warranty{grid-template-columns:1fr}.warranty-card{width:100%;max-width:100%}.project-showcase{grid-template-columns:1fr;gap:30px;padding:70px 22px}.mesh-art,.mesh-art>img:first-child{height:400px;min-height:400px}.final-cta .fields{grid-template-columns:1fr 1fr}footer{gap:12px}.hero-form{scroll-margin-top:85px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
