:root{--green:#293519;--ink:#232820;--muted:#61685b;--line:#d8ddcf;--pale:#f3f5ef;--accent:#c2d4a7}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;color:var(--ink);background:#fff;font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65}a{color:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #719448;outline-offset:6px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:400;letter-spacing:-.045em;line-height:1.08}h1{font-size:clamp(3.8rem,5.9vw,6rem);margin-bottom:28px}h2{font-size:clamp(2.6rem,4.1vw,4.4rem);margin-bottom:30px}h3{font-size:1.6rem;letter-spacing:-.025em}header{height:112px;padding:12px 5%;display:flex;align-items:center;justify-content:space-between;background:white;border-bottom:1px solid var(--line)}.brand{display:block;line-height:0}.brand img{width:114px;height:auto}nav{display:flex;align-items:center;gap:36px}nav a{text-decoration:none;font-size:.9rem}.nav-contact{border:1px solid var(--green);padding:12px 21px}.menu{display:none}.skip{position:absolute;top:-100px}.skip:focus{top:12px;left:12px;padding:12px;background:white;z-index:10}.hero{display:grid;grid-template-columns:1.1fr 1fr;min-height:650px}.hero-copy{padding:73px 8% 24px 9%;display:flex;flex-direction:column;align-items:flex-start}.eyebrow{font-size:.76rem;letter-spacing:.13em;font-weight:600;line-height:1.6;margin-bottom:32px;color:var(--green)}.intro{max-width:470px;font-size:1.1rem;line-height:1.7;color:var(--muted);margin-bottom:34px}.button{display:inline-block;background:var(--green);color:white;padding:16px 25px;text-decoration:none;font-size:.9rem;transition:background .2s}.button:hover{background:#42542b}.hero-foot{border-top:1px solid var(--line);margin-top:auto;padding-top:29px;width:100%;display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:.78rem}.hero-image{position:relative;overflow:hidden;min-height:570px;background:#d9ded3}.hero-image>img{width:100%;height:100%;position:absolute;object-fit:cover}.hero-image:after{content:"";position:absolute;inset:60% 0 0;background:linear-gradient(transparent,rgba(15,25,14,.55))}.image-label{position:absolute;bottom:28px;left:32px;right:25px;color:white;font-size:.82rem;z-index:1}.intro-section{padding:110px 8%;display:grid;grid-template-columns:1fr 2fr;gap:8%}.intro-section p:not(.eyebrow){max-width:650px;color:var(--muted);font-size:1.08rem}.services{padding:90px 8% 110px;background:var(--pale)}.section-heading{display:flex;justify-content:space-between;gap:80px;align-items:flex-end;margin-bottom:40px}.section-heading>p{max-width:330px;color:var(--muted);padding-bottom:10px}.service-list{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line)}summary{list-style:none;display:grid;grid-template-columns:60px 1fr 35px;align-items:center;gap:20px;padding:27px 0;cursor:pointer;font-size:clamp(1.35rem,2.4vw,2rem);letter-spacing:-.03em;line-height:1.3}summary::-webkit-details-marker{display:none}.number{font-size:.8rem;letter-spacing:0;color:var(--muted)}.plus{font-weight:300;font-size:1.6rem;text-align:right}details[open] .plus{transform:rotate(45deg)}.detail{padding:0 55px 30px 80px;display:grid;grid-template-columns:1.4fr 1fr;gap:70px;color:var(--muted)}.detail p{max-width:600px}.detail ul{margin:0;padding-left:18px;font-size:.93rem}.project-types{padding:80px 8%;background:var(--green);color:white}.project-types .eyebrow{color:var(--accent)}.project-types h2{font-size:clamp(2.3rem,3.5vw,3.6rem)}.types{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;margin-top:55px}.types>div{border-top:1px solid #758064;padding-top:26px}.types span{font-size:.76rem;letter-spacing:.1em;color:var(--accent)}.types p{margin:18px 0 0;color:#e0e5d9}.approach{padding:110px 8%;display:grid;grid-template-columns:1fr 1fr;gap:12%}.approach>div>p:last-child{max-width:420px;color:var(--muted)}.approach ol{list-style:none;padding:0;margin:0}.approach li{border-top:1px solid var(--line);padding:22px 0}.approach li>span{font-size:.75rem;letter-spacing:.1em;color:var(--muted);display:block;margin-bottom:18px}.approach li p{color:var(--muted)}.about{padding:90px 8%;background:var(--pale);display:grid;grid-template-columns:1fr 2fr;gap:8%}.about>div{max-width:670px}.about p:not(.eyebrow){color:var(--muted)}.about .large{font-size:1.3rem;line-height:1.55;color:var(--ink)!important}.text-link{display:inline-block;text-underline-offset:7px;margin-top:15px}.contact{padding:90px 8%;background:var(--green);color:white;display:grid;grid-template-columns:1.4fr 1fr;gap:12%}.contact .eyebrow{color:var(--accent)}.contact p{max-width:440px;color:#d7dfce}.light{background:white;color:var(--green);margin-top:15px}.light:hover{background:var(--accent)}.contact-details{padding-top:62px;display:flex;flex-direction:column;align-items:flex-start}.contact-details>span{font-size:.72rem;letter-spacing:.12em;color:var(--accent);margin-bottom:10px}.contact-details>a{font-size:clamp(1rem,1.8vw,1.4rem);text-decoration:none;border-bottom:1px solid #6f7c5e;margin-bottom:35px;overflow-wrap:anywhere}.contact-details>p{font-size:1.2rem}footer{display:flex;align-items:center;justify-content:space-between;padding:35px 8%;gap:25px}footer>span{font-size:1.4rem;letter-spacing:.06em;line-height:1.1;color:var(--green)}footer small{display:block;font-size:.55rem;letter-spacing:.2em;margin-top:6px}footer p,footer a{font-size:.78rem;color:var(--muted);margin:0}footer a{text-underline-offset:4px}[hidden]{display:none!important}@media(min-width:1600px){body{max-width:1800px;margin:auto}.hero{min-height:750px}}@media(max-width:850px){header{height:95px}nav{gap:20px}nav a{font-size:.8rem}.hero{grid-template-columns:1fr 1fr;min-height:590px}.hero-copy{padding:50px 8% 25px 10%}h1{font-size:3.6rem}.hero-foot{flex-direction:column;gap:4px}.hero-image{min-height:590px}.eyebrow{font-size:.7rem}.intro-section,.about{grid-template-columns:1fr;gap:10px;padding:75px 7%}.section-heading{gap:35px}.detail{gap:30px}.approach{gap:7%}.contact{gap:7%}.contact-details{padding-top:40px}}@media(max-width:620px){header{height:88px;padding:10px 6%}.brand img{width:84px}header nav{display:none}.menu{display:block;border:1px solid var(--line);background:white;font:inherit;font-size:.88rem;padding:9px 16px}#mobile-nav{display:flex;flex-direction:column;align-items:stretch;gap:0;padding:10px 6% 20px;border-bottom:1px solid var(--line)}#mobile-nav a{padding:11px;font-size:1rem}.hero{display:flex;flex-direction:column}.hero-copy{padding:45px 7% 30px}.hero h1{font-size:clamp(3.3rem,13vw,4.2rem);margin-bottom:22px}.intro{font-size:1rem}.hero-foot{flex-direction:row;gap:10px;margin-top:42px;font-size:.7rem;padding-top:20px}.hero-image{min-height:370px}.image-label{left:25px;bottom:20px}.eyebrow{margin-bottom:24px}.intro-section,.services,.project-types,.approach,.about,.contact{padding:65px 7%}h2{font-size:2.7rem}.section-heading{display:block;margin-bottom:28px}.section-heading>p{max-width:100%}.detail{display:block;padding:0 15px 22px 40px}.detail ul{margin-top:20px}.number{font-size:.7rem}summary{grid-template-columns:25px 1fr 20px;gap:15px;padding:24px 0;font-size:1.32rem}.types{grid-template-columns:1fr;gap:30px;margin-top:36px}.types p{margin-top:12px}.approach,.contact{grid-template-columns:1fr;gap:32px}.approach ol{margin-top:10px}.contact-details{padding-top:10px}.contact-details>a{font-size:1.18rem}.contact h2{font-size:3.3rem}.button{padding:15px 20px}.contact-details>p{margin-bottom:0}footer{padding:30px 7%;flex-wrap:wrap}footer p{order:3;width:100%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.gallery-heading{display:grid;grid-template-columns:1.5fr 1fr;gap:80px;align-items:end;margin-bottom:45px}.gallery-heading>p{max-width:370px;color:#d7dfce;margin-bottom:30px}.project-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 25px}.project-photo{margin:0;min-width:0}.project-photo img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;background:#465337}.project-photo h3{font-size:1.45rem;letter-spacing:-.025em;margin:20px 0 8px;color:white}.project-photo p{font-size:.94rem;line-height:1.55;color:#d7dfce;margin:0}.project-photo:last-child{grid-column:span 2}.project-photo:last-child img{aspect-ratio:2.9/1}.gallery-note{font-size:.8rem;color:#cbd5be;margin:35px 0 0}.project-types .gallery-heading h2{font-size:clamp(2.3rem,3.5vw,3.6rem)}@media(max-width:850px){.gallery-heading{gap:35px}.project-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.project-photo:last-child{grid-column:span 2}}@media(max-width:620px){.gallery-heading{display:block}.gallery-heading>p{margin-bottom:0}.project-gallery{grid-template-columns:1fr;gap:32px}.project-photo:last-child{grid-column:auto}.project-photo:last-child img{aspect-ratio:3/2}.project-photo h3{margin-top:17px}.gallery-heading{margin-bottom:32px}}
.image-credits{margin-top:12px;border:0;color:#cbd5be}.image-credits summary{display:block;font-size:.8rem;letter-spacing:0;padding:7px 0;text-decoration:underline;text-underline-offset:4px}.image-credits ul{font-size:.8rem;padding-left:18px;line-height:1.8}.image-credits a{text-underline-offset:3px}
.project-photo:last-child{grid-column:auto}.project-photo:last-child img{aspect-ratio:3/2}
