@import url('../fonts/fonts.css');
:root{--ink:#292d2b;--dark:#242825;--lime:#a6cf36;--lime-hover:#b8dd4b;--paper:#f6f6f1;--white:#fff;--muted:#62685f;--line:#d8dcd4;--font:'Manrope',Arial,sans-serif;--heading:'Manrope',Arial,sans-serif;--max:1280px;--gutter:clamp(24px,4.5vw,76px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased}img{max-width:100%;height:auto;display:block}figure{margin:0}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a,button{touch-action:manipulation}h1,h2,h3,h4,p{margin:0}h1,h2,h3{font-family:var(--heading);line-height:1.12;font-weight:600;letter-spacing:-.055em}h1{font-size:clamp(48px,6.7vw,94px)}h2{font-size:clamp(36px,4.3vw,58px)}h3{font-size:25px;letter-spacing:-.035em}p+p{margin-top:20px}::selection{background:var(--lime);color:var(--ink)}:focus-visible{outline:3px solid #87a416;outline-offset:5px}.wrap{width:100%;max-width:calc(var(--max) + var(--gutter)*2);margin-inline:auto;padding-inline:var(--gutter)}.section{padding:100px 0}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.16em;line-height:1.5;text-transform:uppercase;margin-bottom:24px}.eyebrow::before{content:'';display:inline-block;width:21px;height:2px;background:#8fae0a;vertical-align:middle;margin-right:12px;margin-bottom:3px}.large-copy{font-size:21px;line-height:1.65;letter-spacing:-.02em}.intro-copy>p:not(.large-copy),.services-heading>p:not(.eyebrow),.contact-intro>p:not(.eyebrow){color:var(--muted)}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:34px;border-bottom:1px solid var(--ink);padding-bottom:8px;font-size:13px;font-weight:700;line-height:1.7;transition:gap .2s}.text-link:hover{gap:46px}.text-link span{font-size:21px;font-weight:400}.intro-copy>.wp-block-paragraph:last-child,.intro-copy>p:last-child{margin-top:30px}.wp-block-buttons{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.wp-block-button__link,.button{display:inline-flex;align-items:center;justify-content:space-between;gap:38px;background:var(--lime);color:var(--ink);padding:17px 24px;border:1px solid var(--lime);border-radius:0;font-size:13px;font-weight:700;line-height:1.7;transition:background .2s,transform .2s}.wp-block-button__link:hover,.button:hover{background:var(--lime-hover);transform:translateY(-2px)}.wp-block-button__link span,.button span{font-size:21px;line-height:1}.button-outline .wp-block-button__link{background:transparent;color:#fff;border:1px solid #ffffff50}.button-outline .wp-block-button__link:hover{background:#ffffff10}.button-dark .wp-block-button__link{background:var(--ink);border-color:var(--ink);color:#fff}.button-dark .wp-block-button__link:hover{background:#42483e}.skip-link{position:fixed;z-index:1000;top:-90px;left:12px;background:var(--lime);color:var(--ink);padding:12px 20px}.skip-link:focus{top:12px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.preview-banner{background:#e8edda;color:#414835;text-align:center;font-size:11px;padding:7px 20px;line-height:1.5}.preview-banner span{font-weight:800;font-size:9px;letter-spacing:.1em;margin-right:10px}.site-header{background:#3b3d3e;color:white;position:relative;z-index:30}.header-inner{display:flex;align-items:center;justify-content:space-between;height:108px;gap:30px}.brand{display:block;position:relative;width:225px;height:68px;overflow:hidden;flex:0 0 225px}.brand img{position:absolute;width:610px;max-width:none!important;height:auto;left:-348px;top:-12px}.main-nav{display:flex;align-items:center;gap:31px;font-size:12px;font-weight:600}.main-nav ul{display:flex;list-style:none;gap:31px;align-items:center;margin:0;padding:0}.main-nav li{margin:0}.main-nav a{position:relative;padding:12px 0;color:#eceee9}.main-nav a[aria-current=page]:not(.nav-cta)::after,.main-nav .current-menu-item>a::after{position:absolute;content:'';height:2px;width:20px;background:var(--lime);left:0;bottom:2px}.main-nav a:hover{color:var(--lime)}.main-nav .nav-cta{background:var(--lime);color:var(--ink);padding:13px 21px;margin-left:14px;display:flex;gap:34px;align-items:center}.main-nav .nav-cta:hover{background:var(--lime-hover);color:var(--ink)}.nav-cta span{font-size:23px;line-height:1}.menu-toggle{display:none}.hero{position:relative;background:#252b27;color:white;min-height:690px;overflow:hidden}.hero-photo{position:absolute;inset:0;width:100%;height:100%;margin:0!important}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center 53%}.hero::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(22,32,25,.92) 0%,rgba(22,32,25,.83) 30%,rgba(22,32,25,.32) 65%,rgba(22,32,25,.12)),linear-gradient(0deg,rgba(15,25,17,.5),transparent 30%);pointer-events:none}.hero-inner{position:relative;z-index:1;min-height:690px;display:flex;flex-direction:column;justify-content:space-between;padding-top:97px;padding-bottom:31px}.hero .eyebrow{color:var(--lime);font-size:11px}.hero .eyebrow::before{background:var(--lime)}.hero-title{font-size:clamp(56px,6.55vw,94px);font-weight:600;line-height:1.055;letter-spacing:-.065em;max-width:900px}.hero-lead{font-size:17px;line-height:1.8;color:#e5e9e1;margin-top:28px}.hero-actions{margin-top:37px}.hero-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-top:55px}.hero-location{font-size:10px;font-weight:600;letter-spacing:.14em;display:flex;align-items:center;gap:10px}.status-dot{width:6px;height:6px;border-radius:50%;background:var(--lime);display:inline-block}.photo-credit{font-size:10px;opacity:.8;line-height:1.4;margin:0}.specialisms-strip{background:var(--lime)}.specialisms-inner{min-height:74px;display:flex;justify-content:space-between;align-items:center;gap:22px}.specialisms-inner p{margin:0;font-size:15px;font-weight:600;letter-spacing:-.02em}.specialisms-inner .strip-label{font-size:10px;letter-spacing:.09em;font-weight:700}.specialisms-inner p:not(:first-child)::before{content:'+';margin-right:18px;font-size:20px;font-weight:400}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:9%}.intro-copy{padding-top:4px}.intro-section{padding-top:110px;padding-bottom:108px}.services-section{background:#eaeee6}.services-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:8%}.services-heading>p:not(.eyebrow){max-width:350px;margin-top:28px}.service-list{border-top:1px solid #aab3a4}.service-row{display:grid;grid-template-columns:32px 1fr;gap:24px;padding:28px 0;border-bottom:1px solid #bfc7b9}.service-number{font-size:11px;color:#6c7565;padding-top:6px}.service-text h3{font-size:23px;letter-spacing:-.04em}.service-text h3 a{display:flex;justify-content:space-between;gap:18px}.service-text h3 span{font-size:27px;font-weight:400}.service-text p{font-size:14px;line-height:1.75;color:#626b5d;margin-top:13px;max-width:460px}.service-text h3 a:hover{color:#597300}.projects-section{background:#fafbf7}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:32px}.section-heading>p{margin:0 0 4px}.section-lead{color:var(--muted);margin:24px 0 39px}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.project-card[hidden]{display:none}.project-image{display:block;position:relative;overflow:hidden;aspect-ratio:1.28;background:#e0e5dc}.project-image img{width:100%;height:100%;object-fit:cover;transition:transform .55s}.project-image:hover img{transform:scale(1.04)}.project-status{position:absolute;top:17px;left:17px;padding:5px 11px;background:var(--paper);font-size:10px;font-weight:600;color:#263223;display:flex;align-items:center;gap:7px;letter-spacing:.02em}.project-status i{height:5px;width:5px;display:inline-block;background:#86a62c;border-radius:50%}.project-status.completed i{background:#626b5d}.image-arrow{position:absolute;bottom:0;right:0;background:var(--lime);width:43px;height:43px;display:grid;place-items:center;font-size:24px}.project-content{padding-top:20px}.project-content h3{font-size:24px;line-height:1.3}.project-content h3 a:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}.project-meta{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.065em;display:flex;justify-content:space-between;gap:10px;color:#757e6e;margin-bottom:9px}.project-content .project-location{font-size:12px;color:var(--muted);margin-top:10px}.example-label{font-size:8px;letter-spacing:.08em;font-weight:700;color:#77806f;line-height:1.5;margin-top:16px}.portfolio-note{font-size:11px;color:var(--muted);margin-top:30px;padding-top:17px;border-top:1px solid var(--line)}.approach-section{display:grid;grid-template-columns:1fr 1fr;background:var(--ink);color:#fff}.approach-image{position:relative;min-height:690px}.feature-image{height:100%;position:absolute;inset:0}.feature-image img{width:100%;height:100%;object-fit:cover}.feature-image figcaption{position:absolute;left:25px;bottom:20px;background:#222b22c7;color:#fff;padding:4px 9px;font-size:10px}.approach-copy{padding:76px clamp(35px,6.3vw,102px) 72px 70px}.approach-copy .eyebrow{color:var(--lime)}.approach-copy h2{font-size:clamp(36px,4vw,56px)}.approach-copy>p:not(.eyebrow){font-size:14px;line-height:1.9;color:#d0d7cb;margin-top:26px}.approach-values{margin-top:33px;display:grid;gap:22px}.approach-values>div{padding-left:22px;border-left:2px solid #9fb938}.approach-values h3{font-size:17px;letter-spacing:-.02em}.approach-values p{font-size:12px;line-height:1.65;color:#b9c0b5;margin-top:6px}.text-link.light{color:#fff;border-color:#8a9385}.cta-band{background:var(--lime);padding:76px 0}.cta-inner{display:flex;justify-content:space-between;align-items:center;gap:60px}.cta-copy{max-width:750px}.cta-band .eyebrow{font-size:10px;margin-bottom:20px}.cta-band .eyebrow::before{background:var(--ink)}.cta-band h2{font-size:clamp(32px,3.8vw,50px)}.cta-band .cta-copy>p:last-child{font-size:14px;line-height:1.8;max-width:660px;margin-top:22px;color:#435014}.cta-inner>.wp-block-buttons{flex-shrink:0}.site-footer{background:#303532;color:#c6cdc2}.footer-top{display:grid;grid-template-columns:1.2fr .7fr 1fr;gap:8%;padding:70px 0 65px}.site-footer .brand{margin-left:-3px}.site-footer .brand img{mix-blend-mode:lighten}.footer-brand>p{font-size:12px;margin-top:8px}.footer-label{font-size:9px;font-weight:700;letter-spacing:.13em;color:#949f8e;margin-bottom:19px}.footer-top>div:not(:first-child){padding-top:9px}.footer-top a:not(.brand){display:block;font-size:12px;margin:7px 0;width:fit-content}.footer-top a:hover{color:var(--lime)}.footer-top .footer-contact{font-size:20px!important;letter-spacing:-.03em;color:#fff;margin-bottom:20px!important}.footer-top>div>p:not(.footer-label){font-size:11px;line-height:1.9}.footer-bottom{border-top:1px solid #555e50;display:flex;justify-content:space-between;gap:24px;padding:26px 0 31px;font-size:9px;line-height:1.9;color:#a0aa99}.footer-bottom>a{white-space:nowrap}.page-intro{background:#eaeee6;padding:85px 0 88px}.page-intro h1{max-width:1060px;line-height:1.05}.intro-lead{font-size:19px;max-width:660px;color:#65705d;line-height:1.8;margin-top:30px}.split-section{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}.split-section p:not(.eyebrow){margin-top:26px}.split-section p:not(.eyebrow):not(.large-copy){font-size:15px;color:var(--muted)}.about-photo img{width:100%;aspect-ratio:.95;object-fit:cover}.wp-element-caption{font-size:10px;line-height:1.5;color:var(--muted);margin-top:9px}.pale-section{background:#eaeee6}.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7%;margin-top:60px}.number-large{font-size:16px;color:#819361;font-weight:500;letter-spacing:-.03em;margin-bottom:20px}.values-grid h3{font-size:24px}.values-grid p:last-child{font-size:14px;color:var(--muted);margin-top:19px}.region-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%}.region-grid p:not(.eyebrow){margin-top:24px;max-width:470px}.region-panel{background:var(--ink);color:white;padding:25px 40px;border-bottom:6px solid var(--lime)}.region-panel p{display:flex;justify-content:space-between;border-bottom:1px solid #69705f;padding:0 0 22px;font-size:12px;letter-spacing:.1em;font-weight:600}.region-panel p:last-child{border-bottom:0}.region-panel span{color:var(--lime);font-size:20px}.editor-note{background:#edf0e3;border-left:3px solid #b4cd59;padding:17px 21px;font-size:12px!important;color:#62704d;line-height:1.7}.service-detail{display:grid;grid-template-columns:.25fr 1fr;gap:40px;padding:60px 0;border-bottom:1px solid var(--line);scroll-margin-top:40px}.service-detail .number-large{font-size:28px}.service-detail h2{font-size:42px}.service-detail-body p{max-width:780px;margin-top:25px}.service-detail-body p:not(.large-copy){font-size:15px;color:var(--muted)}.project-list-section{padding-top:58px}.project-toolbar{display:flex;justify-content:space-between;align-items:center;gap:24px;padding-bottom:28px;margin-bottom:35px;border-bottom:1px solid var(--line)}.filters{display:flex;gap:9px;flex-wrap:wrap}.filter-button,.filters a{padding:11px 17px;border:1px solid var(--line);background:transparent;color:var(--ink);font-size:12px;display:inline-flex;gap:17px;font-weight:500}.filter-button.active,.filters a[aria-current="true"],.filters a.active{background:var(--ink);color:white;border-color:var(--ink)}.filter-button span{font-size:9px;opacity:.5}.year-filter{font-size:12px;display:flex;align-items:center;gap:15px}.year-filter select{background:#fff;border:1px solid var(--line);padding:11px 30px 11px 14px;font-size:12px;color:var(--ink)}.filter-summary{font-size:11px;color:var(--muted);margin-top:24px}.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:27px;margin-top:55px}.team-placeholder{background:#eaeee6;padding:30px}.team-monogram{font-size:100px;line-height:1.6;font-weight:300;letter-spacing:-.06em;color:#b4bda8;border-bottom:1px solid #ccd4c3;margin-bottom:30px}.team-placeholder .eyebrow{font-size:9px;margin-top:15px;margin-bottom:15px;color:#7a876b}.team-placeholder .eyebrow::before{display:none}.team-placeholder>p:last-child{font-size:13px;color:var(--muted)}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:11%}.contact-intro>p:not(.eyebrow){font-size:15px;margin-top:24px}.contact-points{margin-top:45px;border-top:1px solid var(--line);padding-top:30px}.contact-points h3{font-size:17px;letter-spacing:-.02em;margin-top:24px}.contact-points p{font-size:13px;color:var(--muted);margin-top:10px}.contact-points h3:first-child{margin-top:0}.contact-form-panel{background:#eaeee6;padding:35px}.enquiry-form,.gc-contact-form{display:grid;gap:21px}.form-kicker{font-size:10px;font-weight:700;letter-spacing:.12em}.form-note,.gc-contact-notice{font-size:12px;line-height:1.7;color:#5d6a4f;margin:0!important}.enquiry-form label,.gc-contact-form label{font-size:11px;font-weight:600;display:block;color:#414a37}.enquiry-form label>span{color:#738345}.enquiry-form input,.enquiry-form textarea,.gc-contact-form input,.gc-contact-form textarea{display:block;width:100%;border:1px solid #cbd3c2;background:#f8faf5;padding:13px 14px;line-height:1.6;color:var(--ink);font-size:12px;margin-top:7px;border-radius:0;min-width:0}.enquiry-form textarea,.gc-contact-form textarea{resize:vertical;min-height:120px}.enquiry-form input:focus,.enquiry-form textarea:focus,.gc-contact-form input:focus,.gc-contact-form textarea:focus{border-color:#8ba23f;outline:1px solid #8ba23f}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-privacy{font-size:10px;line-height:1.8;color:#79806f;margin:0}.form-privacy a{text-decoration:underline;text-underline-offset:3px}.enquiry-form .button{width:100%;text-align:left}.form-confirmation{font-size:13px;line-height:1.7;border:1px solid #abbf84;padding:17px;color:#465c30;background:#f2f7e9;margin:0}.registered-strip{border-top:1px solid var(--line);padding:30px 0;color:var(--muted);font-size:11px}.prose{max-width:1000px}.prose h2{font-size:28px;margin-top:40px;margin-bottom:20px}.prose h2:first-child{margin-top:0}.prose p{font-size:15px}.project-detail-image{margin-top:35px}.project-detail-image img{width:100%;max-height:650px;object-fit:cover}.project-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;padding:38px 0;border-block:1px solid var(--line);margin-top:35px}.project-facts .eyebrow{font-size:10px;margin-bottom:10px}.project-facts .eyebrow::before{display:none}.project-facts p:not(.eyebrow){font-size:14px}.project-story{display:grid;grid-template-columns:1.3fr .7fr;gap:10%;padding-top:60px}.project-story h2{font-size:36px;margin-bottom:25px}.project-story h2:not(:first-child){margin-top:40px}.project-story p{font-size:15px;color:var(--muted)}.project-update{background:#eaeee6;padding:30px;align-self:start}.project-update h3{font-size:25px}.project-update p:last-child{font-size:13px;margin-top:20px}.project-empty{border:1px solid var(--line);background:#eef1e9;padding:35px}.project-empty h3{font-size:26px;margin-bottom:15px}.project-empty p{color:var(--muted);font-size:14px}.site-main{min-height:50vh}.entry-content>.wp-block-group{margin-block:0}.wp-block-group .wp-block-group{margin-block-start:0}.wp-site-blocks{padding:0}.wp-block-buttons>.wp-block-button{margin:0}.wp-block-image img{vertical-align:middle}.page-content{margin:0}.gc-form-field{margin-bottom:18px}.gc-form-field label{display:block}.gc-form-field input,.gc-form-field textarea{width:100%;padding:12px;border:1px solid var(--line)}.gc-contact-form button[type=submit]{background:var(--lime);border:0;padding:15px 24px;color:var(--ink);font-weight:700}.gc-contact-form button[disabled]{opacity:.5;cursor:not-allowed}.gc-notice{padding:16px;background:#e2eccf;font-size:13px}.gc-honeypot{position:absolute!important;left:-9999px!important}.gc-project-filters{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:28px}.gc-project-filters a{border:1px solid var(--line);padding:9px 16px;font-size:12px}.gc-project-filters a[aria-current]{background:var(--ink);color:#fff}.gc-project-meta{padding-block:20px;border-bottom:1px solid var(--line);font-size:14px}.entry-header,.entry-content.prose{margin-inline:auto}.post-navigation{padding:25px var(--gutter)}
@media(min-width:1600px){.hero-title{font-size:98px}.hero-inner{padding-top:110px}.hero,.hero-inner{min-height:760px}}
@media(max-width:1100px){.main-nav,.main-nav ul{gap:20px}.main-nav .nav-cta{margin-left:0}.brand{width:195px;flex-basis:195px;height:60px}.brand img{width:530px;left:-302px;top:-10px}.header-inner{height:94px}.hero,.hero-inner{min-height:650px}.hero-inner{padding-top:85px}.approach-copy{padding:55px 38px}.intro-grid{gap:6%}.services-grid{gap:6%}.section{padding:80px 0}.cta-inner{gap:35px}.cta-copy{max-width:600px}.contact-grid{gap:6%}.contact-form-panel{padding:28px}.project-content h3{font-size:21px}}
@media(max-width:820px){.menu-toggle{display:flex;flex-direction:column;gap:6px;width:44px;height:44px;align-items:center;justify-content:center;border:1px solid #ffffff50;background:transparent;color:white}.menu-toggle>span:not(.sr-only){width:18px;height:1px;background:white;transition:transform .2s}.menu-toggle[aria-expanded=true]>span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true]>span:nth-child(2){transform:translateY(-3.5px) rotate(-45deg)}.main-nav{display:none;position:absolute;top:100%;left:0;right:0;background:#3b3d3e;padding:10px var(--gutter) 26px;border-top:1px solid #ffffff20;box-shadow:0 20px 30px #0002}.main-nav.is-open{display:flex;flex-direction:column;align-items:stretch;gap:0}.main-nav ul{display:block}.main-nav a{display:block;padding:13px 0}.main-nav .nav-cta{margin-top:12px;justify-content:space-between}.main-nav a[aria-current=page]:not(.nav-cta)::after{bottom:7px}.hero-title{font-size:clamp(55px,8vw,73px)}.hero,.hero-inner{min-height:620px}.hero-inner{padding-top:80px}.hero::after{background:linear-gradient(90deg,#1a241bd9,#1a241b75),linear-gradient(0deg,#1a241b99,transparent)}.specialisms-inner{flex-wrap:wrap;justify-content:flex-start;gap:5px 27px;padding-top:17px;padding-bottom:17px}.specialisms-inner .strip-label{width:100%;margin-bottom:4px}.specialisms-inner p{font-size:12px}.specialisms-inner p:not(:first-child)::before{margin-right:9px;font-size:15px}.intro-grid,.services-grid,.split-section{grid-template-columns:1fr;gap:38px}.intro-copy{max-width:650px}.services-heading>p:not(.eyebrow){max-width:500px}.services-heading h2 br{display:none}.service-list{margin-top:10px}.section-heading{align-items:flex-start;flex-direction:column;gap:24px}.project-grid{gap:18px}.project-content h3{font-size:20px}.project-meta{font-size:8px;gap:4px}.project-image{aspect-ratio:1}.project-status{top:10px;left:10px;font-size:9px}.example-label{font-size:7px}.approach-section{grid-template-columns:1fr 1fr}.approach-image{min-height:600px}.approach-copy{padding:45px 28px}.approach-copy .eyebrow{font-size:9px}.approach-copy h2{font-size:37px}.approach-copy>p:not(.eyebrow){font-size:13px}.cta-inner{align-items:flex-start;flex-direction:column;gap:29px}.cta-band{padding:58px 0}.footer-top{grid-template-columns:1.1fr .8fr;gap:35px}.footer-top>div:last-child{grid-column:1/-1}.page-intro{padding:65px 0 70px}.page-intro h1{font-size:clamp(46px,8vw,70px)}.about-photo img{aspect-ratio:1.5}.values-grid{gap:28px}.values-grid h3{font-size:21px}.region-grid{gap:40px}.region-panel{padding:20px 26px}.region-panel p{font-size:10px}.team-grid{gap:15px}.team-placeholder{padding:22px}.team-placeholder h3{font-size:21px}.team-monogram{font-size:78px}.contact-grid{grid-template-columns:1fr;gap:45px}.contact-intro{max-width:570px}.contact-points{display:grid;grid-template-columns:1fr 1fr;gap:15px}.contact-points h3,.contact-points p{margin-top:0}.contact-form-panel{padding:35px}.project-facts{gap:20px}.project-facts p:not(.eyebrow){font-size:12px}}
@media(max-width:580px){:root{--gutter:23px}.preview-banner{font-size:9px;padding:7px 12px}.preview-banner span{font-size:8px;margin-right:6px}.header-inner{height:83px}.brand{width:180px;flex-basis:180px;height:55px}.brand img{width:490px;left:-279px;top:-9px}.hero,.hero-inner{min-height:625px}.hero-inner{padding-top:70px;padding-bottom:25px}.hero-title{font-size:clamp(47px,11.8vw,69px);letter-spacing:-.06em}.hero .eyebrow{font-size:9px;letter-spacing:.12em;margin-bottom:26px}.hero-lead{font-size:14px;margin-top:24px}.hero-lead br{display:none}.hero-actions{margin-top:30px;gap:11px}.hero-actions .wp-block-button__link{font-size:11px;padding:14px 16px;gap:20px}.hero-actions .wp-block-button__link span{font-size:19px}.hero-bottom{padding-top:45px;align-items:flex-start;flex-direction:column;gap:14px}.hero-location{font-size:8px}.photo-credit{font-size:8px}.hero-photo img{object-position:61% center}.specialisms-inner{gap:5px 15px}.specialisms-inner p{font-size:10px}.specialisms-inner p:not(:first-child)::before{margin-right:5px}.specialisms-inner .strip-label{font-size:8px}.section{padding:60px 0}h2{font-size:38px}h3{font-size:22px}.eyebrow{font-size:9px;margin-bottom:20px}.large-copy{font-size:18px}.intro-copy>p:not(.large-copy){font-size:14px}.intro-grid{gap:30px}.text-link{font-size:12px;gap:26px}.services-heading>p:not(.eyebrow){font-size:14px;margin-top:23px}.services-heading h2{font-size:36px}.service-row{grid-template-columns:23px 1fr;gap:12px;padding:24px 0}.service-text h3{font-size:21px}.service-text p{font-size:12px}.service-text h3 span{font-size:23px}.project-grid{grid-template-columns:1fr;gap:38px}.project-image{aspect-ratio:1.38}.project-status{font-size:10px;top:15px;left:15px}.project-meta{font-size:9px}.project-content h3{font-size:26px}.example-label{font-size:8px}.project-content{padding-top:16px}.section-lead{font-size:14px;margin:24px 0 28px}.portfolio-note{font-size:10px}.approach-section{grid-template-columns:1fr}.approach-image{min-height:380px}.approach-copy{padding:52px 23px}.approach-copy h2{font-size:42px}.approach-copy>p:not(.eyebrow){font-size:14px}.approach-values{margin-top:30px}.approach-values p{font-size:12px}.cta-band{padding:52px 0}.cta-band h2{font-size:36px}.cta-band .cta-copy>p:last-child{font-size:13px}.cta-band .eyebrow{font-size:8px}.footer-top{grid-template-columns:1fr 1fr;gap:38px 25px;padding:48px 0 40px}.footer-top>div:first-child{grid-column:1/-1}.footer-top>div:last-child{grid-column:auto}.footer-top .footer-contact{font-size:17px!important;line-height:1.5}.footer-top>div>p:not(.footer-label){font-size:10px}.footer-top a:not(.brand){font-size:11px}.footer-bottom{flex-direction:column;gap:15px;font-size:8px}.page-intro{padding:52px 0 56px}.page-intro h1{font-size:48px}.intro-lead{font-size:16px;line-height:1.75;margin-top:26px}.values-grid{grid-template-columns:1fr;gap:30px;margin-top:35px}.values-grid>div{padding-top:25px;border-top:1px solid #c5cdbb}.number-large{margin-bottom:16px}.values-grid h3{font-size:25px}.region-grid{grid-template-columns:1fr}.region-panel p{font-size:11px}.team-grid{grid-template-columns:1fr;gap:22px;margin-top:36px}.team-placeholder{padding:28px}.team-monogram{font-size:86px;line-height:1.3;padding-bottom:20px}.team-placeholder h3{font-size:25px}.contact-form-panel{padding:23px}.form-row{grid-template-columns:1fr;gap:21px}.enquiry-form input,.enquiry-form textarea{font-size:16px}.form-privacy{font-size:10px}.form-kicker{font-size:9px}.contact-points{display:block}.contact-points h3{margin-top:24px}.contact-points p{margin-top:10px}.project-toolbar{align-items:flex-start;flex-direction:column;gap:20px}.filter-button,.filters a{font-size:10px;padding:10px 13px;gap:12px}.service-detail{grid-template-columns:30px 1fr;gap:15px;padding:38px 0}.service-detail .number-large{font-size:18px;padding-top:5px}.service-detail h2{font-size:31px}.service-detail-body p{margin-top:20px}.service-detail-body .large-copy{font-size:17px}.service-detail-body p:not(.large-copy){font-size:13px}.project-facts{grid-template-columns:1fr 1fr;gap:28px}.project-story{grid-template-columns:1fr;gap:35px;padding-top:40px}.project-detail-image img{min-height:260px;object-fit:cover}.prose h2{font-size:26px}.prose p{font-size:14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

/* Refined vector identity. */
.site-header{background:#303532}.brand{width:220px;height:58px;flex-basis:220px}.brand img{position:static;width:100%;height:100%;max-width:100%!important;object-fit:contain;left:auto;top:auto}.hero-photo img{object-position:center 73%}.site-footer .brand img{mix-blend-mode:normal}.wp-block-group.approach-values{margin-top:33px}.wp-block-group.team-grid{margin-top:55px}.wp-block-group.project-facts{margin-top:35px}.wp-block-group.contact-points{margin-top:45px}.main-nav ul{gap:25px}@media(max-width:1100px){.brand{width:195px;height:52px;flex-basis:195px}}@media(max-width:580px){.brand{width:170px;height:46px;flex-basis:170px}.hero-photo img{object-position:62% center}.wp-block-group.team-grid{margin-top:36px}}


.project-facts{grid-template-columns:repeat(3,1fr)}@media(max-width:580px){.project-facts{grid-template-columns:1fr 1fr}}

/* Shared, editable service and people layouts. */
.service-navigation{background:#fff;border-bottom:1px solid var(--line)}
.service-jump-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;padding-block:27px}
.service-jump-grid p{margin:0}.service-jump-grid a{display:grid;grid-template-columns:22px 1fr 14px;gap:10px;align-items:center;font-size:12px;font-weight:700;line-height:1.6}
.service-jump-grid a>span:first-child{font-size:10px;color:#71815c}.service-jump-grid a>span:last-child{font-size:22px;font-weight:400}.service-jump-grid a:hover{color:#58731e}
.capability-section{padding-top:44px;padding-bottom:25px}
.capability-detail{display:grid;grid-template-columns:1.1fr .9fr;gap:9%;padding:76px 0;border-bottom:1px solid var(--line);align-items:start;scroll-margin-top:28px}
.capability-detail:last-child{border-bottom:0}.capability-copy h2{font-size:clamp(34px,3.6vw,50px);max-width:510px}.capability-copy .large-copy{font-size:17px;line-height:1.85;color:var(--muted);margin-top:26px}
.scope-list{list-style:none;margin:28px 0;padding:0;border-top:1px solid var(--line)}.scope-list li{font-size:13px;padding:12px 0 12px 22px;border-bottom:1px solid var(--line);position:relative}.scope-list li::before{content:'+';position:absolute;left:0;color:#58731e;font-size:16px}
.capability-photo img{width:100%;height:310px;object-fit:cover}.drawing-note{border-left:2px solid #99b742;padding:1px 0 1px 20px;margin-top:26px!important}.drawing-note h3{font-size:14px;letter-spacing:-.02em;line-height:1.6}.drawing-note p{font-size:12px;color:var(--muted);margin-top:10px}
.geocore-team-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:38px;margin-top:40px}.team-profile{min-width:0}.team-photo{position:relative;background:#e6eae2;aspect-ratio:1.2;overflow:hidden;display:flex;align-items:center;justify-content:center;border-bottom:4px solid var(--lime)}
.team-photo::before{content:'';position:absolute;width:70%;height:130%;border:1px solid #c5cebc;transform:rotate(35deg);pointer-events:none}.team-photo img{position:relative;width:100%;height:100%;object-fit:cover;aspect-ratio:1.2}.team-initials{font-size:clamp(75px,9vw,130px);font-weight:600;letter-spacing:-.08em;color:#b8c3ac;line-height:1}.team-photo-label{position:absolute;bottom:20px;left:23px;font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:#5e6c52}
.team-profile-content{padding:25px 0}.team-name{font-size:31px;line-height:1.3}.team-role{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#58731e;margin-top:8px!important}.team-bio{font-size:14px;color:var(--muted);line-height:1.85;margin-top:23px}.team-bio p+p{margin-top:16px}.team-section-heading{padding-top:85px}.team-section-heading h2{max-width:800px}
.leadership-section{background:var(--ink);color:white}.leadership-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:8%;align-items:center}.leadership-copy .eyebrow{color:var(--lime)}.leadership-copy .large-copy{font-size:19px;color:#e0e5dc;margin-top:28px}.leadership-copy>p:not(.eyebrow):not(.large-copy){font-size:14px;color:#bfc7b9;margin-top:24px}.leadership-layout .geocore-team-grid{margin:0;gap:22px}.leadership-layout .team-photo{aspect-ratio:.8;background:#394136;border-color:#a6cf36}.leadership-layout .team-photo::before{border-color:#515e47}.leadership-layout .team-initials{font-size:70px;color:#6b7a5d}.leadership-layout .team-photo-label{color:#c1ccb7;left:18px;bottom:17px;font-size:8px}.leadership-layout .team-name{font-size:23px}.leadership-layout .team-role{color:var(--lime);font-size:9px}.leadership-layout .team-bio{color:#c4cebc;font-size:12px}.leadership-layout .team-photo img{aspect-ratio:.8}
.management-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px}.management-placeholder{border-top:1px solid #b7c3ac;padding-top:27px}.management-placeholder h3{font-size:23px;line-height:1.35;max-width:250px}.management-placeholder>p:last-child{font-size:13px;line-height:1.85;color:var(--muted);margin-top:13px}.profile-pending{font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:700;color:#71815c;margin-top:20px}
@media(max-width:1000px){.service-jump-grid{grid-template-columns:1fr 1fr;gap:25px 40px}.capability-detail{gap:6%;padding:60px 0}.capability-photo img{height:280px}.leadership-layout{grid-template-columns:1fr;gap:42px}.leadership-copy{max-width:650px}.leadership-layout .geocore-team-grid{max-width:680px;width:100%}.leadership-layout .team-photo{aspect-ratio:1.2}.leadership-layout .team-photo img{aspect-ratio:1.2}.leadership-layout .team-initials{font-size:95px}.leadership-layout .team-name{font-size:26px}}
@media(max-width:680px){.capability-detail{grid-template-columns:1fr;gap:32px;padding:50px 0}.capability-copy h2{font-size:37px}.capability-copy .large-copy{font-size:16px}.capability-photo img{height:auto;aspect-ratio:1.5}.management-grid{grid-template-columns:1fr;gap:32px}.management-placeholder h3{max-width:none}.geocore-team-grid{gap:28px;grid-template-columns:1fr}.team-section-heading{padding-top:54px}.team-name{font-size:28px}.team-initials{font-size:110px}.team-photo{aspect-ratio:1.25}.leadership-layout .geocore-team-grid{grid-template-columns:1fr 1fr;gap:15px}.leadership-layout .team-photo{aspect-ratio:.85}.leadership-layout .team-photo img{aspect-ratio:.85}.leadership-layout .team-initials{font-size:60px}.leadership-layout .team-name{font-size:19px}.leadership-layout .team-photo-label{font-size:7px;left:10px;bottom:11px}.leadership-copy .large-copy{font-size:17px}.service-jump-grid{gap:22px 18px}.service-jump-grid a{font-size:11px;grid-template-columns:1fr 14px;gap:5px}.service-jump-grid a>span:first-child{display:none}}

/* Photography-led pages and native scrolling galleries. */
.hero-v3,.hero-v3 .hero-inner{min-height:730px}.hero-v3 .hero-inner{pointer-events:none;padding-bottom:42px}.hero-v3 .hero-copy a{pointer-events:auto}.hero-v3 .hero-copy{max-width:820px}.hero-v3 .hero-title{font-size:clamp(54px,6.5vw,98px)}.hero-v3 .hero-lead{max-width:600px}.hero-v3::after{background:linear-gradient(90deg,#172019e8 0%,#172019b3 40%,#1720191a 80%),linear-gradient(0deg,#17201999,transparent 35%)}
.hero-gallery{position:absolute;inset:0;display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;width:100%;height:100%;overscroll-behavior-x:contain}.hero-gallery::-webkit-scrollbar{display:none}.hero-slide{flex:0 0 100%;min-width:0;scroll-snap-align:start;height:100%;margin:0!important}.hero-slide img{width:100%;height:100%;object-fit:cover}.hero-v3 .photo-credit{margin-right:220px}.hero-v3>.gallery-controls{position:absolute;z-index:3;bottom:25px;right:var(--gutter);color:white}.gallery-controls{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:24px}.gallery-counter{font-size:11px;letter-spacing:.1em;min-width:60px;text-align:center}.gallery-button,.rail-button{width:44px;height:44px;display:grid;place-items:center;background:transparent;border:1px solid #8b9485;color:inherit;font-size:21px;line-height:1}.gallery-button:hover,.rail-button:hover{background:var(--lime);color:var(--ink);border-color:var(--lime)}.gallery-button:disabled,.rail-button:disabled{opacity:.3;cursor:default}.hero-v3 .gallery-button{border-color:#ffffff70;background:#17201940}.hero-v3 .gallery-button:hover{background:var(--lime)}
.v3-intro{padding-block:85px}.experience-section{background:#e7ece2}.experience-intro{max-width:280px;color:var(--muted);font-size:14px}.experience-gallery{position:relative;margin-top:45px!important}.experience-track{display:flex;gap:25px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#879969 #d4dccb;overscroll-behavior-x:contain;padding-bottom:12px}.experience-slide{flex:0 0 70%;min-width:0;scroll-snap-align:start;margin:0!important}.experience-slide img{width:100%;height:420px;object-fit:cover}.experience-slide figcaption{font-size:12px;color:#4a5740;padding-top:6px;line-height:1.6}.experience-provenance{font-size:11px;color:#617052;margin-top:20px;max-width:750px}.gallery-open{display:block;position:relative;border:0;padding:0;width:100%;background:var(--ink);cursor:zoom-in;color:white}.gallery-open::after{content:'↗';position:absolute;right:0;bottom:0;width:44px;height:44px;display:grid;place-items:center;background:var(--lime);color:var(--ink);font-size:24px}.gallery-open img{transition:filter .2s}.gallery-open:hover img{filter:brightness(1.06)}
.service-showcase{background:#f7f8f3}.service-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:38px 28px;margin-top:45px!important}.service-feature{min-width:0}.service-feature-photo{position:relative;overflow:hidden}.service-feature-photo img{width:100%;height:235px;object-fit:cover;transition:transform .5s}.service-feature:hover img{transform:scale(1.025)}.service-feature-copy{padding-top:22px}.service-feature-copy h3{font-size:25px;line-height:1.3}.service-feature-copy h3 a{display:flex;justify-content:space-between;gap:20px}.service-feature-copy h3 span{font-size:24px;color:#58731e}.service-feature-copy p{font-size:13px;color:var(--muted);line-height:1.8;margin-top:12px}.project-heading-links{display:grid;gap:16px;justify-items:end}.project-heading-links p{margin:0}.project-count{display:inline-flex;gap:10px;align-items:center;font-size:12px;font-weight:700;background:#e3ebd8;padding:8px 15px;color:#4a6035}.project-count::before{content:'';width:6px;height:6px;border-radius:50%;background:#708c39}.project-count.example-count{background:#f0ede2;color:#6d633f}.project-count.example-count::before{background:#a29461}.project-list-section .project-count{margin-bottom:30px}.project-rail{display:flex;gap:27px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;padding-bottom:16px;overscroll-behavior-x:contain}.project-rail>.project-card{flex:0 0 42%;min-width:0;scroll-snap-align:start}.project-rail .project-image{aspect-ratio:1.5}.project-rail-controls{display:flex;justify-content:flex-end;gap:12px;margin-top:23px}.project-rail-controls button{width:44px;height:44px;background:transparent;border:1px solid var(--line);font-size:22px;color:var(--ink)}.project-rail-controls button:disabled{opacity:.3;cursor:default}.project-rail-controls button:not(:disabled):hover{background:var(--lime);border-color:var(--lime)}
.service-directory-section{padding-top:55px}.service-directory{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 45px}.service-directory-item{display:grid;grid-template-columns:24px 1fr;gap:12px;padding:32px 0;border-bottom:1px solid var(--line);min-width:0}.service-directory-item[hidden]{display:none}.service-directory-copy h2{font-size:23px;line-height:1.3;letter-spacing:-.035em}.service-directory-copy h2 a{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.service-directory-copy h2 a:hover{color:#58731e}.service-directory-copy h2 span{font-size:23px;font-weight:400;color:#64784c}.service-directory-copy p{font-size:13px;line-height:1.8;color:var(--muted);margin-top:14px}.service-search{display:flex;justify-content:space-between;align-items:center;gap:24px;border-bottom:1px solid var(--line);padding-bottom:25px}.service-search label{font-size:11px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;display:flex;align-items:center;gap:24px}.service-search input{width:320px;background:#fff;border:1px solid #bec8b4;padding:13px 15px;font-size:14px;border-radius:0}.service-search-status{font-size:12px;color:#67765a}.service-landscape{height:460px;position:relative;overflow:hidden;background:var(--ink);color:white}.landscape-photo{position:absolute;inset:0;margin:0!important}.landscape-photo img{width:100%;height:100%;object-fit:cover}.landscape-photo figcaption{position:absolute;bottom:17px;right:22px;background:#172019d9;color:#fff;padding:5px 10px;font-size:10px;z-index:2}.service-landscape::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#172019bf,transparent)}.landscape-caption{position:relative;z-index:1;height:100%;display:flex;justify-content:center;flex-direction:column}.landscape-caption .eyebrow{color:var(--lime)}
.service-page-hero{position:relative;min-height:460px;color:white;background:var(--ink);overflow:hidden}.service-page-photo{position:absolute;inset:0;margin:0!important}.service-page-photo img{width:100%;height:100%;object-fit:cover}.service-page-hero::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#172019e6,#17201999 65%,#17201926)}.service-page-hero-copy{position:relative;z-index:1;padding-block:35px 60px}.breadcrumbs{font-size:11px;color:#dce3d5;margin-bottom:45px}.breadcrumbs a{border-bottom:1px solid #aebca1}.breadcrumbs span{margin:0 14px;color:#aebca1}.service-page-hero h1{font-size:clamp(45px,5.5vw,76px);max-width:950px}.service-page-hero .eyebrow{color:var(--lime);margin-bottom:20px}.service-page-hero .intro-lead{color:#dee5d7;font-size:18px;max-width:620px;margin-top:25px}.service-body-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:10%;align-items:start}.service-intro-heading{font-size:30px;line-height:1.4;letter-spacing:-.035em}.service-article>p:not(.eyebrow){font-size:15px;color:var(--muted);margin-top:25px;line-height:1.85}.service-article-photo{margin-top:35px!important}.service-article-photo img{width:100%;aspect-ratio:1.7;object-fit:cover}.service-scope-panel{background:#e7ece2;padding:36px}.service-scope-panel h2{font-size:31px;line-height:1.25}.service-scope-panel .scope-list{margin-block:27px}.service-enquiry-hint{margin-top:33px!important}.service-enquiry-hint h3{font-size:20px}.service-enquiry-hint p{font-size:13px;line-height:1.8;color:#65715a;margin-top:15px}.service-enquiry-hint .wp-block-buttons{margin-top:24px}.service-enquiry-hint .wp-block-button__link{font-size:11px;gap:18px;padding:14px 18px}.related-services{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;margin-top:40px!important}.related-services>div{border-top:1px solid #bcc8b1;padding-top:25px}.related-services h3{font-size:23px;line-height:1.35}.related-services a{display:flex;justify-content:space-between;gap:15px}.related-services p{font-size:13px;color:var(--muted);margin-top:16px}.team-photo .mike-portrait{object-position:left center;transform:scale(1.5);transform-origin:left center}.team-edit-link{font-size:11px;text-decoration:underline;display:inline-block;margin-top:15px}.main-nav .current-page-ancestor>a{color:var(--lime)}
.team-photo .mike-portrait{position:absolute;top:0;left:-10%;width:170%;max-width:none;height:auto;aspect-ratio:51/41;contain-intrinsic-size:1020px 820px;object-position:left top;transform:none}
@media(max-width:580px){.hero-slide:first-child img{object-position:82% center}.hero-v3::after{background:linear-gradient(90deg,rgba(15,25,17,.8),rgba(15,25,17,.55) 80%,rgba(15,25,17,.4))}}
.hero-v3>.gallery-controls{background:#172019ed;border:1px solid #ffffff45;padding:10px;gap:10px;bottom:20px;box-shadow:0 6px 22px #0003}.hero-v3 .gallery-button{width:52px;height:52px;background:var(--lime);border-color:var(--lime);color:#172019;font-size:29px;font-weight:600}.hero-v3 .gallery-button:hover{background:#d5ee7a;border-color:#d5ee7a}.hero-v3 .gallery-toggle{height:52px;min-width:74px;border:1px solid #ffffff85;background:transparent;color:white;font-family:inherit;font-size:12px;font-weight:600;line-height:1;padding:0 12px;cursor:pointer}.hero-v3 .gallery-toggle:hover{background:#ffffff18}.hero-v3 .photo-credit{margin-right:330px}.hero-v3 .gallery-counter{font-size:12px;min-width:62px}.hero-v3 .gallery-toggle:focus-visible,.hero-v3 .gallery-button:focus-visible{outline:3px solid white;outline-offset:3px}
.photo-dialog{border:0;padding:0;background:#172019;color:#fff;max-width:min(1200px,94vw);width:94vw;max-height:94vh;overflow:auto}.photo-dialog::backdrop{background:#0e1510eb}.photo-dialog-header{display:flex;justify-content:space-between;align-items:center;padding:15px 20px;font-size:11px}.photo-dialog-header button{width:38px;height:38px;background:transparent;color:#fff;border:1px solid #718267;font-size:25px}.photo-dialog img{max-height:72vh;width:100%;object-fit:contain}.photo-dialog-footer{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;gap:25px}.photo-dialog-footer p{font-size:13px;line-height:1.6}.photo-dialog-footer .gallery-controls{margin:0;flex-shrink:0}.photo-dialog-open{overflow:hidden}
@media(max-width:1100px){.service-directory{grid-template-columns:1fr 1fr;gap:0 35px}.service-feature-photo img{height:200px}.service-feature-copy h3{font-size:22px}.experience-slide{flex-basis:80%}.experience-slide img{height:380px}.service-body-grid{gap:6%}.service-scope-panel{padding:27px}.service-intro-heading{font-size:26px}}
@media(max-width:820px){.hero-v3,.hero-v3 .hero-inner{min-height:680px}.hero-v3 .hero-inner{padding-bottom:90px}.hero-v3>.gallery-controls{bottom:20px}.hero-v3 .photo-credit{margin-right:0}.service-feature-grid{grid-template-columns:1fr 1fr;gap:35px 22px}.service-body-grid{grid-template-columns:1fr;gap:40px}.service-scope-panel{max-width:600px}.service-page-hero{min-height:430px}.service-search label{display:block}.service-search input{display:block;margin-top:9px;width:280px}.project-rail>.project-card{flex-basis:62%}.related-services{gap:25px}.related-services h3{font-size:21px}}
@media(max-width:580px){.hero-v3,.hero-v3 .hero-inner{min-height:650px}.hero-v3 .hero-title{font-size:52px}.hero-v3 .hero-inner{padding-top:65px;padding-bottom:90px}.hero-v3 .hero-lead{font-size:14px}.hero-v3 .hero-bottom{padding-top:35px;gap:12px}.hero-v3>.gallery-controls{bottom:17px}.hero-v3 .gallery-button{width:39px;height:39px}.v3-intro{padding-block:60px}.experience-section .section-heading{gap:25px}.experience-intro{max-width:100%;font-size:13px}.experience-gallery{margin-top:30px!important}.experience-slide{flex-basis:91%}.experience-slide img{height:275px}.experience-track{gap:17px}.experience-slide figcaption{font-size:11px}.experience-provenance{font-size:10px}.service-feature-grid{grid-template-columns:1fr;gap:34px;margin-top:30px!important}.service-feature-photo img{height:auto;aspect-ratio:1.65}.service-feature-copy h3{font-size:25px}.service-feature-copy p{font-size:13px}.project-heading-links{justify-items:start}.project-rail>.project-card{flex-basis:90%}.project-rail{gap:20px}.service-directory{grid-template-columns:1fr}.service-directory-item{padding-block:25px}.service-directory-copy h2{font-size:24px}.service-search{align-items:flex-start;flex-direction:column;gap:13px}.service-search label,.service-search input{width:100%}.service-search-status{font-size:11px}.service-landscape{height:360px}.landscape-caption h2{font-size:36px}.landscape-photo figcaption{right:15px;left:15px;font-size:8px;max-width:fit-content}.service-page-hero h1{font-size:43px;overflow-wrap:anywhere}.service-page-hero .intro-lead{font-size:16px}.breadcrumbs{font-size:10px;margin-bottom:35px}.service-page-hero-copy{padding-block:25px 45px}.service-page-hero{min-height:410px}.service-intro-heading{font-size:26px}.service-scope-panel{padding:27px 23px}.service-scope-panel h2{font-size:29px}.related-services{grid-template-columns:1fr;gap:30px}.photo-dialog-footer{align-items:flex-start;flex-direction:column;gap:15px}.photo-dialog-footer .gallery-controls{align-self:flex-end}.photo-dialog img{max-height:65vh}.photo-dialog-footer p{font-size:12px}}
@media(max-width:820px){.hero-v3 .photo-credit{margin-right:0}.hero-v3>.gallery-controls{padding:8px}.hero-v3 .gallery-button{width:44px;height:44px}.hero-v3 .gallery-toggle{height:44px;min-width:66px}.hero-v3 .hero-inner{padding-bottom:108px}}
.service-page-hero .service-photo-credit{font-size:10px;line-height:1.6;color:#c8d2c0;margin-top:24px}.service-feature-grid+.photography-note{font-size:11px;color:var(--muted);margin-top:28px}
img[src*="stock-reinforced-concrete-slab.jpg"]{object-position:50% 25%}img[src*="stock-landscaped-paving.jpg"]{object-position:50% 20%}img[src*="stock-turf-laying.jpg"]{object-position:50% 62%}

/* Compact homepage slideshow controls. */
.hero-v3>.gallery-controls{gap:4px;padding:4px;background:#172019d9}
.hero-v3 .gallery-button,.hero-v3 .gallery-toggle{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;min-width:44px;padding:0;border:0;background:transparent;color:#fff;line-height:1}
.hero-v3 .gallery-button:hover,.hero-v3 .gallery-toggle:hover{background:#ffffff18;color:#b5dc45}
.hero-v3 .gallery-button svg,.hero-v3 .gallery-toggle svg{display:block;width:20px;height:20px;pointer-events:none}
.hero-v3 .gallery-counter{min-width:48px;font-size:11px;letter-spacing:.04em;text-align:center;font-variant-numeric:tabular-nums}
.hero-v3 .photo-credit{margin-right:230px}
@media(max-width:820px){.hero-v3 .photo-credit{margin-right:0}}

/* Shared subtle green monochrome for team portraits. */
.team-photo img { filter: grayscale(1) sepia(.22) hue-rotate(35deg) saturate(.7); }

