@charset "UTF-8";
:root{--ink:#202620;--muted:#60675f;--lime:#a5cb4e;--paper:#f7f8f3;--line:#dce1d5;--max:1320px;--radius:3px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:120px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,"Segoe UI",Arial,sans-serif;line-height:1.6;font-size:16px}img{display:block;max-width:100%;height:auto}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}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #497420;outline-offset:5px}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.08;font-weight:600;letter-spacing:-.045em}h1{font-size:clamp(3rem,5.3vw,5rem)}h2{font-size:clamp(2.25rem,3.7vw,3.65rem)}h3{font-size:1.55rem}p{margin-bottom:1.2em}.wrap{width:calc(100% - 100px);max-width:var(--max);margin-inline:auto}.green{color:#7fa536}.skip{position:fixed;z-index:100;top:-100px;left:20px;background:var(--lime);padding:12px 20px}.skip:focus{top:15px}.topline{background:var(--ink);color:white;font-size:11px;letter-spacing:.07em}.topline .wrap{display:flex;justify-content:space-between;gap:24px;padding-block:10px}.topline a{letter-spacing:0;font-size:12px}.topline a span{color:var(--lime);margin-left:10px}.site-header{position:sticky;top:0;z-index:20;background:rgba(247,248,243,.97);border-bottom:1px solid var(--line)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:30px;min-height:105px}.brand{min-width:160px;max-width:195px}.brand img{width:180px;height:68px;object-fit:contain;object-position:left center}.brand>span{font-size:30px;letter-spacing:-1px;font-weight:600}.brand small{display:block;font-size:10px;letter-spacing:2px}.site-header nav{display:flex;align-items:center;gap:30px;font-size:14px;font-weight:500}.site-header nav>a:not(.button){padding-block:10px;border-bottom:2px solid transparent}.site-header nav>a[aria-current],.site-header nav>a:not(.button):hover{border-color:var(--lime)}.menu-toggle{display:none}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;background:var(--lime);color:#1e2a10;border:1px solid var(--lime);border-radius:var(--radius);padding:16px 23px;line-height:1.4;font-size:14px;font-weight:600;transition:background .18s,transform .18s}.button:hover{background:#badc6a;transform:translateY(-2px)}.button span{font-size:22px;line-height:1}.button.small{padding:13px 18px}.button.outline{background:transparent;border-color:var(--ink)}.button.outline:hover{background:var(--ink);color:white}.text-link{display:inline-flex;align-items:center;gap:25px;border-bottom:1px solid #b2bbab;padding:8px 0;font-size:14px;font-weight:600}.text-link:hover{border-color:var(--ink)}.text-link span{font-size:20px}.eyebrow{font-size:11px!important;font-weight:650;letter-spacing:.14em;line-height:1.6!important;margin-bottom:22px;text-transform:uppercase}.lead{font-size:18px;line-height:1.65;color:var(--muted)}.hero{display:grid;grid-template-columns:1.03fr 1fr;gap:7%;padding-block:64px 66px;align-items:center}.hero-copy{padding-block:10px}.hero h1{margin-bottom:30px;max-width:660px}.hero .lead{max-width:520px}.actions{display:flex;flex-wrap:wrap;align-items:center;gap:20px 26px;margin-top:32px}.hero-note{display:flex;align-items:center;gap:9px;margin-top:50px;font-size:12px;color:var(--muted)}.dot{display:inline-block;width:8px;height:8px;background:var(--lime);border-radius:100%;flex-shrink:0}.hero-visual{position:relative;align-self:stretch;min-height:590px;background:#d6dcd1}.hero-visual>img{width:100%;height:100%;position:absolute;object-fit:cover}.image-caption{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-between;gap:20px;padding:50px 24px 22px;color:white;background:linear-gradient(transparent,rgba(0,0,0,.6));font-size:12px}.image-caption span:last-child{font-size:9px;letter-spacing:.1em}.experience{position:absolute;left:-34px;bottom:70px;display:flex;align-items:center;gap:17px;background:var(--lime);padding:23px 25px;color:#233316;box-shadow:0 10px 30px #0001}.experience strong{font-size:54px;font-weight:500;letter-spacing:-.06em;line-height:1}.experience span{font-size:12px;line-height:1.5}.values{border-block:1px solid var(--line)}.values .wrap{display:grid;grid-template-columns:repeat(4,1fr);padding-block:26px;font-size:13px;gap:25px}.values span:before{content:'＋';color:#7b963f;padding-right:12px}.section{padding-block:100px}.section.compact{padding-top:30px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:60px;margin-bottom:40px}.section-heading h2{margin-bottom:0}.section-heading>p{max-width:390px;color:var(--muted);font-size:15px;margin-bottom:6px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.service-card{display:block;background:#e7ebe1;overflow:hidden}.service-card>img{aspect-ratio:1.37;object-fit:cover;width:100%;transition:transform .45s}.service-card:hover>img{transform:scale(1.035)}.service-card>span{display:flex;position:relative;justify-content:space-between;gap:15px;align-items:center;background:#edf0e7;padding:21px 23px}.service-card strong{font-weight:550;font-size:18px;line-height:1.3}.service-card>span>span{font-size:26px}.section-bottom{margin-top:35px;text-align:center}.about-band{background:#e8eddf;padding-block:85px;border-block:1px solid #dfe5d5}.about-split{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:start}.about-split h2{margin-bottom:0}.about-split .lead{color:var(--ink);font-size:23px;line-height:1.5}.prose{color:var(--muted);line-height:1.85;font-size:15px}.prose a{text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}.prose h2,.prose h3,.prose h4{color:var(--ink);letter-spacing:-.02em;margin:1.6em 0 .65em;font-size:1.6rem;line-height:1.25}.prose>p:last-child{margin-bottom:0}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:50px 30px}.project-card img{aspect-ratio:1.12;object-fit:cover;width:100%;background:#dce3d5}.project-card .eyebrow{margin:23px 0 12px;color:#657846;font-size:10px!important}.project-card h2,.project-card h3{font-size:22px;letter-spacing:-.025em;line-height:1.3;margin-bottom:15px}.project-card h2 span,.project-card h3 span{color:#718455;white-space:nowrap}.project-card .prose{font-size:14px}.project-card a:hover h2,.project-card a:hover h3{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}.page-heading{padding-block:50px 45px}.page-heading h1{max-width:1100px;margin-bottom:26px}.page-heading>.lead{max-width:710px}.back-link{display:inline-block;font-size:12px;color:var(--muted);margin-bottom:45px}.back-link span{margin-left:15px;color:#a2aaa0}.page-heading .eyebrow{margin-bottom:16px}.jump-links{display:flex;flex-wrap:wrap;gap:8px;padding-bottom:40px;border-bottom:1px solid var(--line)}.jump-links a{border:1px solid var(--line);border-radius:2px;padding:9px 13px;font-size:12px}.jump-links a:hover{background:var(--lime);border-color:var(--lime)}.service-list{padding-block:35px 90px}.service-detail{display:grid;grid-template-columns:1fr 1fr;gap:8%;padding-block:55px;align-items:center}.service-detail:nth-child(even) .service-photo{order:2}.service-photo img{width:100%;aspect-ratio:1.13;object-fit:cover}.service-detail h2{font-size:clamp(2rem,3.1vw,3rem);overflow-wrap:break-word}.subheading{font-size:18px;line-height:1.5}.service-detail .text-link{margin-top:20px}.emergency{background:var(--lime);display:flex;flex-direction:column;align-items:center;justify-content:center;aspect-ratio:1.13}.emergency span{font-size:120px;letter-spacing:-.08em;font-weight:500}.emergency p{font-size:12px;letter-spacing:.1em}.filter-bar{display:flex;align-items:center;gap:18px;margin-bottom:35px;font-size:13px}.filter-bar[hidden]{display:none}.filter-bar select{background:white;border:1px solid var(--line);border-radius:2px;padding:12px 35px 12px 12px;max-width:100%;color:var(--ink)}#project-count{margin-left:auto;color:var(--muted)}[hidden]{display:none!important}.about-text{max-width:920px;font-size:17px;margin-bottom:70px}.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.person img,.person-initials{width:100%;aspect-ratio:1.1;object-fit:cover;background:#e4eadb;margin-bottom:25px}.person-initials{display:flex;align-items:center;justify-content:center;font-size:80px;font-weight:400;letter-spacing:-.07em;color:#81916c}.person h3{margin-bottom:10px}.person>p{color:var(--muted)}.legal{max-width:900px;overflow-wrap:anywhere}.detail-layout{display:grid;grid-template-columns:.85fr 1.25fr;gap:7%;align-items:start}.detail-layout .button{margin-top:35px}.detail-gallery{display:grid;gap:25px}.detail-gallery img{width:100%}.contact-section{background:var(--ink);color:#f6f8f1;padding-block:90px;scroll-margin-top:100px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%}.contact-section .eyebrow{color:var(--lime)}.contact-section h2{font-size:clamp(2.5rem,4vw,4rem);margin-bottom:26px}.contact-section p{color:#c0c7ba;font-size:15px;line-height:1.75}.contact-phone{display:block;font-size:clamp(22px,2.6vw,32px);letter-spacing:-.035em;margin-top:33px}.contact-mail{display:inline-block;border-bottom:1px solid #65735b;margin-block:8px 20px}.address{margin-top:12px}.emergency-note{display:flex;align-items:center;gap:9px;color:#c0c7ba;font-size:12px;margin-top:30px}.contact-form label{display:block;font-size:13px;font-weight:500}.contact-form label>span:not(:last-child){color:var(--lime)}.contact-form input:not([type=checkbox]),.contact-form textarea{display:block;width:100%;border:1px solid #64715b;background:#2c342a;color:white;border-radius:2px;padding:14px 15px;margin-top:9px;margin-bottom:25px;outline-offset:2px}.contact-form input:focus-visible,.contact-form textarea:focus-visible{outline-color:var(--lime)}.contact-form textarea{resize:vertical;min-height:150px}.contact-form textarea::placeholder{color:#a6b19e}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.contact-form .consent{display:flex;gap:11px;font-size:12px;font-weight:400;line-height:1.6;align-items:start}.consent input{accent-color:var(--lime);margin-top:4px;flex-shrink:0;width:16px;height:16px}.consent a{text-decoration:underline}.form-submit{display:flex;align-items:center;justify-content:space-between;margin-top:25px;gap:20px}.form-submit>span{font-size:11px;color:#acb5a5}.honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.form-errors{background:#fff0e8;color:#602712;border-left:4px solid #cf7651;padding:15px 20px;margin-bottom:25px;font-size:13px}.form-errors p{color:inherit;margin-bottom:6px}.form-errors ul{padding-left:18px;margin:0}.contact-section .form-success{background:#e3efcb;color:#233a15;padding:18px;margin-bottom:25px}.site-footer{background:#171c17;color:#acb5a6;border-top:1px solid #384332;padding-block:35px;font-size:11px}.footer-inner{display:flex;align-items:center;gap:45px}.footer-brand{font-size:26px;color:white;letter-spacing:-1px;line-height:1.2;margin-right:auto}.footer-brand>span{color:var(--lime)}.footer-brand small{display:block;font-size:8px;letter-spacing:.15em;margin-top:7px}.site-footer nav{display:flex;gap:25px}.back-top{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid #66715f;font-size:22px;color:white}
@media(min-width:1600px){.hero-visual{min-height:650px}}
@media(max-width:1050px){.wrap{width:calc(100% - 60px)}.site-header nav{gap:18px;font-size:13px}.brand{min-width:130px}.brand img{width:145px}.hero{gap:5%;padding-block:45px}.hero h1{font-size:3.5rem}.hero-visual{min-height:560px}.experience{left:-15px;padding:20px}.actions{gap:15px}.service-grid,.project-grid{gap:24px}.about-split{gap:50px}.contact-grid{gap:7%}.form-row{grid-template-columns:1fr;gap:0}.footer-inner{gap:25px}.section{padding-block:75px}}
@media(max-width:780px){html{scroll-padding-top:95px}.wrap{width:calc(100% - 40px)}.topline .wrap>span{display:none}.topline .wrap{justify-content:center;padding-block:8px}.header-inner{min-height:85px}.brand img{height:54px;width:160px}.menu-toggle{display:flex;gap:15px;align-items:center;background:none;border:1px solid var(--line);padding:9px 13px;font-size:13px}.menu-toggle span{font-size:20px}.site-header nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--paper);border-bottom:1px solid var(--line);padding:20px;flex-direction:column;align-items:stretch;gap:5px}.site-header nav.is-open{display:flex}.site-header nav>a:not(.button){padding:13px 8px}.site-header nav .button{margin-top:8px}.hero{grid-template-columns:1fr;gap:35px;padding-block:38px 40px}.hero h1{font-size:clamp(3rem,9vw,4.5rem);max-width:590px}.hero .eyebrow{font-size:10px!important}.hero .lead{font-size:16px;max-width:600px}.hero-note{margin-top:26px}.hero-visual{min-height:420px;margin-left:15px}.experience{left:-15px;bottom:65px}.experience strong{font-size:44px}.values .wrap{grid-template-columns:1fr 1fr;gap:14px 10px;font-size:12px;padding-block:22px}.section{padding-block:58px}.section-heading{align-items:start;flex-direction:column;gap:22px;margin-bottom:30px}.section-heading>p{max-width:600px;margin-bottom:0}.service-grid{grid-template-columns:1fr 1fr;gap:18px}.service-card>span{padding:15px}.service-card strong{font-size:16px}.about-band{padding-block:55px}.about-split{grid-template-columns:1fr;gap:25px}.about-split .lead{font-size:20px}.project-grid{grid-template-columns:1fr 1fr;gap:32px 20px}.project-card h2,.project-card h3{font-size:20px}.contact-grid{grid-template-columns:1fr;gap:45px}.contact-section{padding-block:55px}.form-row{grid-template-columns:1fr 1fr;gap:15px}.footer-inner{flex-wrap:wrap;justify-content:space-between;gap:25px}.footer-brand{flex-basis:60%}.site-footer nav{order:3}.back-top{order:4}.footer-inner>span{order:2;flex-basis:100%}.page-heading{padding-block:35px 30px}.page-heading h1{font-size:clamp(2.6rem,7vw,3.6rem)}.back-link{margin-bottom:30px}.service-detail{grid-template-columns:1fr;gap:28px;padding-block:30px}.service-detail:nth-child(even) .service-photo{order:0}.service-photo img{aspect-ratio:1.45}.service-detail h2{font-size:2.4rem}.service-list{padding-bottom:55px}.team-grid{gap:20px}.person h3{font-size:21px}.person-initials{font-size:55px}.person .text-link{font-size:12px;gap:8px}.detail-layout{grid-template-columns:1fr;gap:35px}.filter-bar{flex-wrap:wrap;gap:10px}.filter-bar label{width:100%}.about-text{font-size:16px}}
@media(max-width:480px){.wrap{width:calc(100% - 36px)}.hero h1{font-size:3rem}.actions{align-items:start;flex-direction:column}.hero-visual{min-height:350px}.image-caption{padding-inline:15px}.image-caption span:last-child{display:none}.service-grid{gap:14px}.service-card strong{font-size:15px}.service-card>span{padding:13px 11px}.service-card>span>span{font-size:19px}.service-card>img{aspect-ratio:1}.project-grid{grid-template-columns:1fr;gap:35px}.project-card img{aspect-ratio:1.35}.project-card h2,.project-card h3{font-size:23px}.team-grid{grid-template-columns:1fr;gap:35px}.person{display:grid;grid-template-columns:100px 1fr;column-gap:20px}.person-initials,.person>img{grid-row:span 3;margin-bottom:0}.person h3{margin:0 0 5px}.person>p{margin:0}.person .text-link{justify-self:start;font-size:12px}.form-row{grid-template-columns:1fr;gap:0}.contact-phone{font-size:26px}.form-submit{align-items:start;flex-direction:column-reverse}.form-submit .button{width:100%}.emergency span{font-size:90px}.filter-bar select{width:100%}#project-count{margin-left:0}.eyebrow{font-size:10px!important}.section-heading h2{font-size:2.5rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

.contact-form altcha-widget{display:block;margin:0 0 24px;max-width:100%;color:#202620}

.contact-form altcha-widget p{color:#60675f;font-size:12px}
