@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&display=swap');
:root{--green:#73b94d;--dark:#252824;--ink:#262b25;--muted:#6b7169;--line:#dedfd9;--paper:#f6f7f3;--white:#fff;font-family:'DM Sans',Arial,sans-serif;color:var(--ink);font-synthesis:none;scroll-behavior:smooth}*{box-sizing:border-box}body{margin:0;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.35;cursor:default}button,a{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #367522;outline-offset:5px}a:hover{text-decoration:none}img{max-width:100%;display:block}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.1;letter-spacing:-.045em;font-weight:500}h1{font-size:clamp(3.5rem,6.2vw,6.8rem);margin-bottom:26px}h2{font-size:clamp(2.4rem,3.8vw,4rem);margin-bottom:25px}h3{font-size:1.65rem;margin-bottom:16px}em{font-style:normal;color:#528d38}p{color:var(--muted);margin-bottom:23px}small{font-size:.75rem}.wrap{max-width:1320px;width:calc(100% - 112px);margin-inline:auto}.topbar{background:var(--dark);color:#e8eae4;font-size:.8125rem}.topbar .wrap{display:flex;justify-content:space-between;padding-block:9px}.topbar a{color:#b9dba6}.top-separator{padding-inline:16px;color:#92988a}.header{position:sticky;top:0;background:#fff;z-index:30;border-bottom:1px solid #e7e8e1}.nav{display:flex;align-items:center;justify-content:space-between;min-height:104px;gap:32px}.brand{display:flex;align-items:center;gap:13px;font-weight:700;letter-spacing:.025em;line-height:1.1;white-space:nowrap;font-size:1.25rem}.brand small{display:block;font-size:.625rem;letter-spacing:.13em;margin-top:7px;font-weight:500}.brand-mark{width:49px;height:52px;overflow:hidden;position:relative;background:#262626;border-radius:2px}.brand-mark img{position:absolute;max-width:none;width:77px;left:-14px;top:-1px}.nav nav{display:flex;align-items:center;gap:30px;font-size:.875rem;font-weight:500}.nav nav>a:not(.button):hover,.text-link:hover{color:#437d2c}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:28px;padding:17px 24px;background:var(--green);color:#172711;font-size:.9rem;font-weight:600;border:1px solid transparent;line-height:1.4;transition:background .2s,transform .2s}.button:hover{background:#86c85f;transform:translateY(-2px)}.button.small{padding:14px 19px}.button span{font-size:1.3rem;line-height:1}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:1fr 1.08fr;min-height:640px;background:var(--paper)}.hero-copy{padding:76px 45px 38px max(56px,calc((100vw - 1208px)/2))}.eyebrow{font-size:.75rem;letter-spacing:.16em;font-weight:650;margin-bottom:28px}.hero-copy h1{font-size:clamp(3.5rem,6.4vw,6.5rem);line-height:1.02}.hero-copy p{font-size:1rem;line-height:1.8}.actions{display:flex;gap:25px;align-items:center;flex-wrap:wrap;margin-top:35px}.text-link{border:0;background:none;padding:0;display:inline-flex;gap:18px;align-items:center;font-size:.875rem;font-weight:600;line-height:1.7}.hero-note{margin-top:54px;font-size:.6875rem;letter-spacing:.15em;display:flex;align-items:center;gap:14px;color:#72796c}.line{height:1px;width:34px;background:#a1aa99}.hero-visual{position:relative;overflow:hidden;min-height:600px;background:#e5e6df}.photo{position:relative;display:block;overflow:hidden;background:#dee1d8;width:100%;height:100%}.photo img{position:absolute;max-width:none;width:100%;height:100%;inset:0;object-fit:cover}.hero-caption{position:absolute;bottom:25px;left:30px;right:30px;display:flex;justify-content:space-between;color:#fff;font-size:.625rem;letter-spacing:.12em;gap:15px;text-shadow:0 1px 5px #000}.hero-visual:after{content:'';position:absolute;bottom:0;inset-inline:0;height:110px;pointer-events:none;background:linear-gradient(transparent,#0007)}.hero-caption{z-index:1}.capabilities{border-bottom:1px solid var(--line)}.capabilities .wrap{display:flex;justify-content:space-between;gap:22px;padding-block:27px;font-size:.8rem;font-weight:500;letter-spacing:.02em}.capabilities span+span:before{content:'/';color:#a8b59f;margin-right:42px}.section{padding-block:104px;scroll-margin-top:100px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:70px;margin-bottom:54px}.section-heading h2{margin-bottom:0}.section-heading>p,.section-heading>div+div{max-width:385px;margin-bottom:4px}.section-heading .eyebrow{margin-bottom:20px}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}.services-grid article{padding:35px 37px 0 0}.services-grid article+article{border-left:1px solid var(--line);padding-left:37px}.service-number{font-size:.85rem;color:#6b8c59;display:block;margin-bottom:34px}.services-grid h3{font-size:2rem}.services-grid p{max-width:300px;font-size:.94rem;min-height:80px}.services-grid a{display:flex;justify-content:space-between;font-size:.85rem;font-weight:600;padding-top:15px}.services-grid a:hover{color:#528d38}.portfolio-section{background:var(--paper)}.carousel{display:flex;gap:26px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.carousel::-webkit-scrollbar{display:none}.project-card{flex:0 0 calc((100% - 52px)/3);min-width:0;scroll-snap-align:start}.project-image{display:block;position:relative;aspect-ratio:1.16;overflow:hidden}.project-image .photo{transition:filter .3s}.project-image:hover .photo{filter:brightness(.9)}.image-link{position:absolute;bottom:14px;right:14px;display:grid;place-items:center;background:#fff;width:40px;height:40px;font-size:1.35rem}.project-meta{display:flex;justify-content:space-between;font-size:.6875rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:24px 0 12px;gap:10px}.project-card h3{font-size:1.5rem;margin-bottom:10px}.project-card p{font-size:.875rem;margin-bottom:0}.carousel-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:40px;padding-top:24px;border-top:1px solid var(--line)}.carousel-bottom>span{font-size:.6875rem;letter-spacing:.12em;color:var(--muted)}.round-button{width:44px;height:44px;border:1px solid #bac3b3;background:none;border-radius:50%;margin-left:8px;font-size:1.15rem}.round-button:hover{background:#e6ecdf}.about{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.about-visual{height:570px;position:relative}.photo-tag{background:var(--green);padding:16px 22px;position:absolute;bottom:22px;left:-18px;font-size:.6875rem;font-weight:600;letter-spacing:.1em}.about-copy h2{line-height:1.13}.about-copy p{font-size:.94rem}.about-points{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);padding-top:24px;gap:16px;font-size:.8rem;margin:30px 0}.about-points span:before{content:'✓';color:#508237;margin-right:8px}.process{background:var(--dark);color:white}.process .eyebrow{color:#a3c28e}.process h2{margin-bottom:52px}.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:50px}.process-grid article{border-top:1px solid #596050;padding-top:25px}.process-grid span{font-size:.6875rem;letter-spacing:.12em;color:#acd397;display:block;margin-bottom:22px}.process-grid h3{font-size:1.5rem}.process-grid p{color:#b9bfb2;font-size:.9375rem;margin-bottom:0}.cta{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:90px;padding-block:100px}.cta h2{margin-bottom:0}.cta>div+div{padding-left:35px}.cta-phone{display:block;margin-top:20px;font-size:.875rem}footer{background:var(--paper);border-top:1px solid var(--line);padding:65px 0 24px}footer .brand{margin-bottom:25px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1.3fr;gap:60px}.footer-grid h2{font-size:.8125rem;font-weight:600;letter-spacing:0;margin-bottom:22px}.footer-grid>div>a:not(.brand),.footer-grid>div>span{display:block;margin:9px 0;font-size:.875rem;color:var(--muted)}.footer-grid p{font-size:.875rem}.footer-bottom{border-top:1px solid var(--line);margin-top:50px;padding-top:24px;display:flex;justify-content:space-between;gap:20px;font-size:.75rem;color:var(--muted)}.footer-bottom a{margin-left:25px}.page-title{font-size:clamp(3rem,5vw,5.2rem);max-width:820px}.intro{font-size:1.075rem}.filters{display:flex;gap:12px;flex-wrap:wrap;margin:42px 0}.filters a{padding:8px 20px;border:1px solid var(--line);font-size:.875rem}.filters a[aria-current],.filters a:hover{background:var(--dark);color:#fff}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:50px 26px}.detail-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.gallery-item{border:0;padding:0;position:relative;aspect-ratio:1.2}.gallery-item:first-child{grid-column:1/-1;aspect-ratio:1.9}.gallery-item>span:last-child:not(.photo){position:absolute;bottom:16px;right:16px;background:#fff;padding:7px 14px;font-size:.8125rem}.detail-copy{display:grid;grid-template-columns:1.6fr 1fr;gap:100px;margin-top:60px}.detail-copy h2{font-size:2.3rem}.detail-copy aside{background:var(--paper);padding:30px;height:fit-content}.detail-copy aside h3{font-size:1.7rem}.share-button{display:block;margin-top:24px}.share-status{font-size:.8rem;color:var(--muted)}.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:85px}.contact-info{border-top:1px solid var(--line);padding-top:24px;margin-top:38px}.contact-info>div{margin-bottom:22px}.contact-info span{display:block;font-size:.6875rem;letter-spacing:.13em;color:var(--muted);margin-bottom:4px}.contact-info a{font-size:1.15rem}.form-panel{background:var(--paper);padding:40px}.form-panel h2{font-size:2rem}.form-panel>p{font-size:.8125rem}label{display:block;font-size:.875rem;font-weight:500;margin-bottom:22px}input,textarea,select{display:block;width:100%;background:white;border:1px solid #cbd0c5;border-radius:0;padding:12px;margin-top:8px;color:var(--ink);font-weight:400;min-height:46px}textarea{resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-disclaimer{font-size:.75rem}.form-disclaimer a{text-decoration:underline}form>.button{width:100%}.honeypot{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.error,.notice,.success{padding:20px;margin-bottom:24px}.error{background:#fbece7;color:#8b3326;border-left:3px solid #ab4333}.notice,.success{background:#e7f2df;color:#2d5020}.success h2{margin-top:24px}.prose{max-width:850px}.prose p,.prose{overflow-wrap:anywhere}.prose h2{font-size:1.6rem;margin-top:35px}.prose a{text-decoration:underline}.empty{padding:50px;background:var(--paper)}.skip{position:fixed;top:-100px;left:20px;background:white;padding:14px;z-index:100}.skip:focus{top:12px}dialog{border:0;background:#171b17;color:#fff;width:min(1100px,95vw);max-width:95vw;padding:55px 25px 20px}dialog::backdrop{background:#000d}.lightbox-close{position:absolute;right:18px;top:4px;color:white;background:none;border:0;font-size:2rem}.lightbox-frame{height:min(65vh,720px);aspect-ratio:1.4;margin:auto;max-width:100%}.lightbox-controls{display:flex;align-items:center;justify-content:center;gap:25px;padding-top:20px}.lightbox-controls button{color:#fff;background:transparent;border:1px solid #78836e;width:45px;height:40px}.lightbox-controls span{font-size:.875rem}.project-detail .section-heading{margin-top:35px}
@media(min-width:1600px){.hero-copy{padding-left:max(56px,calc((100vw - 1320px)/2))}.hero{min-height:720px}}
@media(max-width:1100px){.wrap{width:calc(100% - 64px)}.nav{gap:20px}.nav nav{gap:18px}.hero-copy{padding:60px 30px 35px 32px}.hero{grid-template-columns:1fr 1fr;min-height:590px}.hero-visual{min-height:590px}.hero-copy h1{font-size:4.7rem}.capabilities span+span:before{margin-right:20px}.about,.contact-layout{gap:40px}.section{padding-block:80px}.section-heading{gap:40px}.footer-grid{gap:25px}.actions{gap:18px}.brand{font-size:1.05rem}}
@media(max-width:850px){.nav{min-height:85px}.menu-toggle{display:flex;gap:15px;align-items:center;border:0;background:none;font-size:.875rem;padding:10px}.nav nav{display:none;position:absolute;left:0;right:0;top:85px;background:white;padding:28px 32px;border-bottom:1px solid var(--line);align-items:stretch;gap:20px}.nav nav.is-open{display:flex;flex-direction:column}.hero-copy h1{font-size:3.9rem}.hero-copy{padding-top:45px}.hero-copy p{font-size:.9rem}.hero-note{margin-top:35px}.hero-visual{min-height:560px}.hero-caption{flex-direction:column}.section-heading{align-items:flex-start;gap:20px}.section-heading>p,.section-heading>div+div{max-width:290px}.services-grid article{padding-right:20px}.services-grid article+article{padding-left:20px}.services-grid h3{font-size:1.55rem}.services-grid p{min-height:125px}.project-card{flex-basis:calc((100% - 26px)/2)}.about-visual{height:480px}.about-points{grid-template-columns:1fr}.about{gap:35px}.process-grid{gap:28px}.process-grid h3{font-size:1.3rem}.contact-layout{grid-template-columns:1fr}.contact-info{display:grid;grid-template-columns:1fr 1fr;gap:10px}.project-grid{grid-template-columns:1fr 1fr}.cta{gap:40px}.cta>div+div{padding:0}.detail-copy{gap:40px}.topbar{font-size:.75rem}.capabilities .wrap{flex-wrap:wrap;justify-content:center}.capabilities span+span:before{display:none}.capabilities span{padding-inline:12px}}
@media(max-width:600px){.wrap{width:calc(100% - 40px)}.topbar .wrap{justify-content:center}.topbar .wrap>span{display:none}.topbar a{font-size:.8rem}.nav{min-height:80px}.nav nav{top:80px}.brand{font-size:1.08rem}.brand-mark{width:42px;height:46px}.brand-mark img{width:69px;left:-13px}.brand small{font-size:.57rem}.hero{display:flex;flex-direction:column;min-height:0}.hero-copy{padding:43px 24px 34px}.hero-copy h1{font-size:4.3rem;line-height:1.01}.hero-copy .eyebrow{font-size:.65rem;margin-bottom:23px}.hero-copy p{font-size:.9375rem}.hero-note{display:none}.actions{gap:20px;margin-top:26px}.actions .button{padding:16px 19px;gap:15px}.actions .text-link{font-size:.8rem;gap:10px}.hero-visual{height:410px;min-height:0}.hero-caption{flex-direction:row;font-size:.56rem;left:20px;right:20px}.capabilities .wrap{display:grid;grid-template-columns:1fr 1fr;text-align:center;gap:13px 8px;padding-block:22px;font-size:.7rem;width:calc(100% - 20px)}.capabilities span{padding:0}.section{padding-block:64px}.section-heading{display:block;margin-bottom:33px}.section-heading>p,.section-heading>div+div{max-width:none;margin-top:25px}.section-heading>div+div p{margin-bottom:15px}.eyebrow{font-size:.65rem;margin-bottom:22px}h2{font-size:2.65rem}.services-grid{grid-template-columns:1fr}.services-grid article,.services-grid article+article{border-left:0;border-bottom:1px solid var(--line);padding:27px 0}.service-number{margin-bottom:17px}.services-grid h3{font-size:1.8rem}.services-grid h3 br{display:none}.services-grid p{min-height:0;max-width:100%;margin-bottom:10px}.services-grid a{max-width:280px}.project-card{flex-basis:86%}.carousel{gap:20px}.project-image{aspect-ratio:1.05}.carousel-bottom>span{font-size:.6rem}.about{grid-template-columns:1fr;gap:38px}.about-visual{height:360px}.photo-tag{left:-6px;font-size:.6rem}.about-points{grid-template-columns:1fr 1fr;gap:15px;font-size:.72rem}.process-grid{grid-template-columns:1fr;gap:30px}.process h2{margin-bottom:35px}.process-grid h3{font-size:1.5rem}.process-grid article{padding-top:20px}.process-grid span{margin-bottom:15px}.cta{grid-template-columns:1fr;gap:28px;padding-block:65px}.cta h2{font-size:2.8rem}.cta p{margin-bottom:20px}.footer-grid{grid-template-columns:1fr 1fr;gap:30px}.footer-grid>div:first-child{grid-column:1/-1}.footer-grid>div>a:not(.brand),.footer-grid>div>span{font-size:.8rem;overflow-wrap:anywhere}.footer-bottom{display:block;font-size:.6875rem}.footer-bottom>div{margin-top:16px;display:flex;gap:24px}.footer-bottom a{margin:0}footer{padding-top:40px}.page-title{font-size:3.2rem}.project-grid{grid-template-columns:1fr;gap:38px}.project-grid .project-image{aspect-ratio:1.2}.contact-layout{gap:25px}.contact-info{grid-template-columns:1fr}.form-panel{padding:26px 20px}.form-panel h2{font-size:1.8rem}.form-row{grid-template-columns:1fr;gap:0}.detail-gallery{gap:10px}.gallery-item:first-child{aspect-ratio:1.1}.gallery-item>span:last-child:not(.photo){font-size:.7rem;bottom:10px;right:10px}.detail-copy{grid-template-columns:1fr;gap:24px;margin-top:35px}.lightbox-frame{height:50vh}dialog{padding-inline:12px}.desktop-break{display:none}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
.hero-photo img:not([data-crop]){object-position:50% 23%}
.carousel{display:block;gap:0;cursor:grab;touch-action:pan-x pan-y}.carousel.is-dragging{cursor:grabbing;scroll-snap-type:none;user-select:none}.carousel-track{display:flex;gap:26px;min-width:100%;width:100%}.carousel .project-card{flex:0 0 min(410px,calc((100vw - 164px)/3))}.carousel-empty{width:min(620px,80vw);padding:32px;background:#fff}@media(max-width:850px){.carousel .project-card{flex-basis:min(410px,calc((100vw - 116px)/2))}}@media(max-width:600px){.carousel-track{gap:20px}.carousel .project-card{flex-basis:calc(86vw - 40px)}}
