:root{--ink:#1e2d2a;--muted:#66706b;--paper:#f7f5ef;--white:#fffefb;--green:#244d43;--green-deep:#16382f;--sage:#b8c9b8;--peach:#e99372;--line:#d8d8cf;--font-serif:var(--font-display), Georgia, serif;--font-sans:var(--font-body), Arial, sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;margin:0}a{color:inherit;text-decoration:none}img{max-width:100%}.page-shell{width:min(1180px,100% - 48px);margin-inline:auto}.site-header{z-index:10;border-top:6px solid var(--green);border-bottom:1px solid var(--line);background:#f7f5eff5;position:relative}.header-inner{justify-content:space-between;align-items:center;gap:48px;min-height:118px;display:flex}.wordmark{letter-spacing:.04em;text-transform:uppercase;flex:none;align-items:baseline;gap:10px;display:inline-flex}.wordmark strong{font-family:var(--font-serif);letter-spacing:.015em;font-size:clamp(1.35rem,2.2vw,2rem);font-weight:700}.wordmark span{color:var(--peach);font-size:.68rem;font-weight:700}.primary-nav{color:#46524d;justify-content:flex-end;align-items:center;gap:clamp(17px,2.2vw,32px);font-size:.78rem;font-weight:650;display:flex}.primary-nav a{white-space:nowrap;border-bottom:1px solid #0000;padding:8px 0;transition:color .16s,border-color .16s}.primary-nav a:hover,.primary-nav a:focus-visible{color:var(--green);border-color:var(--peach)}.micro-label{color:var(--green);letter-spacing:.17em;text-transform:uppercase;margin:0 0 22px;font-size:.68rem;font-weight:750}.micro-label.light{color:var(--sage)}.home-hero{grid-template-columns:minmax(320px,.86fr) minmax(420px,1.14fr);align-items:center;gap:clamp(54px,8vw,112px);padding-block:84px 96px;display:grid}.home-portrait{background:var(--white);border:1px solid #cdd2cc;padding:16px 16px 76px;position:relative;box-shadow:0 24px 70px #1e2d2a14}.home-portrait:before{content:"";border-top:1px solid var(--peach);border-left:1px solid var(--peach);width:74px;height:74px;position:absolute;top:-20px;left:-20px}.home-portrait img{aspect-ratio:.86;object-fit:cover;object-position:48% center;filter:saturate(.92);width:100%;display:block}.portrait-caption{gap:4px;display:grid;position:absolute;bottom:20px;left:20px;right:20px}.portrait-caption span{color:var(--peach);letter-spacing:.14em;text-transform:uppercase;font-size:.64rem;font-weight:750}.portrait-caption strong{color:var(--muted);font-size:.75rem;font-weight:500}.home-welcome h1,.page-intro h1{font-family:var(--font-serif);letter-spacing:-.045em;margin:0;font-weight:600;line-height:.96}.home-welcome h1{max-width:720px;font-size:clamp(3.8rem,6.8vw,7.2rem)}.home-welcome>p:not(.micro-label){max-width:690px;color:var(--muted);font-size:1rem;line-height:1.75}.home-welcome .welcome-lead{color:#344942;font-family:var(--font-serif);margin:34px 0 14px;font-size:clamp(1.38rem,2.25vw,1.8rem);line-height:1.42}.home-actions{flex-wrap:wrap;align-items:center;gap:28px;margin-top:32px;display:flex}.solid-link{background:var(--green);color:#fff;justify-content:center;align-items:center;gap:18px;min-height:48px;padding:0 21px;font-size:.82rem;font-weight:700;transition:transform .16s,background .16s;display:inline-flex}.solid-link:hover,.solid-link:focus-visible{background:var(--green-deep);transform:translateY(-2px)}.underlined-link,.inline-links a{border-bottom:1px solid;padding-bottom:4px;font-size:.82rem;font-weight:700}.underlined-link:hover,.underlined-link:focus-visible,.inline-links a:hover,.inline-links a:focus-visible{color:var(--peach)}.profile-row{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;gap:20px;margin-top:46px;padding-top:22px;font-size:.72rem;font-weight:650;display:flex}.profile-row a:hover,.profile-row a:focus-visible{color:var(--green)}.enquiry-strip{background:var(--green);color:#fff;border-block:1px solid #16382f}.enquiry-inner{justify-content:space-between;align-items:center;gap:34px;min-height:88px;display:flex}.enquiry-inner p{color:#e5eee8;align-items:center;gap:13px;margin:0;font-size:.85rem;display:flex}.enquiry-inner p span{background:var(--peach);border-radius:50%;flex:none;width:8px;height:8px;box-shadow:0 0 0 5px #e9937226}.enquiry-inner>a{border-bottom:1px solid var(--sage);color:var(--sage);white-space:nowrap;padding-bottom:5px;font-size:.8rem;font-weight:750}.home-directory{border-bottom:1px solid var(--line);grid-template-columns:repeat(5,1fr);padding-block:108px 118px;display:grid}.home-directory article{border-left:1px solid var(--line);flex-direction:column;min-height:300px;padding:30px 26px;display:flex}.home-directory article:first-child{border-left:0;padding-left:0}.home-directory article:last-child{padding-right:0}.home-directory article>span{color:var(--peach);font-size:.68rem;font-weight:750}.home-directory h2{font-family:var(--font-serif);letter-spacing:-.035em;margin:auto 0 16px;font-size:clamp(2rem,3.2vw,3.2rem);font-weight:600}.home-directory p{color:var(--muted);margin:0 0 28px;font-size:.9rem;line-height:1.68}.home-directory a{border-bottom:1px solid var(--green);color:var(--green);align-self:flex-start;padding-bottom:4px;font-size:.78rem;font-weight:750}.home-statement{background-color:var(--green-deep);color:#fff;background-image:linear-gradient(112deg,#102a24f0 0%,#102a24c9 58%,#102a24a8 100%),url(/upland-catchment.jpg);background-position:50% 56%;background-repeat:no-repeat;background-size:cover;padding:118px 0}.statement-grid{grid-template-columns:.32fr 1fr;gap:42px 78px;display:grid}.statement-grid blockquote{max-width:920px;font-family:var(--font-serif);letter-spacing:-.04em;margin:-8px 0 0;font-size:clamp(2.6rem,5vw,5.3rem);font-weight:500;line-height:1.02}.statement-facts{border-top:1px solid #ffffff2e;grid-column:2;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:28px;padding-top:26px;display:grid}.statement-facts div{gap:8px;display:grid}.statement-facts strong{color:var(--peach);font-size:.92rem}.statement-facts span{color:#fff9;font-size:.74rem;line-height:1.5}.page-intro{border-bottom:1px solid var(--line);padding-block:94px 82px}.page-intro-grid{grid-template-columns:minmax(0,1.42fr) minmax(280px,.58fr);align-items:end;gap:80px;display:grid}.page-intro h1{max-width:830px;font-size:clamp(3.9rem,7vw,7.5rem)}.contact-page .page-intro h1{font-size:clamp(3.2rem,5.35vw,5.8rem);line-height:1}.page-intro-grid>p{color:var(--muted);margin:0 0 8px;font-size:1rem;line-height:1.76}.editorial-split{grid-template-columns:.72fr 1.28fr;align-items:start;gap:90px;padding-block:104px 120px;display:grid}.editorial-image{border:1px solid var(--line);background:var(--white);padding:13px}.editorial-image img{aspect-ratio:.86;object-fit:cover;width:100%;display:block}.long-copy{max-width:760px}.long-copy p{color:var(--muted);margin:0 0 24px;font-size:1rem;line-height:1.82}.long-copy .lead-copy{color:var(--ink);font-family:var(--font-serif);margin-bottom:32px;font-size:clamp(1.65rem,2.8vw,2.35rem);line-height:1.38}.inline-links{flex-wrap:wrap;gap:28px;margin-top:38px;display:flex}.foundation-feature{background:var(--green);color:#fff;padding:110px 0}.foundation-feature-grid{grid-template-columns:.9fr 1.1fr;gap:90px;display:grid}.foundation-feature h2,.selected-work h2,.consulting-note h2{font-family:var(--font-serif);letter-spacing:-.045em;margin:0;font-size:clamp(3rem,5vw,5.4rem);font-weight:600;line-height:1}.foundation-feature article{background:#ffffff0f;border:1px solid #fff3;padding:38px}.tag-row{flex-wrap:wrap;gap:9px;margin-bottom:26px;display:flex}.tag-row span{color:var(--sage);border:1px solid #b8c9b87a;padding:7px 10px;font-size:.66rem;font-weight:700}.tag-row span:first-child{border-color:var(--peach);background:var(--peach);color:var(--green-deep)}.foundation-feature h3{font-family:var(--font-serif);margin:0 0 24px;font-size:clamp(2rem,3.4vw,3.3rem);font-weight:600;line-height:1.08}.foundation-feature article p{color:#ffffffb3;line-height:1.75}.light-links a{color:var(--sage)}.numbered-list{padding-block:96px 118px}.numbered-list article{border-top:1px solid var(--line);grid-template-columns:90px minmax(280px,.7fr) 1fr;align-items:start;gap:38px;padding:38px 0;display:grid}.numbered-list article:last-child{border-bottom:1px solid var(--line)}.numbered-list article>span,.service-list article>span{color:var(--peach);font-size:.72rem;font-weight:750}.numbered-list h2,.service-list h2,.publication-table h2,.contact-panel h2{font-family:var(--font-serif);letter-spacing:-.035em;margin:-8px 0 0;font-size:clamp(2rem,3vw,3.1rem);font-weight:600;line-height:1.08}.numbered-list p,.service-list p{max-width:620px;color:var(--muted);margin:0;line-height:1.75}.selected-work{background-color:var(--green-deep);color:#fff;background-image:linear-gradient(115deg,#102a24f5 0%,#102a24db 56%,#102a24bd 100%),url(/coastal-resilience.jpg);background-position:50% 44%;background-repeat:no-repeat;background-size:cover;padding:110px 0 120px}.section-title-row{grid-template-columns:1.15fr .55fr;align-items:end;gap:90px;display:grid}.section-title-row>p{color:#ffffff9e;margin:0 0 7px;line-height:1.7}.work-list{background:#ffffff24;grid-template-columns:repeat(2,1fr);gap:1px;margin-top:70px;display:grid}.work-list article{background:#102a24e6;grid-template-columns:48px 1fr;gap:20px;min-height:330px;padding:32px;display:grid}.work-index{color:var(--peach);font-size:.7rem;font-weight:750}.work-meta{flex-wrap:wrap;gap:10px;margin-bottom:58px;display:flex}.work-meta span{color:var(--sage);text-transform:uppercase;letter-spacing:.08em;font-size:.65rem;font-weight:700}.work-meta span+span:before{content:"·";color:var(--peach);margin-right:10px}.work-list h3{font-family:var(--font-serif);margin:0;font-size:clamp(1.75rem,2.7vw,2.8rem);font-weight:600;line-height:1.08}.work-list p{color:#fff9;margin:16px 0 0;font-size:.9rem;line-height:1.7}.service-list{padding-block:90px 110px}.service-list article{border-bottom:1px solid var(--line);grid-template-columns:90px 1fr;gap:38px;padding:38px 0;display:grid}.service-list article:first-child{border-top:1px solid var(--line)}.service-list article>div{grid-template-columns:.8fr 1fr;gap:60px;display:grid}.consulting-note{border-top:1px solid var(--line);grid-template-columns:1fr .8fr;gap:90px;padding-block:110px 120px;display:grid}.consulting-note>div:last-child p{color:var(--muted);line-height:1.78}.consulting-note .solid-link{margin-top:22px}.publication-table{padding-block:80px 118px}.publication-table article{border-bottom:1px solid var(--line);grid-template-columns:150px 1fr 70px;align-items:start;gap:42px;padding:34px 0;display:grid}.publication-table article:first-child{border-top:1px solid var(--line)}.publication-year{gap:7px;display:grid}.publication-year strong{color:var(--peach);font-size:1.05rem}.publication-year span{color:var(--muted);text-transform:uppercase;letter-spacing:.1em;font-size:.64rem;font-weight:700}.publication-table h2{font-size:clamp(1.45rem,2.35vw,2.35rem)}.publication-table p{color:var(--muted);margin:13px 0 0;font-size:.86rem;line-height:1.65}.publication-table article>a{border-bottom:1px solid var(--green);color:var(--green);justify-self:end;padding-bottom:4px;font-size:.74rem;font-weight:750}.output-number{color:#9fa6a0;justify-self:end;font-size:.68rem}.speaking-layout{grid-template-columns:1.08fr .92fr;gap:90px;padding-block:100px 84px;display:grid}.featured-talk{background:var(--green);color:#fff;flex-direction:column;min-height:470px;padding:44px;display:flex}.featured-talk h2{max-width:650px;font-family:var(--font-serif);letter-spacing:-.045em;margin:auto 0 22px;font-size:clamp(3.1rem,5vw,5.5rem);font-weight:600;line-height:.98}.featured-talk>p:not(.micro-label){color:#ffffffad;max-width:620px;margin:0 0 30px;line-height:1.7}.featured-talk>a{border-bottom:1px solid var(--sage);color:var(--sage);align-self:flex-start;gap:18px;padding-bottom:5px;font-weight:750;display:flex}.topic-list{padding:34px 0}.topic-list ol{border-top:1px solid var(--line);margin:0 0 38px;padding:0;list-style:none}.topic-list li{border-bottom:1px solid var(--line);font-family:var(--font-serif);grid-template-columns:48px 1fr;gap:12px;padding:24px 0;font-size:1.55rem;font-weight:600;display:grid}.topic-list li span{color:var(--peach);font-family:var(--font-sans);padding-top:7px;font-size:.66rem;font-weight:750}.platform-row{background:var(--line);grid-template-columns:repeat(4,1fr);gap:1px;margin-bottom:112px;display:grid}.platform-row span{background:var(--white);min-height:110px;color:var(--green);text-align:center;place-items:center;padding:18px;font-size:.75rem;font-weight:700;display:grid}.contact-panel{background:var(--line);grid-template-columns:1.1fr .9fr;gap:1px;margin-block:92px 118px;display:grid}.contact-panel>div{background:var(--white);flex-direction:column;justify-content:center;min-height:360px;padding:50px;display:flex}.contact-panel>div:first-child{background:var(--green);color:#fff}.contact-panel>div:first-child>a{font-family:var(--font-serif);overflow-wrap:anywhere;font-size:clamp(1.8rem,3.5vw,3.6rem);font-weight:600}.contact-panel>div:first-child>.contact-email{white-space:nowrap;overflow-wrap:normal;align-self:flex-start;align-items:baseline;gap:.35em;font-size:clamp(1.3rem,2.45vw,2.5rem);display:inline-flex}.contact-panel>div:first-child>p:last-child{color:#fff9;margin:22px 0 0}.contact-panel h2{margin-bottom:25px}.contact-panel>div:last-child a{border-bottom:1px solid var(--green);color:var(--green);align-self:flex-start;margin-top:12px;padding-bottom:3px;font-size:.8rem;font-weight:700}.site-footer{color:#fff;background:#102a24;padding:94px 0 30px}.footer-main{grid-template-columns:1.15fr .85fr;align-items:end;gap:70px;display:grid}.footer-main h2{max-width:760px;font-family:var(--font-serif);letter-spacing:-.045em;margin:0;font-size:clamp(3.1rem,5.2vw,5.8rem);font-weight:600;line-height:.98}.footer-email{border-bottom:1px solid var(--sage);color:var(--sage);font-family:var(--font-serif);white-space:nowrap;justify-self:end;padding-bottom:6px;font-size:clamp(1rem,1.6vw,1.35rem);font-weight:600}.blog-index{padding-block:84px 118px}.blog-introduction{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,.75fr) minmax(320px,1.25fr);align-items:start;gap:80px;padding-bottom:72px;display:grid}.blog-introduction h2{font-family:var(--font-serif);letter-spacing:-.04em;margin:0;font-size:clamp(2.5rem,4.5vw,4.8rem);font-weight:600;line-height:1.02}.blog-introduction p{max-width:690px;color:var(--muted);margin:0;font-size:1rem;line-height:1.82}.blog-topics{background:var(--line);grid-template-columns:repeat(3,1fr);gap:1px;margin-top:72px;display:grid}.blog-topics article{background:var(--white);flex-direction:column;min-height:260px;padding:32px;display:flex}.blog-topics span{color:var(--peach);letter-spacing:.1em;text-transform:uppercase;font-size:.66rem;font-weight:750}.blog-topics h2{font-family:var(--font-serif);letter-spacing:-.035em;margin:auto 0 16px;font-size:clamp(1.8rem,2.6vw,2.7rem);font-weight:600}.blog-topics p{color:var(--muted);margin:0;font-size:.88rem;line-height:1.68}.blog-note{color:var(--green);margin:54px 0 0;font-size:.78rem;font-weight:700}.cv-section{background:var(--line);grid-template-columns:minmax(300px,.62fr) minmax(0,1.38fr);gap:1px;margin-block:92px 118px;display:grid}.cv-card,.cv-preview{background:var(--white)}.cv-card{flex-direction:column;justify-content:center;min-height:620px;padding:54px;display:flex}.cv-card h2{font-family:var(--font-serif);letter-spacing:-.04em;margin:0 0 24px;font-size:clamp(2.5rem,4vw,4.4rem);font-weight:600;line-height:1}.cv-card>p:not(.micro-label){color:var(--muted);margin:0;font-size:.92rem;line-height:1.75}.cv-actions{flex-wrap:wrap;align-items:center;gap:22px;margin-top:38px;display:flex}.cv-actions .underlined-link{font-size:.78rem}.cv-preview{text-align:center;min-height:820px;padding:20px}.cv-preview-link{background:#eef0ed;justify-content:center;align-items:flex-start;width:100%;min-height:780px;padding:24px;display:flex}.cv-preview-link img{width:100%;max-width:610px;height:auto;transition:transform .18s,box-shadow .18s;display:block;box-shadow:0 18px 45px #1e2d2a24}.cv-preview-link:hover img,.cv-preview-link:focus-visible img{transform:translateY(-3px);box-shadow:0 24px 54px #1e2d2a33}.cv-fallback{color:var(--muted);margin:14px 0 0;font-size:.72rem}.cv-fallback a{border-bottom:1px solid var(--green);color:var(--green);font-weight:750}.footer-meta{color:#ffffff7a;border-top:1px solid #ffffff29;justify-content:space-between;gap:24px;margin-top:72px;padding-top:22px;font-size:.68rem;display:flex}@media (width<=1020px){.header-inner{flex-direction:column;align-items:flex-start;gap:18px;min-height:100px;padding-block:24px 18px}.primary-nav{justify-content:flex-start;width:100%;padding-bottom:6px;overflow-x:auto}.home-hero{grid-template-columns:.8fr 1.2fr;gap:52px}.home-welcome h1{font-size:clamp(3.4rem,7vw,5.2rem)}.page-intro-grid,.foundation-feature-grid,.section-title-row,.consulting-note,.speaking-layout,.footer-main{grid-template-columns:1fr;gap:44px}.home-directory{grid-template-columns:1fr}.home-directory article{border-left:0;border-top:1px solid var(--line);min-height:220px;padding:32px 0}.home-directory article:first-child{border-top:0}.statement-grid{grid-template-columns:1fr}.statement-facts{grid-column:1}.editorial-split{grid-template-columns:.75fr 1.25fr;gap:50px}.numbered-list article{grid-template-columns:60px .8fr 1fr;gap:24px}.work-list{grid-template-columns:1fr}.service-list article>div{grid-template-columns:1fr;gap:18px}.platform-row{grid-template-columns:repeat(2,1fr)}.contact-panel{grid-template-columns:1fr}.footer-email{justify-self:start}.blog-introduction{grid-template-columns:1fr;gap:30px}.blog-topics,.cv-section{grid-template-columns:1fr}.cv-card{min-height:0}}@media (width<=720px){.page-shell{width:min(100% - 30px,1180px)}.site-header{border-top-width:4px}.header-inner{min-height:0}.wordmark strong{font-size:1.4rem}.primary-nav{gap:20px;font-size:.72rem}.home-hero{grid-template-columns:1fr;gap:54px;padding-block:56px 70px}.home-portrait{width:min(470px,100%)}.home-welcome h1{font-size:clamp(3.7rem,16vw,5.4rem)}.enquiry-inner{flex-direction:column;align-items:flex-start;gap:20px;padding-block:25px}.home-directory{padding-block:70px}.home-statement,.foundation-feature,.selected-work{padding-block:80px}.home-statement{background-position:62%}.selected-work{background-position:58%}.statement-facts{grid-template-columns:1fr}.page-intro{padding-block:66px 58px}.page-intro h1{font-size:clamp(3.55rem,15vw,5.4rem)}.contact-page .page-intro h1{font-size:clamp(2.85rem,11vw,4.25rem)}.page-intro-grid{gap:28px}.editorial-split{grid-template-columns:1fr;gap:48px;padding-block:72px 84px}.editorial-image{width:min(430px,100%)}.foundation-feature article{padding:27px}.numbered-list{padding-block:64px 80px}.numbered-list article{grid-template-columns:42px 1fr;gap:20px}.numbered-list article p{grid-column:2}.work-list article{grid-template-columns:34px 1fr;min-height:0;padding:28px 18px}.work-meta{margin-bottom:34px}.service-list{padding-block:64px 76px}.service-list article{grid-template-columns:42px 1fr;gap:18px}.consulting-note{padding-block:80px 90px}.publication-table{padding-block:60px 84px}.publication-table article{grid-template-columns:1fr auto;gap:18px}.publication-year,.publication-table article>div:nth-child(2){grid-column:1/-1}.publication-table article>a,.output-number{grid-row:3}.speaking-layout{padding-block:70px 60px}.featured-talk{min-height:430px;padding:30px}.platform-row{grid-template-columns:1fr;margin-bottom:84px}.contact-panel{margin-block:64px 84px}.contact-panel>div{min-height:300px;padding:30px}.contact-panel>div:first-child>.contact-email{font-size:clamp(1.02rem,5.25vw,1.42rem)}.blog-index{padding-block:62px 84px}.blog-introduction{padding-bottom:52px}.blog-topics{margin-top:52px}.blog-topics article{min-height:220px;padding:28px}.cv-section{margin-block:64px 84px}.cv-card{padding:36px 30px}.cv-preview{min-height:590px;padding:10px}.cv-preview-link{min-height:0;padding:12px}.site-footer{padding-top:78px}.footer-main{gap:36px}.footer-email{font-size:clamp(.96rem,4.75vw,1.2rem)}.footer-meta{flex-direction:column;align-items:flex-start;margin-top:58px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important}}
