:root{color-scheme:light;--black: #050505;--ink: #1f1f1f;--muted: #5f5a52;--cream: #f7f3ea;--paper: #fffdf8;--line: #ded7ca;--gold: #d49b32;--green: #224a3b;--soft-green: #e7eee6;--white: #ffffff;font-family:Trebuchet MS,Verdana,system-ui,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);margin:0}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}.site-header{align-items:center;background:#fffdf8f5;border-bottom:1px solid var(--line);display:grid;gap:18px;grid-template-columns:auto 1fr auto;min-height:82px;padding:14px clamp(18px,4vw,56px);position:sticky;top:0;z-index:20}.wordmark{align-items:center;display:inline-flex;gap:8px;min-width:max-content}.wordmark span{background:var(--black);color:var(--gold);display:grid;font-family:Carter One,Georgia,serif;font-size:1.35rem;min-height:44px;min-width:58px;place-items:center}.wordmark strong{font-family:Archivo Black,sans-serif;font-size:1rem;letter-spacing:0;text-transform:uppercase}.site-header nav{display:flex;flex-wrap:wrap;gap:8px 18px;justify-content:center}.site-header nav a,.header-call,.primary-button,.secondary-button,.quote-form button{font-size:.78rem;font-weight:700;letter-spacing:0;text-transform:uppercase}.menu-button{display:none}.site-header nav a{color:#37332d}.site-header nav a:hover{color:var(--black)}.header-call,.primary-button,.secondary-button,.quote-form button{align-items:center;border:1px solid var(--black);display:inline-flex;justify-content:center;min-height:46px;padding:13px 18px}.header-call,.primary-button,.quote-form button{background:var(--gold);border-color:var(--gold);color:var(--black)}.hero{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(340px,.82fr);min-height:calc(100vh - 82px);padding-left:0;padding-right:0}.hero-image{background:var(--cream);min-height:620px}.hero-image img{height:100%;object-fit:cover;width:100%}.hero-copy{align-self:center;padding:clamp(34px,6vw,86px)}.kicker{color:var(--green);font-size:.78rem;font-weight:700;letter-spacing:0;margin:0 0 14px;text-transform:uppercase}h1,h2,h3,p{margin-top:0}h1{color:var(--black);font-family:Archivo Black,sans-serif;font-size:clamp(2.45rem,5.4vw,5.7rem);font-weight:400;letter-spacing:0;line-height:.96;margin-bottom:22px;text-transform:none}h2{color:var(--black);font-family:Archivo Black,sans-serif;font-size:clamp(2rem,4vw,4rem);font-weight:400;letter-spacing:0;line-height:1;margin-bottom:18px;text-transform:none}h3{color:var(--black);font-family:Space Grotesk,system-ui,sans-serif;font-size:1.42rem;line-height:1.18;margin-bottom:12px}p{color:var(--muted);font-size:1.04rem;line-height:1.62}.hero-copy p:not(.kicker){max-width:680px}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.secondary-button{background:transparent}.phone-strip{align-items:center;background:var(--black);color:var(--white);display:grid;gap:18px;grid-template-columns:1fr auto 1fr;padding:22px clamp(18px,4vw,56px)}.phone-strip p,.phone-strip a,.phone-strip span{color:var(--white);margin:0}.phone-strip p,.phone-strip a{font-family:Archivo Black,sans-serif;font-size:clamp(1.1rem,2.2vw,1.7rem);letter-spacing:0;text-transform:uppercase}.phone-strip span{color:#d8d1c5;font-size:.88rem;justify-self:end}section{padding-left:clamp(18px,5vw,70px);padding-right:clamp(18px,5vw,70px)}.why-section,.services-overview,.reviews-section,.specialty-section,.contact-section,.service-details,.renewable-callout,.service-area{padding-bottom:clamp(58px,9vw,108px);padding-top:clamp(58px,9vw,108px)}.why-section{display:grid;gap:34px;grid-template-columns:minmax(0,1fr) minmax(300px,.72fr)}.section-heading h2{max-width:900px}.centered{margin:0 auto 34px;max-width:900px;text-align:center}.trust-grid{display:grid;gap:10px;grid-column:1 / -1;grid-template-columns:repeat(4,minmax(0,1fr))}.trust-grid span,.town-list span{border:1px solid var(--line);color:var(--ink);font-size:.82rem;font-weight:700;min-height:48px;padding:13px 14px;text-align:center;text-transform:uppercase}.services-overview{background:var(--cream)}.services-list{display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr));list-style:none;margin:0;padding:0}.services-list li{background:var(--paper);border:1px solid var(--line);font-weight:700;min-height:78px;padding:20px}.services-list li a{display:block}.service-link-grid,.area-page-grid{display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr))}.service-link-grid a,.area-page-grid a,.area-page-grid span,.inline-cta{background:var(--paper);border:1px solid var(--line);color:var(--ink);display:flex;font-size:.88rem;font-weight:800;min-height:58px;padding:16px;text-transform:uppercase}.service-link-grid a:hover,.area-page-grid a:hover,.inline-cta:hover{background:#efe7d8}.inline-cta{display:inline-flex;margin-top:26px}.service-area .inline-cta{background:var(--gold);border-color:var(--gold);color:var(--black)}.faq-section{background:var(--paper);padding-bottom:clamp(58px,9vw,108px);padding-top:clamp(58px,9vw,108px)}.faq-list{display:grid;gap:14px;margin:0 auto;max-width:960px}.faq-list article{border-top:1px solid var(--line);padding:22px 0}.faq-list h3{font-size:1.18rem}.service-hero{background:linear-gradient(90deg,#050505db,#05050580),url(/white-farmhouse.webp) center / cover}.service-details{display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}.service-detail{border:1px solid var(--line);background:var(--paper);padding:clamp(22px,3vw,34px)}.service-detail ul{color:var(--muted);line-height:1.6;margin:18px 0 0;padding-left:20px}.renewable-callout,.specialty-section{background:var(--soft-green);display:grid;gap:36px;grid-template-columns:minmax(0,.86fr) minmax(300px,.7fr)}.service-area{background:var(--green);color:var(--white)}.service-area .kicker,.service-area h2{color:var(--white)}.service-area h2{max-width:1040px}.town-list{display:flex;flex-wrap:wrap;gap:9px;margin-top:28px}.town-list span,.town-list a{border-color:#ffffff47;color:var(--white)}.town-list a{border:1px solid rgba(255,255,255,.28);font-size:.82rem;font-weight:700;min-height:48px;padding:13px 14px;text-align:center;text-transform:uppercase}.town-list a:hover{background:#ffffff1f}.location-hero{background:linear-gradient(90deg,#050505d6,#05050575),url(/white-farmhouse.webp) center / cover;color:var(--white);min-height:680px;padding-bottom:clamp(70px,10vw,120px);padding-top:clamp(120px,15vw,180px)}.location-hero h1,.location-hero .kicker{color:var(--white)}.location-hero h1{max-width:900px}.location-hero p:not(.kicker){color:#f0e8dc;max-width:720px}.location-hero .secondary-button{border-color:#ffffffad;color:var(--white)}.location-intro,.location-services{padding-bottom:clamp(58px,9vw,108px);padding-top:clamp(58px,9vw,108px)}.location-intro{display:grid;gap:36px;grid-template-columns:minmax(0,.85fr) minmax(300px,.7fr)}.location-card-grid{display:grid;gap:16px;grid-template-columns:repeat(4,minmax(0,1fr))}.location-card-grid article{background:var(--paper);border:1px solid var(--line);padding:clamp(20px,3vw,30px)}.location-card-grid h3{font-size:1.16rem}.reviews-grid{display:grid;gap:18px;grid-template-columns:repeat(3,minmax(0,1fr))}.review-card{background:var(--paper);border:1px solid var(--line);display:flex;flex-direction:column;margin:0;min-height:360px;padding:clamp(22px,3vw,34px);position:relative}.review-card:before{color:var(--gold);content:"★★★★★";font-size:.9rem;font-weight:700;margin-bottom:18px}.review-card blockquote{color:#2c2a26;font-family:Georgia,Cambria,Times New Roman,serif;font-size:clamp(1.05rem,1.4vw,1.24rem);line-height:1.6;margin:0}.review-card figcaption{border-top:1px solid var(--line);display:grid;gap:4px;margin-top:auto;padding-top:18px}.review-card figcaption strong{color:var(--black);font-size:1rem}.review-card figcaption span{color:var(--muted);font-size:.92rem}.contact-section{background:var(--cream);display:grid;gap:28px;grid-template-columns:minmax(0,.82fr) minmax(340px,.7fr)}.contact-card,.quote-form{background:var(--paper);border:1px solid var(--line);padding:clamp(24px,4vw,42px)}.big-phone{color:var(--black);display:block;font-family:Archivo Black,sans-serif;font-size:clamp(1.8rem,3vw,3rem);margin:22px 0 10px}.contact-card dl{border-top:1px solid var(--line);display:grid;gap:18px;margin:28px 0 0;padding-top:22px}.contact-card dt{color:var(--black);font-weight:700}.contact-card dd{color:var(--muted);margin:4px 0 0}.quote-form{display:grid;gap:15px}.quote-form h2{font-size:clamp(1.75rem,3vw,2.75rem)}.quote-form label{color:var(--ink);display:grid;font-size:.84rem;font-weight:700;gap:7px;text-transform:uppercase}.quote-form input,.quote-form textarea{background:var(--white);border:1px solid #cfc6b8;min-height:48px;padding:12px;width:100%}.quote-form textarea{resize:vertical}.quote-form small{color:var(--muted)}.site-footer{background:var(--black);color:var(--white);display:grid;gap:28px;grid-template-columns:minmax(0,1fr) minmax(260px,.7fr) minmax(220px,.5fr);padding:clamp(34px,6vw,70px) clamp(18px,5vw,70px)}.site-footer p,.site-footer a,.site-footer span,.site-footer address{color:#e6ded0}.site-footer p{max-width:620px}.footer-wordmark{margin-bottom:18px}.footer-wordmark strong{color:var(--white)}.site-footer address,.site-footer nav{display:grid;font-style:normal;gap:8px}.site-footer address strong{color:var(--white)}.site-footer nav a{font-weight:700}@media(max-width:980px){.site-header,.hero,.why-section,.location-intro,.renewable-callout,.specialty-section,.contact-section,.service-details,.site-footer{grid-template-columns:1fr}.site-header nav{justify-content:flex-start}.hero-image{min-height:430px}.phone-strip,.trust-grid,.services-list,.service-link-grid,.area-page-grid,.reviews-grid,.location-card-grid{grid-template-columns:1fr}.phone-strip span{justify-self:start}}@media(max-width:640px){.site-header{align-items:center;background:#fffdf8d1;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:0;border-bottom:1px solid rgba(5,5,5,.08);border-radius:0;box-shadow:0 8px 24px #00000029;gap:12px;grid-template-columns:auto 1fr;left:0;min-height:76px;padding:12px 18px;position:absolute;right:0;top:0;width:auto;z-index:30}.site-header nav{display:none}.site-header.menu-open nav{background:#fffdf8fa;border-top:1px solid var(--line);display:grid;gap:0;grid-column:1 / -1;margin-top:4px;padding-top:4px}.site-header.menu-open nav a{border-bottom:1px solid var(--line);color:var(--black);padding:12px 2px}.wordmark span{background:var(--black);border-radius:0;font-family:Georgia,Cambria,Times New Roman,serif;font-size:1.2rem;font-style:italic;font-weight:900;min-height:44px;min-width:58px}.wordmark strong{color:var(--black);filter:none;font-family:Arial Black,Trebuchet MS,Verdana,sans-serif;font-size:1.18rem;font-weight:900;letter-spacing:0;line-height:1;margin-left:0}.wordmark{background:transparent;gap:8px;min-height:48px;padding:0}.menu-button{align-items:center;background:transparent;border:0;border-right:1px solid rgba(5,5,5,.14);box-shadow:none;display:grid;gap:3px;height:46px;justify-content:center;padding:0 14px 0 0;width:42px}.menu-button span{background:var(--black);display:block;height:2px;width:21px}.header-call{display:none}.hero{display:grid;min-height:auto;position:relative}.location-hero{min-height:720px;padding:130px 20px 42px}.location-hero h1{font-size:clamp(2.45rem,12vw,3.35rem);line-height:.96}.hero-image{grid-area:1 / 1;min-height:0}.hero-image img{aspect-ratio:auto;height:720px;object-position:48% center;width:100%}.hero:after{background:linear-gradient(180deg,#00000057,#0003 31%,#000000c7);content:"";grid-area:1 / 1;pointer-events:none;z-index:1}.hero-copy{align-self:end;color:var(--white);grid-area:1 / 1;padding:0 20px 34px;position:relative;z-index:2}.hero-copy .kicker{color:#f3eadb;font-size:.74rem;line-height:1.45;max-width:320px}.hero-copy h1{color:var(--white);font-size:clamp(2.35rem,12vw,3.35rem);line-height:.96;max-width:350px;overflow-wrap:normal;text-wrap:balance}.hero-copy p:not(.kicker){color:#f4eee4;font-size:1rem;line-height:1.48;max-width:330px}h2{font-size:clamp(1.9rem,10vw,3rem)}.hero-actions{display:grid}.primary-button,.secondary-button{width:100%}.hero-copy .primary-button{background:var(--gold);border-color:var(--gold);color:var(--black)}.hero-copy .secondary-button{border-color:#ffffffb8;color:var(--white)}.phone-strip{padding-bottom:18px;padding-top:18px}.contact-section{padding-bottom:28px}}
