
:root{--green:#173d36;--muted:#63756e;--cream:#f6f4ed;--lime:#d8ed9b;--line:#dce2d7}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--green);font-family:Arial,sans-serif}a{color:inherit;text-decoration:none}img{max-width:100%}p{color:var(--muted);line-height:1.8}h1,h2,h3{line-height:1.12}h1{font-size:clamp(42px,5.8vw,76px);letter-spacing:-3px;margin:18px 0 26px}h2{font-size:clamp(30px,3.5vw,44px);letter-spacing:-1.5px;margin:0 0 24px}h3{font-size:23px;margin:0 0 14px}.wrap{max-width:1200px;margin:auto;padding:0 32px}.site-header{border-bottom:1px solid var(--line);padding:22px 0;display:flex;justify-content:space-between;align-items:center;gap:20px}.brand{display:flex;align-items:center;gap:13px;font-size:20px;font-weight:900;letter-spacing:-.6px}.brand img{width:58px;height:58px;object-fit:contain;background:white;border-radius:10px}.desktop-nav{display:flex;gap:23px;font-size:14px}.desktop-nav a[aria-current]{border-bottom:2px solid var(--green);padding-bottom:7px}.mobile-menu{display:none}.eyebrow{font-size:11px;letter-spacing:2px;text-transform:uppercase;font-weight:bold}.hero{display:grid;grid-template-columns:1.15fr 1fr;gap:60px;align-items:center;padding:68px 0}.hero p{font-size:18px;max-width:560px}.hero-image{background:white;border-radius:20px;overflow:hidden}.hero-image img{width:100%;max-height:480px;object-fit:contain;display:block}.hero-image.project img{height:450px;object-fit:cover}.button{display:inline-flex;justify-content:center;align-items:center;padding:17px 23px;border:1px solid var(--green);border-radius:7px;font-size:14px;font-weight:bold;background:var(--green);color:white;line-height:1.4}.button.outline{background:transparent;color:var(--green)}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}.section{padding:65px 0;border-top:1px solid var(--line)}.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:28px}.section-head p{max-width:440px;margin:0}.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.service-card{display:block;border:1px solid var(--line);border-radius:14px;background:#fff;padding:32px;transition:transform .2s,box-shadow .2s}.service-card:hover{transform:translateY(-4px);box-shadow:0 10px 30px #173d3610}.service-card p{margin:0 0 24px}.text-link{font-weight:bold;font-size:14px}.arrow{float:right}.number{font-size:12px;letter-spacing:2px;color:var(--muted);display:block;margin-bottom:22px}.work-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.work-item{margin:0;background:white;border:1px solid var(--line);border-radius:12px;overflow:hidden}.work-item img{width:100%;height:300px;object-fit:contain;display:block;background:#eeeee7}.work-item figcaption{padding:16px;font-size:14px;font-weight:bold;line-height:1.5}.reviews-panel{background:white;border:1px solid var(--line);border-radius:18px;padding:40px}.reviews-intro{max-width:740px}.review-links{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:26px}.review-link{display:flex;justify-content:space-between;align-items:center;background:var(--cream);border:1px solid var(--line);border-radius:10px;padding:24px}.review-link strong{font-size:20px;display:block}.review-link small{display:block;margin-top:8px;color:var(--muted)}.review-arrow{font-size:26px}.towns{display:flex;gap:10px;flex-wrap:wrap}.towns span{padding:12px 18px;background:white;border:1px solid var(--line);border-radius:30px;font-size:13px}.page-top{padding:60px 0 45px;max-width:850px}.page-top p{font-size:18px}.breadcrumb{font-size:12px;color:var(--muted);margin-bottom:28px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.detail{padding:27px 0;border-top:1px solid var(--line)}.detail p{margin-bottom:0}.faq{max-width:850px}.faq details{padding:22px 0;border-bottom:1px solid var(--line)}summary{cursor:pointer;font-weight:bold;line-height:1.5}.info-panel{background:white;border:1px solid var(--line);border-radius:14px;padding:30px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.contact-option{display:block;padding:25px;border:1px solid var(--line);border-radius:12px;margin-bottom:14px;background:white;overflow-wrap:anywhere}.contact-option strong{display:block;font-size:20px;margin-bottom:10px}.contact-option span{color:var(--muted);font-size:15px}.end-contact{padding:30px 0 42px;border-top:1px solid var(--line);display:flex;gap:12px;flex-wrap:wrap}.email-button{overflow-wrap:anywhere}.related{display:flex;flex-wrap:wrap;gap:12px}a:focus-visible,summary:focus-visible{outline:3px solid #91ae6d;outline-offset:5px}@media(max-width:900px){.desktop-nav{gap:14px}.brand{font-size:17px}.hero{gap:30px}.work-grid{grid-template-columns:1fr 1fr}}@media(max-width:700px){.wrap{padding:0 22px}.desktop-nav{display:none}.mobile-menu{display:block;position:relative}.mobile-menu summary{padding:12px;border:1px solid var(--line);border-radius:7px;list-style:none}.mobile-menu nav{position:absolute;right:0;top:54px;min-width:210px;z-index:10;background:white;border:1px solid var(--line);border-radius:12px;padding:12px;box-shadow:0 15px 30px #173d3620}.mobile-menu nav a{display:block;padding:12px}.site-header{padding:15px 0}.brand img{width:44px;height:44px}.hero{grid-template-columns:1fr;padding:38px 0;gap:28px}h1{letter-spacing:-1.8px}.hero-image.project img{height:330px}.cards,.detail-grid,.contact-grid{grid-template-columns:1fr}.section{padding:42px 0}.section-head{display:block}.section-head p{margin-top:16px}.work-grid{grid-template-columns:1fr}.work-item img{height:auto;max-height:500px}.review-links{grid-template-columns:1fr}.reviews-panel{padding:26px 20px}.page-top{padding:35px 0}.actions .button{flex:1}.end-contact{flex-direction:column}.button{padding:16px 19px}.service-card{padding:26px}}

/* Project-focused refinement */
:root{--cream:#f7f6f0}.site-header{padding:19px 0}.hero{padding:62px 0 74px}.hero h1{font-weight:800}.hero-note{font-size:12px;line-height:1.8;color:var(--muted);margin-top:24px}.hero-projects{display:grid;grid-template-columns:1.4fr 1fr;gap:14px;align-items:end}.hero-projects a{position:relative;display:block;border-radius:14px;overflow:hidden;background:var(--green)}.hero-projects img{display:block;width:100%;height:440px;object-fit:cover;opacity:.96}.hero-projects .hero-project-small img{height:300px}.hero-projects span{position:absolute;bottom:0;left:0;right:0;padding:45px 16px 20px;background:linear-gradient(transparent,#102d28ed);color:#fff;font-size:13px;font-weight:bold;line-height:1.6}.with-photo{padding:0;overflow:hidden}.with-photo .service-cover{width:100%;height:210px;object-fit:cover;display:block;margin-bottom:26px}.with-photo .number,.with-photo h3,.with-photo p,.with-photo .text-link{margin-left:28px;margin-right:28px}.with-photo .text-link{display:block;margin-bottom:28px}.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}.steps-grid article{border-top:2px solid var(--green);padding-top:23px}.steps-grid span{display:inline-block;font-size:12px;color:var(--muted);margin-bottom:20px}.steps-grid h3{font-size:21px}.project-status{display:block;color:#61745a;font-size:10px;text-transform:uppercase;letter-spacing:1.5px;margin-bottom:10px}.work-item figcaption strong{display:block;font-size:17px}.work-item figcaption p{font-size:13px;font-weight:normal;margin:9px 0 0}.work-item>a{display:block;cursor:zoom-in}.testimonial{padding:45px;background:var(--green);color:white;border:0;border-radius:16px;margin:28px 0 54px}.testimonial blockquote{font-size:clamp(24px,3vw,38px);line-height:1.4;letter-spacing:-.7px;margin:25px 0}.quote-credit{display:flex;justify-content:space-between;gap:24px;align-items:center}.quote-credit a{font-size:13px}.gallery-tools{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 12px}.filter-button{font:inherit;font-size:13px;padding:11px 18px;border:1px solid var(--line);border-radius:30px;background:white;color:var(--green);cursor:pointer}.filter-button[aria-pressed=true]{background:var(--green);color:white;border-color:var(--green)}.gallery-count{font-size:13px;margin-bottom:25px}.work-item[hidden]{display:none}.photo-dialog{width:min(1000px,94vw);max-height:94vh;padding:54px 20px 16px;border:0;border-radius:14px;background:var(--cream);color:var(--green)}.photo-dialog::backdrop{background:#0e211de6}.photo-dialog img{display:block;max-height:72vh;max-width:100%;width:auto;margin:auto;object-fit:contain}.photo-dialog p{text-align:center;margin:14px 0 0;font-size:14px}.close-photo{position:absolute;top:12px;right:15px;padding:10px 14px;background:white;border:1px solid var(--line);border-radius:8px;font:inherit;color:var(--green);cursor:pointer}.request-form{padding:32px;background:white;border:1px solid var(--line);border-radius:14px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.form-grid label{font-size:14px;font-weight:bold;display:block}.form-grid input,.form-grid select,.form-grid textarea{font:inherit;font-weight:normal;background:#fbfcf8;border:1px solid #c6d1c1;border-radius:7px;padding:14px;width:100%;color:var(--green);display:block;margin-top:10px;min-height:49px}.form-grid textarea{resize:vertical}.full-width{grid-column:1/-1}.form-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:25px}.form-actions button{cursor:pointer}.form-note,#request-status{font-size:13px;max-width:700px;margin-bottom:0}input:focus,textarea:focus,select:focus{outline:2px solid #91ae6d;outline-offset:2px}.filter-button:focus-visible{outline:3px solid #91ae6d;outline-offset:3px}@media(max-width:700px){.hero{padding:36px 0 45px}.hero-projects img{height:310px}.hero-projects .hero-project-small img{height:230px}.hero-projects{gap:10px}.steps-grid{grid-template-columns:1fr;gap:18px}.steps-grid h3{margin-bottom:7px}.steps-grid span{margin-bottom:12px}.steps-grid p{margin-top:0}.testimonial{padding:28px 23px;margin:20px 0 36px}.quote-credit{display:block}.quote-credit a{display:block;margin-top:14px}.form-grid{grid-template-columns:1fr;gap:18px}.request-form{padding:23px 18px}.form-actions{flex-direction:column}.with-photo .service-cover{height:200px}.hero-projects span{font-size:11px}.photo-dialog{padding-left:10px;padding-right:10px}}

.home-page .hero{grid-template-columns:1fr;max-width:850px}.home-page .hero p{max-width:680px}.home-page .hero h1{max-width:800px}

.hero.service-intro{grid-template-columns:1fr;max-width:900px}.hero.service-intro p{max-width:700px}
