:root{--blue:#29358d;--teal:#139f9b;--green:#318256;--ink:#25333d;--muted:#59636b;--light:#f3f6f8;--border:#dce2e6}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:140px}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}button,input,textarea,select{font:inherit}button,a,input,textarea,select,summary{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--teal);outline-offset:4px}.skip{position:fixed;top:-100px;z-index:100;background:white;padding:12px}.skip:focus{top:0}.topbar{background:var(--blue);color:white;padding:7px max(5%,calc((100vw - 1200px)/2));display:flex;justify-content:space-between;font-size:13px;gap:20px}header{position:sticky;top:0;z-index:20;background:white;display:flex;gap:30px;align-items:center;padding:8px max(5%,calc((100vw - 1200px)/2));border-bottom:4px solid var(--teal);min-height:124px}.brand{flex-shrink:0;display:block}.brand img{display:block;width:135px;height:112px;object-fit:contain}nav{display:flex;gap:28px;margin-left:auto;font-size:15px;font-weight:700}nav a:hover{color:var(--blue)}.header-phone{white-space:nowrap;font-size:21px;font-weight:bold;color:var(--blue);line-height:1.5}.header-phone small{display:block;font-size:12px;font-weight:400;color:var(--muted)}.button{display:inline-flex;align-items:center;justify-content:center;background:var(--green);color:white;border:0;border-radius:3px;padding:15px 26px;font-weight:700;cursor:pointer;font-size:16px;min-height:48px}.button:hover{background:#256c46;text-decoration:none}.button.small{font-size:14px;padding:13px 18px}.menu-toggle{display:none}.hero{position:relative;background:linear-gradient(90deg,rgba(17,37,74,.93),rgba(17,37,74,.72) 48%,rgba(17,37,74,.08)),url('assets/deck.webp') center 57%/cover;color:white;padding:75px max(5%,calc((100vw - 1200px)/2)) 65px;min-height:465px;border-bottom:6px solid var(--teal)}.hero-copy{max-width:680px}.hero-kicker{font-size:16px;margin:0 0 14px;color:#fff}h1{font-size:clamp(35px,3.7vw,52px);line-height:1.15;margin:0 0 22px;letter-spacing:-.8px;font-weight:700}.intro{font-size:18px;line-height:1.7;max-width:560px;margin:0 0 26px}.hero-actions{margin:0 0 25px}.hero-proof{display:flex;gap:24px;font-size:14px;flex-wrap:wrap}.section,.results-section{padding:60px max(5%,calc((100vw - 1200px)/2))}h2{font-size:32px;line-height:1.25;color:var(--blue);margin:0 0 20px;letter-spacing:-.4px}h3{font-size:21px;line-height:1.35;margin:0 0 14px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:35px;margin-bottom:30px}.section-heading h2{margin-bottom:0}.section-heading>p{max-width:480px;color:var(--muted);margin:0}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.service-card{border:1px solid var(--border);background:#fff;overflow:hidden}.service-image{width:100%;height:200px;object-fit:cover;display:block}.service-card h3{margin:22px 22px 12px;color:var(--blue)}.service-card p{margin:0 22px 20px;color:var(--muted);font-size:16px}.service-card a{display:block;color:var(--green);font-weight:bold;margin:0 22px 23px;font-size:15px;text-decoration:underline}.commercial{display:flex;align-items:center;justify-content:space-between;background:var(--light);padding:25px;margin-top:28px;gap:25px;border-left:4px solid var(--teal)}.commercial strong{font-size:20px;color:var(--blue)}.commercial p{margin:5px 0 0;color:var(--muted)}.text-link{color:var(--blue);font-weight:bold;text-decoration:underline;font-size:15px}.extra-services{font-size:14px;color:var(--muted);margin-bottom:0}.extra-services a{text-decoration:underline}.results-section{background:var(--light)}.results-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.results-grid figure{margin:0;background:white;border:1px solid var(--border)}.gallery-open{position:relative;display:block;width:100%;border:0;background:#e9edef;padding:0;cursor:zoom-in}.gallery-open img{width:100%;height:260px;object-fit:contain;display:block}.expand{position:absolute;bottom:10px;right:10px;background:var(--blue);color:white;font-size:22px;padding:0 10px}.results-grid figcaption{padding:17px 20px}.results-grid h3{font-size:19px;margin:0 0 4px}.results-grid figcaption>span{font-size:12px;color:var(--muted)}.about-section{display:grid;grid-template-columns:.9fr 1.1fr;gap:50px;align-items:center}.about-image img{display:block;width:100%;height:350px;object-fit:cover}.about-copy>p{color:var(--muted);margin:0 0 18px}.about-points{display:grid;grid-template-columns:1fr 1fr;gap:12px;font-size:14px;margin:22px 0}.area-section{display:grid;grid-template-columns:1fr 1.4fr;gap:50px;padding:40px max(5%,calc((100vw - 1200px)/2));background:var(--blue);color:white;align-items:center}.area-section h2{color:white;font-size:28px}.area-section p{margin-top:0}.area-section .text-link{color:white}.towns{display:flex;flex-wrap:wrap;gap:5px 18px;margin:16px 0}.towns span{font-size:15px}.faq-section{display:grid;grid-template-columns:1fr 1.4fr;gap:50px}.faq-section>div>p{color:var(--muted)}.faq-section a{text-decoration:underline}.faqs details{border-bottom:1px solid var(--border)}.faqs summary{display:flex;align-items:center;justify-content:space-between;gap:20px;list-style:none;font-weight:700;cursor:pointer;padding:18px 0}.faqs summary::-webkit-details-marker{display:none}.faqs summary span{font-size:24px;color:var(--blue)}.faqs details[open] summary span{transform:rotate(45deg)}.faqs details p{margin:0 0 20px;color:var(--muted)}.quote-section{display:grid;grid-template-columns:.85fr 1.15fr;gap:65px;align-items:start;background:var(--light);padding:55px max(5%,calc((100vw - 1200px)/2));border-top:4px solid var(--teal)}.quote-copy{padding-top:15px}.quote-copy p{color:var(--muted);font-size:17px}.quote-phone{display:block;color:var(--blue);font-size:29px;font-weight:700;margin:25px 0 3px}.hours{font-size:14px;color:var(--muted)}form{background:white;border:1px solid var(--border);padding:30px}form h3{font-size:25px;color:var(--blue);margin-bottom:6px}.form-intro{font-size:15px;color:var(--muted);margin:0 0 22px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.full{grid-column:1/-1}label{display:block;font-weight:700;font-size:14px}label span{font-weight:400}input,select,textarea{display:block;width:100%;min-width:0;margin-top:6px;padding:11px 10px;border:1px solid #b7c2ca;border-radius:2px;background:white;color:var(--ink);font-size:16px}textarea{resize:vertical}form .button{margin-top:20px;width:100%}.form-note{font-size:13px;color:var(--muted);line-height:1.55;margin-bottom:0}#form-status{font-size:14px;border-left:3px solid var(--green);background:var(--light);padding:15px}footer{padding:30px max(5%,calc((100vw - 1200px)/2)) 20px}.footer-main{display:flex;align-items:center;justify-content:space-between;gap:35px}.footer-main .brand img{width:110px;height:91px}.footer-main p{font-size:14px;color:var(--muted)}.footer-main>a:last-child{font-size:14px;color:var(--blue);text-decoration:underline}.footer-bottom{margin-top:25px;border-top:1px solid var(--border);padding-top:17px;display:flex;justify-content:space-between;gap:20px;font-size:12px;color:var(--muted)}.mobile-cta{display:none}dialog{border:0;padding:45px 20px 15px;max-width:min(1000px,94vw);max-height:92vh;color:var(--ink)}dialog::backdrop{background:#10213ae0}dialog img{display:block;max-width:100%;max-height:72vh;object-fit:contain;margin:auto}dialog p{text-align:center}.dialog-close{position:absolute;right:7px;top:2px;border:0;background:white;font-size:32px;cursor:pointer;width:40px;height:40px;color:var(--blue)}
@media(max-width:1100px){header{gap:20px}nav{gap:20px}header>.button{display:none}.hero-copy{max-width:620px}.service-image{height:180px}.service-card h3{font-size:20px}.about-section,.faq-section,.quote-section{gap:35px}.gallery-open img{height:220px}}
@media(max-width:760px){html{scroll-padding-top:104px}.topbar{justify-content:center;font-size:12px;text-align:center}.topbar span{display:none}header{min-height:95px;padding:4px 5%;gap:15px}.brand img{width:102px;height:84px}.header-phone{margin-left:auto;font-size:17px}.header-phone small{font-size:11px}.menu-toggle{display:block;border:0;background:white;padding:10px;font-size:23px;color:var(--blue)}nav{display:none;position:absolute;top:95px;left:0;right:0;background:var(--blue);color:white;padding:20px 5%;margin:0}nav.open{display:grid;gap:18px}nav a:hover{color:white}.hero{padding:45px 5%;min-height:0;background-position:center;background-image:linear-gradient(90deg,rgba(17,37,74,.92),rgba(17,37,74,.72)),url('assets/deck.webp')}h1{font-size:36px;line-height:1.18;letter-spacing:-.6px}h1 br{display:none}.hero-kicker{font-size:14px}.intro{font-size:17px}.hero-proof{font-size:13px;gap:12px}.section,.results-section{padding:40px 5%}h2{font-size:28px}.section-heading{display:block;margin-bottom:25px}.section-heading h2{margin-bottom:15px}.section-heading>p{font-size:16px}.services-grid,.results-grid,.about-section,.area-section,.faq-section,.quote-section{grid-template-columns:1fr}.services-grid,.results-grid{gap:24px}.service-image{height:220px}.service-card h3{font-size:23px}.commercial{display:block;padding:22px}.commercial .text-link{display:inline-block;margin-top:15px}.gallery-open img{height:auto;max-height:330px;object-fit:contain}.about-section{gap:25px}.about-image img{height:280px}.about-points{font-size:13px;gap:12px}.area-section{padding:35px 5%;gap:10px}.area-section h2{margin-bottom:10px}.faq-section{gap:15px}.quote-section{padding:40px 5%;gap:25px}.quote-copy{padding:0}.quote-phone{margin-top:15px}form{padding:24px 20px}.form-grid{grid-template-columns:1fr}.footer-main{flex-wrap:wrap;gap:15px}.footer-main p{flex:1;min-width:170px}.footer-bottom{flex-direction:column;gap:8px}footer{padding-bottom:100px}.mobile-cta{display:grid;grid-template-columns:1fr 1.3fr;gap:8px;position:fixed;bottom:0;left:0;right:0;z-index:15;background:white;border-top:1px solid var(--border);padding:8px 5% max(8px,env(safe-area-inset-bottom))}.mobile-cta a{background:var(--blue);color:white;padding:12px 8px;font-size:14px;font-weight:700;text-align:center;border-radius:2px}.mobile-cta a:last-child{background:var(--green)}}
@media(max-width:360px){.header-phone{font-size:15px}.header-phone small{font-size:10px}.brand img{width:85px;height:75px}header{gap:8px}h1{font-size:32px}.hero-proof{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:32px;padding:12px 0 8px}.footer-grid .brand img{width:120px;height:100px}.footer-grid h2{font-size:18px;letter-spacing:0;margin:12px 0 20px}.footer-grid p,.footer-grid address,.footer-grid li,.footer-grid a{font-size:14px;line-height:1.8}.footer-grid p{color:var(--muted);margin:12px 0 16px}.footer-grid address{font-style:normal}.footer-grid address a{overflow-wrap:anywhere}.footer-grid ul{list-style:none;margin:0;padding:0}.footer-grid li{margin-bottom:7px}.footer-grid a:not(.brand){color:var(--blue)}.preview-note{font-size:12px;color:var(--muted);margin:15px 0 0}article[id],div[id],p[id]{scroll-margin-top:145px}header nav{display:flex}footer nav{position:static}
@media(max-width:1000px){.footer-grid{grid-template-columns:1fr 1fr;gap:30px 45px}}
@media(max-width:760px){header nav{display:none}header nav.open{display:grid}.footer-grid{grid-template-columns:1fr 1fr;gap:25px 20px}.footer-business{grid-column:1/-1}.footer-grid h2{font-size:17px}.footer-column:last-child{grid-column:1/-1}article[id],div[id],p[id]{scroll-margin-top:110px}}
@media(max-width:360px){.footer-grid{grid-template-columns:1fr}}
