:root{color-scheme:light;--ink:#182329;--ink-soft:#3f4d51;--muted:#566367;--paper:#fff;--surface:#f5f6f3;--line:#d9dfdb;--green:#416c50;--green-deep:#284e37;--deep:#17272e;--font-body:Inter, "Avenir Next", "Segoe UI", system-ui, sans-serif;--font-display:Inter, "Avenir Next", "Segoe UI", system-ui, sans-serif;font-family:var(--font-body);color:var(--ink);background:var(--paper);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:1.5rem}body{min-width:320px;margin:0}button,input,select,textarea{font:inherit}a{color:inherit}::selection{color:#fff;background:var(--green-deep)}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--font-display)}.skip-link{z-index:20;color:#fff;background:var(--ink);padding:.8rem 1rem;position:fixed;top:1rem;left:1rem;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.page-shell{overflow:hidden}.container{width:min(1160px,100% - 80px);margin-inline:auto}.site-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:88px;display:flex}.wordmark{color:var(--ink);font-family:var(--font-display);letter-spacing:-.6px;flex:none;align-items:center;gap:11px;font-size:17px;font-weight:800;line-height:1;text-decoration:none;display:inline-flex}.wordmark-icon{color:#fff;background:var(--green-deep);border-radius:9px 9px 9px 2px;place-items:center;width:36px;height:36px;font-size:19px;display:grid}.wordmark-light{font-weight:500}.wordmark small{color:#4c595b;font:700 9px var(--font-body);letter-spacing:1.7px;margin-top:5px;display:block}.main-nav{align-items:center;gap:clamp(20px,3vw,38px);display:flex}.main-nav a{color:#354347;white-space:nowrap;font-size:14px;font-weight:550;text-decoration:none;transition:color .18s}.main-nav a:hover,.text-link:hover,.project-link:hover{color:var(--green)}.main-nav .nav-cta{color:var(--ink);border:1px solid #aeb9b3;border-radius:3px;align-items:center;gap:12px;padding:13px 17px;font-weight:650;display:inline-flex}.main-nav .nav-cta:hover{border-color:var(--green);color:var(--green-deep)}.hero{border-bottom:1px solid var(--line);padding:clamp(76px,10vw,122px) 0 51px}.hero-label{color:var(--green-deep);letter-spacing:.055em;align-items:center;gap:11px;margin:0 0 24px;font-size:14px;font-weight:750;line-height:1.5;display:flex}.hero-label-mark{background:var(--green);border-radius:50%;flex:none;width:9px;height:9px}h1{max-width:900px;color:var(--ink);letter-spacing:-.065em;margin:0 0 24px;font-size:clamp(58px,8vw,94px);font-weight:610;line-height:.99}h1 span,h2 span{color:var(--green)}.hero-intro{max-width:690px;color:var(--ink-soft);margin:0;font-size:clamp(17px,1.7vw,20px);line-height:1.75}.hero-actions{flex-wrap:wrap;align-items:center;gap:26px;margin-top:30px;display:flex}.button{cursor:pointer;border:1px solid #0000;border-radius:3px;justify-content:center;align-items:center;gap:17px;min-height:51px;padding:0 19px;font-size:14px;font-weight:650;text-decoration:none;transition:background .18s,color .18s,transform .18s;display:inline-flex}.button:hover{transform:translateY(-1px)}.button-dark{color:#fff;background:var(--ink)}.button-dark:hover{background:var(--green-deep)}.text-link{color:#303d41;align-items:center;gap:9px;font-size:14px;font-weight:600;text-decoration:none;transition:color .18s;display:inline-flex}.hero-bottomline{color:#4c5b5d;flex-wrap:wrap;align-items:center;gap:12px;margin-top:53px;font-size:13px;display:flex}.hero-bottomline i{background:var(--green);border-radius:50%;width:4px;height:4px}.service-section,.approach-section{padding:91px 0 96px}.section-heading{justify-content:space-between;align-items:end;gap:44px;margin-bottom:35px;display:flex}.eyebrow{color:var(--green-deep);letter-spacing:.12em;margin:0;font-size:12px;font-weight:750;line-height:1.5}.section-heading h2{max-width:670px;color:var(--ink);letter-spacing:-.05em;margin:12px 0 0;font-size:clamp(34px,4.3vw,54px);font-weight:590;line-height:1.08}.section-intro{max-width:390px;color:var(--ink-soft);margin:0 0 3px;font-size:16px;line-height:1.75}.service-list{border-top:1px solid var(--line)}.service-item{border-bottom:1px solid var(--line);grid-template-columns:54px 1fr 24px;align-items:start;gap:19px;padding:27px 0 29px;display:grid}.service-number{color:var(--green-deep);padding-top:4px;font-size:13px;font-weight:700}.service-copy h3{color:var(--ink);letter-spacing:-.025em;margin:0 0 7px;font-size:21px;font-weight:650}.service-copy p{max-width:700px;color:var(--ink-soft);margin:0;font-size:16px;line-height:1.7}.service-arrow{color:var(--green);padding-top:2px;font-size:17px}.work-section{background:var(--surface);padding:88px 0 92px}.work-heading{margin-bottom:31px}.project-list{border-top:1px solid #cbd3ce;margin-inline:clamp(18px,3vw,38px)}.project-row{border-bottom:1px solid #cbd3ce;grid-template-columns:54px minmax(0,1fr);align-items:start;gap:19px;padding:31px 0 33px;display:grid}.project-number{color:var(--green-deep);padding-top:5px;font-size:13px;font-weight:700}.project-category{color:#3c5a47;letter-spacing:.07em;margin:0 0 10px;font-size:12px;font-weight:700;line-height:1.5}.project-main h3{color:var(--ink);letter-spacing:-.045em;margin:0 0 10px;font-size:29px;font-weight:650;line-height:1.15}.project-description{color:#3f4d51;max-width:760px;margin:0;font-size:16px;line-height:1.78}.project-link{color:var(--ink);align-items:center;gap:8px;margin-top:14px;font-size:14px;font-weight:650;text-decoration:none;transition:color .18s;display:inline-flex}.approach-section{padding-bottom:93px}.approach-heading{margin-bottom:32px}.approach-steps{border-top:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:30px;display:grid}.approach-steps article{padding:22px 16px 0 0;position:relative}.approach-steps article>span{color:var(--green-deep);margin-bottom:20px;font-size:13px;font-weight:700;display:block}.approach-steps h3{color:var(--ink);letter-spacing:-.02em;margin:0 0 8px;font-size:18px;font-weight:650}.approach-steps p{max-width:300px;color:var(--ink-soft);margin:0;font-size:15px;line-height:1.7}.contact-section{background:var(--deep);color:#fff;border-radius:4px;grid-template-columns:.9fr 1.1fr;gap:8%;padding:55px clamp(23px,6vw,68px);display:grid}.contact-copy .eyebrow{color:#c8ddca}.contact-copy h2{color:#fff;letter-spacing:-.05em;max-width:460px;margin:16px 0;font-size:clamp(36px,4vw,49px);font-weight:590;line-height:1.08}.contact-copy>p:not(.eyebrow){color:#e0e8e4;max-width:390px;font-size:16px;line-height:1.75}.contact-email{color:#fff;gap:9px;margin-top:14px;font-size:15px;font-weight:650;text-decoration:none;display:inline-flex}.contact-email:hover{text-decoration:underline}.enquiry-form{gap:14px;display:grid}.form-row{grid-template-columns:1fr 1fr;gap:13px;display:grid}.enquiry-form label{color:#fff;gap:7px;font-size:13px;font-weight:600;display:grid}.optional{color:#d0d9d3;letter-spacing:.06em;margin-left:5px;font-size:11px}.enquiry-form input,.enquiry-form select,.enquiry-form textarea{color:#182329;background:#fff;border:1px solid #d6ded9;border-radius:3px;outline:0;width:100%;min-height:47px;padding:11px 12px;font-size:14px}.enquiry-form textarea{resize:vertical;min-height:100px;line-height:1.6}.enquiry-form input::placeholder,.enquiry-form textarea::placeholder{color:#69777a;opacity:1}.enquiry-form input:focus,.enquiry-form select:focus,.enquiry-form textarea:focus{border-color:#c9ed78;box-shadow:0 0 0 3px #c9ed7838}.button-light{min-height:47px;color:var(--ink);background:#fff;justify-self:start;margin-top:2px}.button-light:hover{background:#eff3e9}.form-note{color:#e0e8e4;max-width:450px;margin:-2px 0 0;font-size:12px;line-height:1.6}.site-footer{justify-content:space-between;align-items:center;gap:22px;min-height:105px;display:flex}.footer-wordmark{font-size:15px}.footer-wordmark .wordmark-icon{width:32px;height:32px;font-size:16px}.footer-wordmark small{font-size:8px}.site-footer>p{color:#455257;margin:0;font-size:13px}.footer-note{color:#455257;font-size:12px}@media (width<=850px){.container{width:min(100% - 52px,720px)}.section-heading{flex-direction:column;align-items:start;gap:15px}.section-intro{max-width:580px}.contact-section{grid-template-columns:1fr;gap:30px}}@media (width<=620px){.container{width:calc(100% - 38px)}.site-header{min-height:72px}.wordmark{gap:8px;font-size:15px}.wordmark-icon{width:32px;height:32px;font-size:17px}.main-nav{gap:10px}.main-nav a:not(.nav-cta){display:none}.main-nav .nav-cta{gap:7px;padding:10px 11px;font-size:12px}.hero{padding:65px 0 34px}.hero-label{align-items:flex-start;margin-bottom:21px;font-size:12px}.hero-label-mark{width:8px;height:8px;margin-top:6px}h1{letter-spacing:-.065em;max-width:530px;margin-bottom:19px;font-size:clamp(52px,14vw,68px);line-height:1.01}.hero-intro{font-size:17px;line-height:1.72}.hero-actions{flex-direction:column;align-items:flex-start;gap:17px;margin-top:25px}.hero-bottomline{gap:9px;margin-top:34px;font-size:12px}.service-section,.approach-section{padding:63px 0}.section-heading{gap:12px;margin-bottom:25px}.section-heading h2{letter-spacing:-.045em;margin-top:10px;font-size:36px}.section-intro{font-size:16px;line-height:1.7}.service-item{grid-template-columns:31px 1fr 18px;gap:10px;padding:22px 0 23px}.service-number{font-size:12px}.service-copy h3{font-size:19px}.service-copy p{font-size:15px;line-height:1.68}.service-arrow{font-size:15px}.work-section{padding:63px 0 66px}.project-list{margin-inline:16px}.project-row{grid-template-columns:28px minmax(0,1fr);gap:9px;padding:25px 0 26px}.project-number{font-size:12px}.project-category{margin-bottom:8px;font-size:11px;line-height:1.55}.project-main h3{font-size:25px}.project-description{font-size:15px;line-height:1.72}.project-link{margin-top:12px;font-size:14px}.approach-heading{margin-bottom:22px}.approach-steps{grid-template-columns:1fr;gap:0}.approach-steps article{border-bottom:1px solid var(--line);grid-template-columns:31px minmax(0,1fr);gap:9px;padding:20px 0;display:grid}.approach-steps article>span{margin:2px 0 0}.approach-steps h3,.approach-steps p{grid-column:2}.approach-steps h3{margin-bottom:6px;font-size:17px}.approach-steps p{max-width:none;font-size:15px}.contact-section{gap:25px;padding:30px 20px}.contact-copy h2{font-size:37px}.contact-copy>p:not(.eyebrow){font-size:15px}.form-row{grid-template-columns:1fr;gap:13px}.enquiry-form label{font-size:13px}.enquiry-form input,.enquiry-form select,.enquiry-form textarea{font-size:14px}.site-footer{flex-direction:column;justify-content:center;align-items:flex-start;gap:9px;min-height:142px;padding:22px 0}.site-footer>p{font-size:12px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
