:root{--green:#62b63b;--ink:#202521;--cream:#f5f3ee;--white:#fff;--gray:#777c78;--line:#d9dbd6}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:Manrope,Arial,sans-serif;font-size:16px;line-height:1.45}.wrap{width:min(1160px,calc(100% - 56px));margin-inline:auto}.site-header{position:absolute;z-index:20;top:0;left:50%;transform:translateX(-50%);width:min(1200px,calc(100% - 56px));height:92px;display:flex;align-items:center;justify-content:space-between}.brand img{width:138px;height:64px;object-fit:contain;filter:brightness(0) invert(1)}#main-nav{display:flex;align-items:center;gap:36px}#main-nav a{color:#fff;text-decoration:none;text-transform:uppercase;font-weight:700;font-size:.72rem;letter-spacing:.08em}.nav-cta{background:var(--green);padding:15px 23px}.menu-toggle{display:none}.hero{position:relative;min-height:650px;color:#fff;display:flex;align-items:center;overflow:hidden}.hero-image,.hero-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-shade{background:linear-gradient(90deg,rgba(5,11,8,.78) 0%,rgba(5,11,8,.34) 50%,rgba(5,11,8,.08) 100%)}.hero-content{position:relative;z-index:2;padding-top:75px}.eyebrow{text-transform:uppercase;color:var(--green);font-weight:700;letter-spacing:.18em;font-size:.72rem;margin:0 0 10px}.eyebrow.light{color:#b5e09f}.hero h1{font-size:clamp(2.65rem,5vw,5rem);line-height:1.02;letter-spacing:-.045em;text-transform:uppercase;max-width:960px;margin:0 0 25px}.hero-copy{font-size:1.14rem;max-width:560px;margin:0 0 32px}.actions{display:flex;gap:14px}.button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;text-transform:uppercase;font-weight:700;letter-spacing:.05em;font-size:.76rem;padding:16px 21px;border:1px solid transparent;border-radius:0}.button.primary{background:var(--green);color:#fff}.button.outline{border-color:#fff;color:#fff}.hero-caption{position:absolute;z-index:2;right:4%;bottom:20px;text-transform:uppercase;font-weight:700;font-size:.67rem;letter-spacing:.08em}.section-grid{display:grid;grid-template-columns:1.15fr .85fr}.intro{padding-block:72px;gap:100px}.intro h2,.projects h2,.about h2,.process h2,.services h2{font-size:clamp(2rem,3.4vw,3.5rem);line-height:1.08;letter-spacing:-.045em;margin:0}.green-rule{display:block;width:62px;height:2px;background:var(--green);margin-top:24px}.intro-copy{font-size:1.02rem}.intro-copy p:first-child{margin-top:0}.projects{padding-bottom:78px}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:18px}.section-heading a,.text-link{color:var(--ink);text-transform:uppercase;text-decoration:none;font-size:.72rem;font-weight:700;letter-spacing:.05em}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.project{height:325px;position:relative;overflow:hidden;background:#222}.project-wide{grid-column:1/-1;height:340px}.project img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease}.project:hover img{transform:scale(1.025)}.project:after{content:"";position:absolute;inset:42% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.78))}.project-overlay{position:absolute;z-index:2;left:20px;right:20px;bottom:17px;color:#fff;display:flex;justify-content:space-between;align-items:end}.project h3{margin:0;text-transform:uppercase;font-size:1.65rem;letter-spacing:-.03em}.project p{margin:0;font-size:.78rem}.project-overlay>span{text-transform:uppercase;font-weight:700;font-size:.68rem}.services{background:var(--ink);color:#fff;padding:70px 0}.services-grid{display:grid;grid-template-columns:1fr 1.35fr;gap:80px}.services ol{list-style:none;margin:0;padding:0}.services li{display:grid;grid-template-columns:55px 1fr 20px;align-items:center;gap:15px;border-bottom:1px solid #626762;padding:14px 0}.services li:first-child{padding-top:0}.services li>span{font-family:Newsreader,serif;font-size:1.7rem}.services h3{margin:0;text-transform:uppercase;font-size:.88rem}.services li p{margin:2px 0 0;color:#d6d8d5;font-size:.78rem}blockquote{margin:0;padding:34px 28px;display:flex;justify-content:center;align-items:center;gap:35px;background:#faf9f5}blockquote>span{width:2px;height:56px;background:var(--green)}blockquote p{font:400 clamp(1.55rem,2.6vw,2.55rem)/1 Newsreader,serif;text-align:center;margin:0}blockquote small{display:block;font:700 .68rem/1.2 Manrope,sans-serif;text-transform:uppercase;letter-spacing:.1em;margin-top:13px}.process{background:#fff;align-items:stretch}.process>img{width:100%;height:430px;object-fit:cover}.process>div{padding:70px max(40px,8vw) 55px 55px}.process p:not(.eyebrow){max-width:650px}.about{display:grid;grid-template-columns:1fr 1.05fr;gap:85px;padding-block:65px}.about>div:first-child>p:not(.eyebrow){max-width:600px}.dark-outline{border-color:var(--ink);color:var(--ink);margin-top:10px}.stats{display:grid;grid-template-columns:repeat(3,1fr);align-items:end}.stats>div{padding:15px 25px;border-left:1px solid var(--line);display:flex;flex-direction:column;min-height:105px;justify-content:end}.stats strong{font:400 2rem/1 Newsreader,serif;text-transform:uppercase}.stats span{font-size:.72rem;margin-top:8px}.cta{height:310px;position:relative;display:flex;align-items:center;color:#fff;overflow:hidden}.cta img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.cta:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,12,9,.75),rgba(6,12,9,.1))}.cta .wrap{position:relative;z-index:2}.cta h2{font-size:clamp(3rem,6vw,5rem);text-transform:uppercase;line-height:.95;margin:0 0 23px}footer{background:#1a211e;color:#fff;padding:50px 0 25px}.footer-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:50px}.footer-grid>img{width:145px;filter:brightness(0) invert(1)}footer nav{display:flex;gap:30px;align-items:start}footer a{color:#fff;text-decoration:none}footer nav a{text-transform:uppercase;font-size:.7rem;font-weight:700}footer address{font-style:normal;font-size:.78rem}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid #454a47;margin-top:40px;padding-top:20px;color:#b9bdb9;text-transform:uppercase;font-size:.63rem;letter-spacing:.05em}
@media(max-width:800px){.wrap{width:min(100% - 32px,1160px)}.site-header{width:calc(100% - 32px);height:75px}.brand img{width:105px}.menu-toggle{display:block;background:transparent;color:#fff;border:1px solid rgba(255,255,255,.7);padding:10px 13px;text-transform:uppercase;font-size:.68rem;font-weight:700}#main-nav{display:none;position:absolute;top:68px;left:0;right:0;background:#1a211e;padding:22px;flex-direction:column;align-items:stretch;gap:0}#main-nav.open{display:flex}#main-nav a{padding:12px}.nav-cta{text-align:center;margin-top:8px}.hero{min-height:680px;align-items:end}.hero-image{object-position:58% center}.hero-content{padding:0 0 70px}.hero h1{font-size:2.7rem}.hero-copy{font-size:1rem}.hero-caption{display:none}.actions{align-items:flex-start;flex-direction:column}.section-grid,.services-grid,.about{grid-template-columns:1fr}.intro{gap:35px;padding-block:55px}.section-heading{align-items:start;gap:20px;flex-direction:column}.project-grid{grid-template-columns:1fr}.project,.project-wide{grid-column:auto;height:290px}.project-overlay>span{display:none}.services-grid{gap:45px}.process>img{height:310px}.process>div{padding:48px 24px}.about{gap:45px}.stats{grid-template-columns:1fr}.stats>div{border-left:0;border-top:1px solid var(--line);min-height:auto;padding:20px 0}.footer-grid{grid-template-columns:1fr}.footer-grid nav{flex-wrap:wrap}.footer-bottom{align-items:flex-start;flex-direction:column;gap:10px}}

.brand img{display:block;width:155px;height:72px;object-fit:contain;filter:none}
.project:after{pointer-events:none}
.project-trigger{position:absolute;z-index:3;inset:0;width:100%;height:100%;border:0;background:transparent;padding:0;cursor:pointer;text-align:left}
.project-trigger:focus-visible{outline:3px solid var(--green);outline-offset:-3px}
.project-trigger .project-overlay{z-index:auto}
.project-dialog{width:min(1120px,calc(100% - 32px));max-height:92vh;padding:0;border:0;background:var(--cream);color:var(--ink);overflow:auto}
.project-dialog::backdrop{background:rgba(10,15,12,.86);backdrop-filter:blur(4px)}
.dialog-close{position:sticky;z-index:5;float:right;top:18px;margin:18px 18px 0 0;width:44px;height:44px;border:1px solid var(--ink);background:var(--cream);font-size:1.8rem;line-height:1;cursor:pointer}
.dialog-heading{padding:70px 6% 40px;max-width:820px}
.dialog-heading h2{font-size:clamp(3rem,7vw,6rem);line-height:.95;text-transform:uppercase;letter-spacing:-.055em;margin:0 0 24px}
.dialog-heading>p:last-child{font-size:1.05rem;max-width:680px}
.gallery{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:0 8px 8px}
.gallery img{width:100%;height:420px;object-fit:cover}
.gallery img:first-child{grid-column:1/-1;height:580px}
body.dialog-open{overflow:hidden}
.footer-grid>img{width:165px;filter:none}
@media(max-width:800px){.brand img{width:120px;height:58px}.gallery{grid-template-columns:1fr}.gallery img,.gallery img:first-child{grid-column:auto;height:270px}.dialog-heading{padding:55px 22px 28px}.project-dialog{max-height:95vh}.footer-grid>img{width:145px}}
.more-details{margin-top:18px}.more-details summary{list-style:none;cursor:pointer;width:max-content}.more-details summary::-webkit-details-marker{display:none}.more-details[open] summary{margin-bottom:15px}.more-details>div{border-left:2px solid var(--green);padding-left:20px;animation:details-in .25s ease}.about-details summary.button{display:inline-flex}.about-details>div{margin-top:22px}.contact-trigger{font-family:inherit;cursor:pointer}.contact-dialog{width:min(720px,calc(100% - 32px));padding:0;border:0;background:var(--cream);color:var(--ink)}.contact-dialog::backdrop{background:rgba(10,15,12,.86);backdrop-filter:blur(4px)}.contact-dialog-content{padding:70px 8% 60px}.contact-dialog h2{font-size:clamp(2.6rem,6vw,5rem);line-height:.98;letter-spacing:-.05em;margin:0 0 22px}.contact-dialog-content>p:not(.eyebrow):not(.copy-status):not(.contact-email){font-size:1.05rem;max-width:570px}.contact-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.copy-email{font-family:inherit;cursor:pointer}.contact-email{font-weight:700;margin:25px 0 0}.copy-status{min-height:1.45em;color:#427d26;font-size:.84rem;margin:7px 0 0}@keyframes details-in{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:800px){.contact-dialog-content{padding:62px 24px 42px}.contact-actions{align-items:flex-start;flex-direction:column}}
.hero-image-139bp{object-position:50% 58%}
@media(max-width:800px){.hero-image.hero-image-139bp{object-position:50% 58%}}
.hero-content{height:650px;padding:130px 0 55px;display:flex;flex-direction:column;justify-content:space-between;transform:none}.hero-lower{max-width:560px}.hero-lower .hero-copy{margin-bottom:24px}
@media(max-width:800px){.hero-content{height:680px;padding:118px 0 42px;transform:none}.hero-lower{max-width:100%}.hero-lower .hero-copy{margin-bottom:20px}}
.contact-dialog{width:min(860px,calc(100% - 32px));max-height:94vh;overflow:auto}.contact-dialog-content{padding-bottom:46px}.contact-form{margin-top:30px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.contact-form label{display:flex;flex-direction:column;gap:8px;text-transform:uppercase;font-size:.7rem;font-weight:700;letter-spacing:.07em}.contact-form input,.contact-form select,.contact-form textarea{width:100%;border:1px solid #bfc3bd;border-radius:0;background:#fff;color:var(--ink);font:500 1rem/1.4 Manrope,Arial,sans-serif;padding:14px 15px}.contact-form textarea{resize:vertical;min-height:130px}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{outline:2px solid var(--green);outline-offset:1px}.form-full{grid-column:1/-1}.form-footer{display:flex;align-items:center;gap:20px;margin-top:22px}.form-footer .button{font-family:inherit;cursor:pointer;flex:0 0 auto}.form-status{font-size:.8rem;color:#427d26;margin:0}.contact-direct{display:flex;align-items:center;flex-wrap:wrap;gap:8px;border-top:1px solid var(--line);margin-top:28px;padding-top:20px;font-size:.82rem}.contact-direct a{color:var(--ink);font-weight:700}.nav-cta.contact-trigger{border:0;font-family:inherit;cursor:pointer}
@media(max-width:800px){.form-grid{grid-template-columns:1fr}.form-full{grid-column:auto}.form-footer{align-items:flex-start;flex-direction:column}.contact-direct{align-items:flex-start;flex-direction:column}.contact-direct span:nth-of-type(2){display:none}}
