@charset "UTF-8";
:root{--green:#174a2b;--ink:#202820;--gold:#d5a526;--pale:#f2f6f1;--serif:'Source Serif 4',Georgia,serif;--sans:'Libre Franklin',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;background:white;color:var(--ink);font:16px/1.75 var(--sans)}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:5px}button{border:0;background:none}.skip{position:absolute;top:-80px;background:white;padding:10px;z-index:100}.skip:focus{top:0}header{position:fixed;z-index:20;top:0;width:100%;display:flex;align-items:center;justify-content:space-between;padding:24px 5%;color:white;transition:background .3s,padding .3s,color .3s;border-bottom:1px solid #ffffff25}header.scrolled{padding-top:14px;padding-bottom:14px;background:#fffffffa;color:var(--green);box-shadow:0 1px 0 #174a2b18}.wordmark{font:500 24px/1.12 var(--serif);letter-spacing:-.7px;white-space:nowrap}.brand-dot{color:var(--gold)}nav{display:flex;gap:27px;align-items:center;font-size:12px;font-weight:500}nav a{position:relative}nav a:not(.nav-contact):after{content:'';height:1px;background:currentColor;position:absolute;left:0;right:100%;bottom:-6px;transition:right .25s}nav a:hover:after{right:0}.nav-contact{border:1px solid #ffffff70;padding:10px 20px}.nav-contact span{margin-left:18px}.scrolled .nav-contact{background:var(--green);color:white;border-color:var(--green)}.menu-toggle{display:none}.hero{height:100svh;min-height:750px;max-height:1100px;position:relative;background:#174a2b;color:white;overflow:hidden}.hero video,.hero-shade{position:absolute;width:100%;height:100%;inset:0;object-fit:cover}.hero-shade{background:linear-gradient(90deg,rgba(6,34,19,.83),rgba(6,34,19,.48) 50%,rgba(6,34,19,.14)),linear-gradient(0deg,rgba(4,25,12,.65),transparent 40%)}.hero-copy{position:absolute;top:30%;left:8%;right:6%;animation:enter 1s both}.eyebrow,.section-index,.tag{font:500 10px/1.6 var(--sans);text-transform:uppercase;letter-spacing:1.8px}.hero h1{font:500 clamp(42px,5.5vw,84px)/1.25 var(--serif);letter-spacing:-2px;margin:17px 0 20px}.proposition{font:600 clamp(23px,2.9vw,42px)/1.3 var(--sans);letter-spacing:-1px;margin:0 0 20px}.constituency{font-size:12px;letter-spacing:.3px;opacity:.88}.hero-actions{display:flex;align-items:center;gap:32px;margin-top:35px}.button{display:inline-flex;gap:30px;align-items:center;justify-content:space-between;padding:14px 22px;font-size:12px;font-weight:600;transition:transform .2s,background .2s}.button:hover{transform:translateY(-3px)}.light{background:white;color:var(--green)}.green{background:var(--green);color:white}.text-link{font-size:12px}.text-link span{margin-left:15px}.hero-bottom{position:absolute;bottom:28px;left:5%;right:5%;display:flex;justify-content:space-between;align-items:center;border-top:1px solid #ffffff45;padding-top:18px;font-size:10px;letter-spacing:.6px}.hero-bottom a span{padding-left:25px}.hero-note{opacity:.7}#video-toggle{border:1px solid #ffffff60;padding:6px 12px;font-size:11px}#video-toggle span{margin-left:8px}.section{padding:95px 8%;scroll-margin-top:0}.section-index{display:flex;gap:30px;align-items:center;color:var(--green);margin-bottom:50px}.line{height:1px;background:#174a2b25;flex:1}.section-index>span:first-child:before{content:'';display:inline-block;width:18px;height:2px;background:var(--gold);margin:0 13px 3px 0}h2{font:400 clamp(30px,3.5vw,52px)/1.2 var(--serif);color:var(--green);letter-spacing:-1.4px;margin:0}h2 em{font-weight:400;color:#5c765e}h3{font-family:var(--serif);font-weight:500;color:var(--green);line-height:1.3}p{margin:0 0 20px}.intro-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:10%}.intro-grid p{font-size:14px;color:#536054}.intro-grid .lead{font-size:20px;line-height:1.6;color:var(--ink)}.inline-link{display:inline-flex;align-items:center;gap:32px;border-bottom:1px solid #174a2b70;padding:0 0 8px;font-size:12px;color:var(--green);font-weight:600}.inline-link:hover{color:#497c32}.agenda{margin-top:65px;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #174a2b25}.agenda>div{padding:28px 30px 0 0}.agenda>div+div{border-left:1px solid #174a2b25;padding-left:30px}.agenda span{font-size:10px;color:#8d7526}.agenda h3{font-size:22px;margin:12px 0}.agenda p{font-size:12px;color:#5f685f}.research{background:var(--pale)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:35px;margin-bottom:40px}.section-description{max-width:280px;font-size:13px;margin:0;color:#5e695f}.filter-bar{display:flex;gap:8px;margin:45px 0 20px;flex-wrap:wrap}.filter{font-size:11px;padding:8px 17px;border:1px solid #174a2b35;border-radius:30px}.filter.active{background:var(--green);color:white}.paper{display:grid;grid-template-columns:35px 1fr 40px;gap:18px;padding:27px 0;border-top:1px solid #174a2b30}.paper[hidden]{display:none}.paper-number{font:14px var(--serif);color:#8d7526;padding-top:4px}.paper h3{font-size:26px;margin:9px 0}.paper p{font-size:13px;color:#5b665d;margin-bottom:12px}.paper>a{font-size:24px;text-align:right}.tag{font-size:9px;letter-spacing:1.2px;color:#697268}.paper details{max-width:750px}.paper summary{cursor:pointer;font-size:11px;list-style:none;display:inline-flex;gap:20px;color:var(--green)}.paper details[open] summary{margin-bottom:12px}.paper details[open] summary span{transform:rotate(45deg)}.research>.inline-link{margin-top:25px}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.project{text-align:left;padding:0}.project-image{height:340px;position:relative;overflow:hidden;background:var(--pale)}.project-image img{width:100%;height:100%;object-fit:cover;transition:transform .7s}.project:nth-child(2) img{object-position:center 23%}.project:hover img{transform:scale(1.04)}.project-arrow{position:absolute;bottom:20px;right:20px;background:white;width:44px;height:44px;display:grid;place-items:center;color:var(--green);border-radius:50%;font-size:23px}.project-info{padding:23px 0}.project-info h3{font-size:29px;margin:8px 0}.project-info p{font-size:12px;color:#5f685f}.writing{border-top:1px solid #174a2b20}.writing-grid{display:grid;grid-template-columns:1.05fr 1fr .95fr;gap:28px}.feature-essay{background:var(--pale);padding:32px;display:flex;flex-direction:column;align-items:start}.feature-essay h3{font-size:38px;margin:32px 0 22px}.feature-essay p{font-size:14px}.feature-essay .inline-link{margin-top:auto}.essay-stack>a{display:block;padding:22px 0;border-top:1px solid #174a2b35}.essay-stack h3{font-size:25px;margin:14px 0}.essay-stack>a>span:last-child{font-size:10px}.book-feature img{height:180px;width:100%;object-fit:cover;object-position:50% 40%}.book-feature>div{padding:20px 0}.book-feature h3{font-size:28px;margin:10px 0}.book-feature p{font-size:12px}.prototype-note{font-size:10px;color:#747c74;margin:28px 0 0}.speaking{background:var(--pale)}.speaking-grid{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}.speaking-grid p{font-size:13px;margin:25px 0}.film-card{position:relative;height:350px;overflow:hidden}.film-card img{height:100%;width:100%;object-fit:cover;object-position:center 35%;filter:brightness(.75)}.film-card button{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;color:white;font-size:13px}.film-card button>span{display:grid;place-items:center;border:1px solid #fff9;border-radius:50%;width:65px;height:65px;background:#174a2b70}.contact{text-align:center;padding-top:110px;padding-bottom:110px}.contact h2{margin:22px 0 35px;font-size:clamp(36px,5vw,70px)}.contact-email{display:inline-flex;gap:50px;border-bottom:1px solid var(--green);font-size:clamp(16px,2vw,25px);color:var(--green);padding-bottom:10px}.contact-links{display:flex;gap:30px;justify-content:center;margin-top:35px;font-size:11px}footer{border-top:1px solid #174a2b20;padding:28px 5%;display:flex;justify-content:space-between;align-items:center;gap:20px;color:#697268;font-size:10px}.footer-name{font:500 23px var(--serif);color:var(--green)}dialog{border:0;max-width:780px;width:90%;max-height:85vh;padding:50px;color:var(--ink);box-shadow:0 30px 100px #0004}dialog::backdrop{background:#062514a8;backdrop-filter:blur(6px)}.dialog-close{display:block;margin-left:auto;font-size:12px;color:var(--green);margin-bottom:25px}dialog h2{font-size:37px;margin-bottom:25px}dialog p{font-size:15px}dialog iframe{border:0;width:100%;aspect-ratio:16/9}body.modal-open{overflow:hidden}.reveal-ready{opacity:0;transform:translateY(24px);transition:opacity .7s,transform .7s}.reveal-ready.visible{opacity:1;transform:none}@keyframes enter{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
@media(min-width:1600px){.section{padding-left:max(8%,calc((100vw - 1400px)/2));padding-right:max(8%,calc((100vw - 1400px)/2))}}
@media(max-width:900px){nav{gap:16px;font-size:10px}.hero{min-height:700px}.hero-copy{left:7%;top:32%}.section{padding:70px 6%}.intro-grid{gap:6%}.writing-grid{grid-template-columns:1fr 1fr}.book-feature{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:25px}.project-image{height:290px}.speaking-grid{gap:5%}.film-card{height:290px}}
@media(max-width:650px){header{padding:18px 6%}.wordmark{font-size:22px}.menu-toggle{display:flex;gap:15px;align-items:center;font-size:12px}nav{display:none;position:absolute;top:100%;left:0;right:0;background:white;color:var(--green);padding:25px 6%;box-shadow:0 8px 20px #0001;font-size:15px}nav.open{display:flex;flex-direction:column;align-items:stretch;gap:20px}.nav-contact{border:1px solid var(--green)}.hero{min-height:740px;height:95svh}.hero video{object-position:62% center}.hero-shade{background:linear-gradient(0deg,#062513df,rgba(6,34,19,.45) 70%,rgba(6,34,19,.3))}.hero-copy{left:6%;right:5%;top:33%}.hero h1{font-size:43px;letter-spacing:-1.4px;line-height:1.35}.eyebrow{font-size:8px;letter-spacing:1.5px}.proposition{font-size:25px;letter-spacing:-.5px}.constituency{font-size:10px;max-width:290px}.hero-actions{gap:22px;margin-top:28px}.button{padding:13px 16px;font-size:11px;gap:16px}.text-link{font-size:10px}.hero-bottom{left:6%;right:6%;font-size:9px}.hero-note{display:none}.section{padding:55px 6%}.section-index{margin-bottom:30px;font-size:9px;letter-spacing:1px}.intro-grid,.speaking-grid{grid-template-columns:1fr;gap:30px}h2{font-size:35px;letter-spacing:-.8px}.intro-grid .lead{font-size:18px}.agenda{grid-template-columns:1fr;margin-top:35px}.agenda>div,.agenda>div+div{padding:20px 0;border:0;border-bottom:1px solid #174a2b20}.agenda h3{margin:8px 0}.agenda p{margin:0}.section-heading{display:block}.section-heading>.inline-link,.section-description{margin-top:22px}.paper{grid-template-columns:20px 1fr 20px;gap:10px}.paper h3{font-size:23px}.paper p{font-size:12px}.tag{font-size:8px}.project-grid,.writing-grid{grid-template-columns:1fr;gap:20px}.project-image{height:300px}.project-info h3{font-size:26px}.book-feature{grid-column:auto;display:block}.book-feature img{height:250px}.feature-essay{min-height:320px}.film-card{height:340px}.contact{padding-top:70px;padding-bottom:70px}.contact-links{gap:20px;font-size:10px}footer{align-items:start;flex-direction:column;gap:15px;padding:28px 6%}dialog{padding:25px}dialog h2{font-size:30px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal-ready{opacity:1;transform:none}}

/* Original personal mark, paired with the name in both brand positions. */
.wordmark,.footer-name{display:inline-flex;align-items:center;gap:12px}.brand-logo{display:inline-grid;place-items:center;flex:0 0 48px;width:48px;height:66px;overflow:hidden;background:#fff;border-radius:2px}.brand-logo img{display:block;width:96px;height:96px;max-width:none;object-fit:contain}.brand-name{display:block}.footer-name .brand-logo{background:transparent}.footer-name{gap:10px}@media(max-width:650px){.wordmark{gap:9px}.wordmark .brand-logo{flex-basis:40px;width:40px;height:56px}.wordmark .brand-logo img{width:82px;height:82px}.footer-name{font-size:21px}}
.brand-logo{position:relative}.brand-logo img{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}
/* Preserve the supplied PNG alpha without a backing panel. */
.brand-logo,.footer-name .brand-logo{background:transparent}

.spring-project .project-image{height:auto;aspect-ratio:3/2}.spring-project .project-image img{object-fit:contain}.case-study h2{margin-top:16px}.case-standfirst{font-size:19px!important;line-height:1.65}.case-figure{margin:28px 0}.case-photo{display:block;width:100%;height:auto}.case-figure figcaption{font-size:10px;color:#657065;margin-top:10px}.case-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding:20px 0;border-top:1px solid #174a2b30;border-bottom:1px solid #174a2b30;margin:25px 0}.case-facts span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:1px;color:#657065}.case-facts strong{display:block;font-size:13px;color:var(--green);margin-top:5px}.case-study h3{font-size:26px;margin:32px 0 15px}.case-study h4{font:600 15px/1.5 var(--sans);color:var(--green);margin:0 0 10px}.case-themes{display:grid;grid-template-columns:1fr 1fr;gap:20px}.case-themes section{padding:20px;background:var(--pale)}.case-themes p{font-size:13px;margin:0}.case-evidence{padding:22px;border-left:2px solid var(--gold);background:var(--pale);margin:20px 0}.case-evidence .inline-link{font-size:11px}dialog:has(.case-study){max-width:900px}@media(max-width:650px){.case-facts,.case-themes{grid-template-columns:1fr}.case-facts{gap:12px}.case-study h2{font-size:30px}.case-standfirst{font-size:17px!important}.case-evidence{padding:16px}}
.dialog-close{position:sticky;top:-25px;background:white;padding:8px 12px;z-index:2}
/* Crop the credit strip from both uses of the workshop photograph. */
.spring-project .project-image{aspect-ratio:1.65}
.spring-project .project-image img{object-fit:cover;object-position:center top}
.case-photo{aspect-ratio:1.65;object-fit:cover;object-position:center top}

/* Equal project-image frames across desktop and phone layouts. */
.project .project-image{height:auto;aspect-ratio:1.65}.book-feature img{object-position:75% 45%}
