@font-face{font-family:Bricolage;src:url(/fonts/BricolageGrotesque-Bold.ttf) format("truetype");font-weight:700;font-display:swap}@font-face{font-family:Bricolage;src:url(/fonts/BricolageGrotesque-Regular.ttf) format("truetype");font-weight:400;font-display:swap}@font-face{font-family:Lora;src:url(/fonts/Lora-Regular.ttf) format("truetype");font-weight:400;font-display:swap}@font-face{font-family:Lora;src:url(/fonts/Lora-Bold.ttf) format("truetype");font-weight:700;font-display:swap}@font-face{font-family:Lora;src:url(/fonts/Lora-Italic.ttf) format("truetype");font-weight:400;font-style:italic;font-display:swap}:root{--paper:#f7f4ee;--paper-2:#efe9dd;--white:#ffffff;--green:#1d5c45;--green-deep:#123b2c;--green-tint:#e3efe8;--ink:#1b2a24;--ink-muted:#56655d;--ink-on-green:#f2f6f3;--ink-on-green-muted:#b9ccc1;--blue:#2f7bff;--blue-deep:#1b5fd6;--blue-tint:#e6effe;--line:#d9d2c3;--line-strong:#a79f8d;--focus:#1b5fd6;--success:#1a7f4b;--star:#e0a526;--font-display:"Bricolage","Segoe UI",Arial,sans-serif;--font-body:"Lora",Georgia,"Times New Roman",serif;--r:4px;--r-lg:10px;--r-pill:999px;--max:1120px}*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:17px;line-height:1.65}img{max-width:100%;height:auto;display:block}a{color:var(--blue-deep);text-decoration-thickness:1px;text-underline-offset:3px}a:hover{color:var(--green)}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}h1,h2,h3,h4{font-family:var(--font-display);font-weight:700;margin:0;line-height:1.08;letter-spacing:-.3px}h1{font-size:52px}h2{font-size:38px}h3{font-size:24px}h4{font-size:18px}p{margin:0 0 16px;max-width:66ch}p:last-child{margin-bottom:0}.lead{font-size:20px;line-height:1.55}.small{font-size:14px;line-height:1.5}.muted,.small{color:var(--ink-muted)}.kicker{font-family:var(--font-display);font-size:13px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--green);display:inline-flex;align-items:center;gap:10px;margin-bottom:14px}.kicker:before{content:"";width:28px;height:2px;background:var(--blue)}.on-green .kicker{color:var(--ink-on-green-muted)}.on-green,.on-green h1,.on-green h2,.on-green h3{color:var(--ink-on-green)}.on-green .muted,.on-green .small{color:var(--ink-on-green-muted)}.on-green a{color:#fff}.wrap{max-width:var(--max);margin:0 auto;padding:0 20px}.band{padding:88px 0}.band.tight{padding:56px 0}.band.paper2{background:var(--paper-2)}.band.white{background:var(--white)}.band.green{background:var(--green-deep)}.band.green-mid{background:var(--green)}.head{max-width:680px;margin-bottom:40px}.head .lead{margin-top:12px;color:var(--ink-muted)}.on-green .head .lead{color:var(--ink-on-green-muted)}.grid{display:grid;grid-gap:28px;gap:28px}.grid>*{min-width:0}.cols-2{grid-template-columns:1fr 1fr}.cols-3{grid-template-columns:repeat(3,1fr)}.cols-4{grid-template-columns:repeat(4,1fr)}.stack>*+*{margin-top:16px}.rule{border:0;border-top:1px solid var(--line);margin:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 26px;border-radius:var(--r);font:700 15px/1 var(--font-display);letter-spacing:.3px;text-transform:uppercase;text-decoration:none;border:2px solid transparent;cursor:pointer;transition:background .15s,color .15s,border-color .15s;white-space:nowrap}.btn-primary{background:var(--green);color:#fff;border-color:var(--green)}.btn-primary:hover{background:var(--green-deep);border-color:var(--green-deep);color:#fff}.btn-outline{background:transparent;color:var(--green);border-color:var(--green)}.btn-outline:hover{background:var(--green-tint);color:var(--green-deep)}.on-green .btn-outline{color:#fff;border-color:rgba(255,255,255,.7)}.on-green .btn-outline:hover{background:rgba(255,255,255,.1);color:#fff}.btn-blue{background:var(--blue);color:#fff;border-color:var(--blue)}.btn-blue:hover{background:var(--blue-deep);border-color:var(--blue-deep);color:#fff}.btn-lg{min-height:58px;padding:0 32px;font-size:16px}.btn-block{width:100%}.textlink{font-family:var(--font-display);font-weight:700;color:var(--blue-deep);text-decoration:none}.textlink:after{content:" →"}.textlink:hover{color:var(--green)}.topbar{background:var(--green-deep);color:var(--ink-on-green-muted);font-family:var(--font-display);font-size:13px}.topbar .wrap{display:flex;justify-content:space-between;align-items:center;min-height:36px;gap:16px}.topbar a{color:#fff;text-decoration:none;font-weight:700}.header{position:-webkit-sticky;position:sticky;top:0;z-index:40;background:var(--paper);border-bottom:1px solid var(--line)}.header .wrap{display:grid;grid-template-columns:auto 1fr auto;align-items:center;min-height:76px;grid-gap:24px;gap:24px}.header nav{display:flex;justify-content:center;gap:6px}.header nav a{font-family:var(--font-display);font-weight:700;font-size:15px;color:var(--ink);text-decoration:none;padding:8px 12px;border-radius:var(--r-pill)}.header nav a:hover{background:var(--green-tint);color:var(--green-deep)}.header .phone{font-family:var(--font-display);font-weight:700;font-size:17px;color:var(--green-deep);text-decoration:none;display:inline-flex;align-items:center;gap:8px}.header .phone svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.header-actions{display:flex;align-items:center;gap:14px;justify-self:end}.logo-img{height:46px;width:auto}.menu-btn{display:none;background:none;border:1px solid var(--line-strong);color:var(--ink);border-radius:var(--r);padding:8px 12px;font:700 13px var(--font-display);cursor:pointer;text-transform:uppercase}.mobile-nav{display:none;background:var(--paper);border-top:1px solid var(--line);padding:8px 20px 16px}.mobile-nav a{display:block;font-family:var(--font-display);font-weight:700;color:var(--ink);text-decoration:none;padding:12px 0;border-bottom:1px solid var(--line)}.mobile-nav.open{display:block}.banner{position:relative;min-height:560px;display:flex;align-items:flex-end;color:#fff;isolation:isolate}.banner img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.banner:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(18,59,44,.25),rgba(18,59,44,.55) 45%,rgba(18,59,44,.92))}.banner .wrap{padding-top:120px;padding-bottom:56px}.banner h1{font-size:64px;max-width:13ch;letter-spacing:-1.5px;color:#fff}.banner h1 em{font-style:normal;color:#9fc9ff}.banner .lead{color:rgba(255,255,255,.88);max-width:560px;margin-top:18px}.banner .kicker{color:#9fc9ff}.banner .kicker:before{background:#9fc9ff}.banner .actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.banner .btn-outline{color:#fff;border-color:rgba(255,255,255,.8)}.banner .btn-outline:hover{background:rgba(255,255,255,.12);color:#fff}.banner .btn-primary{background:#fff;color:var(--green-deep);border-color:#fff}.banner .btn-primary:hover{background:#e9f1ec;border-color:#e9f1ec;color:var(--green-deep)}.banner.short{min-height:420px}.banner.short h1{font-size:52px}.banner .meta{margin-top:18px;font-size:14px;color:rgba(255,255,255,.8)}.float-wrap{position:relative;z-index:2;margin-top:-40px}.panel{padding:28px;box-shadow:0 18px 50px rgba(27,42,36,.12)}.panel,.proof{background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg)}.proof{display:grid;grid-template-columns:repeat(4,1fr);overflow:hidden}.proof>div{padding:22px 24px;border-right:1px solid var(--line)}.proof>div:last-child{border-right:0}.proof b{font-family:var(--font-display);display:block;font-size:17px}.proof span{font-size:14px;color:var(--ink-muted)}.proof .n{font-family:var(--font-display);font-size:34px;font-weight:700;color:var(--green);line-height:1;display:block;margin-bottom:6px}.feature{display:grid;grid-template-columns:1fr 1fr;grid-gap:56px;gap:56px;align-items:center;padding:48px 0;border-top:1px solid var(--line)}.feature:first-of-type{border-top:0}.feature.flip .media{order:2}.feature .media img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r-lg)}.feature h3{font-size:30px}.feature .price{font-family:var(--font-display);font-weight:700;color:var(--green);font-size:19px;margin-top:12px;display:block}.feature ul{padding-left:18px;margin:14px 0}.feature li{margin:4px 0}.timeline{counter-reset:step;display:grid;grid-template-columns:repeat(4,1fr);grid-gap:0;gap:0;position:relative}.timeline:before{content:"";position:absolute;left:0;right:0;top:26px;height:2px;background:var(--line-strong)}.timeline>div{position:relative;padding:0 24px 0 0;counter-increment:step}.timeline>div:before{content:counter(step,decimal-leading-zero);display:inline-grid;place-items:center;width:54px;height:54px;border-radius:50%;background:var(--green);color:#fff;font:700 18px var(--font-display);position:relative;z-index:1;border:4px solid var(--paper)}.band.paper2 .timeline>div:before{border-color:var(--paper-2)}.timeline h3{font-size:20px;margin-top:16px}.timeline p{font-size:15px;color:var(--ink-muted);margin-top:6px}.price-table{width:100%;border-collapse:collapse;background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden}.price-table td,.price-table th{padding:16px 18px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.price-table th{font-family:var(--font-display);font-size:13px;letter-spacing:1.5px;text-transform:uppercase;color:var(--ink-muted);background:var(--paper-2)}.price-table td.amt,.price-table td.name{font-family:var(--font-display);font-weight:700}.price-table td.amt{font-size:22px;color:var(--green);white-space:nowrap}.price-table td.amt small{font-family:var(--font-body);font-size:13px;font-weight:400;color:var(--ink-muted);display:block}.price-table tr.hot td{background:var(--green-tint)}.price-table .tag{display:inline-block;font:700 11px var(--font-display);letter-spacing:1px;text-transform:uppercase;background:var(--blue);color:#fff;padding:3px 8px;border-radius:var(--r);margin-left:8px;vertical-align:middle}.table-wrap{overflow-x:auto;max-width:100%}.compare{width:100%;border-collapse:collapse;font-size:15px}.compare td,.compare th{padding:12px 14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.compare th{font-family:var(--font-display);font-size:12px;letter-spacing:1.5px;text-transform:uppercase;color:var(--ink-muted)}.compare td:first-child{font-family:var(--font-display);font-weight:700}.compare .us{background:var(--green-tint)}.quotes{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:28px;gap:28px}.quote{background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);padding:28px 28px 24px;position:relative}.quote:before{content:"\201C";font-family:Georgia,serif;font-size:72px;line-height:1;color:var(--blue);position:absolute;top:12px;left:22px;opacity:.5}.quote p{font-style:italic;margin-top:24px}.on-green .quote p,.quote p{color:var(--ink)}.on-green .quote .who,.on-green .quote a{color:var(--ink-muted)}.quote .who{font-family:var(--font-display);font-size:14px;font-weight:700;margin-top:12px;color:var(--ink)}.stars{color:var(--star);letter-spacing:2px;font-size:16px}.areas{column-count:3;column-gap:28px}.areas a{display:block;page-break-inside:avoid;break-inside:avoid;padding:10px 0;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink);font-family:var(--font-display);font-weight:700}.areas a span{font-family:var(--font-body);font-weight:400;color:var(--ink-muted);font-size:14px}.areas a:hover{color:var(--green)}.chips{display:flex;flex-wrap:wrap;gap:10px}.chips a,.chips span{border:1px solid var(--line-strong);border-radius:var(--r-pill);padding:6px 14px;font-family:var(--font-display);font-weight:700;font-size:14px;color:var(--ink);text-decoration:none;background:var(--white)}.chips a:hover{border-color:var(--green);color:var(--green)}.faq details{border-bottom:1px solid var(--line);padding:16px 0}.faq summary{cursor:pointer;font-family:var(--font-display);font-weight:700;font-size:18px;list-style:none;display:flex;justify-content:space-between;gap:16px}.faq summary:after{content:"+";color:var(--blue);font-size:22px;line-height:1}.faq details[open] summary:after{content:"–"}.faq details p{margin-top:10px;color:var(--ink-muted)}.card{background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);padding:28px}.badge{display:inline-block;font:700 12px var(--font-display);letter-spacing:1px;text-transform:uppercase;background:var(--green-tint);color:var(--green-deep);padding:4px 10px;border-radius:var(--r)}.badge-blue{background:var(--blue);color:#fff}.icon{width:44px;height:44px;border-radius:var(--r);background:var(--green-tint);color:var(--green);display:grid;place-items:center;margin-bottom:14px}.icon svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}.check{color:var(--success);font-weight:700}.photo-img{border-radius:var(--r-lg);overflow:hidden;background:var(--paper-2)}.photo-img img{width:100%;height:100%;object-fit:cover;display:block;aspect-ratio:4/3}.photo-img.tall img{aspect-ratio:4/5}.photo-img.wide img{aspect-ratio:16/9}.photo-caption{font-size:13px;color:var(--ink-muted);margin-top:8px;font-style:italic}.photo{background:var(--paper-2);border:1px dashed var(--line-strong);border-radius:var(--r-lg);aspect-ratio:4/3;display:grid;place-items:center;text-align:center;padding:16px;color:var(--ink-muted);font-size:14px;font-style:italic}.gallery{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:16px;gap:16px}.notice{background:var(--blue-tint);color:var(--blue-deep);padding:12px 16px;border-radius:var(--r);font-size:14px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.field{display:flex;flex-direction:column;gap:6px}.field label{font-family:var(--font-display);font-size:14px;font-weight:700}.input{min-height:50px;padding:0 12px;border:1px solid var(--line-strong);border-radius:var(--r);font:400 16px var(--font-body);color:var(--ink);background:var(--white);width:100%}.input:focus{border-color:var(--focus)}.tiles{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:10px;gap:10px}.tile{border:1px solid var(--line-strong);border-radius:var(--r);padding:14px 8px;text-align:center;cursor:pointer;background:var(--white);font:700 14px var(--font-display);min-height:80px;display:grid;place-items:center;grid-gap:4px;gap:4px;color:var(--ink)}.tile[aria-pressed=true]{border-color:var(--green);background:var(--green);color:#fff}.tile svg{width:26px;height:26px;stroke:currentColor;fill:none;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}.estimator{background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);padding:28px}.estimator .row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px 0;border-bottom:1px solid var(--line);font-family:var(--font-display);font-weight:700}.stepper{display:inline-flex;align-items:center;border:1px solid var(--line-strong);border-radius:var(--r);overflow:hidden}.stepper button{width:44px;height:44px;border:0;background:var(--paper-2);font:700 20px var(--font-display);cursor:pointer;color:var(--ink)}.stepper span{min-width:44px;text-align:center}.seg{display:inline-flex;border:1px solid var(--line-strong);border-radius:var(--r);overflow:hidden}.seg button{padding:10px 14px;border:0;background:var(--white);font:700 14px var(--font-display);cursor:pointer;color:var(--ink);min-height:44px}.seg button[aria-pressed=true]{background:var(--green);color:#fff}.result{background:var(--green-deep);color:#fff;border-radius:var(--r);padding:18px 22px;margin-top:18px;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.result .amount{font-family:var(--font-display);font-size:36px;font-weight:700;color:#9fc9ff;line-height:1}.result .btn-primary{background:#fff;color:var(--green-deep);border-color:#fff}.sticky-bar{display:none;position:fixed;bottom:0;left:0;right:0;z-index:50;background:var(--green-deep);padding:8px 12px calc(8px + env(safe-area-inset-bottom));gap:8px;box-shadow:0 -4px 16px rgba(0,0,0,.25)}.sticky-bar a{flex:1 1;min-height:50px;border-radius:var(--r);display:inline-flex;align-items:center;justify-content:center;gap:6px;font:700 14px var(--font-display);text-transform:uppercase;text-decoration:none}.sticky-bar .call{background:#fff;color:var(--green-deep)}.sticky-bar .text{background:rgba(255,255,255,.12);color:#fff}.sticky-bar .quote{background:var(--blue);color:#fff}.cta{position:relative;isolation:isolate;color:#fff;padding:96px 0;text-align:center}.cta img{width:100%;height:100%;object-fit:cover;z-index:-2}.cta img,.cta:before{position:absolute;inset:0}.cta:before{content:"";z-index:-1;background:rgba(18,59,44,.85)}.cta h2{font-size:44px;color:#fff}.cta p{margin:14px auto 28px;color:rgba(255,255,255,.85)}.cta .actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.cta .btn-primary{background:#fff;color:var(--green-deep);border-color:#fff}.footer{background:var(--green-deep);color:var(--ink-on-green-muted);padding:64px 0 calc(40px + 70px);font-size:15px}.footer .wrap{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;grid-gap:36px;gap:36px}.footer h4{color:#fff;font-size:13px;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:12px}.footer a{color:#fff;text-decoration:none;display:block;padding:3px 0}.footer a:hover{color:#9fc9ff}.footer .fine{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.12);padding-top:18px;font-size:13px}@media (max-width:960px){.cols-3,.cols-4,.proof{grid-template-columns:1fr 1fr}.proof>div:nth-child(2){border-right:0}.proof>div:nth-child(-n+2){border-bottom:1px solid var(--line)}.timeline{grid-template-columns:1fr 1fr;gap:28px}.header nav,.timeline:before{display:none}.menu-btn{display:inline-block}.header .wrap{grid-template-columns:auto 1fr}.header .phone-text{display:none}.quotes{grid-template-columns:1fr}.areas{column-count:2}.footer .wrap{grid-template-columns:1fr 1fr}.feature{gap:32px}}@media (max-width:640px){body{font-size:16px;padding-bottom:72px}.band{padding:48px 0}.band.tight{padding:36px 0}.head{margin-bottom:24px}.grid{gap:16px}.cols-2,.cols-3,.cols-4{grid-template-columns:1fr}h1{font-size:36px}h2{font-size:30px}h3{font-size:22px}.lead{font-size:17px}.topbar .hours{display:none}.header .wrap{min-height:64px}.logo-img{height:38px}.header .btn{display:none}.banner{min-height:0}.banner .wrap{padding-top:72px;padding-bottom:40px}.banner h1{font-size:40px;letter-spacing:-1px;max-width:none}.banner.short h1{font-size:34px}.banner .lead{font-size:17px}.banner .actions{flex-direction:column}.banner .actions .btn{width:100%}.float-wrap{margin-top:0;padding-top:24px}.panel{padding:20px}.proof{grid-template-columns:1fr}.proof>div{border-right:0;border-bottom:1px solid var(--line);padding:16px 18px}.proof>div:last-child{border-bottom:0}.feature{grid-template-columns:1fr;gap:20px;padding:32px 0}.feature.flip .media{order:0}.feature h3{font-size:26px}.timeline{grid-template-columns:1fr;gap:24px}.price-table td,.price-table th{padding:12px 10px;font-size:14px}.price-table td.amt{font-size:18px}.compare{font-size:13px}.compare td,.compare th{padding:8px 6px}.areas{column-count:1}.sticky-bar{display:flex}.cta{padding:56px 0}.cta h2{font-size:32px}.cta .actions{flex-direction:column}.cta .actions .btn{width:100%}.footer{padding:40px 0 calc(32px + 72px)}.footer .wrap{grid-template-columns:1fr;gap:24px}.gallery{grid-template-columns:1fr 1fr;gap:10px}.tiles{gap:8px}.tile{font-size:13px;min-height:72px}.estimator{padding:18px}.result .amount{font-size:30px}.btn-lg{min-height:54px;padding:0 20px;font-size:15px}.card{padding:20px}.faq summary{font-size:16px}}