*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:#18251f;background:#fff;font-family:Barlow,Arial,sans-serif;font-weight:400;line-height:1.4}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}img{max-width:100%;display:block}.container{width:min(1320px,calc(100% - 8vw));margin-inline:auto}.site-header{background:#fff;position:relative;z-index:10}.header-inner{display:flex;align-items:center;justify-content:space-between;padding-block:clamp(18px,3vh,42px)}.brand img{width:112px;height:90px;object-fit:contain}.nav{display:flex;align-items:center;gap:clamp(20px,3vw,46px)}.nav>a:not(.nav-cta){font-size:16px}.nav-cta{background:#17362a;color:#fff;padding:15px 24px}.menu-toggle{display:none;border:0;background:transparent;font-size:28px}.hero{min-height:640px;position:relative;background-image:var(--hero-image);background-size:cover;background-position:center 45%;color:#fff;display:flex;align-items:center;padding-block:clamp(90px,14svh,200px)}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,29,23,.94) 0%,rgba(10,29,23,.78) 43%,rgba(10,29,23,.2) 100%)}.hero-content{position:relative;z-index:1}.hero h1{font-weight:100;line-height:1.13;letter-spacing:-.03em;font-size:clamp(45px,5.7vw,92px);max-width:960px;margin:26px 0}.hero h1 span{font-weight:400}.hero p{font-size:clamp(18px,1.4vw,23px);max-width:650px;color:#edf2ee}.eyebrow{display:block;font-size:13px;font-weight:600;letter-spacing:.19em;color:#4b7257}.eyebrow.light{color:#b9d49d}.actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:36px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:22px;border:1px solid transparent;padding:18px 28px;font-size:16px;font-weight:500}.btn-accent{background:#b5d58d;color:#163025}.btn-accent:hover{background:#c8e3a6}.btn-outline{border-color:#fff;color:#fff}.hero-side{position:absolute;bottom:34px;right:4vw;z-index:1;font-size:12px;letter-spacing:.15em}.section{padding-block:clamp(65px,10svh,140px)}.section-light{background:#fff;color:#1c2d24}.section-dark{background:#152f26;color:#fff}.section-heading{display:grid;grid-template-columns:1.3fr 1fr;gap:6vw;align-items:end;margin-bottom:48px}.section h2{font-weight:100;font-size:clamp(40px,4.2vw,68px);line-height:1.15;letter-spacing:-.025em;margin:18px 0}.section h2 em{font-style:normal;font-weight:400}.section-heading p{font-size:19px;max-width:500px;color:#5a685f}.services{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.service{min-height:245px;border:1px solid #e1e6e0;padding:27px;display:flex;flex-direction:column;justify-content:space-between;transition:background .2s}.service:hover{background:#f7f8f5}.service-num{color:#7d9280;font-size:14px}.service-symbol{font-size:38px;color:#6d9265}.service h3{font-weight:400;font-size:23px;line-height:1.25;margin:0}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:8vw}.about-text>p{font-size:22px;color:#d2dfd6;margin:18px 0 42px}.values{display:grid;gap:0}.values>div{border-top:1px solid #4b6456;display:flex;gap:30px;padding:18px 0}.values strong{color:#b5d58d;font-weight:400}.text-link{display:inline-block;margin-top:35px;border-bottom:1px solid #b5d58d;padding-bottom:8px}.projects{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.project{min-width:0}.project-open{width:100%;text-align:left;border:1px solid #e5e9e5;background:#fff;padding:0;color:inherit}.project-image{height:245px;position:relative;overflow:hidden}.project-image img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.project-open:hover img{transform:scale(1.04)}.project-count{position:absolute;right:12px;bottom:12px;background:#fff;padding:8px 12px;font-size:13px}.project-body{padding:25px;min-height:240px}.project-body h3{font-size:25px;font-weight:400;margin:12px 0}.project-body p{font-size:16px;color:#65736b;margin:0 0 18px}.project-more{font-weight:500;color:#2e6444}.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:7vw}.contact-grid>div>p{font-size:21px;color:#d0dfd4}.contact-details{display:grid;gap:13px;margin-top:44px;font-size:19px}.contact-form{background:#fff;color:#183025;padding:clamp(24px,4vw,52px)}.contact-form h3{font-size:29px;font-weight:400;margin:0 0 25px}.contact-form label{display:grid;gap:8px;font-size:15px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:17px;margin-bottom:18px}.contact-form input:not([type=checkbox]),.contact-form select,.contact-form textarea{width:100%;background:#f6f7f5;border:1px solid #d7dfd7;padding:14px 13px;color:#1c3026;border-radius:0}.contact-form textarea{resize:vertical}.consent{display:flex!important;align-items:flex-start;gap:10px!important;margin:20px 0}.consent input{margin-top:4px}.consent a{text-decoration:underline}.form-note{font-size:13px;color:#68766c}.form-result{font-size:15px}.honey{position:absolute;left:-9999px}.footer{background:#0c211a;color:#fff;padding-top:clamp(45px,7svh,95px)}.footer-inner{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:5vw}.footer-logo{width:130px;height:105px;object-fit:contain;background:#fff;padding:5px}.footer-inner p{max-width:260px;color:#c8d6cd}.footer-links{display:grid;gap:12px;align-content:start}.group-brand{display:flex;flex-direction:column;align-items:flex-start;gap:15px}.group-brand img{width:160px;max-height:110px;object-fit:contain;background:#fff;padding:10px}.footer-bottom{border-top:1px solid #2c493a;margin-top:55px;padding-block:22px;color:#aebdb3;font-size:14px}.lightbox{display:none;position:fixed;inset:0;background:rgba(5,14,10,.96);z-index:100;align-items:center;justify-content:center;color:#fff}.lightbox.active{display:flex}.lightbox figure{margin:0;width:min(85vw,1100px);text-align:center}.lightbox img{width:100%;height:min(78vh,850px);object-fit:contain}.lightbox figcaption{padding:12px}.lightbox button{position:absolute;border:0;background:transparent;color:#fff;font-size:50px}.lightbox-close{top:12px;right:24px}.lightbox-prev{left:15px}.lightbox-next{right:15px}@media(max-width:1000px){.services{grid-template-columns:repeat(2,1fr)}.projects{grid-template-columns:repeat(2,1fr)}.nav{gap:20px}.contact-grid{gap:3vw}}@media(max-width:720px){.container{width:calc(100% - 36px)}.brand img{width:84px;height:68px}.menu-toggle{display:block}.nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;padding:20px;flex-direction:column;align-items:stretch;box-shadow:0 8px 15px #0002}.nav.open{display:flex}.hero{min-height:620px;padding-block:clamp(80px,12svh,130px)}.hero-shade{background:linear-gradient(90deg,rgba(10,29,23,.94),rgba(10,29,23,.55))}.hero h1{font-size:clamp(42px,10vw,65px)}.hero-side{display:none}.section-heading,.about-grid,.contact-grid{grid-template-columns:1fr;gap:15px}.section h2{font-size:clamp(40px,9vw,56px)}.section-heading p{margin:0}.projects{grid-template-columns:1fr}.project-image{height:270px}.project-body{min-height:unset}.form-row{grid-template-columns:1fr}.footer-inner{grid-template-columns:1fr 1fr}.group-brand{grid-column:1/-1}.lightbox figure{width:80vw}}@media(max-width:420px){.services{grid-template-columns:1fr}.service{min-height:170px}.footer-inner{grid-template-columns:1fr}.group-brand{grid-column:auto}.contact-form{padding:22px}.hero h1{font-size:42px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* V2: original photography, white footer, stable hero background */
.hero{isolation:isolate;background:#132b22;overflow:hidden}
.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 45%;z-index:-2}
.hero-shade{z-index:-1}
.service{gap:15px;min-height:295px}
.service-photo{display:block;width:100%;height:125px;object-fit:cover;object-position:center;border-radius:0}
.footer{background:#fff;color:#182b21;border-top:1px solid #e0e6e0}
.footer-inner p{color:#4d6053}.footer-bottom{border-top-color:#dbe4db;color:#5b6b61}
.footer-logo,.group-brand img{background:transparent}
.legal-main{min-height:55vh;padding-block:clamp(55px,9svh,130px)}
.legal-main h1{font-size:clamp(40px,5vw,70px);font-weight:100;line-height:1.4}
.legal-main h2{font-size:clamp(25px,2.6vw,36px);font-weight:400;line-height:1.4;margin-top:1.8em}
.legal-main p,.legal-main li{max-width:900px;line-height:1.4}
.legal-main a{text-decoration:underline}
@media(max-width:720px){.service-photo{height:150px}.service{min-height:270px}}
