@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Baskerville:ital,wght@0,400;0,700;1,400&display=swap');:root{--teal:#084c4c;--deep:#063b3c;--cream:#f6f3e9;--muted:#58706c;--line:#d7dfd9}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:'DM Sans',Arial,sans-serif;color:#173d3a;background:#fff}a{text-decoration:none;color:inherit}header{display:flex;justify-content:space-between;align-items:center;padding:14px max(5vw,24px);border-bottom:1px solid #e9e9e2;background:#fff;position:sticky;top:0;z-index:10}.brand{display:flex;align-items:center;gap:12px;font-weight:700;font-size:19px;color:var(--teal)}.brand img{width:67px;height:67px;object-fit:contain}.brand small{display:block;font-size:11px;letter-spacing:2px;text-transform:uppercase}nav{display:flex;align-items:center;gap:29px;font-size:13px;font-weight:700}nav a:hover{color:#7d9b91}.navcta{background:var(--teal);color:white;padding:15px 20px;border-radius:3px}.menu{display:none}.hero{display:grid;grid-template-columns:52% 48%;min-height:580px;background:var(--cream)}.hero-copy{padding:100px 7vw 70px max(6vw,30px)}.eyebrow{font-size:11px;letter-spacing:2.5px;font-weight:700;color:#668c83}.hero h1,h2{font-family:'Libre Baskerville',Georgia,serif;font-weight:400;line-height:1.16}.hero h1{font-size:clamp(42px,5vw,74px);letter-spacing:-2px;margin:28px 0}.hero h1 em{color:#4e8a7c}.hero p{font-size:18px;line-height:1.8;max-width:570px;color:#42635e}.actions{display:flex;align-items:center;flex-wrap:wrap;gap:26px;margin-top:35px}.button{background:var(--teal);color:white;display:inline-block;padding:18px 24px;font-weight:700;font-size:13px;border-radius:3px}.button:hover,.navcta:hover{background:#16706d;color:white}.textlink{font-weight:700;font-size:13px}.region{margin-top:50px;font-size:12px;letter-spacing:1.3px;color:#57776e;text-transform:uppercase}.hero-visual{background:linear-gradient(140deg,rgba(5,46,45,.1),rgba(5,46,45,.55)),url('https://images.unsplash.com/photo-1611892440504-42a792e24d32?auto=format&fit=crop&w=1400&q=85') center/cover;position:relative;min-height:450px}.photo-caption{position:absolute;bottom:34px;left:34px;color:white;font-size:11px;font-weight:700;letter-spacing:2px}.section{padding:100px max(6vw,28px)}.intro{text-align:center;padding:90px 20px;max-width:900px;margin:auto}.intro h2{font-size:clamp(29px,3.3vw,46px);margin:20px 0}.intro p{color:var(--muted);font-size:17px;line-height:1.8}.services{background:#f7f8f5}.section-head{display:flex;justify-content:space-between;align-items:end;gap:45px;margin-bottom:40px}.section-head h2{font-size:39px;max-width:650px;margin:15px 0 0}.section-head p{max-width:290px;color:var(--muted);line-height:1.7}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.cards article{background:white;padding:35px;min-height:250px;border:1px solid #e8ebe6}.cards article span{font-size:12px;color:#83a79d}.cards h3,.steps h3{font-family:Georgia,serif;font-size:22px;font-weight:400;color:var(--deep)}.cards p,.steps p{color:var(--muted);font-size:14px;line-height:1.8}.maintenance{background:var(--teal);color:white;display:grid;grid-template-columns:1.3fr 1fr;gap:10vw;align-items:center}.maintenance h2{font-size:46px}.maintenance p{line-height:1.9;color:#d6e7df}.maintenance ul{list-style:none;padding:0}.maintenance li{padding:20px 0;border-bottom:1px solid #537e78;font-size:16px}.maintenance li:before{content:'✓';margin-right:15px;color:#c8dfcc}.light{background:#f0eee2;color:var(--deep);margin-top:20px}.approach h2{font-size:40px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:50px}.steps b{font-size:35px;color:#9eb9ad;font-family:Georgia,serif}.about{background:#f7f8f5;display:grid;grid-template-columns:1fr 1fr;gap:12vw}.about h2{font-size:44px}.about p{font-size:17px;line-height:1.9;color:var(--muted)}.contact{text-align:center;background:#eaf0ea}.contact h2{font-size:49px;margin-bottom:15px}.contact p{color:var(--muted);font-size:17px;max-width:640px;margin:0 auto 30px;line-height:1.7}.contact-actions{display:flex;flex-direction:column;align-items:center;gap:12px}.contact-actions span{font-size:12px;color:#67817a}footer{background:var(--deep);color:white;display:flex;align-items:center;gap:24px;padding:30px 6vw}footer img{width:76px}footer p{margin:5px 0}footer small,footer>span{color:#b3cac3;font-size:12px}footer>span{margin-left:auto}@media(max-width:800px){header{padding:10px 18px}.brand img{width:55px;height:55px}.menu{display:block;background:none;border:0;font-size:25px;color:var(--teal)}nav{display:none;position:absolute;top:75px;left:0;right:0;background:white;flex-direction:column;padding:24px;box-shadow:0 10px 20px #0001}nav.show{display:flex}.hero{grid-template-columns:1fr}.hero-copy{padding:70px 28px}.hero-visual{min-height:320px}.section{padding:65px 25px}.section-head,.maintenance,.about{display:block}.cards,.steps{grid-template-columns:1fr}.cards article{min-height:auto}.maintenance ul{margin-top:35px}.section-head h2,.about h2,.maintenance h2{font-size:35px}footer{flex-wrap:wrap}footer>span{margin-left:0}}

.service-groups{display:grid;gap:65px}.service-group{display:grid;gap:24px}.group-heading{display:flex;gap:22px;align-items:start;border-bottom:1px solid #d9e1da;padding-bottom:18px}.group-number{font-family:Georgia,serif;color:#739d91;font-size:31px;line-height:1.2}.group-heading h3{font-family:Georgia,serif;font-weight:400;color:var(--deep);font-size:32px;margin:0 0 8px}.group-heading p{color:var(--muted);line-height:1.6;margin:0}.service-group .cards article{min-height:190px;padding:28px}.service-group .cards h4{font-family:Georgia,serif;font-size:21px;font-weight:400;color:var(--deep);margin:0 0 10px}.service-group .cards p{margin:0}.trade-note{margin-top:28px;font-size:13px;color:var(--muted);line-height:1.7}@media(max-width:800px){.service-groups{gap:44px}.group-heading h3{font-size:27px}.service-group .cards article{min-height:auto}}

/* Estimate request form */
.estimate-shell{max-width:840px;margin:auto}.estimate-shell h2{margin-bottom:14px}.estimate-shell>p{max-width:680px}.estimate-shell form{margin-top:28px;background:#fff;color:#173b3e;border-radius:16px;padding:clamp(20px,4vw,44px);box-shadow:0 12px 35px #092c3014}.estimate-shell form h3{font-size:1.2rem;border-bottom:1px solid #d9e5e2;padding-bottom:12px;margin:24px 0 18px}.estimate-shell form h3:first-child{margin-top:0}.estimate-shell form label:not(.choice){display:block;font-weight:650;font-size:.92rem;margin-bottom:18px}.estimate-shell form input:not([type=checkbox]):not([type=radio]),.estimate-shell form textarea{display:block;box-sizing:border-box;width:100%;border:1px solid #b8cac6;border-radius:8px;background:#fff;color:#173b3e;font:inherit;padding:12px;margin-top:7px}.estimate-shell form input:focus,.estimate-shell form textarea:focus{outline:2px solid #2d7b78;outline-offset:1px}.estimate-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}.estimate-shell fieldset{border:0;margin:0 0 18px;padding:0}.estimate-shell legend{font-weight:650;font-size:.92rem;margin-bottom:9px}.estimate-shell .choice{display:block;margin:10px 0;font-weight:400;font-size:.94rem}.estimate-shell .choice input{accent-color:#176a69;margin-right:8px}.estimate-shell .field-hint{font-size:.85rem;color:#647d7c;margin:0 0 10px}.estimate-shell .choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px 14px}#estimate-status{margin:14px 0;font-weight:650}#estimate-form[hidden]{display:none}@media(max-width:620px){.estimate-grid,.estimate-shell .choice-grid{grid-template-columns:1fr}}
.estimate-success{background:#fff;color:#173b3e;padding:clamp(24px,5vw,52px);border-radius:16px;box-shadow:0 12px 35px #092c3014;text-align:center;margin-top:30px}.estimate-success[hidden]{display:none}.estimate-success h3{font-size:clamp(1.35rem,3vw,2rem);margin:14px 0}.estimate-success p{margin:16px auto;max-width:540px}.estimate-success .success-check{display:grid;place-items:center;margin:0 auto;width:64px;height:64px;border-radius:50%;background:#e1f2ed;color:#176a69;font-size:2.1rem}.estimate-success .button{display:inline-block;margin-top:16px}

/* Mobile usability refinements */
#contact,#services,#maintenance,#approach,#about{scroll-margin-top:95px}.menu{cursor:pointer;min-width:44px;min-height:44px}.estimate-shell form button[type=submit]{border:0;cursor:pointer;min-height:48px}.estimate-shell .choice{display:flex;align-items:center;gap:9px;min-height:40px;line-height:1.4;cursor:pointer}.estimate-shell .choice input{width:18px;height:18px;flex-shrink:0;margin:0}.estimate-shell form input:not([type=checkbox]):not([type=radio]),.estimate-shell form textarea{min-height:46px;font-size:16px}.estimate-shell form textarea{min-height:115px}.estimate-shell form label:not(.choice),.estimate-shell legend{text-align:left}.estimate-shell form .field-hint{text-align:left}.estimate-shell form h3{text-align:left}@media(max-width:800px){nav{top:100%;gap:0;align-items:stretch;padding:12px 20px 20px;max-height:calc(100dvh - 75px);overflow-y:auto}nav a{display:block;padding:14px 8px;min-height:44px}nav .navcta{text-align:center;margin-top:8px}.hero-copy{padding:52px 24px 55px}.hero h1{font-size:clamp(38px,9vw,58px)}.hero p{font-size:16px;line-height:1.7}.hero-visual{min-height:240px}.section{padding:58px 20px}.intro{padding:65px 20px}.contact h2{font-size:clamp(29px,8vw,42px)}.estimate-shell form{padding:24px 18px}.estimate-shell .choice-grid{grid-template-columns:1fr}.estimate-shell form button[type=submit]{width:100%}.service-group .cards article{padding:24px}.group-heading{gap:14px}.group-heading h3{font-size:25px}.maintenance h2,.about h2,.section-head h2{font-size:clamp(28px,7vw,35px)}footer{align-items:flex-start}footer img{width:60px}}@media(max-width:390px){.brand{gap:7px;font-size:16px}.brand small{font-size:9px;letter-spacing:1.4px}.brand img{width:48px;height:48px}.hero-copy{padding:42px 20px}.section{padding-left:16px;padding-right:16px}.estimate-shell form{padding:20px 14px}.photo-caption{left:18px;right:18px;bottom:20px;line-height:1.5}}
