:root{--forest:#354e35;--forest-deep:#263a2b;--sage:#738577;--mint:#eaf1ec;--cream:#fbfcf8;--ink:#29352f;--muted:#68736e;--line:#e2e9e1;--shadow:0 18px 50px rgba(30,49,34,.11);font-family:'Plus Jakarta Sans',Arial,sans-serif;color:var(--ink);background:var(--cream)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px}button,input,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}h1,h2,h3,p{margin-top:0}p{line-height:1.75;color:var(--muted)}h1,h2,h3{line-height:1.15;font-weight:500;letter-spacing:-.035em}h1{font-size:clamp(2.8rem,5vw,5.1rem)}h2{font-size:clamp(2rem,3.5vw,3.35rem)}h3{font-size:1.4rem}.wrap{width:min(100% - 48px,1380px);margin-inline:auto}.narrow{max-width:850px}.section{padding:110px 0}.eyebrow{display:inline-block;color:var(--sage);font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;font-weight:800;margin-bottom:18px}.button{display:inline-flex;align-items:center;justify-content:center;gap:14px;border-radius:999px;border:1px solid transparent;padding:15px 27px;font-size:.84rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;transition:.2s ease}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--forest);color:#fff}.button-primary:hover{background:#4c694e}.button-light{background:#fff;color:var(--forest)}.button-outline{border-color:rgba(255,255,255,.5);color:#fff;background:transparent}.button-outline-dark{border-color:var(--forest);color:var(--forest);background:transparent;margin-top:42px}.button-outline-dark:hover{background:var(--forest);color:#fff}.text-button{background:none;border:0;color:#dce8dd;text-align:left;padding:0;font-weight:700}.inline-link{display:inline-flex;align-items:center;gap:22px;color:var(--forest);font-weight:700;margin-top:12px;border-bottom:1px solid var(--forest);padding-bottom:6px}.inline-link span{font-size:1.2rem}
.site-header{position:relative;z-index:30}.site-header--dark{margin-bottom:-116px}.site-header--light{background:#fff}.header-inner{height:116px;display:flex;align-items:center;gap:32px}.brand{width:220px;flex:none}.brand img{width:220px;height:auto}.site-header--dark .brand img{filter:none}.main-nav{display:flex;align-items:center;gap:26px;margin:auto}.main-nav>a,.nav-group>a{font-size:.77rem;letter-spacing:.045em;font-weight:800;text-transform:uppercase;white-space:nowrap}.main-nav>a:hover,.nav-group>a:hover{color:var(--sage)}.site-header--dark .main-nav{color:#fff}.nav-group{position:relative;padding:18px 0}.nav-dropdown{position:absolute;top:100%;left:-16px;min-width:220px;padding:12px;background:#fff;color:var(--ink);box-shadow:var(--shadow);border-radius:8px;display:none;z-index:20}.nav-group:hover .nav-dropdown,.nav-group:focus-within .nav-dropdown{display:grid}.nav-dropdown a{padding:9px 11px;font-size:.8rem}.nav-dropdown a:hover{background:var(--mint);color:var(--forest)}.site-header--light .header-cta{color:var(--forest);border-color:var(--forest)}.site-header--dark .header-cta{color:#fff}.menu-toggle{display:none;border:0;background:none;padding:10px}.menu-toggle span{display:block;width:27px;height:2px;background:currentColor;margin:5px 0}.site-header--dark .menu-toggle{color:#fff}
.home-hero{background:#f7faf5 url('/assets/original/2024/10/bg10.jpg') center center/cover no-repeat;min-height:740px;padding:126px 0 150px}.home-hero .wrap{max-width:1380px}.home-hero h1{max-width:700px;font-size:clamp(2.9rem,4.25vw,4.4rem);margin-bottom:24px;color:#2e3638}.home-hero h1 em{font-style:normal;color:var(--sage)}.eyebrow-pill{padding:9px 16px;background:#e8eee9;border-radius:30px;color:var(--forest);letter-spacing:.04em}.home-intro{display:flex;align-items:stretch;gap:30px;max-width:650px}.home-intro>div:last-child{flex:1}.home-intro p{font-size:1rem;margin:0 0 24px}.experience{background:var(--sage);color:#fff;border-radius:9px;padding:20px;min-width:145px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}.experience strong{font-size:3.2rem;line-height:1;font-weight:400}.experience span{font-size:.64rem;text-transform:uppercase;margin-top:10px}.features{margin-top:-85px;position:relative;z-index:2}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.feature-grid article{min-height:230px;padding:32px;border-radius:8px;background:var(--forest);color:#fff;position:relative}.feature-grid article:nth-child(2){background:#516651}.feature-grid article:nth-child(3){background:#6b806d}.feature-icon{font-size:2rem}.feature-number{position:absolute;right:30px;top:30px;font-size:.75rem;opacity:.8}.feature-grid h2{font-size:1.2rem;margin:22px 0 12px}.feature-grid p{font-size:.85rem;color:#e6eee6;margin:0}.section-heading{margin-bottom:38px;max-width:750px}.section-heading h2{color:var(--forest);margin-bottom:16px}.section-heading p{font-size:1rem;margin-bottom:0}.home-services{background:#fff}.works-preview{background:#f2f6f0}.testimonials-preview{background:#fff}
.page-hero{background:linear-gradient(90deg,rgba(0,0,0,.70),rgba(0,0,0,.28)),url('/assets/original/2024/10/bg8.jpg') center/cover no-repeat;color:#fff;padding:164px 0 105px;min-height:420px}.page-hero h1{font-size:clamp(3rem,5vw,4.6rem);text-transform:uppercase;letter-spacing:.005em;margin:20px 0 10px}.page-hero p{color:#dce3dd}.breadcrumbs{display:flex;gap:12px;align-items:center;color:inherit;font-size:.83rem;opacity:.8}.breadcrumbs a:hover{text-decoration:underline}.service-grid,.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.service-card,.project-card{background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 5px 22px rgba(30,49,34,.055);transition:transform .2s}.service-card:hover,.project-card:hover{transform:translateY(-5px)}.service-card-image,.project-image{display:block;position:relative;overflow:hidden}.service-card-image{aspect-ratio:1.15}.service-card-image img,.project-image img{width:100%;height:100%;object-fit:cover;transition:transform .35s}.service-card:hover img,.project-card:hover img{transform:scale(1.045)}.service-card-body,.project-content{padding:27px}.service-card h2{font-size:1.65rem;margin-bottom:12px}.service-card p{font-size:.91rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.project-image{aspect-ratio:1.45}.project-arrow{position:absolute;right:18px;bottom:18px;width:44px;height:44px;display:grid;place-items:center;border-radius:50%;background:#fff;color:var(--forest);font-size:1.4rem}.project-tags{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 16px}.project-tags a{color:var(--sage);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.055em}.project-tags a:hover{text-decoration:underline}.project-content h3{margin:0 0 12px;color:var(--forest)}.project-content p{font-size:.87rem;margin:0}.filter-links{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 35px}.filter-links a{padding:10px 16px;border:1px solid var(--line);border-radius:30px;color:var(--forest);font-size:.78rem;font-weight:800}.filter-links a:hover,.filter-links a.active{background:var(--forest);color:#fff}.cta-band{background:var(--forest);padding:65px 0;color:#fff}.cta-band .wrap{display:flex;align-items:center;justify-content:space-between;gap:30px}.cta-band .eyebrow{color:#cad9cc}.cta-band h2{margin:0 0 10px}.cta-band p{color:#d7e1d8;margin:0}
.service-layout{display:grid;grid-template-columns:285px 1fr;gap:42px}.service-sidebar{display:flex;flex-direction:column;gap:10px}.service-sidebar>a{padding:17px 22px;background:var(--mint);border-radius:9px;display:flex;justify-content:space-between;gap:10px;font-weight:700}.service-sidebar>a.active,.service-sidebar>a:hover{background:var(--forest);color:#fff}.sidebar-cta{background:var(--forest);color:#fff;border-radius:9px;padding:30px;margin-top:20px}.sidebar-cta .eyebrow{color:#d7e6d9}.sidebar-cta h2{font-size:1.5rem}.service-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.04fr);gap:34px;align-items:start;margin-bottom:95px}.service-intro h2{color:var(--forest)}.service-intro p{font-size:.96rem}.service-collage{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:150px 150px;gap:14px}.service-collage img{width:100%;height:100%;object-fit:cover;border-radius:9px}.service-collage img:first-child{grid-row:span 2}.service-main .section-heading{margin-top:68px}.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.why-grid article{background:#f1f6f1;border-radius:8px;padding:24px;min-height:190px}.why-grid h3{font-size:1.05rem;color:var(--forest);margin:12px 0 8px}.why-grid p{font-size:.8rem;line-height:1.6;margin:0}.why-mark{color:var(--sage);font-size:1.4rem}.related-projects{grid-template-columns:repeat(3,minmax(0,1fr))}.related-projects .project-content{padding:17px}.related-projects .project-content h3{font-size:1rem}.related-projects .project-content p{display:none}.related-projects .project-tags{margin:0 0 8px}.related-projects .project-tags a{font-size:.6rem}
.project-hero{padding:60px 0 80px;background:#fbfcf8 url('/assets/original/2024/10/logo-wm.webp') right bottom/350px auto no-repeat}.project-hero .breadcrumbs{color:var(--muted);margin-bottom:40px}.project-hero h1{color:var(--forest);text-transform:uppercase;letter-spacing:.005em;font-size:clamp(3rem,5vw,4.6rem);margin-bottom:8px}.project-hero p{font-size:1rem}.project-gallery-section{background:#fff;padding:0 0 40px}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.gallery-tile{border:0;padding:0;background:none;aspect-ratio:1.3;overflow:hidden;border-radius:8px}.gallery-tile:first-child{grid-column:span 2;grid-row:span 2}.gallery-tile img{width:100%;height:100%;object-fit:cover;transition:transform .25s}.gallery-tile:hover img{transform:scale(1.035)}.project-story-grid{display:grid;grid-template-columns:1.5fr .7fr;gap:80px}.project-story p{font-size:1.05rem}.project-next{background:var(--mint);padding:30px;border-radius:10px;align-self:start}.project-next span{color:var(--sage);text-transform:uppercase;font-size:.76rem;font-weight:800}.project-next h3{color:var(--forest);margin:15px 0 25px}.lightbox{border:0;background:#111;padding:50px 20px 18px;max-width:min(94vw,1300px);max-height:95vh;color:#fff}.lightbox::backdrop,.quote-dialog::backdrop{background:rgba(14,27,19,.72)}.lightbox>img{width:auto;height:auto;max-width:100%;max-height:75vh;margin:auto;object-fit:contain}.lightbox-controls{display:flex;align-items:center;justify-content:center;gap:28px;margin-top:10px}.lightbox-controls button{color:#fff;background:none;border:1px solid #fff;border-radius:50%;width:38px;height:38px}.lightbox .dialog-close{color:#fff}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:center}.about-grid h2{color:var(--forest)}.about-grid p{font-size:.94rem}.about-images{display:grid;grid-template-columns:1fr 1fr;gap:17px;align-items:center}.about-images img{width:100%;height:430px;object-fit:cover;border-radius:10px}.about-images img:nth-child(2){margin-top:90px}.why-section{background:#f1f6f1}.why-section .why-grid article{background:#fff}.testimonial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.testimonial-grid blockquote{margin:0;background:#f0f5f0;border-radius:10px;padding:35px;box-shadow:0 4px 20px rgba(31,56,39,.05)}.testimonial-grid p{font-size:1rem;color:var(--ink);font-weight:500}.testimonial-grid cite{font-size:.8rem;color:var(--forest);font-style:normal;font-weight:800}.stars{color:#b6955b;letter-spacing:.1em;display:block;margin-bottom:20px}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:65px}.contact-grid h2{color:var(--forest)}.contact-facts{display:grid;gap:20px;margin:40px 0}.contact-facts div{border-top:1px solid var(--line);padding-top:17px}.contact-facts span{display:block;color:var(--sage);font-size:.75rem;text-transform:uppercase;font-weight:800;margin-bottom:6px}.contact-facts strong{font-weight:600}.contact-picture{max-height:300px;width:100%;object-fit:cover;border-radius:9px}.contact-form-card{background:#fff;border-radius:12px;box-shadow:var(--shadow);padding:35px}.contact-form-card h2{font-size:1.8rem;margin:0 0 6px}
.enquiry-form{display:grid;gap:16px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.enquiry-form label{display:block;font-size:.8rem;font-weight:700;color:var(--forest)}.enquiry-form label>span:not(.privacy-check span){color:#a3403e}.enquiry-form input:not([type=checkbox]),.enquiry-form textarea{display:block;width:100%;border:1px solid #cbd7cc;border-radius:7px;background:#fff;padding:12px 13px;color:var(--ink);margin-top:6px;outline:none}.enquiry-form input:focus,.enquiry-form textarea:focus{border-color:var(--forest);box-shadow:0 0 0 3px rgba(53,78,53,.14)}.enquiry-form fieldset{border:0;padding:0;margin:0}.enquiry-form legend{font-weight:700;color:var(--forest);font-size:.8rem;margin-bottom:10px}.choices{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}.choices label{display:flex;align-items:flex-start;gap:8px;background:#f1f6f1;border-radius:5px;padding:8px;font-size:.72rem;color:var(--ink)}.choices label span{color:inherit!important}.choices input{margin:2px 0 0}.privacy-check{display:flex!important;align-items:flex-start;gap:9px;color:var(--muted)!important;font-weight:500!important}.privacy-check input{margin-top:2px}.privacy-check a{text-decoration:underline}.honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;opacity:0}.submit-button{justify-content:space-between}.form-status{font-size:.8rem;margin:0;min-height:1.2em}.form-status.error{color:#a33b34}.quote-dialog{width:min(710px,calc(100% - 28px));max-height:min(91vh,900px);overflow:auto;border:0;border-radius:12px;box-shadow:0 25px 80px rgba(0,0,0,.28);padding:34px}.quote-dialog .dialog-heading{padding-right:25px}.quote-dialog h2{font-size:2rem;color:var(--forest);margin:0 0 5px}.quote-dialog .dialog-heading p{font-size:.87rem}.dialog-close{position:absolute;right:14px;top:9px;border:0;background:none;font-size:2rem;color:var(--forest);line-height:1}.floating-quote{position:fixed;z-index:25;right:24px;bottom:22px;border:0;background:var(--forest);color:#fff;display:flex;align-items:center;gap:10px;border-radius:35px;padding:10px 17px 10px 10px;box-shadow:var(--shadow);font-size:.78rem;font-weight:800}.floating-quote-icon{width:35px;height:35px;border-radius:50%;background:#68826c;display:grid;place-items:center;font-size:1.05rem}.blog-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.blog-card{background:#fff;padding:30px;border-radius:8px}.blog-card h2{font-size:1.5rem}.prose p{font-size:1rem}.receipt-page{text-align:center;padding:130px 0}.receipt-page h1{color:var(--forest)}
.footer{background:var(--forest-deep);color:#fff;padding:75px 0 20px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.3fr;gap:55px}.footer-about img{width:210px}.footer-about p{max-width:350px}.footer h2{font-size:1rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em;margin-bottom:22px}.footer p{color:#d7e1d8;font-size:.84rem}.footer-grid>div:not(:first-child){display:flex;flex-direction:column;gap:9px}.footer a,.footer .text-button{font-size:.83rem;color:#d7e1d8}.footer a:hover{text-decoration:underline}.footer-bottom{margin-top:60px;padding-top:20px;border-top:1px solid rgba(255,255,255,.15);display:flex;justify-content:space-between;color:#cad9cc;font-size:.75rem}
@media(max-width:1100px){.wrap{width:min(100% - 36px,1000px)}.main-nav{gap:15px}.main-nav>a,.nav-group>a{font-size:.67rem}.brand,.brand img{width:175px}.header-cta{display:none}.service-grid,.project-grid{gap:17px}.service-layout{grid-template-columns:225px 1fr;gap:25px}.service-intro{grid-template-columns:1fr}.service-collage{grid-template-rows:180px 180px}.footer-grid{gap:28px}}
@media(max-width:800px){.header-inner{height:84px}.site-header--dark{margin-bottom:-84px}.brand,.brand img{width:165px}.menu-toggle{display:block;margin-left:auto}.main-nav{display:none;position:absolute;top:84px;left:0;right:0;background:#fff;color:var(--forest)!important;padding:15px 24px;box-shadow:var(--shadow);max-height:80vh;overflow:auto;align-items:stretch;gap:0}.main-nav.open{display:grid}.main-nav>a,.nav-group>a{display:block;padding:12px 0;font-size:.8rem}.nav-group{padding:0}.nav-dropdown{display:grid;position:static;box-shadow:none;padding:0 0 7px 15px;min-width:0}.nav-dropdown a{font-size:.76rem;padding:5px}.home-hero{min-height:600px;padding:105px 0 130px;background-position:58% center}.home-hero h1{max-width:620px}.feature-grid,.service-grid,.project-grid,.testimonial-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.feature-grid article:last-child{grid-column:span 2}.service-layout{grid-template-columns:1fr}.service-sidebar{display:grid;grid-template-columns:repeat(3,1fr)}.service-sidebar>a{font-size:.82rem;padding:12px}.sidebar-cta{grid-column:span 3;margin:0}.service-intro{grid-template-columns:1fr 1fr}.why-grid{grid-template-columns:repeat(2,1fr)}.about-grid,.contact-grid,.project-story-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:repeat(2,1fr)}.section{padding:80px 0}.page-hero{min-height:370px;padding:135px 0 75px}.cta-band .wrap{align-items:flex-start;flex-direction:column}}
@media(max-width:560px){.wrap{width:min(100% - 30px,500px)}.home-hero{min-height:560px;padding:75px 0 135px;background-position:63% center}.home-hero h1{font-size:2.5rem}.home-intro{gap:12px}.experience{min-width:87px;padding:10px}.experience strong{font-size:2.4rem}.experience span{font-size:.5rem}.home-intro p{font-size:.84rem;line-height:1.55}.feature-grid,.service-grid,.project-grid,.testimonial-grid,.why-grid,.blog-grid{grid-template-columns:1fr}.feature-grid article:last-child{grid-column:auto}.feature-grid article{min-height:185px}.section{padding:65px 0}.page-hero{min-height:320px}.page-hero h1,.project-hero h1{font-size:2.5rem}.service-sidebar{grid-template-columns:repeat(2,1fr)}.sidebar-cta{grid-column:span 2}.service-intro{grid-template-columns:1fr}.service-collage{grid-template-rows:150px 150px}.related-projects{grid-template-columns:1fr}.gallery-grid{grid-template-columns:repeat(2,1fr);gap:8px}.gallery-tile:first-child{grid-column:span 2;grid-row:auto;aspect-ratio:1.25}.about-images img{height:250px}.about-images img:nth-child(2){margin-top:50px}.footer-grid{grid-template-columns:1fr 1fr;gap:35px}.footer-about{grid-column:span 2}.form-grid,.choices{grid-template-columns:1fr}.quote-dialog{padding:25px 18px}.floating-quote{right:15px;bottom:14px;padding-right:10px}.floating-quote>span:last-child{display:none}}
@media(max-width:560px){.project-hero{background:#fbfcf8}}
