@charset "UTF-8";
:root{--green:#0f382e;--sand:#f2ede6;--charcoal:#111;--taupe:#a79f95;--stone:#d9d1c4;--muted:#62645d;--line:#d4cdc1;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--sand);color:var(--green);font:16px/1.6 var(--sans);-webkit-font-smoothing:antialiased}body.menu-open,body.lightbox-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--green);outline-offset:5px}img{max-width:100%;display:block}h1,h2,h3,p{margin:0}h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:-.045em;line-height:1.08}h1{font-size:clamp(46px,5.8vw,88px)}h2{font-size:clamp(35px,4.1vw,60px)}h3{font-family:var(--serif);font-size:30px;font-weight:400;letter-spacing:-.025em;line-height:1.22}p{color:var(--muted)}em{font-weight:400}.shell{width:min(1280px,calc(100% - 112px));margin-inline:auto}.eyebrow{text-transform:uppercase;font-size:10px;font-weight:500;letter-spacing:.17em;line-height:1.5;color:var(--green)}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:45px;border-bottom:1px solid var(--green);padding:9px 0;font-size:13px}.text-link span{font-size:20px;line-height:1}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:40px;background:var(--green);border:1px solid var(--green);color:var(--sand);font-size:12px;letter-spacing:.02em;padding:16px 22px;min-height:54px;transition:background .2s,color .2s}.button:hover{background:#204c3e}.button span{font-size:21px}.button-light{background:transparent;color:var(--sand);border-color:#ffffff69}.button-light:hover{background:var(--sand);color:var(--green)}.skip-link{position:fixed;top:-70px;left:20px;background:var(--sand);padding:10px 20px;z-index:1000}.skip-link:focus{top:10px}
.site-header{position:sticky;top:0;z-index:50;background:var(--sand);border-bottom:1px solid var(--line)}.header-inner{max-width:1600px;margin:auto;min-height:105px;padding:18px 56px;display:flex;align-items:center;justify-content:space-between;gap:35px}.brand{width:228px;flex-shrink:0}.brand img{width:100%;height:auto;mix-blend-mode:normal}#main-nav{display:flex;align-items:center;gap:32px}#main-nav>a{font-size:12px;position:relative}#main-nav>a:not(.nav-cta):after{content:'';position:absolute;bottom:-6px;left:0;height:1px;width:0;background:var(--green);transition:width .2s}#main-nav>a:hover:after,#main-nav>a[aria-current]:after{width:100%}.nav-cta{border:1px solid var(--green);padding:12px 19px;display:flex;align-items:center;gap:25px}.nav-cta span{font-size:19px}.menu-toggle{display:none}
.hero{display:grid;grid-template-columns:43% 57%;min-height:650px;max-width:1800px;margin:auto;background:var(--green);color:var(--sand)}.hero-copy{padding:72px 30px 40px max(56px,calc((100vw - 1280px)/2));display:flex;align-items:flex-start;flex-direction:column;justify-content:center}.hero-copy .eyebrow{color:var(--stone);font-size:9px;margin-bottom:38px}.hero h1{font-size:clamp(51px,5.1vw,78px);letter-spacing:-.05em}.hero-copy>p:not(.eyebrow){color:#d4dcd4;font-size:14px;line-height:1.75;margin:28px 0 34px}.hero-note{font-size:8px;letter-spacing:.13em;color:#cad0c4;margin-top:70px}.hero-visual{position:relative;min-width:0;overflow:hidden}.hero-visual>img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:50% 48%}.hero-caption{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#0009);padding:55px 28px 25px;display:flex;justify-content:space-between;gap:15px;color:#fff;font-size:11px}.hero-caption>span:last-child{display:flex;gap:22px}.hero-caption span span{font-size:17px}
.intro-section{padding-block:108px;display:grid;grid-template-columns:1fr 2fr;gap:65px}.intro-section>.eyebrow{padding-top:13px}.intro-section h2{margin-bottom:27px}.intro-section>div>p{max-width:625px;font-size:15px;margin-bottom:21px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:60px;margin-bottom:46px}.section-heading .eyebrow{margin-bottom:20px}.section-aside{max-width:300px;font-size:13px;line-height:1.7}.section-aside .text-link{margin-top:14px}.projects-section{padding-bottom:108px}.project-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:38px;row-gap:47px}.project-card:nth-child(even){padding-top:75px}.project-image{position:relative;display:block;aspect-ratio:1.55;overflow:hidden;background:var(--stone)}.project-image>img{width:100%;height:100%;object-fit:contain;transition:transform .7s}.project-image:hover>img{transform:scale(1.015)}.view-project{position:absolute;bottom:13px;right:13px;color:var(--sand);background:var(--green);font-size:11px;display:flex;gap:25px;align-items:center;padding:8px 12px;opacity:0;transform:translateY(6px);transition:.25s}.project-image:hover .view-project,.project-image:focus-visible .view-project{opacity:1;transform:none}.project-card-meta{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:17px;margin-bottom:9px}.project-card-meta .eyebrow{font-size:9px;letter-spacing:.09em}.project-card-meta .eyebrow span{margin:0 7px}.project-number{font-size:9px;color:var(--muted)}.project-card h3{font-size:27px}.capabilities-section{padding:100px 0;background:#e9e2d8}.service-row{display:grid;grid-template-columns:50px 1fr 1fr;gap:30px;padding:26px 0;border-top:1px solid #bcb7ac;align-items:start}.service-row:last-child{border-bottom:1px solid #bcb7ac}.service-row .eyebrow{padding-top:5px}.service-row h3{font-size:25px}.service-row>p{font-size:13px;max-width:410px}.approach-preview{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:95px;padding-block:110px}.approach-image img{width:100%;height:400px;object-fit:cover}.approach-preview .eyebrow{margin-bottom:24px}.approach-preview h2{font-size:clamp(33px,3.5vw,51px);margin-bottom:27px}.approach-preview p:not(.eyebrow){font-size:14px;margin-bottom:19px}.cta-section{background:var(--green);color:var(--sand);padding:86px 0;border-bottom:1px solid #ffffff29}.cta-inner{display:flex;justify-content:space-between;align-items:center;gap:45px}.cta-inner .eyebrow{color:var(--stone);margin-bottom:22px}.cta-inner h2{font-size:clamp(39px,4.7vw,66px)}.site-footer{background:var(--green);color:var(--sand);padding:50px 0 25px}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:35px;padding-bottom:42px}.footer-brand{width:205px;flex-shrink:0}.footer-brand img{width:100%;height:auto}.footer-top>p{font-size:11px;color:#c8d0c5;line-height:1.8}.footer-top>a:last-child{font-size:13px}.footer-bottom{display:flex;justify-content:space-between;gap:30px;border-top:1px solid #ffffff26;padding-top:22px;font-size:10px;color:#c4cec4}.footer-bottom>div{display:flex;gap:30px}
.page-intro{padding-block:74px 62px}.page-intro .eyebrow{margin-bottom:24px}.intro-copy{font-size:16px;max-width:630px;margin-top:28px}.split-editorial{display:grid;grid-template-columns:1.1fr 1fr;gap:80px;align-items:center;padding-bottom:100px}.split-editorial img{width:100%;height:480px;object-fit:cover}.split-editorial .eyebrow{margin-bottom:22px}.split-editorial h2{font-size:43px;margin-bottom:24px}.split-editorial p:not(.eyebrow){font-size:14px;margin-bottom:19px}.team-section{padding-block:20px 105px}.team-row{display:grid;grid-template-columns:1fr 1.5fr;gap:75px;border-top:1px solid var(--line);padding:34px 0}.team-row h3{margin-bottom:12px;font-size:34px}.team-row .eyebrow{color:#746e65}.team-row>p{font-size:15px}.capabilities-full{padding-bottom:100px}.capabilities-full .service-row{padding:34px 0;grid-template-columns:70px 1fr 1.2fr}.capabilities-full .service-row h3{font-size:30px}.capabilities-full .service-row>p{font-size:15px;max-width:100%}.delivery-section{padding:85px 0;background:var(--green);color:var(--sand)}.delivery-section .eyebrow{color:var(--stone)}.delivery-section h2{margin-top:23px}.delivery-grid{margin-top:50px;display:grid;grid-template-columns:repeat(4,1fr);gap:40px}.delivery-grid article{border-top:1px solid #fff5;padding-top:20px}.delivery-grid h3{margin:17px 0;font-size:32px}.delivery-grid article>p{font-size:14px;color:#d1d7cd}.download-section{padding-block:100px;display:flex;justify-content:space-between;align-items:center;gap:60px}.download-section h2{margin:19px 0}.download-section p{max-width:620px;font-size:14px}.download-buttons{display:flex;align-items:flex-start;flex-direction:column;gap:15px;min-width:225px}.all-projects{padding-bottom:100px}.filter-bar{display:flex;align-items:center;gap:27px;margin-bottom:42px;border-block:1px solid var(--line);padding:18px 0}.filter-button{border:0;padding:8px 0;min-height:42px;background:transparent;color:var(--muted);font-size:12px;border-bottom:1px solid transparent}.filter-button.active{color:var(--green);border-color:var(--green)}.project-count{margin-left:auto;font-size:11px;color:var(--muted)}.project-card[hidden]{display:none}.all-projects .project-card:nth-child(even){padding-top:0}.all-projects .project-grid{row-gap:60px}.project-heading{padding-top:48px;padding-bottom:40px}.back-link{font-size:11px;display:inline-block;margin-bottom:55px}.project-heading>.eyebrow{margin-bottom:20px}.project-heading h1{font-size:clamp(43px,5vw,74px);max-width:1050px}.project-story{display:grid;grid-template-columns:1.3fr .65fr;gap:130px;padding-block:18px 64px}.project-story h2{font-size:37px;line-height:1.18;letter-spacing:-.025em;margin-bottom:24px}.project-story>div>p{font-size:15px}.project-story aside{padding:8px 0 0;border-top:1px solid var(--line)}.project-story aside>.eyebrow{margin:15px 0 22px}dl{margin:0}.project-story dt{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-top:16px}.project-story dd{font-size:13px;margin:4px 0 0}.project-credit{font-size:10px;margin-top:24px}.project-gallery{display:grid;grid-template-columns:1fr 1fr;gap:40px;padding-bottom:60px}.gallery-item{margin:0;min-width:0}.gallery-item:first-child{grid-column:1/-1}.gallery-open{border:0;background:var(--stone);display:block;position:relative;width:100%;padding:0;min-height:200px}.gallery-open img{width:100%;height:auto;max-height:680px;object-fit:contain}.gallery-item:first-child img{max-height:700px}.enlarge-label{position:absolute;bottom:14px;right:14px;background:var(--sand);padding:6px 13px;font-size:11px}.gallery-item figcaption{font-size:11px;margin-top:12px;color:var(--muted)}.next-project{padding-block:50px 90px;border-top:1px solid var(--line)}.next-project>a{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-top:20px}.next-project h2{font-size:45px}.next-project>a>span{font-size:40px}.contact-layout{display:grid;grid-template-columns:.85fr 1.35fr;gap:80px;padding-bottom:105px}.contact-details{padding-top:8px}.contact-email{display:block;font-size:19px;margin-top:15px;overflow-wrap:anywhere}.contact-note{margin-block:44px}.contact-note p:not(.eyebrow){font-size:14px;margin-top:15px;max-width:290px}.contact-people{margin-top:25px}.contact-people dt{margin-top:19px;font-family:var(--serif);font-size:24px}.contact-people dd{font-size:11px;margin:4px 0;color:var(--muted)}.enquiry-panel{padding:35px;background:#e8e0d5}.enquiry-panel h2{font-size:35px}.form-explainer{font-size:13px;margin:17px 0 27px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}label{display:block;font-size:11px;letter-spacing:.02em;color:var(--green);margin-bottom:22px}input,select,textarea{display:block;width:100%;border:1px solid #a9a393;background:var(--sand);color:var(--charcoal);border-radius:0;padding:12px 13px;font-size:14px;margin-top:8px;min-width:0}input,select{height:48px}textarea{resize:vertical;min-height:145px}input::placeholder,textarea::placeholder{color:#79796e;font-size:12px}.form-privacy{font-size:10px;margin-bottom:22px}.form-privacy a{text-decoration:underline}.enquiry-result{margin-top:25px;border-top:1px solid #b1a898;padding-top:20px}.enquiry-result>p{font-size:13px;margin-bottom:10px}.enquiry-result .text-link{font-size:13px;margin-right:25px}.copy-button{border:0;background:transparent;text-decoration:underline;font-size:12px;color:var(--green);padding:12px 0}.reading-width{max-width:760px;margin-left:max(56px,calc((100vw - 1280px)/2))}.privacy-content{padding-bottom:100px}.privacy-content h2{font-size:30px;margin:36px 0 17px}.privacy-content p{font-size:15px}.privacy-content a{text-decoration:underline;overflow-wrap:anywhere}.error-actions{padding-bottom:100px}
dialog{border:0;padding:0;background:#13211a;color:var(--sand);width:95vw;max-width:1450px;height:92dvh;max-height:none}dialog::backdrop{background:#000d}.lightbox-close{position:absolute;right:15px;top:5px;color:var(--sand);background:transparent;border:0;font-size:38px;z-index:2;min-width:48px;min-height:48px}.lightbox-stage{height:100%;display:grid;grid-template-columns:55px 1fr 55px;gap:10px;align-items:center;padding:50px 20px 20px}.lightbox-stage>button{background:transparent;color:var(--sand);font-size:30px;border:0;min-height:48px}.lightbox-stage figure{margin:0;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%}#lightbox-image{max-width:100%;max-height:calc(92dvh - 140px);height:auto;width:auto;object-fit:contain}#lightbox-caption{font-size:12px;text-align:center;margin-top:16px}.lightbox-stage button:focus-visible,.lightbox-close:focus-visible{outline-color:var(--sand)}
@media(min-width:1600px){.hero-copy{padding-left:calc((1800px - 1280px)/2)}}
@media(max-width:1100px){.shell{width:calc(100% - 72px)}.header-inner{padding-inline:36px;gap:20px}.brand{width:190px}#main-nav{gap:20px}.hero{min-height:580px}.hero-copy{padding-left:36px}.hero h1{font-size:57px}.hero-copy .eyebrow{font-size:8px;letter-spacing:.08em}.hero-note{margin-top:45px;font-size:7px}.split-editorial,.approach-preview{gap:45px}.project-story{gap:70px}.contact-layout{gap:40px}.contact-email{font-size:16px}.enquiry-panel{padding:27px}.footer-top{gap:25px}.footer-top>a:last-child{font-size:11px}.reading-width{margin-left:36px}}
@media(max-width:800px){html{scroll-padding-top:80px}.shell{width:calc(100% - 40px)}.header-inner{min-height:82px;padding:13px 20px}.brand{width:178px}.menu-toggle{display:flex;align-items:center;gap:14px;background:none;border:0;color:var(--green);font-size:12px;padding:10px 0 10px 10px;min-height:44px}.menu-lines{height:10px;width:21px;border-block:1px solid var(--green);display:block}.menu-toggle[aria-expanded=true] .menu-lines{transform:rotate(-45deg)}#main-nav{display:none;position:fixed;top:82px;left:0;right:0;bottom:0;flex-direction:column;align-items:stretch;justify-content:flex-start;background:var(--sand);padding:35px 25px;gap:0;overflow:auto}#main-nav.is-open{display:flex}#main-nav>a:not(.nav-cta){font-family:var(--serif);font-size:36px;padding:18px 0;border-bottom:1px solid var(--line)}#main-nav>a:not(.nav-cta):after{display:none}.nav-cta{margin-top:30px;align-self:flex-start}.hero{grid-template-columns:1fr;min-height:0}.hero-copy{padding:50px 25px 40px;min-height:430px}.hero-copy .eyebrow{margin-bottom:26px;font-size:9px;letter-spacing:.12em}.hero h1{font-size:65px}.hero-copy>p:not(.eyebrow){margin:21px 0 27px;font-size:13px}.hero-note{display:none}.hero-visual{height:490px}.hero-visual>img{object-position:center}.hero-caption{font-size:10px;padding:50px 20px 20px}.intro-section{grid-template-columns:1fr;gap:23px;padding-block:65px}.intro-section>.eyebrow{padding:0}.intro-section h2{font-size:43px}.intro-section>div>p{font-size:14px}.section-heading{gap:27px;margin-bottom:33px;align-items:flex-start;flex-direction:column}.section-heading .eyebrow{margin-bottom:18px}.section-heading h2{font-size:43px}.section-aside{max-width:440px}.project-grid{gap:35px 23px}.project-card:nth-child(even){padding-top:45px}.project-card h3{font-size:24px}.project-card-meta .eyebrow{font-size:8px;line-height:1.6}.project-number{display:none}.project-card-meta .eyebrow span{margin:0 3px}.view-project{display:none}.projects-section{padding-bottom:65px}.capabilities-section{padding:65px 0}.service-row{grid-template-columns:25px 1fr;gap:10px 18px;padding:22px 0}.service-row>p{grid-column:2;max-width:none}.service-row h3{font-size:26px}.approach-preview{grid-template-columns:1fr;gap:36px;padding-block:65px}.approach-image img{height:350px}.approach-preview h2{font-size:43px}.cta-section{padding:65px 0}.cta-inner{flex-direction:column;align-items:flex-start;gap:33px}.cta-inner h2{font-size:45px}.site-footer{padding-top:36px}.footer-top{flex-direction:column;align-items:flex-start;gap:22px}.footer-brand{width:190px}.footer-top>a:last-child{font-size:14px}.footer-bottom{flex-direction:column;gap:17px}.footer-bottom>div{flex-wrap:wrap;gap:17px;font-size:10px}.page-intro{padding-block:48px 40px}.page-intro h1{font-size:49px}.intro-copy{font-size:14px;margin-top:22px}.split-editorial{grid-template-columns:1fr;gap:33px;padding-bottom:60px}.split-editorial img{height:auto}.split-editorial h2{font-size:38px}.team-section{padding-bottom:65px}.team-row{grid-template-columns:1fr;gap:18px;padding:28px 0}.team-row h3{font-size:31px}.team-row>p{font-size:14px}.capabilities-full{padding-bottom:65px}.capabilities-full .service-row{grid-template-columns:25px 1fr;padding:25px 0}.capabilities-full .service-row h3{font-size:28px}.capabilities-full .service-row>p{font-size:14px}.delivery-section{padding:60px 0}.delivery-section h2{font-size:43px}.delivery-grid{grid-template-columns:1fr 1fr;gap:35px 25px;margin-top:35px}.delivery-grid article>p{font-size:13px}.download-section{padding-block:65px;flex-direction:column;align-items:flex-start;gap:30px}.download-section h2{font-size:40px}.filter-bar{gap:15px;flex-wrap:wrap;margin-bottom:28px}.filter-button{font-size:11px}.project-count{font-size:10px}.all-projects{padding-bottom:65px}.all-projects .project-grid{row-gap:36px}.project-heading{padding-top:28px;padding-bottom:30px}.back-link{margin-bottom:35px}.project-heading h1{font-size:47px}.project-story{grid-template-columns:1fr;gap:35px;padding-bottom:40px}.project-story h2{font-size:32px}.project-story>div>p{font-size:14px}.project-story aside{padding-top:0}.project-story dl{display:grid;grid-template-columns:90px 1fr;gap:15px}.project-story dt{margin:0}.project-story dd{margin:0}.project-credit{margin-top:20px}.project-gallery{grid-template-columns:1fr;gap:28px;padding-bottom:35px}.gallery-item:first-child{grid-column:auto}.gallery-open{min-height:0}.next-project{padding:35px 0 60px}.next-project h2{font-size:35px}.contact-layout{grid-template-columns:1fr;gap:45px;padding-bottom:65px}.contact-email{font-size:22px}.contact-note{margin-block:30px}.contact-people{display:grid;grid-template-columns:1fr 1fr;gap:15px}.contact-people dt{margin:0;font-size:23px}.contact-people dd{margin:4px 0}.enquiry-panel{padding:27px 22px}.enquiry-panel h2{font-size:32px}.reading-width{margin-inline:auto}.privacy-content{padding-bottom:65px}.lightbox-stage{grid-template-columns:30px 1fr 30px;gap:4px;padding:48px 8px 20px}.lightbox-stage>button{font-size:22px;padding:0}.lightbox-stage figure{height:auto}}
@media(max-width:520px){.hero-visual{height:365px}.hero h1{font-size:58px}.hero-copy{min-height:405px;padding-inline:22px}.project-grid{grid-template-columns:1fr;row-gap:35px}.project-card:nth-child(even){padding-top:0}.project-card h3{font-size:28px}.project-card-meta .eyebrow{font-size:9px}.project-count{width:100%;margin-left:0}.filter-bar{gap:10px 18px}.form-row{grid-template-columns:1fr;gap:0}.form-row label{margin-bottom:22px}.contact-email{font-size:20px}.contact-people{grid-template-columns:1fr;gap:0}.contact-people dt{margin-top:18px}.contact-people dd{margin:4px 0}.page-intro h1{font-size:43px}.intro-section h2,.section-heading h2{font-size:40px}.gallery-item img{min-height:0}.delivery-grid{gap:30px 20px}.footer-top>a:last-child{font-size:13px}.footer-bottom>div{gap:18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Transparent brand assets and consistent vector icon sizing. */
.icon{display:inline-block;width:20px;height:20px;vertical-align:middle;flex:none}.brand img,.footer-brand img{background:transparent;object-fit:contain}.lightbox-close .icon{width:28px;height:28px}.lightbox-stage>button .icon{width:25px;height:25px}.next-project>a .icon{width:36px;height:36px}.footer-top>a:last-child,.footer-bottom a,.back-link{display:inline-flex;align-items:center;gap:10px}.footer-bottom .icon{width:15px;height:15px}.enlarge-label{display:flex;align-items:center;gap:8px}
