@import url('https://fonts.googleapis.com/css2?family=Archivo:wght@400;500;600;650;700;750;800;900&family=IBM+Plex+Mono:wght@400;500&display=swap');

.wordmark .brand-logo{width:174px;height:auto;aspect-ratio:874 / 365;object-fit:contain}
.footer-title .brand-logo{width:270px;height:auto;aspect-ratio:874 / 365;object-fit:contain}
.service-banner.transport-photo{width:min(100%,900px);height:auto;aspect-ratio:16 / 9;object-fit:cover;object-position:center 43%;margin:28px auto 0}
@media(max-width:650px){.wordmark .brand-logo{width:144px}.footer-title .brand-logo{width:240px}}

.work-slideshow{min-width:0}
.work-stage{position:relative;aspect-ratio:4 / 3;overflow:hidden;background:#d5dfd2;touch-action:pan-y}
.work-stage .work-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;user-select:none;-webkit-user-drag:none}
.work-slideshow .work-controls{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:10px;margin-top:12px;border-top:1px solid var(--olive)}
.work-arrow{width:48px;height:44px;display:grid;place-items:center;padding:0;border:0;background:transparent;color:var(--olive);font-size:24px}
.work-arrow:hover{color:var(--ink)}
.work-arrow svg{width:24px;height:24px}
.work-count{font-family:var(--mono);font-size:11px;font-variant-numeric:tabular-nums}
.work-error{margin-top:12px;font-size:12px;color:var(--ink)}
.work-error[hidden]{display:none}
.home-work .project-image{height:auto;aspect-ratio:4 / 3}
.home-work .project-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.home-work .project-tile:first-child .project-image img{object-fit:cover;object-position:center 28%}
.project-image.concrete-gallery{height:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.project-image.concrete-gallery img{width:100%;height:auto;aspect-ratio:3 / 4;object-fit:contain}
.project-image.weighbridge-gallery{height:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.project-item .project-image.weighbridge-gallery{height:auto;overflow:visible}
.project-image.weighbridge-gallery img{width:100%;height:auto;aspect-ratio:4 / 3;object-fit:cover}
.wide-photo.access-photo{height:auto;background:#d5dfd2}
.wide-photo.access-photo img{width:100%;height:min(80svh,760px,133.333vw);object-fit:contain}

.page-heading.services-hero{position:relative;isolation:isolate;min-height:560px;display:flex;align-items:end;overflow:hidden;background:#30372a;color:#fff}
.services-hero-image{position:absolute;z-index:-2;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 55%}
.services-hero::before{position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(16,27,17,.8),rgba(16,27,17,.25) 70%),linear-gradient(0deg,rgba(16,27,17,.45),transparent 65%);content:""}
.services-hero .breadcrumb,.services-hero .eyebrow,.services-hero .page-lede,.services-hero .heading-meta{color:#f1f4ea}
.services-hero .page-heading-row h1 em{color:#b8d7a3}
.services-hero .heading-meta{border-color:rgba(255,255,255,.45)}
@media(max-width:650px){.page-heading.services-hero{min-height:590px}.services-hero-image{object-position:60% center}.services-hero::before{background:linear-gradient(90deg,rgba(16,27,17,.7),rgba(16,27,17,.25)),linear-gradient(0deg,rgba(16,27,17,.55),transparent)}.services-hero .breadcrumb{margin-bottom:60px}}

:root{--ink:#222b21;--olive:#007340;--olive-dark:#007340;--lime:#b0d9c2;--paper:#f6f7f3;--white:#fff;--muted:#626f60;--line:#d7dfd2;--blue:#dce7e9;--mono:"IBM Plex Mono",monospace;font-family:"Archivo","Helvetica Neue",sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none;text-rendering:optimizeLegibility}

.button.button-lime{background:var(--olive);color:var(--white)}
.button.button-lime:hover{background:#005d34}
.capability-strip{background:var(--olive)!important;color:var(--white)}
.capability-strip .container>span:first-child{color:#e0eadb}
.capability-strip .strip-divider{background:#b8d7a3}
.page-heading.services-hero h1{color:var(--white)}
.page-heading.services-hero{background-color:var(--olive-dark)}
.site-footer.site-footer{background:var(--olive);color:#f2f8f4}
.site-footer .footer-label{color:#d4ecdf}
.site-footer .footer-bottom{border-color:rgba(255,255,255,.3)}
*{box-sizing:border-box;letter-spacing:0}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;min-width:320px}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}img{display:block;max-width:100%}button,a{-webkit-tap-highlight-color:transparent}h1,h2,h3,p,figure{margin:0}h1,h2,h3{text-wrap:balance}p{line-height:1.65}svg{width:20px;height:20px;flex-shrink:0}.container{width:min(1240px,calc(100% - 96px));margin-inline:auto}.section{padding-block:100px}.eyebrow{font-family:var(--mono);font-size:11px;font-weight:500;text-transform:uppercase;line-height:1.6;color:var(--olive);display:block;margin-bottom:22px}.eyebrow.light{color:#edf2e8}.lime{color:var(--lime)}.index{font-family:var(--mono);font-size:12px;color:var(--olive)}.skip-link{position:fixed;z-index:100;top:10px;left:10px;padding:12px;background:var(--lime);transform:translateY(-150%)}.skip-link:focus{transform:none}:focus-visible{outline:2px solid var(--olive);outline-offset:5px}.hero :focus-visible,.statement-band :focus-visible,.site-footer :focus-visible{outline-color:var(--lime)}
.header{position:sticky;top:0;z-index:40;background:rgba(246,247,243,.98);border-bottom:1px solid var(--line)}.header-inner{height:88px;width:min(1400px,calc(100% - 80px));margin:auto;display:flex;justify-content:space-between;align-items:center;gap:25px}.wordmark{display:flex;align-items:center;gap:12px;flex-shrink:0}.monogram{height:38px;width:43px;border-left:7px solid var(--olive);border-top:7px solid var(--olive);border-right:7px solid var(--olive);position:relative}.monogram:before{content:"";position:absolute;height:26px;width:7px;background:var(--olive);left:11px;top:-1px}.monogram:after{content:"";position:absolute;width:15px;height:7px;background:var(--lime);left:0;top:10px}.wordmark-name{font-size:20px;font-weight:800;line-height:1}.wordmark-name span{display:block;font-family:var(--mono);font-size:9px;font-weight:500;text-transform:uppercase;margin-top:6px}.navigation{display:flex;align-items:center;gap:27px}.navigation>a{font-size:12px;font-weight:500;position:relative;padding-block:10px}.navigation>a[aria-current=page]:after{content:"";height:3px;background:var(--olive);position:absolute;bottom:0;left:0;right:0}.navigation>a:hover{color:var(--olive)}.header-contact{display:flex;align-items:center;gap:12px;padding:13px 17px!important;border:1px solid var(--ink);color:var(--ink);white-space:nowrap}.header-contact:hover{background:var(--lime)}.header-contact[aria-current=page]:after{display:none}.header-contact svg{width:15px;height:15px}.menu-button{display:none;width:44px;height:44px;border:1px solid var(--line);background:none;color:var(--ink);align-items:center;justify-content:center}
.button{min-height:51px;display:inline-flex;align-items:center;justify-content:space-between;gap:30px;padding:15px 21px;font-size:13px;font-weight:600;border:0;transition:background .2s,color .2s}.button svg{width:18px;height:18px}.button-lime{background:var(--lime);color:var(--ink)}.button-lime:hover{background:#e4f7a6}.button-dark{background:var(--ink);color:var(--white)}.button-dark:hover{background:var(--olive)}.text-link{display:inline-flex;align-items:center;gap:18px;font-size:13px;font-weight:600;padding-bottom:10px;border-bottom:1px solid var(--ink)}.text-link:hover{color:var(--olive)}
.hero{position:relative;min-height:670px;height:calc(100svh - 145px);max-height:830px;isolation:isolate;color:white;overflow:hidden;background:var(--olive-dark)}.hero-image{position:absolute;z-index:-3;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 58%}.hero-shade{position:absolute;z-index:-2;inset:0;background:linear-gradient(0deg,rgba(18,25,15,.88),rgba(18,25,15,.1) 90%),linear-gradient(90deg,rgba(18,25,15,.37),transparent)}.hero-top{display:flex;justify-content:space-between;align-items:start;gap:20px;padding:34px 48px}.hero-coordinate{font-family:var(--mono);font-size:10px;color:#e2e8dc}.hero-content{position:absolute;bottom:115px;left:48px;right:48px;display:grid;grid-template-columns:1fr 320px;gap:40px;align-items:end;max-width:1400px;margin:auto}.hero-pretitle{font-size:17px;margin-bottom:22px;font-weight:500}.hero h1{font-size:100px;line-height:.98;font-weight:650}.hero h1>span{display:block}.hero-summary{padding-bottom:6px}.hero-summary p{font-size:15px;line-height:1.7;color:#e2e7de;margin-bottom:26px;max-width:320px}.hero-bottom{position:absolute;bottom:36px;left:48px;right:48px;padding-top:18px;border-top:1px solid rgba(255,255,255,.3);display:flex;justify-content:space-between;align-items:center;font-family:var(--mono);font-size:10px}.hero-bottom a{display:flex;align-items:center;gap:20px}.hero-bottom svg{width:15px;height:15px}.image-disclosure{position:absolute;top:90px;right:48px;font-family:var(--mono);font-size:9px;color:#eef1e7}.capability-strip{padding:23px 0;background:var(--lime)}.capability-strip>.container{display:flex;align-items:center;justify-content:space-between;gap:20px}.capability-strip span:first-child{font-size:11px;color:var(--olive-dark)}.capability-strip strong{font-size:12px;font-weight:600}.strip-divider{width:4px;height:4px;background:var(--olive);border-radius:50%}
.section-heading{display:flex;justify-content:space-between;gap:60px;align-items:end;margin-bottom:45px}.section-heading h2{font-size:46px;line-height:1.12;font-weight:600;max-width:650px}.heading-aside{max-width:300px;flex-shrink:0}.heading-aside p{font-size:14px;color:var(--muted);margin-bottom:24px}.service-overview{border-top:1px solid var(--ink)}.service-row{padding:28px 0;display:grid;grid-template-columns:70px 1fr 28px;align-items:center;gap:20px;border-bottom:1px solid var(--line)}.service-row h3{font-size:25px;font-weight:500;line-height:1.2;margin-bottom:10px}.service-row p{font-size:13px;color:var(--muted)}.service-row>svg{width:26px;height:26px;transition:transform .2s}.service-row:hover>svg{transform:translate(4px,-4px)}.service-row:hover h3{color:var(--olive)}.approach-feature{padding:85px 0;background:#e5e9db}.feature-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:75px;align-items:center}.feature-copy h2{font-size:58px;line-height:1.07;font-weight:600;margin-bottom:24px}.feature-copy>p:not(.eyebrow){max-width:390px;font-size:14px;color:#58604e;margin-bottom:30px}.feature-image{position:relative;min-width:0}.feature-image img{width:100%;height:520px;object-fit:cover}.feature-image figcaption{font-family:var(--mono);font-size:10px;border-top:1px solid var(--olive);padding-top:13px;margin-top:13px;display:flex;justify-content:space-between}.home-project-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.project-image{position:relative;height:350px;background:#d9dfd0;overflow:hidden}.project-image img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.project-tile:hover img{transform:scale(1.035)}.image-tag{position:absolute;left:18px;bottom:18px;padding:8px 10px;background:var(--paper);font-family:var(--mono);font-size:9px;text-transform:uppercase}.project-caption{padding:22px 0;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px}.project-caption h3{font-size:21px;font-weight:500}.image-note{font-size:11px;color:var(--muted);margin-top:23px}.statement-band{padding:75px 0;background:var(--olive-dark);color:var(--white)}.statement-band>.container{position:relative}.statement-band .eyebrow{color:var(--lime)}.statement-band h2{max-width:820px;font-size:51px;line-height:1.1;font-weight:500;margin-bottom:30px}.site-footer{background:#20261c;color:#c5cbbd;padding:60px 0 20px}.footer-grid{display:grid;grid-template-columns:1.3fr 1fr .8fr;gap:60px;padding-bottom:55px}.footer-title{font-size:33px;font-weight:600;color:var(--white);line-height:1.1}.footer-title span{display:block;font-size:16px;font-weight:400;color:var(--lime);margin-top:8px}.footer-summary{max-width:320px;font-size:12px;margin-top:25px}.footer-label{font-family:var(--mono);font-size:10px;text-transform:uppercase;color:#8e9a83;margin-bottom:22px}.footer-links{display:grid;grid-template-columns:1fr 1fr;gap:16px}.footer-links a{font-size:12px}.footer-links a:hover{color:var(--lime)}.footer-project p{font-size:13px;margin-bottom:20px}.footer-bottom{border-top:1px solid #3e4834;padding-top:20px;display:flex;align-items:center;justify-content:space-between;gap:20px;font-family:var(--mono);font-size:9px}.footer-bottom a{text-decoration:underline;text-underline-offset:3px}
.page-heading{padding:65px 0 70px;background:#e9eddf;border-bottom:1px solid var(--line)}.breadcrumb{display:flex;gap:12px;font-family:var(--mono);font-size:10px;color:var(--muted);margin-bottom:52px}.breadcrumb a:hover{text-decoration:underline}.page-heading h1{font-size:76px;line-height:1.02;font-weight:600;max-width:950px}.page-heading h1 em{font-style:normal;color:var(--olive)}.page-lede{max-width:570px;margin-top:24px;font-size:16px;color:#59624e}.page-heading-row{display:grid;grid-template-columns:1fr 290px;gap:50px;align-items:end}.heading-meta{font-size:12px;color:var(--muted);border-top:1px solid #aeb89d;padding-top:18px;line-height:1.7}.intro-grid{display:grid;grid-template-columns:.65fr 1.35fr;gap:70px}.intro-grid h2{font-size:39px;line-height:1.16;font-weight:500}.intro-grid>p{font-size:17px;color:var(--muted);max-width:640px}.service-group{padding:55px 0;border-top:1px solid var(--ink)}.service-group-heading{display:flex;justify-content:space-between;align-items:start;gap:30px;margin-bottom:30px}.service-group-heading h2{font-size:34px;font-weight:500;line-height:1.2}.service-group-heading>.index{padding-top:8px}.service-detail{border-top:1px solid var(--line)}.service-detail:last-child{border-bottom:1px solid var(--line)}.service-detail summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 0;font-size:19px;font-weight:500}.service-detail summary::-webkit-details-marker{display:none}.service-detail summary:after{content:"+";font-family:var(--mono);font-size:23px;color:var(--olive)}.service-detail[open] summary:after{content:"-"}.service-detail-body{max-width:740px;padding:0 0 27px;font-size:14px;color:var(--muted)}.service-detail-body p{margin-bottom:16px}.scope-list{padding:0;margin:0;list-style:none;display:flex;flex-wrap:wrap;gap:8px}.scope-list li{padding:7px 10px;border:1px solid var(--line);font-family:var(--mono);font-size:10px}.service-detail-body a{margin-top:20px}.service-banner{height:360px;width:100%;object-fit:cover;margin-top:15px}.scope-note{padding:22px 26px;border-left:3px solid var(--olive);background:#e9eddf;font-size:12px;line-height:1.7;color:#59624e}.filter-bar{display:flex;flex-wrap:wrap;gap:8px;padding-bottom:30px;border-bottom:1px solid var(--line);margin-bottom:35px}.filter-button{padding:11px 16px;border:1px solid var(--line);background:transparent;font-size:12px;color:var(--muted)}.filter-button[aria-pressed=true]{background:var(--ink);color:white;border-color:var(--ink)}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:45px 28px}.project-item[hidden]{display:none}.project-item .project-image{height:320px}.project-item h2{font-size:25px;font-weight:500}.project-item p{font-size:13px;color:var(--muted);margin-top:14px}.project-item .text-link{margin-top:20px}.project-status{font-family:var(--mono);font-size:10px;color:var(--olive);margin-bottom:22px}.process-step{display:grid;grid-template-columns:100px 1fr 1fr;gap:35px;align-items:start;padding:40px 0;border-top:1px solid var(--line)}.process-step:last-child{border-bottom:1px solid var(--line)}.process-step .step-number{font-size:45px;color:var(--olive);font-weight:500}.process-step h2{font-size:30px;font-weight:500;line-height:1.15}.process-step p{font-size:14px;color:var(--muted)}.principle-band{background:var(--olive);color:white;padding:80px 0}.principle-band .eyebrow{color:var(--lime)}.principle-band h2{font-size:45px;max-width:850px;font-weight:500;line-height:1.15}.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:50px}.principles>div{border-top:1px solid #879174;padding-top:22px}.principles h3{font-size:20px;font-weight:500;margin-bottom:12px}.principles p{font-size:13px;color:#e0e5d8}.about-editorial{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.about-editorial img{width:100%;height:530px;object-fit:cover}.about-editorial h2{font-size:44px;font-weight:500;line-height:1.15;margin-bottom:25px}.about-editorial p{color:var(--muted);font-size:14px;margin-bottom:20px}.values-list{border-top:1px solid var(--line);margin-top:35px}.value-row{padding:22px 0;border-bottom:1px solid var(--line)}.value-row h3{font-size:20px;font-weight:500;margin-bottom:8px}.value-row p{font-size:13px;color:var(--muted);margin:0}.contact-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:100px;align-items:start}.contact-intro h2{font-size:37px;font-weight:500;line-height:1.1;margin-bottom:25px}.contact-intro p{font-size:14px;color:var(--muted)}.contact-checklist{padding:0;margin:30px 0;list-style:none}.contact-checklist li{display:flex;gap:12px;font-size:13px;padding:12px 0;border-bottom:1px solid var(--line);align-items:center}.contact-checklist svg{color:var(--olive);width:15px;height:15px}.contact-note{font-family:var(--mono);font-size:10px!important;color:#818874!important;margin-top:25px}.enquiry-form{min-width:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px 20px}.field{min-width:0}.field.full{grid-column:1/-1}.field label{display:block;font-size:12px;font-weight:500;margin-bottom:10px}.field label span{color:var(--muted);font-weight:400}.field input,.field select,.field textarea{width:100%;padding:13px 14px;border:1px solid #c8cebf;background:white;border-radius:0;color:var(--ink);font-size:14px;min-height:48px}.field textarea{min-height:145px;resize:vertical}.consent{display:flex;gap:10px;align-items:start;font-size:11px;color:var(--muted);line-height:1.7}.consent input{margin-top:4px;width:16px;height:16px;accent-color:var(--olive);flex-shrink:0}.form-footer{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-top:28px}.form-footer>span{font-family:var(--mono);font-size:9px;color:var(--muted)}.form-status{font-size:13px;line-height:1.65;margin-top:20px;padding:18px;border-left:3px solid var(--olive);background:#e9eddf}.form-status[hidden]{display:none}.contact-faq{margin-top:90px;padding-top:50px;border-top:1px solid var(--ink)}.contact-faq h2{font-size:30px;font-weight:500;margin-bottom:30px}.contact-faq details{border-top:1px solid var(--line)}.contact-faq summary{padding:20px 0;cursor:pointer;font-size:14px}.contact-faq details p{padding:0 0 20px;font-size:13px;color:var(--muted);max-width:680px}.wide-photo{position:relative;height:420px;background:var(--olive)}.wide-photo img{height:100%;width:100%;object-fit:cover}.wide-photo .image-disclosure{top:auto;bottom:20px}
@media(min-width:1600px){.hero-content{left:calc((100% - 1400px)/2);right:calc((100% - 1400px)/2)}.hero h1{font-size:116px}}
@media(max-width:1150px){.navigation{gap:16px}.header-inner{width:calc(100% - 48px)}.hero h1{font-size:80px}.hero-content{grid-template-columns:1fr 280px;gap:24px}.container{width:calc(100% - 64px)}.feature-layout{gap:45px}.contact-layout{gap:60px}.page-heading h1{font-size:65px}.page-heading-row{grid-template-columns:1fr 230px}}
@media(max-width:940px){.menu-button{display:flex}.header-inner{height:76px}.navigation{position:absolute;left:0;right:0;top:100%;padding:18px 24px 25px;background:var(--paper);border-bottom:1px solid var(--line);display:none;align-items:stretch;flex-direction:column;gap:0}.navigation.is-open{display:flex}.navigation>a{padding:14px 0;border-bottom:1px solid var(--line)}.navigation>a[aria-current=page]:after{width:20px;right:auto}.navigation .header-contact{margin-top:16px;justify-content:space-between;padding:15px!important;border-color:var(--ink)}.hero-content{grid-template-columns:1fr}.hero h1{font-size:78px}.hero-summary{display:flex;align-items:center;justify-content:space-between;gap:25px}.hero-summary p{margin:0;max-width:350px}.hero-top{padding:28px 32px}.hero-coordinate{display:none}.hero-content{left:32px;right:32px;bottom:110px;gap:28px}.hero-bottom{left:32px;right:32px}.hero{min-height:740px}.image-disclosure{right:32px}.capability-strip span:first-child{display:none}.feature-copy h2{font-size:45px}.feature-image img{height:460px}.section-heading h2{font-size:38px}.heading-aside{max-width:260px}.page-heading-row{grid-template-columns:1fr}.heading-meta{max-width:500px}.intro-grid{grid-template-columns:1fr 1.3fr;gap:40px}.about-editorial{gap:45px}.contact-layout{grid-template-columns:1fr 1.4fr;gap:40px}.process-step{grid-template-columns:60px 1fr 1.2fr;gap:25px}.footer-grid{gap:30px}}
@media(max-width:650px){html{scroll-padding-top:88px}.container,.header-inner{width:calc(100% - 40px)}.section{padding-block:65px}.header-inner{height:72px}.wordmark-name{font-size:18px}.wordmark-name span{font-size:8px}.monogram{height:33px;width:38px;border-width:6px}.monogram:before{width:6px;left:10px;height:23px}.monogram:after{height:6px;width:13px;top:9px}.wordmark{gap:9px}.hero{height:auto;min-height:720px;max-height:none}.hero-top{padding:26px 20px}.hero .eyebrow{font-size:9px}.hero-content{left:20px;right:20px;bottom:120px;gap:30px}.hero-pretitle{font-size:13px;margin-bottom:18px}.hero h1{font-size:54px;line-height:1.04}.hero-summary{display:block}.hero-summary p{font-size:13px;max-width:300px;margin-bottom:22px}.hero-summary .button{min-height:48px}.hero-bottom{left:20px;right:20px;bottom:38px;font-size:9px;align-items:start;gap:20px}.hero-bottom>span{max-width:100px;line-height:1.6}.hero-bottom a{gap:12px;line-height:1.6}.hero-image{object-position:55% center}.image-disclosure{right:20px;top:66px;font-size:8px}.capability-strip{padding:18px 0}.capability-strip>.container{display:grid;grid-template-columns:1fr 1fr;gap:14px 20px}.capability-strip strong{font-size:10px}.capability-strip .strip-divider{display:none}.section-heading{display:block;margin-bottom:32px}.section-heading h2{font-size:35px;line-height:1.12}.eyebrow{font-size:10px;margin-bottom:17px}.heading-aside{max-width:100%;margin-top:24px}.heading-aside p{max-width:360px;font-size:13px;margin-bottom:18px}.text-link{font-size:12px}.service-row{grid-template-columns:30px 1fr 20px;gap:12px;padding:25px 0}.service-row h3{font-size:19px;line-height:1.3}.service-row p{font-size:12px}.service-row>svg{width:20px;height:20px}.index{font-size:10px}.approach-feature{padding:60px 0}.feature-layout{grid-template-columns:1fr;gap:35px}.feature-copy h2{font-size:43px}.feature-copy>p:not(.eyebrow){font-size:13px}.feature-image img{height:340px}.feature-image figcaption{font-size:9px}.home-project-grid{grid-template-columns:1fr;gap:30px}.project-image{height:280px}.project-caption h3{font-size:19px}.image-note{font-size:10px;line-height:1.7}.statement-band{padding:60px 0}.statement-band h2{font-size:35px;line-height:1.15}.site-footer{padding-top:45px}.footer-grid{grid-template-columns:1fr;gap:38px;padding-bottom:40px}.footer-title{font-size:30px}.footer-summary{margin-top:20px}.footer-label{margin-bottom:17px}.footer-bottom{align-items:start;flex-direction:column;gap:14px;font-size:8px}.page-heading{padding:35px 0 45px}.breadcrumb{margin-bottom:38px;font-size:9px}.page-heading h1{font-size:48px;line-height:1.08}.page-lede{font-size:14px;margin-top:22px}.page-heading-row{gap:25px}.heading-meta{font-size:11px}.intro-grid{grid-template-columns:1fr;gap:24px}.intro-grid h2{font-size:31px}.intro-grid>p{font-size:14px}.service-group{padding:35px 0}.service-group-heading{gap:20px}.service-group-heading h2{font-size:27px}.service-detail summary{font-size:17px;line-height:1.4}.service-detail-body{font-size:13px}.service-banner{height:230px}.scope-note{font-size:11px;padding:19px}.filter-bar{gap:7px;padding-bottom:25px}.filter-button{font-size:11px;padding:10px 12px}.project-grid{grid-template-columns:1fr;gap:40px}.project-item .project-image{height:260px}.project-item h2{font-size:23px}.project-item p{font-size:13px}.process-step{grid-template-columns:45px 1fr;gap:15px;padding:27px 0}.process-step .step-number{font-size:30px}.process-step h2{font-size:25px}.process-step p{grid-column:2;font-size:13px}.principle-band{padding:60px 0}.principle-band h2{font-size:32px}.principles{grid-template-columns:1fr;gap:28px;margin-top:35px}.about-editorial{grid-template-columns:1fr;gap:35px}.about-editorial img{height:360px}.about-editorial h2{font-size:33px}.contact-layout{grid-template-columns:1fr;gap:40px}.contact-intro h2{font-size:32px}.contact-checklist{margin:22px 0}.form-grid{grid-template-columns:1fr;gap:21px}.field.full{grid-column:auto}.form-footer{align-items:start;flex-direction:column;gap:18px}.form-footer .button{width:100%}.contact-faq{margin-top:60px;padding-top:35px}.contact-faq h2{font-size:27px}.wide-photo{height:280px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

.hero.hero-client{height:auto;aspect-ratio:4 / 3;min-height:0;max-height:none;background:var(--olive-dark)}
.hero-client .hero-image{object-fit:contain;object-position:center}
.hero-client .hero-shade{background:linear-gradient(90deg,rgba(14,35,18,.65),rgba(14,35,18,.16) 45%,transparent 70%)}
.hero-client .hero-content{right:auto;width:min(52%,700px);grid-template-columns:1fr;gap:24px;bottom:105px}
.hero-client-title{position:absolute;top:112px;left:48px;width:min(52%,700px);text-shadow:0 2px 14px rgba(0,0,0,.35)}
.hero-client h1{font-size:80px}
.hero-client .hero-summary{display:block}
.hero-client .hero-summary p{max-width:370px;margin-bottom:22px;font-size:14px}
.hero-client .hero-coordinate{color:#fff;text-shadow:0 1px 5px #193d20}
@media(max-width:940px) and (min-width:651px){.hero-client .hero-content{width:55%}.hero-client h1{font-size:64px}.hero-client .hero-coordinate{display:none}}
@media(max-width:650px){
	.hero.hero-client{height:auto;aspect-ratio:auto;min-height:0;max-height:none}
	.hero-client .hero-image{position:relative;inset:auto;width:100%;height:auto;object-fit:contain;object-position:center}
	.hero-client .hero-shade{display:none}
	.hero-client .hero-top{padding:24px 20px 0}
	.hero-client .hero-top .eyebrow{margin-bottom:0}
	.hero-client .hero-content{position:relative;inset:auto;width:auto;padding:22px 20px 30px;gap:20px}
	.hero-client-title{top:22px;left:20px;width:65%;text-shadow:0 1px 8px rgba(0,0,0,.8)}
	.hero-client-title .hero-pretitle{display:none}
	.hero-client h1{font-size:30px;line-height:1.05}
	.hero-client .hero-pretitle{margin-bottom:15px}
	.hero-client .hero-summary p{max-width:360px;font-size:13px}
	.hero-client .hero-bottom{position:relative;inset:auto;margin:0 20px;padding:18px 0 24px}
}