@import url('fonts.css');
:root{--paper:#f3eddf;--ink:#0a2f1e;--olive:#35694c;--lime:#c7ddc9;--line:#cbd6c6;--muted:#5f7063;--serif:Georgia,'Times New Roman',serif;--sans:'DM Sans',Arial,sans-serif;--ease:cubic-bezier(.2,.7,.2,1)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 var(--sans);-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}::selection{background:var(--lime);color:var(--ink)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{max-width:100%;display:block}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:450;line-height:1.05;letter-spacing:-.045em}h1{font-size:clamp(55px,7.4vw,112px)}h2{font-size:clamp(40px,4.5vw,68px)}h3{font-size:26px;letter-spacing:-.025em}em{font-family:var(--serif);font-weight:400;letter-spacing:-.055em}p{color:var(--muted)}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--olive);outline-offset:6px}input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--olive);outline-offset:3px}.section{padding:110px 6%;max-width:1800px;margin:auto}.eyebrow{font-size:11px;letter-spacing:.17em;font-weight:600;line-height:1.5;text-transform:uppercase;color:inherit}.site-header{height:102px;padding:0 6%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);z-index:30;position:relative}.over-hero{position:absolute;top:0;left:0;right:0;color:#fff;border-color:#ffffff38}.wordmark{font-size:49px;font-weight:600;line-height:.85;letter-spacing:-.065em;display:inline-block}.brand-dot{color:var(--olive)}.over-hero .brand-dot,.site-footer .brand-dot{color:var(--lime)}.wordmark small{font-size:8px;letter-spacing:.3em;display:block;line-height:2.5;font-weight:500;margin-left:4px}.site-header nav{display:flex;align-items:center;gap:38px;font-size:13px}.site-header nav>a{position:relative}.site-header nav>a:not(.nav-cta)::after{content:'';position:absolute;bottom:-7px;left:0;width:0;height:1px;background:currentColor;transition:width .3s}.site-header nav>a:hover::after,.site-header nav>a[aria-current]::after{width:100%}.nav-cta{border:1px solid currentColor;padding:12px 20px;border-radius:2px;display:flex;gap:25px;align-items:center}.nav-cta span{font-size:21px}.menu-toggle{display:none;border:0;background:none;color:inherit;padding:12px}.menu-toggle span{width:26px;height:1px;display:block;background:currentColor;margin:6px 0}.hero{height:min(900px,100svh);min-height:680px;position:relative;background:#0a2f1e;color:#fff;overflow:hidden}.hero-image,.hero-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-image{object-position:center 55%;animation:hero-settle 1.8s var(--ease) both}.hero-shade{background:linear-gradient(90deg,#151d1dd1 0%,#151d1d70 55%,#151d1d20),linear-gradient(0deg,#111b1dd9,transparent 45%,#111b1d20)}.hero-content{position:absolute;left:6%;right:6%;bottom:155px;z-index:1}.hero-content .eyebrow{display:flex;align-items:center;gap:15px;margin-bottom:30px;color:#e6e9d8}.tiny-line{width:36px;height:1px;background:var(--lime)}.hero h1{font-size:clamp(58px,6.8vw,106px);letter-spacing:-.055em;line-height:1.03;max-width:1200px}.hero h1 em{color:#d7e8d2}.hero-bottom{display:flex;align-items:end;justify-content:space-between;margin-top:34px;max-width:1050px}.hero-bottom p{font-size:16px;color:#e0e1d8;line-height:1.7}.button{display:inline-flex;align-items:center;gap:48px;justify-content:space-between;padding:18px 25px;border:0;font-size:13px;font-weight:500;transition:background .25s,color .25s,transform .25s;min-height:58px}.button span{font-size:22px;line-height:1}.button:hover{transform:translateY(-3px)}.button-light{background:var(--paper);color:var(--ink)}.button-light:hover{background:var(--lime)}.button-dark{background:var(--ink);color:white}.button-dark:hover{background:var(--olive)}.hero-foot{position:absolute;bottom:32px;left:6%;right:6%;padding-top:23px;border-top:1px solid #ffffff50;display:flex;justify-content:space-between;font-size:9px;letter-spacing:.14em;color:#e2e5dc}.hero-foot a{display:flex;gap:23px}.hero-foot a span{font-size:20px;line-height:1}.hero-index{position:absolute;right:6%;top:46%;font-size:10px;letter-spacing:.15em;writing-mode:vertical-rl}.sector-strip{background:#dce8d8;display:flex;justify-content:space-between;align-items:center;padding:24px 6%;font-size:12px;letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid #d8deca}.sector-strip i{color:var(--olive);font-size:19px;font-style:normal}.intro{display:grid;grid-template-columns:1fr 3fr;gap:40px}.section-kicker{display:flex;flex-direction:column;justify-content:space-between;align-items:start}.little-star{font-size:78px;line-height:1;color:var(--olive);margin-top:35px}.intro h2{font-size:clamp(44px,4.9vw,74px)}.intro-copy{display:grid;grid-template-columns:1fr 1fr;gap:25px 45px;margin-top:36px;font-size:15px}.intro-copy .text-link{grid-column:1/-1;justify-self:start}.text-link{display:inline-flex;gap:40px;align-items:center;border-bottom:1px solid var(--ink);padding:10px 0;font-size:13px;font-weight:500}.text-link span{font-size:22px;transition:transform .3s}.text-link:hover span{transform:translate(3px,-3px)}.selected-work{background:#eee6d6;padding-top:95px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:60px}.section-heading .eyebrow{margin-bottom:25px}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:65px 40px}.project-card{display:block;min-width:0}.project-photo{position:relative;overflow:hidden;background:#c5d8c6;aspect-ratio:1.3}.project-photo img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease),filter .8s}.project-card:hover img{transform:scale(1.045);filter:brightness(.9)}.round-arrow{display:grid;place-items:center;position:absolute;right:22px;bottom:22px;width:50px;height:50px;background:var(--paper);border-radius:50%;font-size:25px;transition:transform .4s}.project-card:hover .round-arrow{transform:rotate(45deg);background:var(--lime)}.project-caption{padding-top:20px}.project-caption h3{font-size:25px}.project-caption>span{display:block;font-size:11px;letter-spacing:.02em;color:var(--muted);margin-top:10px}.project-caption i{font-style:normal;margin:0 8px;color:#929986}.staggered .project-card:nth-child(even){margin-top:120px}.staggered .project-card:nth-child(odd) .project-photo{aspect-ratio:1.07}.staggered .project-card:nth-child(even) .project-photo{aspect-ratio:1.26}.expertise-section{background:var(--ink);color:var(--paper);max-width:none}.expertise-heading{display:grid;grid-template-columns:1fr 3fr;gap:35px}.expertise-heading h2{font-size:clamp(40px,4.1vw,65px)}.expertise-heading>p:last-child{grid-column:2;color:#bfc2b5;font-size:14px;margin-top:0}.expertise-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:8%;margin-top:65px;align-items:center}.expertise-visual{position:relative;aspect-ratio:.92;overflow:hidden}.expertise-visual img{height:100%;width:100%;object-fit:cover;transition:opacity .2s}.expertise-visual>span{position:absolute;bottom:0;left:0;right:0;padding:25px 20px;color:#fff;font-size:9px;letter-spacing:.2em;background:linear-gradient(transparent,#0008)}.expertise-list>a{display:flex;gap:23px;padding:29px 0;border-top:1px solid #ffffff30;align-items:center;transition:color .3s}.expertise-list>a:last-child{border-bottom:1px solid #ffffff30}.service-number{font-size:10px;color:#aab696;align-self:flex-start;margin-top:7px}.expertise-list h3{font-size:clamp(24px,2.7vw,40px)}.expertise-list p{color:#bdc1b6;font-size:12px;margin-top:12px}.service-arrow{margin-left:auto;font-size:27px;transition:transform .3s}.expertise-list>a:hover{color:var(--lime)}.expertise-list>a:hover .service-arrow{transform:translate(3px,-3px)}.detail-story{position:relative;height:650px;background:#0a2f1e;overflow:hidden}.detail-story>img{width:100%;height:100%;object-fit:cover;object-position:center 45%}.detail-overlay{position:absolute;inset:0;background:linear-gradient(90deg,#0c130fc9,#0c130f18)}.detail-content{position:absolute;left:6%;right:6%;bottom:95px;color:white}.detail-content h2{font-size:clamp(45px,5.4vw,80px);margin:28px 0}.light{border-color:white}.heading-note{font-size:14px}.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:45px}.principles article{border-top:1px solid var(--line);padding-top:30px}.principles article>span{font-size:12px;color:var(--olive)}.principles h3{font-size:27px;margin:38px 0 18px}.principles p{font-size:14px}.process-section{border-top:1px solid var(--line);display:grid;grid-template-columns:1.1fr 1fr;gap:8%;padding-top:95px}.process-section h2{font-size:clamp(40px,4vw,62px);margin-top:25px}.process-list details{border-top:1px solid var(--line)}.process-list details:last-child{border-bottom:1px solid var(--line)}.process-list summary{list-style:none;padding:23px 0;display:flex;align-items:center;gap:24px;cursor:pointer;font-size:25px;letter-spacing:-.035em}.process-list summary::-webkit-details-marker{display:none}.process-list summary>span{font-size:11px;letter-spacing:0;color:var(--olive)}.process-list summary>b{font-weight:400;margin-left:auto;font-size:25px}.process-list details[open] summary>b{transform:rotate(45deg)}.process-list details>p{font-size:14px;padding:0 35px 25px}.site-footer{background:#0a2f1e;color:var(--paper);padding:85px 6% 25px}.footer-top>.eyebrow{color:#c4cdb3}.footer-title{display:block;font-size:clamp(40px,6.5vw,100px);letter-spacing:-.055em;line-height:1.15;margin:30px 0 60px}.footer-title>span{float:right;color:var(--lime)}.footer-title em{color:var(--lime)}.footer-bottom{border-top:1px solid #ffffff25;padding:50px 0;display:grid;grid-template-columns:1.4fr 1.5fr 1fr 1fr;gap:30px;align-items:start}.footer-bottom .wordmark{justify-self:start}.footer-bottom div>a{display:block;font-size:13px;color:#d5d8cb;margin-top:8px}.footer-bottom .eyebrow{font-size:9px;color:#a4b391;display:block;margin-bottom:15px}.footer-location{font-size:13px;color:#d5d8cb;padding-top:27px}.legal{padding-top:22px;border-top:1px solid #ffffff25;display:flex;justify-content:space-between;font-size:10px;color:#abb1a2;gap:20px}.page-intro{padding-top:85px;padding-bottom:80px}.page-intro .eyebrow{margin-bottom:30px;color:var(--olive)}.page-intro>p:last-child{margin-top:30px;max-width:650px;font-size:17px}.page-intro h1 em{color:#35694c}.filters{display:flex;gap:10px;border-top:1px solid var(--line);padding:25px 0 40px;flex-wrap:wrap}.filters button{border:1px solid var(--line);background:transparent;padding:12px 20px;border-radius:30px;font-size:12px;color:var(--ink)}.filters button[aria-pressed=true]{color:white;background:var(--ink);border-color:var(--ink)}.filters button span{margin-left:8px;color:#c7ddc9;font-size:10px}.project-list-section{padding-top:0}.project-card[hidden]{display:none}.project-intro{padding-top:55px;padding-bottom:60px}.back-link{display:block;font-size:12px;margin-bottom:40px;color:var(--muted)}.project-intro .eyebrow{color:var(--olive);margin-bottom:20px}.project-intro h1{font-size:clamp(48px,6.5vw,95px);max-width:1000px}.project-banner{margin:0 3%;height:650px}.project-banner img{width:100%;height:100%;object-fit:cover}.project-overview{display:grid;grid-template-columns:1fr 1fr;gap:10%}.project-overview h2{margin-top:25px}.lead{font-size:23px;color:var(--ink);line-height:1.55}.project-overview dl{margin:40px 0}.project-overview dl>div{border-top:1px solid var(--line);padding:17px 0;display:flex;justify-content:space-between;gap:20px;font-size:13px}.project-overview dt{color:var(--muted)}.project-overview dd{margin:0}.gallery-section{padding-top:0}.gallery-section .eyebrow{margin-bottom:20px}.gallery-section img{width:100%;max-height:800px;object-fit:cover}.next-project{border-top:1px solid var(--line);padding-top:60px;padding-bottom:65px}.next-project>a{font-size:clamp(32px,4vw,60px);line-height:1.2;display:flex;justify-content:space-between;gap:25px;margin-top:25px;letter-spacing:-.04em}.about-banner{position:relative;height:580px;margin:0 3%;overflow:hidden}.about-banner img{width:100%;height:100%;object-fit:cover}.about-banner>span{position:absolute;bottom:25px;left:30px;background:var(--paper);padding:10px 15px;font-size:10px;letter-spacing:.1em}.values-grid{background:#dfebdd;display:grid;grid-template-columns:1fr 1fr;gap:10%}.values-grid h2{margin:30px 0}.values-grid p:last-child{max-width:430px}.service-detail{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center;border-top:1px solid var(--line)}.service-detail:nth-of-type(odd) .service-detail-photo{order:2}.service-detail-photo{aspect-ratio:1}.service-detail-photo img{width:100%;height:100%;object-fit:cover}.service-detail h2{font-size:clamp(36px,4vw,60px);margin:25px 0}.service-detail ul{list-style:none;padding:0;margin:25px 0;font-size:13px}.service-detail li{border-top:1px solid var(--line);padding:10px 0}.service-detail li::before{content:'↗';margin-right:18px;color:var(--olive)}.additional{background:#dfebdd}.additional h2{margin:25px 0}.additional>p:not(.eyebrow){max-width:650px;margin-bottom:20px}.contact-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:10%;padding-top:15px}.contact-info h2{font-size:33px;line-height:1.2;letter-spacing:-.03em}.contact-info>p{margin:25px 0 40px;max-width:380px;font-size:15px}.contact-info>div{margin-top:30px}.contact-info .eyebrow{display:block;color:var(--olive);margin-bottom:8px}.contact-info a{font-size:18px;border-bottom:1px solid var(--line)}.enquiry-form{background:#e5eddf;padding:40px}.enquiry-form>h2{font-size:27px;margin-bottom:30px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px 20px}.form-grid label{display:block;font-size:11px;letter-spacing:.02em}.form-grid label>span{color:var(--olive)}.form-grid input,.form-grid textarea,.form-grid select{display:block;width:100%;border:0;border-bottom:1px solid #a5ad95;border-radius:0;background:transparent;padding:11px 0;color:var(--ink);font-size:15px}.form-grid textarea{resize:vertical;min-height:100px}.full-width{grid-column:1/-1}.consent{display:flex;align-items:start;gap:10px;font-size:11px;margin:25px 0}.consent input{accent-color:var(--olive);margin-top:4px;flex-shrink:0}.consent a,.form-help a{text-decoration:underline}.form-help{font-size:11px;margin-top:20px}.form-notice{padding:15px;border:1px solid #9b7445;background:#fff6e5;font-size:13px;margin-bottom:25px}.form-notice.success{background:#e2efd9;border-color:#6b863e}.honeypot{position:absolute;left:-10000px}.prose{padding-top:0;max-width:950px}.prose h2{font-size:30px;margin:40px 0 20px}.prose a{text-decoration:underline}.not-found .button{margin-top:30px}.skip-link{position:fixed;left:15px;top:-100px;padding:15px;background:var(--ink);color:white;z-index:100}.skip-link:focus{top:15px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.reveal{opacity:1;transform:none}html.motion .reveal{opacity:0;transform:translateY(25px);transition:opacity .8s var(--ease),transform .8s var(--ease)}html.motion .reveal.visible{opacity:1;transform:none}@keyframes hero-settle{from{transform:scale(1.06)}to{transform:scale(1)}}
@media(min-width:1700px){.hero-content{bottom:170px}.section{padding-left:max(6%,calc((100vw - 1550px)/2));padding-right:max(6%,calc((100vw - 1550px)/2));max-width:none}}
@media(max-width:1000px){.site-header nav{gap:23px}.hero{min-height:650px}.hero-content{bottom:150px}.hero h1{font-size:7.5vw}.hero-index{display:none}.section{padding:80px 6%}.intro{grid-template-columns:1fr;gap:30px}.section-kicker{flex-direction:row}.little-star{font-size:42px;margin:0}.intro-copy{gap:25px}.staggered .project-card:nth-child(even){margin-top:80px}.project-grid{gap:45px 25px}.expertise-heading{grid-template-columns:1fr}.expertise-heading>p:last-child{grid-column:1}.expertise-layout{gap:5%}.expertise-list>a{padding:22px 0;gap:15px}.principles{gap:25px}.process-section{gap:5%}.footer-bottom{grid-template-columns:1fr 1.5fr 1fr}.footer-location{display:none}.contact-layout{gap:5%;padding-top:0}.enquiry-form{padding:25px}.contact-info a{font-size:15px}.project-banner,.about-banner{height:480px}.project-list-section{padding-top:0}.service-detail{gap:5%}.project-intro{padding-top:45px;padding-bottom:45px}}
@media(max-width:700px){body{font-size:15px}.site-header{height:82px;padding:0 6%}.wordmark{font-size:43px}.menu-toggle{display:block;z-index:50}.site-header nav{display:none;position:absolute;inset:82px 0 auto;background:var(--ink);color:var(--paper);padding:35px 7% 45px;flex-direction:column;align-items:stretch;gap:0;box-shadow:0 20px 30px #0003}.site-header nav.open{display:flex}.site-header nav>a{padding:18px 0;font-size:24px}.site-header nav .nav-cta{margin-top:20px;padding:15px 20px;font-size:16px}.hero{height:90svh;min-height:660px;max-height:850px}.hero-content{bottom:120px;right:5%}.hero-content .eyebrow{font-size:9px;letter-spacing:.12em;margin-bottom:28px}.hero h1{font-size:clamp(42px,8.5vw,60px);line-height:1.12}.hero-image{object-position:60% center}.hero-shade{background:linear-gradient(90deg,#17201dcc,#17201d40),linear-gradient(0deg,#17201dd9,transparent)}.hero-bottom{display:block;margin-top:25px}.hero-bottom p{font-size:13px;line-height:1.7}.hero-bottom .button{margin-top:25px;padding:14px 20px;min-height:52px}.hero-foot{bottom:25px;font-size:8px;letter-spacing:.04em;gap:15px}.hero-foot a{font-size:0;gap:0}.hero-foot a span{font-size:20px}.sector-strip{gap:18px;padding:18px 6%;overflow-x:auto;white-space:nowrap;justify-content:start;font-size:9px;scrollbar-width:none}.sector-strip i{font-size:14px}.section{padding:65px 6%}.intro h2{font-size:42px}.intro-copy{display:block;margin-top:25px}.intro-copy p{margin-bottom:20px;font-size:14px}.intro-copy .text-link{margin-top:5px}.section-heading{margin-bottom:35px;align-items:start;flex-direction:column;gap:15px}.section-heading .eyebrow{margin-bottom:20px}h2{font-size:43px}.section-heading .text-link{align-self:flex-start}.project-grid{grid-template-columns:1fr;gap:35px}.staggered .project-card:nth-child(even){margin-top:0}.staggered .project-card:nth-child(odd) .project-photo,.staggered .project-card:nth-child(even) .project-photo,.project-photo{aspect-ratio:1.23}.project-caption h3{font-size:24px}.project-caption{padding-top:16px}.project-caption>span{font-size:10px}.round-arrow{width:40px;height:40px;font-size:22px;bottom:15px;right:15px}.expertise-heading{gap:22px}.expertise-heading h2{font-size:40px}.expertise-layout{display:flex;flex-direction:column;gap:35px;margin-top:35px}.expertise-visual{width:100%;aspect-ratio:1.35}.expertise-list{width:100%}.expertise-list h3{font-size:28px}.expertise-list p{font-size:11px}.detail-story{height:500px}.detail-content{bottom:55px}.detail-content h2{font-size:44px;line-height:1.08}.detail-story>img{object-position:65% center}.principles{grid-template-columns:1fr;gap:35px}.principles h3{margin:22px 0 15px;font-size:27px}.principles p{max-width:430px}.process-section{grid-template-columns:1fr;gap:35px}.process-section h2{font-size:40px}.process-list summary{font-size:25px}.site-footer{padding:60px 6% 25px}.footer-title{font-size:44px;margin:25px 0 40px;max-width:440px}.footer-title em{display:block;max-width:85%}.footer-title>span{float:none;position:absolute;right:6%;margin-top:-50px}.footer-bottom{grid-template-columns:1fr 1fr;gap:35px 25px;padding:35px 0}.footer-bottom>.wordmark{grid-column:1/-1}.footer-bottom div>a{font-size:11px;overflow-wrap:anywhere}.legal{font-size:9px;flex-wrap:wrap;gap:10px}.legal span:nth-child(2){display:none}.page-intro{padding-top:55px;padding-bottom:50px}h1{font-size:clamp(46px,10vw,68px)}.page-intro>p:last-child{font-size:15px}.desktop-only{display:none}.filters{gap:8px;padding:20px 0 30px}.filters button{font-size:11px;padding:10px 14px}.project-list-section{padding-top:0}.project-banner{height:350px;margin:0}.project-intro{padding-top:35px;padding-bottom:40px}.project-intro h1{font-size:49px}.project-overview{grid-template-columns:1fr;gap:30px}.project-overview h2{font-size:40px}.lead{font-size:20px}.gallery-section{padding-top:0}.next-project>a{font-size:32px}.about-banner{height:360px;margin:0}.about-banner>span{left:6%;font-size:8px}.values-grid{grid-template-columns:1fr;gap:55px}.values-grid h2{font-size:40px}.service-detail{grid-template-columns:1fr;gap:30px}.service-detail:nth-of-type(odd) .service-detail-photo{order:0}.service-detail-photo{aspect-ratio:1.2}.service-detail h2{font-size:39px}.contact-layout{grid-template-columns:1fr;gap:45px;padding-top:0}.contact-info h2{font-size:30px}.contact-info a{font-size:17px}.enquiry-form{padding:28px 22px}.enquiry-form>h2{font-size:25px}.form-grid{grid-template-columns:1fr;gap:23px}.form-grid input,.form-grid textarea,.form-grid select{font-size:16px}.contact-info>p{margin-bottom:30px}.prose{padding-top:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.reveal,html.motion .reveal{opacity:1;transform:none}}
