:root{--green:#007745;--dark:#102f28;--paper:#f6f6f0;--ink:#182f29;--line:#d8dfd6}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;color:var(--ink);font:15px/1.65 Arial,Helvetica,sans-serif;background:var(--paper)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #c7a945;outline-offset:5px}.skip{position:absolute;top:-100px;background:white;padding:12px;z-index:10}.skip:focus{top:0}.topbar{padding:9px 5%;background:var(--dark);color:#dbe8dc;font-size:10px;letter-spacing:1.6px;display:flex;justify-content:space-between}.topbar a{letter-spacing:1px}header{position:sticky;top:0;z-index:5;background:#fafbf7f5;backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:space-between;padding:23px 5%;border-bottom:1px solid var(--line)}.logo{width:230px;display:block}nav{display:flex;align-items:center;gap:30px;font-size:12px;font-weight:600}nav>a:not(.button):hover{color:var(--green)}.button{background:var(--green);color:white;display:inline-flex;align-items:center;justify-content:space-between;gap:30px;padding:17px 24px;border:1px solid var(--green);font-size:13px;font-weight:600;transition:background .2s,transform .2s}.button:hover{background:var(--dark);transform:translateY(-2px)}.button.small{padding:12px 18px}.button.light{background:#dce9ca;color:var(--dark);border:0}.hero{display:grid;grid-template-columns:1.1fr 1fr;min-height:630px}.hero-copy{padding:76px 7% 26px 9%;display:flex;flex-direction:column}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:700;margin:0 0 25px}.eyebrow>span{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--green);margin-right:8px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(44px,5.1vw,80px);letter-spacing:-3.8px;line-height:1.07;font-weight:500;margin-bottom:25px}em{font-family:Georgia,serif;font-weight:400;color:var(--green)}.intro{font-size:16px;line-height:1.8;max-width:390px;color:#52665d}.actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:16px}.text-link{display:inline-block;border-bottom:1px solid currentColor;padding-bottom:4px;font-size:12px;font-weight:bold}.hero-bottom{margin-top:auto;padding-top:60px;display:flex;justify-content:space-between;font-size:9px;letter-spacing:1.2px;color:#62736a}.hero-image{position:relative;min-height:530px;overflow:hidden}.hero-image>img{width:100%;height:100%;object-fit:cover;position:absolute}.hero-image:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 50%,#08271dd9)}.image-label{position:absolute;bottom:40px;left:35px;z-index:1;color:white;font-size:9px;letter-spacing:1.7px}.image-label strong{font:italic 35px Georgia,serif;letter-spacing:0;display:block;margin-top:10px}.trust-strip{display:flex;justify-content:space-around;gap:20px;padding:25px 5%;border-block:1px solid var(--line);font-size:11px;letter-spacing:.4px}.trust-strip span:before{content:'✳';color:var(--green);margin-right:12px}.section{padding:95px 6%;max-width:1600px;margin:auto}.about{display:grid;grid-template-columns:1fr 1fr;gap:10%}h2{font-size:clamp(30px,3.3vw,48px);line-height:1.15;letter-spacing:-1.7px;font-weight:500}.lead{font-size:20px;line-height:1.6}.about p:not(.eyebrow):not(.lead){color:#596b61}.about .text-link{margin-top:18px}.services{background:#eaf0e7;max-width:none}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:35px}.section-heading p:not(.eyebrow){font-size:13px;color:#647268}.section-heading h2{margin-bottom:0}.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:28px}.filters button{border:1px solid #bdccbd;border-radius:30px;background:transparent;padding:9px 18px;font-size:11px}.filters button.active{background:var(--dark);border-color:var(--dark);color:white}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.service-card{background:var(--paper);padding:28px;display:flex;flex-direction:column;border:1px solid #dce3d8}.service-card[hidden]{display:none}.card-number{font-size:11px;color:var(--green);display:flex;justify-content:space-between;margin-bottom:30px}.card-number b{font-size:22px;font-weight:400}.service-card h3{font-size:22px;font-weight:500;letter-spacing:-.5px;line-height:1.25;margin-bottom:12px}.service-card>p{font-size:13px;color:#647268}.service-card details{border-top:1px solid var(--line);font-size:12px;margin-top:auto}.service-card summary{padding:13px 0;cursor:pointer;font-weight:600}.service-card ul{padding-left:17px;color:#53665c}.service-card li{margin-bottom:7px}.service-card>a{font-size:11px;font-weight:bold;color:var(--green);margin-top:16px}.project-banner{background:var(--dark);color:white;padding:55px 6%;display:flex;align-items:center;justify-content:space-between;gap:30px}.project-banner .eyebrow{color:#bcd3a7}.project-banner h2{font-size:34px;margin:0}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:35px;margin-top:55px}.steps article{border-top:1px solid #a9b9ac;padding-top:20px}.steps span{color:var(--green);font-size:12px}.steps h3{font-size:17px;margin:25px 0 12px}.steps p{font-size:13px;color:#647268}.booking{background:#e9eee5;max-width:none;display:grid;grid-template-columns:.9fr 1.1fr;gap:10%}.booking h2{font-size:56px}.booking>div>p:not(.eyebrow){max-width:350px}.booking-note{max-width:330px;border-left:2px solid var(--green);padding-left:18px;font-size:12px;color:#617060;margin-top:32px}form{background:#fcfdf9;padding:32px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}label{display:block;font-size:11px;font-weight:600;margin-bottom:18px}label>span{font-weight:400;color:#687568}input,select,textarea{width:100%;display:block;border:1px solid #cad4c7;background:#fcfdf9;padding:11px;margin-top:7px;border-radius:0;font-size:13px;color:var(--ink)}input:focus,select:focus,textarea:focus{outline:2px solid var(--green);outline-offset:1px}.consent{display:flex;gap:10px;align-items:start;font-weight:400}.consent input{width:16px;height:16px;margin:3px 0 0;flex-shrink:0}.inline,.email-button{background:none;border:0;color:var(--green);padding:0;text-decoration:underline;font-size:inherit}.email-button{font-size:12px}.form-status{font-size:12px;margin-top:16px;margin-bottom:0;color:var(--green)}.faq{display:grid;grid-template-columns:1fr 1.2fr;gap:10%}.faq details{border-bottom:1px solid var(--line);padding:19px 0}.faq summary{cursor:pointer;font-size:15px;font-weight:600}.faq details p{font-size:13px;margin:15px 0 0;color:#627368}.contact{background:var(--dark);color:#f0f5e9;max-width:none;display:grid;grid-template-columns:1fr 1fr;gap:10%}.contact .eyebrow{color:#bdd1a7}.big-phone{font-size:34px;display:block;margin-top:35px}.contact-email{display:block;font-size:14px;overflow-wrap:anywhere;margin:10px 0 24px}.locations{display:grid;grid-template-columns:1fr 1fr;gap:30px}.locations article{border-top:1px solid #537167;padding-top:18px}.locations span{font-size:9px;letter-spacing:1.5px;color:#b1c4b8}.locations h3{font-size:21px;font-weight:400;margin:10px 0}.locations p,.locations a{font-size:12px;color:#c2d0c6}.locations a{text-decoration:underline}footer{padding:40px 6% 24px}.footer-top,.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:25px}.footer-top img{width:240px}.footer-top p{font-size:13px;line-height:1.4}.footer-top>a{font-size:11px}.footer-bottom{padding-top:30px;margin-top:25px;border-top:1px solid var(--line);font-size:10px;color:#657668}.footer-bottom>div{display:flex;gap:20px;flex-wrap:wrap}.footer-bottom button{font:inherit;color:inherit;background:none;border:0;padding:0}dialog{max-width:600px;width:90%;border:0;padding:40px;background:var(--paper);color:var(--ink)}dialog::backdrop{background:#102f28ba}#close-dialog{float:right;background:none;border:0;color:var(--green);padding:0 0 20px 20px}dialog h2{font-size:30px}dialog p{font-size:14px}#menu{display:none}@media(min-width:1600px){.hero{max-height:850px}.hero-copy{padding-left:12%}}@media(max-width:1000px){nav{gap:16px}.logo{width:190px}h1{letter-spacing:-2px}.hero-copy{padding-top:55px}.service-grid{grid-template-columns:repeat(2,1fr)}.booking{gap:5%}.booking h2{font-size:44px}.form-row{grid-template-columns:1fr}.steps{gap:20px}.section{padding:65px 5%}.contact{gap:5%}}@media(max-width:700px){.topbar{font-size:8px;letter-spacing:.7px}.topbar a{font-size:10px}header{padding:19px 5%;flex-wrap:wrap}.logo{width:195px}#menu{display:block;background:transparent;border:0;font-size:12px;color:var(--green)}nav{display:none;width:100%;padding-top:20px;align-items:start;flex-direction:column;gap:18px}nav.open{display:flex}.hero{grid-template-columns:1fr}.hero-copy{padding:45px 6% 25px}h1{font-size:51px;letter-spacing:-2.6px}.hero-image{min-height:330px}.hero-bottom{padding-top:40px}.trust-strip{display:grid;grid-template-columns:1fr 1fr;font-size:10px;gap:14px}.about,.booking,.faq,.contact{grid-template-columns:1fr;gap:30px}.section{padding:55px 6%}h2{font-size:34px}.section-heading{align-items:start;flex-direction:column;gap:15px}.service-grid{grid-template-columns:1fr}.service-card{padding:25px}.card-number{margin-bottom:20px}.project-banner{align-items:start;flex-direction:column;padding:40px 6%}.project-banner h2{font-size:28px}.steps{grid-template-columns:1fr 1fr;gap:25px}.steps h3{margin-top:15px}.booking h2{font-size:44px}form{padding:24px}.form-row{grid-template-columns:1fr}.locations{gap:25px}.big-phone{font-size:31px}.footer-top,.footer-bottom{align-items:start;flex-direction:column}.footer-top{gap:12px}.footer-top img{width:200px}.footer-bottom{gap:15px}.footer-bottom>div{gap:15px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Branded service imagery */
.hero-image{background:#102f28}.hero-image>img{object-fit:contain;object-position:center top}.hero-image:after{background:linear-gradient(transparent 45%,#102f2800 60%,#102f28 94%)}.service-photos{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin:35px 0 38px}.service-photos figure{margin:0;position:relative;overflow:hidden;background:var(--dark)}.service-photos img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}.service-photos figcaption{padding:22px 25px;color:white}.service-photos figcaption span{font-size:9px;letter-spacing:1.5px;color:#bfd4ad}.service-photos h3{font-size:25px;font-weight:400;margin:7px 0 10px}.service-photos a{font-size:12px;text-decoration:underline;text-underline-offset:4px}.image-disclosure{font-size:10px;color:#657668;margin:25px 0 0}@media(max-width:700px){.hero-image{min-height:0;aspect-ratio:3/2}.hero-image>img{object-fit:cover}.hero-image:after{background:linear-gradient(transparent 55%,#102f28d9)}.image-label{bottom:18px;left:22px}.image-label strong{font-size:27px;margin-top:4px}.service-photos{grid-template-columns:1fr;gap:20px}.service-photos figcaption{padding:20px}}
