:root{--green:#173b28;--dark:#11291e;--cream:#f5f2e8;--lime:#d3e49a;--ink:#20352a}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:25px}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--cream);color:var(--ink);line-height:1.6}a{color:inherit;text-underline-offset:5px}.draft{text-align:center;background:var(--lime);font-size:11px;letter-spacing:1.5px;padding:7px;font-weight:bold}header{max-width:1320px;margin:auto;padding:26px 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ccd2c5}.brand{font-weight:900;font-size:22px;line-height:1.1;text-decoration:none;letter-spacing:-1px}.brand span{display:block;font-size:12px;letter-spacing:2px;margin-top:5px}nav{display:flex;gap:30px;align-items:center;font-size:14px}nav a{text-decoration:none}.nav-cta{border:1px solid var(--green);padding:10px 15px}.hero{max-width:1440px;margin:auto;padding:65px 5% 70px;display:grid;grid-template-columns:1fr 1.1fr;gap:50px;align-items:center}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:bold;margin:0 0 22px}h1,h2,h3,p{margin-top:0}h1{font-family:Georgia,serif;font-weight:normal;font-size:clamp(46px,5vw,76px);line-height:1.04;letter-spacing:-2.7px;margin-bottom:27px}h2{font-family:Georgia,serif;font-size:clamp(36px,4vw,54px);font-weight:normal;line-height:1.1;letter-spacing:-1.5px;margin-bottom:25px}h3{font-size:21px;line-height:1.25;margin-bottom:12px}.intro{font-size:18px;max-width:470px;color:#526253;margin-bottom:30px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:25px;background:var(--green);color:white;text-decoration:none;padding:17px 23px;border:0;font-size:14px;font-weight:bold;cursor:pointer}.button:hover{background:#2b5439}.button:focus-visible,a:focus-visible{outline:3px solid #9caf63;outline-offset:4px}.small{font-size:12px;color:#59695c;margin-top:17px}.hero-art{margin:0;background:var(--green);border-radius:2px;transform:rotate(-1deg);box-shadow:15px 15px 0 #e3e5d6}.hero-art img{display:block;width:100%;height:auto}.hero-art figcaption{color:var(--cream);padding:15px 22px;text-align:right;font-size:12px;letter-spacing:1px}.section{max-width:1320px;margin:auto;padding:90px 5%}.section-heading{display:grid;grid-template-columns:1fr 1.2fr;column-gap:70px}.section-heading .eyebrow{grid-column:1/-1}.section-heading>p:last-child{max-width:390px;align-self:center;color:#526253}.service-list{margin-top:25px}.service-list article{border-top:1px solid #c8cdbf;padding:28px 0;display:grid;grid-template-columns:12% auto;gap:15px}.number{font-family:Georgia,serif;font-size:28px;color:#718064}.service-list article p{max-width:700px;margin:0;color:#526253}.area{background:#e8eadf;max-width:none;display:grid;grid-template-columns:1.25fr 1fr;gap:100px;padding-left:max(5%,calc((100% - 1188px)/2));padding-right:max(5%,calc((100% - 1188px)/2))}.area p{max-width:600px}.area-note{border:1px solid #9bab91;padding:40px;align-self:center}.compass{display:block;margin-bottom:35px;color:#7d8b69;font-size:27px}.area-note h3{font:normal 32px/1.15 Georgia,serif}.area-note a{font-weight:bold;font-size:14px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;margin-top:50px}.steps b{display:block;font-size:11px;letter-spacing:1px;border-top:1px solid #bec8b5;padding-top:20px;margin-bottom:25px}.steps p{color:#526253;font-size:15px}.future{border-top:1px solid #c8cdbf;padding-top:55px;padding-bottom:60px}.future p:last-child{max-width:750px}.quote{max-width:none;background:var(--dark);color:var(--cream);display:grid;grid-template-columns:1fr 1fr;gap:90px;padding-left:max(5%,calc((100% - 1188px)/2));padding-right:max(5%,calc((100% - 1188px)/2))}.quote .eyebrow{color:var(--lime)}.quote .small{color:#bbcab9}.quote .email{font-size:clamp(13px,1.3vw,17px);overflow-wrap:anywhere}.quote p{max-width:440px}label{display:block;font-size:13px;margin-bottom:20px}input,select,textarea{display:block;margin-top:7px;width:100%;font:inherit;color:var(--ink);background:#f5f2e8;padding:12px;border:1px solid #a6b398;border-radius:0}input:focus,select:focus,textarea:focus{outline:3px solid var(--lime)}textarea{resize:vertical}.quote .button{background:var(--lime);color:var(--dark);width:100%}footer{background:var(--dark);border-top:1px solid #49604c;color:#c4d1be;display:flex;justify-content:space-between;gap:20px;padding:24px 5%;font-size:11px}.skip{position:absolute;left:-9999px}.skip:focus{left:10px;top:10px;background:white;padding:10px;z-index:9}@media(max-width:760px){header{padding:22px 6%}.brand{font-size:18px}.brand span{font-size:10px}nav{gap:15px}nav>a:not(.nav-cta){display:none}.hero{grid-template-columns:1fr;padding:45px 6% 55px;gap:35px}h1{letter-spacing:-1.8px}.hero-art{transform:none}.section{padding:60px 6%}.section-heading,.area,.quote{grid-template-columns:1fr;gap:25px}.section-heading>p:last-child{max-width:none}.steps{grid-template-columns:1fr;gap:15px;margin-top:30px}.area-note{padding:25px}.compass{margin-bottom:15px}footer{flex-wrap:wrap;padding:25px 6%}form{margin-top:15px}}

.hero-services{list-style:none;padding:0;margin:20px 0 24px;display:grid;gap:7px;color:var(--green);font-weight:750}.hero-services li{display:flex;align-items:baseline;gap:10px}.hero-services li::before{content:"";background:currentColor;width:6px;height:6px;flex:0 0 6px;align-self:center;border-radius:50%}
/* Refreshed visual system and direct contact */
:root{--green:#193e2e;--dark:#102c22;--cream:#f6f3e9;--lime:#dfecb1;--ink:#20392e;--orange:#efb569}
body{background:var(--cream)}
header{max-width:none;background:#fffdf7;padding:22px max(5%,calc((100% - 1188px)/2));border-bottom:1px solid #d8ddcf;gap:24px}
.brand{font-size:23px;letter-spacing:-.8px;white-space:nowrap}
nav{gap:24px;font-weight:600}
nav a:hover{color:#647b3e}
.nav-phone{white-space:nowrap}
.nav-cta{background:var(--green);color:#fff!important;border:0;border-radius:5px;padding:12px 18px;white-space:nowrap}
.hero{max-width:none;background:var(--green);color:#fffdf0;padding:68px max(5%,calc((100% - 1188px)/2)) 70px;gap:45px;grid-template-columns:1.05fr 1fr;min-height:610px;position:relative}
.hero .eyebrow{color:var(--lime);font-size:11px;line-height:1.8;letter-spacing:1.5px}
h1{font-size:clamp(48px,5.2vw,74px);line-height:1.06;letter-spacing:-2.5px}
.hero-services{color:#e6eddc;font-size:15px;gap:7px;margin:28px 0}
.hero-services li::before{color:#d4df9b}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px}
.button{border-radius:5px;padding:16px 24px;min-height:52px;transition:background .15s,transform .15s}
.hero .button{background:var(--orange);color:var(--dark);font-size:15px;min-width:150px}
.hero .button:hover{background:#f9c98d;transform:translateY(-2px)}
.button-outline,.hero .button-outline{background:transparent;color:#fffdf0;border:1px solid #8da792;justify-content:center}
.hero .button-outline:hover{background:#2a503c}
.hero-estimate{display:inline-block;margin-top:20px;color:var(--lime);font-size:14px;font-weight:600}
.hero .small{color:#c4d2bf;font-size:12px;max-width:380px;line-height:1.7}
.hero-art{transform:none;background:#123424;box-shadow:0 24px 60px #06170d55;border:1px solid #547359;border-radius:10px;overflow:hidden}
.hero-art img{aspect-ratio:3/2;object-fit:cover}
.hero-art figcaption{text-align:left;color:#dfebd6;font-size:11px;letter-spacing:1.1px;padding:16px 23px}
.location-strip{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;background:var(--lime);padding:17px max(5%,calc((100% - 1188px)/2));font-size:12px;font-weight:700}
.location-strip a{text-decoration:none}
.section{padding-top:85px;padding-bottom:85px}
.section-heading>p:last-child{font-size:16px;line-height:1.8}
.service-list{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:28px}
.service-list article{grid-template-columns:1fr;gap:22px;background:#fffdf8;border:1px solid #d8dfcf;border-radius:8px;padding:28px;box-shadow:0 5px 18px #243e2710}
.service-list h3{font-size:22px;line-height:1.3;min-height:58px}
.service-list p{font-size:14px;line-height:1.85}
.number{font-size:20px;color:#4e6a45;width:44px;height:44px;display:grid;place-items:center;border-radius:50%;background:#e8eddd}
.work{border-top:1px solid #d7ddcc}
.work-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:24px;margin-top:30px;align-items:stretch}
.work-grid figure{margin:0;background:#fffdf8;border:1px solid #d8dfcf;border-radius:8px;overflow:hidden}
.work-grid a{display:block;overflow:hidden}
.work-grid img{width:100%;height:390px;object-fit:cover;display:block;transition:transform .25s}
.work-grid a:hover img{transform:scale(1.025)}
.work-grid figure:nth-child(2) img{object-position:center 64%}
.work-grid figcaption{padding:21px 25px;font-family:Georgia,serif;font-size:23px;line-height:1.35}
.work-grid figcaption span{display:block;font:700 10px/1.4 Arial,sans-serif;letter-spacing:1.5px;margin-bottom:9px;color:#5d7354}
.gallery-hint{margin-bottom:0}
.area{gap:65px;background:#e7ecdf}
.area-note{border-radius:8px;background:#f5f6ed;border-color:#bdc9af}
.steps{gap:28px}.steps>div{padding-right:20px}.steps h3{font-size:22px}
.future{padding-top:40px;padding-bottom:40px;background:#eeeede}.future h2{font-size:34px}.future p:last-child{font-size:14px;max-width:850px;margin-bottom:0}
.quote{padding-top:85px;padding-bottom:85px;gap:70px}
.contact-number{display:block;font:normal clamp(28px,3.4vw,44px)/1.2 Georgia,serif;text-decoration:none;margin:28px 0 20px;color:#fff}
.contact-actions{display:flex;gap:12px;margin-bottom:25px}
.contact-actions a{border:1px solid #729077;padding:10px 22px;border-radius:4px;font-size:14px;text-decoration:none;min-height:45px}
.contact-actions a:hover{background:#274b37}
form{border:1px solid #5b725d;padding:28px;border-radius:8px;background:#193b2b}
input,select,textarea{border-radius:4px;min-height:46px;background:#fffdf6}
label{font-size:13px;font-weight:600}select{max-width:100%}
#email-fallback{border-top:1px solid #637961;margin-top:24px;padding-top:20px}
#email-fallback[hidden]{display:none}
#email-fallback .button{border:1px solid #829b76;background:transparent;color:#f3f6e8}
#message-preview{font-size:13px;font-weight:400}
footer{align-items:center;font-size:12px;line-height:1.7}
.mobile-contact{display:none}
@media(min-width:761px) and (max-width:1050px){nav{gap:14px;font-size:12px}.brand{font-size:20px}.nav-phone{display:none}.hero{gap:25px}h1{font-size:55px}.service-list{gap:12px}.service-list article{padding:22px}}
@media(max-width:760px){html{scroll-padding-top:15px}body{padding-bottom:66px}header{padding:18px 6%;gap:12px}.brand{font-size:18px}.brand span{font-size:9px;letter-spacing:1.6px}.nav-cta{font-size:11px;padding:11px 13px}nav{gap:0}.hero{padding:42px 6% 44px;min-height:0;gap:30px;grid-template-columns:1fr}.hero .eyebrow{font-size:10px;letter-spacing:1.15px;margin-bottom:19px}h1{font-size:clamp(43px,10.8vw,65px);letter-spacing:-1.8px}.hero-services{font-size:14px;margin:22px 0}.hero-actions .button{flex:1;min-width:120px;padding:14px 18px}.hero-art{max-width:560px}.hero-art figcaption{font-size:10px}.location-strip{padding:15px 6%;gap:4px;font-size:11px}.location-strip span:first-child{width:100%}.location-strip a{display:none}.section{padding:55px 6%}.section-heading{gap:0}.section-heading .eyebrow{margin-bottom:15px}.section-heading>p:last-child{margin-bottom:0;font-size:15px}.service-list{grid-template-columns:1fr;gap:14px}.service-list article{grid-template-columns:40px 1fr;gap:18px;padding:23px 20px}.service-list h3{min-height:0;font-size:20px}.number{width:36px;height:36px;font-size:18px}.work-grid{grid-template-columns:1fr;gap:18px}.work-grid img{height:auto;aspect-ratio:4/3}.work-grid figure:nth-child(2) img{height:350px;aspect-ratio:auto}.work-grid figcaption{font-size:22px;padding:20px}.area{gap:25px}.area-note{padding:25px}.future h2{font-size:30px}.quote{gap:20px}.contact-number{font-size:36px}form{padding:22px 18px;margin-top:12px}.quote .email{font-size:14px}.steps>div{padding-right:0}footer{padding:22px 6%;gap:10px 22px}.mobile-contact{position:fixed;bottom:0;left:0;right:0;display:grid;grid-template-columns:1fr 1fr 1.35fr;z-index:20;background:#fffdf7;border-top:1px solid #bccab3;box-shadow:0 -5px 20px #102c2218;padding:9px 12px max(9px,env(safe-area-inset-bottom));gap:8px}.mobile-contact a{display:grid;place-items:center;font-size:12px;font-weight:700;text-decoration:none;min-height:44px;border-radius:4px;background:#e8eedf}.mobile-contact a:last-child{background:var(--green);color:#fff}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.quote .facebook-link{display:block;width:fit-content;margin-top:18px;color:var(--cream,#f7f5e9);text-underline-offset:5px}.facebook-link:focus-visible{outline:3px solid #e0edaf;outline-offset:5px}
