:root{--brand-green:#a0d3a9;--brand-turquoise:#56c6d7;--brand-yellow:#f5cc6a;--brand-gray:#a7a9ac;--ink:#183f3b;--muted:#47615e;--paper:#fff;--surface:#f3f8f7;--line:#d8e4df;--font-body:"Futura PT", "Avenir Next", "Segoe UI", system-ui, sans-serif;--shell:76rem;--radius:.75rem}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ink);background:var(--paper);font-family:var(--font-body);margin:0;font-size:1.0625rem;line-height:1.65}img{max-width:100%;height:auto;display:block}a{color:inherit;text-underline-offset:.25em}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid var(--ink);outline-offset:5px}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:-.035em;overflow-wrap:break-word;font-weight:650;line-height:1.08}h1{font-size:clamp(2.8rem,6.8vw,6.1rem)}h2{font-size:clamp(2rem,4vw,3.5rem)}h3{font-size:2rem}p{color:var(--muted)}.shell{width:min(calc(100% - 3rem), var(--shell));margin-inline:auto}.eyebrow{letter-spacing:.1em;text-transform:uppercase;color:var(--ink);margin-bottom:1.2rem;font-size:.875rem;font-weight:700}.button{border:1px solid var(--ink);background:var(--ink);color:#fff;cursor:pointer;border-radius:.3rem;justify-content:center;align-items:center;min-height:3.25rem;padding:.85rem 1.45rem;font-size:1rem;font-weight:650;text-decoration:none;display:inline-flex}.button:hover{background:#245f58}.button-small{min-height:2.8rem;padding:.6rem 1rem}.button-outline{color:var(--ink);background:0 0}.button-outline:hover{background:var(--ink);color:#fff}.text-link{font-weight:650;text-decoration:underline}.text-link:hover{text-decoration-thickness:2px}.skip-link{z-index:10;background:#fff;padding:.8rem;position:absolute;top:-10rem;left:1rem}.skip-link:focus{top:1rem}.site-header{border-bottom:1px solid var(--line);background:#fff}.header-inner{justify-content:space-between;align-items:center;gap:2rem;min-height:7rem;display:flex}.brand{flex:none;width:10.25rem}.brand img{width:100%}.main-navigation{align-items:center;gap:1.55rem;font-size:.9375rem;font-weight:550;display:flex}.main-navigation>a:not(.button){text-decoration:none}.main-navigation a[aria-current=page]{text-decoration:underline}.menu-button{border:1px solid var(--ink);background:#fff;border-radius:.3rem;padding:.6rem .9rem;display:none}.home-hero{background:linear-gradient(90deg,#fff 62%,var(--surface) 62%);border-bottom:1px solid var(--line);padding-block:5.5rem 6rem}.hero-grid{grid-template-columns:1.3fr 1fr;align-items:center;gap:5rem;display:grid}.hero-grid>*,.contact-layout>*,.service-grid>*,.service-directory>*,.content-section>*,.footer-top>*{min-width:0}.hero-copy h1{margin-bottom:1.5rem}.home-hero h1{font-size:clamp(2.8rem,5.2vw,5.1rem)}.hero-copy em{color:#286b61;font-style:normal}.hero-description{max-width:33rem;font-size:1.1875rem}.hero-actions{flex-wrap:wrap;align-items:center;gap:1.5rem;margin-top:2rem;display:flex}.hero-note{border:1px solid var(--line);border-top:6px solid var(--brand-turquoise);border-radius:var(--radius);background:#fff;padding:2rem;position:relative;box-shadow:0 18px 48px #183f3b08}.note-top{letter-spacing:.06em;justify-content:space-between;gap:1rem;margin-bottom:2.4rem;font-size:.75rem;font-weight:650;display:flex}.hero-note h2{margin-bottom:1rem;font-size:clamp(2.5rem,3.2vw,3rem)}.hero-note ol{margin:2rem 0;padding:0;list-style:none}.hero-note li{border-top:1px solid var(--line);gap:1rem;padding-block:1rem;display:flex}.hero-note li>span{color:var(--muted);padding-top:.1rem;font-size:.875rem}.hero-note li strong{font-weight:650}.hero-note li p{margin:.35rem 0 0;font-size:.9375rem;line-height:1.5}.service-section{padding-block:6rem}.section-heading{grid-template-columns:1fr 2fr;gap:2rem;margin-bottom:2.5rem;display:grid}.service-grid{grid-template-columns:1fr 1fr;gap:1.5rem;display:grid}.service-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:2.5rem}.service-card:last-child{background:#f1f8fb}.service-number{color:#6a938d;margin-bottom:1.6rem;font-size:3.5rem;font-weight:450;line-height:1;display:block}.service-card h3{max-width:23rem}.service-card p{max-width:30rem}.residential-section{border-block:1px solid var(--line);padding-block:3.5rem}.residential-inner{justify-content:space-between;align-items:center;gap:3rem;display:flex}.residential-inner h2{font-size:2.35rem}.residential-inner p{max-width:39rem;margin-bottom:0}.contact-band{background:var(--brand-green);padding-block:5rem}.contact-band-inner{justify-content:space-between;align-items:center;gap:3rem;display:flex}.contact-band h2{max-width:40rem}.contact-band p{color:var(--ink)}.contact-actions{flex-direction:column;flex:none;align-items:flex-start;gap:1rem;display:flex}.page-hero{background:var(--surface);border-bottom:1px solid var(--line);padding-block:5rem}.page-hero h1{max-width:62rem;font-size:clamp(2.8rem,5.4vw,5rem)}.page-intro{max-width:48rem;margin-bottom:0;font-size:1.25rem}.page-content{padding-block:4rem 5rem}.content-section{border-bottom:1px solid var(--line);grid-template-columns:1fr 1.4fr;gap:4rem;padding-block:2.5rem;display:grid}.content-section h2{font-size:2.3rem}.content-section ul{margin:.5rem 0 0;padding-left:1.25rem}.content-section li{margin-bottom:.6rem}.service-directory{grid-template-columns:1fr 1fr;gap:2rem;padding-block:4rem 5rem;display:grid}.service-directory article{border:1px solid var(--line);border-radius:var(--radius);padding:2rem}.service-directory h2{font-size:2rem}.contact-layout{grid-template-columns:1fr 1.5fr;gap:5rem;padding-block:4rem 5rem;display:grid}.contact-details h2{font-size:2rem}.contact-phone{margin-bottom:1.5rem;font-size:1.6rem;font-weight:650;display:block}.phone-contact{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:2.5rem}.phone-contact h2{font-size:2.5rem}.quote-form{border:1px solid var(--line);border-radius:var(--radius);padding:2rem}.form-grid{grid-template-columns:1fr 1fr;gap:1rem;display:grid}label{margin-bottom:1rem;font-size:.9375rem;font-weight:550;display:block}input,textarea,select{width:100%;color:var(--ink);background:#fff;border:1px solid #819b94;border-radius:.25rem;margin-top:.4rem;padding:.75rem;display:block}textarea{resize:vertical}.consent{align-items:flex-start;gap:.75rem;display:flex}.consent input{flex:none;width:1.2rem;height:1.2rem}.honeypot{position:absolute;left:-9999px}.form-status{min-height:1.7rem}button:disabled{opacity:.65;cursor:wait}.prose{max-width:50rem}.prose h2{margin-top:2.5rem;font-size:2rem}.site-footer{background:var(--ink);color:#fff;padding-block:3.5rem 1.5rem}.site-footer :focus-visible{outline-color:#fff}.footer-top{grid-template-columns:1.4fr 1fr .8fr;gap:4rem;display:grid}.footer-brand{width:10rem;margin-bottom:1rem;display:block}.site-footer p{color:#d7e6df;font-size:1rem}.site-footer h2{letter-spacing:0;margin-top:1rem;font-size:1rem;font-weight:650}.footer-top>div>a:not(.footer-brand){margin-bottom:.65rem;display:block}.footer-phone{font-size:1.25rem;font-weight:650}.footer-bottom{border-top:1px solid #ffffff30;justify-content:space-between;gap:1rem;margin-top:3rem;padding-top:1.5rem;font-size:.875rem;display:flex}@media (width<=63.99rem){.header-inner{flex-wrap:wrap;gap:0;min-height:6rem;padding-block:.7rem}.brand{width:8.5rem}.main-navigation{flex-direction:column;align-items:stretch;gap:0;width:100%;padding-top:1rem;display:flex}.main-navigation>a{padding:.8rem}.navigation-ready .menu-button{display:block}.navigation-ready .main-navigation{display:none}.navigation-ready .main-navigation.is-open{display:flex}.home-hero{background:#fff;padding-block:3.5rem}.hero-grid{grid-template-columns:1fr;gap:3rem}.hero-description{max-width:45rem}.hero-note{max-width:42rem}.section-heading{grid-template-columns:1fr;gap:.25rem}.contact-layout{grid-template-columns:1fr;gap:2.5rem}.footer-top{gap:2rem}}@media (width<=42rem){.shell{width:min(calc(100% - 2rem),var(--shell))}.hero-note,.service-card,.phone-contact,.quote-form{padding:1.5rem}.hero-note h2,.phone-contact h2{font-size:2rem}.service-grid,.service-directory,.content-section,.form-grid{grid-template-columns:1fr}.service-section{padding-block:3.5rem}.residential-inner,.contact-band-inner{flex-direction:column;align-items:flex-start;gap:1.5rem}.contact-band{padding-block:3.5rem}.page-hero{padding-block:3rem}.content-section{gap:.5rem;padding-block:2rem}.footer-top{grid-template-columns:1fr 1fr}.footer-top>div:first-child{grid-column:1/-1}.footer-bottom{flex-direction:column}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
