@font-face{font-family:Montserrat;src:url(assets/montserrat-400.woff2) format('woff2');font-weight:400;font-display:swap}@font-face{font-family:Montserrat;src:url(assets/montserrat-500.woff2) format('woff2');font-weight:500;font-display:swap}@font-face{font-family:Montserrat;src:url(assets/montserrat-700.woff2) format('woff2');font-weight:700;font-display:swap}@font-face{font-family:Montserrat;src:url(assets/montserrat-800.woff2) format('woff2');font-weight:800;font-display:swap}
:root{font-family:Montserrat,sans-serif;font-synthesis:none;color:#f0f0eb;background:#0d0d0d;--ink:#0d0d0d;--paper:#f0f0eb;--green:#16a34a;--terra:#c84b31;--muted:#a3a39c;--line:#373a33;scroll-behavior:smooth;scrollbar-color:#777d70 #0d0d0d}
*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}p,h1,h2,h3,figure{margin:0}h1,h2,h3{font-weight:800;letter-spacing:-.04em}h1,h2,h3,p{text-wrap:pretty}img{display:block;max-width:100%}svg{fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:square;stroke-linejoin:miter}a:focus-visible,summary:focus-visible{outline:2px solid var(--green);outline-offset:5px}::selection{color:var(--ink);background:var(--green)}.skip{position:fixed;top:-100px;left:20px;z-index:100;background:var(--green);color:#0d0d0d;padding:14px}.skip:focus{top:15px}
.study-nav{display:flex;justify-content:space-between;gap:30px;padding:12px 3.5vw;border-bottom:1px solid var(--line);font-size:12px;color:var(--muted)}.study-nav a{min-height:30px;display:flex;align-items:center}.study-nav span{align-self:center}.study-nav a:hover{color:var(--paper)}
header{margin:0 3.5vw;min-height:106px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:block;width:276px;flex:none}.brand img{width:100%;height:auto}header nav{display:flex;align-items:center;gap:48px;font-size:12px;font-weight:500}header nav a{display:flex;align-items:center;gap:14px;min-height:44px}header nav svg{width:17px;height:17px}header nav a:hover{text-decoration:underline;text-underline-offset:6px}
.hero{margin:0 3.5vw;position:relative}.hero h1{position:relative;z-index:2}.hero h1>span{display:block;font-weight:500;letter-spacing:-.025em;line-height:1.3}.hero-lead{font-size:14px;line-height:1.85;color:#c6c9bd;max-width:52ch}
.action{display:inline-flex;align-items:center;gap:28px;font-size:13px;font-weight:700;min-height:64px}.action-square{display:grid;place-items:center;width:64px;height:64px;color:var(--ink);background:var(--green);transition:background 200ms,transform 200ms cubic-bezier(.2,.8,.2,1)}.action-square svg{width:25px;height:25px}.action:hover .action-square{background:#24b65a;transform:translate(2px,-2px)}
.face{position:relative;margin:0;min-width:0}.face img{width:100%;height:100%;object-fit:cover;object-position:50% 18%;-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 83%,transparent),linear-gradient(180deg,transparent,#000 8%,#000 75%,transparent);-webkit-mask-composite:source-in;mask-image:linear-gradient(90deg,transparent,#000 12%,#000 83%,transparent),linear-gradient(180deg,transparent,#000 8%,#000 75%,transparent);mask-composite:intersect}.face figcaption{font-size:12px;font-weight:700;line-height:1.7}.face figcaption span{display:block;color:var(--muted);font-weight:400;font-size:12px}
.hero-facts{display:grid;gap:28px;font-size:12px;line-height:1.7;color:var(--muted)}.hero-facts strong{color:var(--paper);font-size:18px;letter-spacing:-.025em;font-weight:700}.hero-facts p strong{display:block;margin-bottom:3px}.case-jump{display:flex;align-items:center;gap:16px;min-height:44px;font-size:12px;color:var(--muted)}.case-jump svg{width:16px;height:16px}
/* A: the person is the centre; copy is set around the portrait. */
.hero-a{padding:24px 0 0}.hero-a h1{font-size:clamp(50px,7.5vw,108px);line-height:1.02;text-align:center;font-weight:700}.hero-a h1>span{position:absolute;top:174px;left:0;width:27%;font-size:clamp(20px,2.3vw,33px);text-align:left;font-weight:500}.hero-a h1>span br{display:none}
.cover-body{display:grid;grid-template-columns:1fr 1.9fr 1fr;gap:24px;min-height:610px}.hero-a .face{height:630px;z-index:1;margin-top:-2px;grid-column:2;grid-row:1}.hero-a .face img{object-fit:cover;object-position:50% 18%}.hero-a .face figcaption{position:absolute;left:50%;bottom:50px;transform:translateX(-50%);width:100%;text-align:center}.cover-left{grid-column:1;grid-row:1;align-self:end;position:relative;z-index:2;padding-bottom:85px}.personal-title{font-size:12px;color:var(--muted);line-height:1.65;display:none}.cover-left .case-jump{margin-top:20px}.cover-right{grid-column:3;grid-row:1;align-self:center;padding-bottom:28px;z-index:2}.cover-right .hero-lead{font-size:14px}.cover-right .hero-facts{margin-top:44px;gap:24px}.cover-name{font-size:clamp(46px,8.6vw,124px);letter-spacing:-.04em;line-height:1.1;font-weight:700;position:relative;text-align:center;margin-top:-62px;z-index:2;padding-bottom:40px;pointer-events:none}
/* B: oversized poster typography and one large original photographic field. */
.hero-b{min-height:815px;padding-top:32px}.hero-b>.face{position:absolute;right:-2.5vw;top:-36px;width:57%;height:770px}.hero-b .face figcaption{position:absolute;right:9%;bottom:36px;text-align:right}.poster-copy{position:relative;z-index:2;width:62%}.hero-b h1{font-size:clamp(68px,9.3vw,134px);line-height:.96;font-weight:800}.hero-b h1>span{font-size:clamp(19px,2.1vw,30px);line-height:1.35;max-width:530px;margin-top:30px;font-weight:500}.poster-copy .action{margin-top:38px}.poster-bottom{position:relative;z-index:2;display:grid;grid-template-columns:1.15fr 1fr;gap:76px;width:68%;margin-top:72px;padding-bottom:50px}.poster-bottom .hero-lead{font-size:14px;max-width:48ch}.poster-bottom .hero-facts{display:flex;gap:40px;align-self:end}
/* C: a wide editorial headline, followed by a photographic spread. */
.hero-c{padding-top:24px;padding-bottom:48px}.hero-c h1{font-size:clamp(52px,7.5vw,108px);line-height:1.02;font-weight:700;max-width:none}.hero-c h1>span{font-size:clamp(21px,2.5vw,36px);margin-top:18px;max-width:1000px}.hero-c h1>span br{display:none}.wide-band{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center;margin-top:18px}.hero-c .face{height:450px;max-width:520px}.hero-c .face img{object-fit:cover;object-position:50% 30%}.hero-c .face figcaption{display:none}.band-copy .hero-lead{font-size:16px;line-height:1.8;max-width:43ch}.band-copy .action{margin-top:30px}.band-signature{margin-top:40px;font-size:14px;font-weight:700}.band-signature span{display:block;font-size:12px;color:var(--muted);font-weight:400;margin-top:6px}.hero-c>.hero-facts{display:flex;gap:80px;margin-top:18px;justify-content:flex-end;padding-right:4%}.hero-c>.hero-facts strong{display:inline;font-size:20px;margin-right:9px}
/* Case compositions use facts, not fabricated project imagery or charts. */
.case{padding:90px 3.5vw 100px;scroll-margin-top:20px}.project-title{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:58px}.project-title h2{font-size:clamp(36px,4vw,58px);line-height:1.1}.case-meta{font-size:12px;line-height:1.8;color:var(--muted);max-width:32ch}.case-story{display:grid;gap:20px;font-size:13px;line-height:1.9;color:#c6c9bd;max-width:65ch}.case-stats-new{display:flex;gap:54px;margin-top:40px}.case-stats-new strong{font-size:40px;line-height:1;letter-spacing:-.04em;color:var(--green);font-weight:700;display:block}.case-stats-new span{display:block;font-size:12px;line-height:1.8;margin-top:12px;color:var(--muted)}.case-note{font-size:12px;line-height:1.8;color:var(--muted);margin-top:24px;max-width:62ch}.network{width:100%;height:auto;stroke:none}.origin-node{fill:var(--paper)}.city-node{fill:#16a34a}.network-spread{margin-top:70px;border-top:1px solid var(--line);padding-top:32px;display:grid;grid-template-columns:1fr 200px;align-items:center;gap:70px}.network-spread>p{font-size:15px;line-height:1.6;color:var(--muted)}
.case-a{border-top:1px solid var(--line)}.case-a-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:100px}.case-statement>p{font-weight:500;font-size:clamp(32px,3.7vw,53px);line-height:1.15;letter-spacing:-.035em}.case-statement em{font-style:normal;color:var(--green)}.scale-pair{display:flex;align-items:center;gap:32px;margin-top:46px}.scale-pair>span{font-size:66px;line-height:1;font-weight:700;letter-spacing:-.04em}.scale-pair small{display:block;font-weight:400;font-size:12px;line-height:1.6;letter-spacing:0;color:var(--muted);margin-top:12px}.scale-pair>svg{width:100px;height:20px;color:var(--muted)}
.case-b{background:var(--paper);color:var(--ink);--muted:#575b50;--line:#c2c5b9}.case-b .case-story{color:#454b3f}.report-spread{display:grid;grid-template-columns:1fr 1fr;gap:80px}.report-art{padding:12px 60px 0 0;border-right:1px solid var(--line)}.project-wordmark{font-size:clamp(70px,9vw,130px);font-weight:800;letter-spacing:-.04em;line-height:.9}.report-count{margin-top:52px;display:grid;gap:16px}.report-count>span{font-size:12px;line-height:1.7;color:var(--muted)}.report-count>strong{font-size:clamp(90px,11vw,160px);line-height:.9;letter-spacing:-.04em;font-weight:700;color:#148440}.report-copy h3{font-size:30px;line-height:1.2;margin-bottom:30px}.case-b .case-stats-new strong{color:#148440}
.case-c{background:#191c17}.case-c-title{display:grid;grid-template-columns:1fr 1fr;gap:20px 70px;align-items:end}.case-c-title h2{font-size:56px;line-height:1.1}.case-c-title .case-meta{grid-row:2;grid-column:1}.case-c-title>p:last-child{grid-column:2;grid-row:1/3;font-size:32px;line-height:1.25;font-weight:500;letter-spacing:-.025em}.scale-panel{position:relative;display:grid;grid-template-columns:1fr 2fr;gap:70px;align-items:end;padding-block:70px 40px;margin-top:36px;border-block:1px solid #4c5345}.scale-panel>div{display:grid;gap:16px}.scale-panel strong{font-weight:700;letter-spacing:-.04em;line-height:.85}.scale-start strong{font-size:80px}.scale-start span,.scale-end span{font-size:12px;color:#bfc5b7;line-height:1.7}.scale-end strong{font-size:clamp(128px,18vw,260px);color:var(--green)}.scale-panel .network{grid-column:1/-1;margin-top:28px}.case-c-bottom{display:grid;grid-template-columns:1fr 1fr;gap:100px;margin-top:50px}.case-c-bottom .case-stats-new{margin-top:0}
footer{margin:0 3.5vw;padding-block:72px 30px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:50px}footer>p{font-size:clamp(28px,3.8vw,54px);font-weight:700;line-height:1.1;letter-spacing:-.04em}.back{grid-column:1/-1;min-height:44px;display:flex;align-items:center;color:var(--muted);font-size:12px;border-top:1px solid var(--line);margin-top:20px;padding-top:20px}
/* Review gallery, separate from the website concepts. */
.board header{border-bottom:1px solid var(--line)}.board header>a{font-size:12px;color:var(--muted);min-height:44px;display:flex;align-items:center}.board main{margin:65px 3.5vw 70px}.board h1{font-size:clamp(36px,5vw,68px);line-height:1.05;max-width:16ch}.board-intro{max-width:65ch;font-size:14px;line-height:1.8;color:var(--muted);margin-top:24px}.concepts{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:56px}.concept{min-width:0}.concept-preview{display:block;position:relative;background:#161714;overflow:hidden;border:1px solid var(--line)}.concept-preview iframe{position:absolute;top:0;left:0;width:1440px;height:960px;transform-origin:0 0;border:0;pointer-events:none}.concept-copy{padding-top:22px}.concept h2{font-size:22px;line-height:1.2;font-weight:700;letter-spacing:-.025em}.concept p{font-size:12px;line-height:1.8;color:var(--muted);margin-top:14px;max-width:50ch}.open-concept{min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line);margin-top:20px;font-size:12px;font-weight:500}.open-concept svg{width:19px;height:19px;color:var(--green)}.open-concept:hover{color:var(--green)}.board-note{font-size:13px;color:var(--muted);line-height:1.8;max-width:72ch;margin-top:50px}
@media(max-width:1100px) and (min-width:801px){.hero-a .cover-body{grid-template-columns:1fr 1.8fr 1fr;gap:15px;min-height:550px}.hero-a .face{height:570px}.hero-a h1>span{top:135px}.cover-left{padding-bottom:90px}.cover-left .action{gap:15px;font-size:12px}.action-square{width:54px;height:54px}.cover-right .hero-lead{font-size:12px}.cover-right .hero-facts{margin-top:24px}.poster-bottom{width:90%;gap:40px}.hero-b{min-height:760px}.hero-b>.face{height:670px}.case-a-grid,.case-c-bottom{gap:50px}.network-spread{gap:30px}.report-spread{gap:40px}.report-art{padding-right:40px}.case-stats-new{gap:30px}.concepts{gap:16px}.concept h2{font-size:19px}}
@media(max-width:800px){
 header{min-height:84px;margin-inline:20px}.brand{width:230px;max-width:65%}header nav{gap:0}header nav a:first-child{display:none}header nav a:last-child{font-size:0}header nav a:last-child svg{width:23px;height:23px}.study-nav{padding:8px 20px;font-size:12px}.study-nav>span{max-width:50%;text-align:right;font-size:12px;line-height:1.5}.hero{margin-inline:20px}
 .hero-lead{font-size:14px}.hero h1{font-size:clamp(40px,8.3vw,66px);line-height:1.02}.hero h1>span{font-size:20px;line-height:1.3;font-weight:500}.action{font-size:13px;gap:24px;min-height:56px}.action-square{width:56px;height:56px}
 .hero-a{padding-top:14px}.hero-a h1{text-align:left}.hero-a h1>span{position:static;width:100%;font-size:21px;margin-top:18px;max-width:24ch}.cover-body{grid-template-columns:1fr;gap:0;min-height:0}.hero-a .face{grid-column:1;grid-row:1;height:450px;width:100%;max-width:430px;justify-self:center;margin-top:6px}.hero-a .face img{object-fit:contain;object-position:50% 20%}.hero-a .face figcaption{display:none}.cover-left{grid-column:1;grid-row:2;padding:0;align-self:start;margin-top:-24px}.cover-left .case-jump{display:none}.cover-right{grid-column:1;grid-row:3;padding:0;margin-top:26px}.cover-right .hero-lead{font-size:14px;max-width:54ch}.cover-right .hero-facts{display:flex;gap:32px;margin-top:28px}.cover-name{font-size:clamp(27px,6vw,48px);margin-top:26px;text-align:left;line-height:1.1;padding-bottom:38px}.cover-right .hero-facts strong{font-size:20px}
 .hero-b{padding-top:16px;min-height:0}.hero-b>.face{position:relative;right:auto;top:auto;height:480px;width:100%;max-width:460px;margin:165px auto 0}.hero-b .face img{object-fit:contain}.hero-b .face figcaption{right:0;bottom:10px}.poster-copy{position:absolute;top:16px;left:0;width:100%}.hero-b h1{font-size:clamp(55px,12.5vw,92px);line-height:.94}.hero-b h1>span{font-size:19px;margin-top:20px;max-width:25ch}.poster-copy .action{margin-top:330px}.poster-bottom{display:block;width:100%;margin-top:82px;padding-bottom:38px}.poster-bottom .hero-lead{font-size:14px;max-width:54ch}.poster-bottom .hero-facts{margin-top:26px;gap:30px}
 .hero-c{padding-top:18px;padding-bottom:42px}.hero-c h1>span{font-size:21px;max-width:30ch;margin-top:17px}.wide-band{grid-template-columns:1fr;gap:0;margin-top:12px}.hero-c .face{height:390px;width:100%;max-width:440px;justify-self:center}.band-copy .hero-lead{font-size:14px;max-width:54ch}.band-copy .action{margin-top:24px}.band-signature{display:none}.hero-c>.hero-facts{gap:32px;justify-content:start;margin-top:30px;padding:0}.hero-c>.hero-facts strong{display:block;margin:0 0 5px}
 .case{padding:55px 20px 60px}.project-title{display:block;margin-bottom:32px}.project-title h2{font-size:36px;line-height:1.08}.project-title .case-meta{margin-top:18px;max-width:36ch}.case-a-grid,.report-spread,.case-c-bottom{grid-template-columns:1fr;gap:38px}.case-statement>p{font-size:36px}.scale-pair{margin-top:32px;gap:24px}.scale-pair>span{font-size:58px}.scale-pair>svg{width:80px}.case-story{font-size:13px;line-height:1.85}.case-stats-new{gap:30px;margin-top:28px}.case-stats-new strong{font-size:36px}.case-stats-new span{font-size:12px}.case-note{font-size:12px;line-height:1.8}.network-spread{grid-template-columns:1fr;gap:18px;margin-top:40px;padding-top:24px}.network-spread>p{font-size:12px}.network{min-height:70px}.report-art{border:0;border-bottom:1px solid var(--line);padding:0 0 32px;display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:end}.project-wordmark{font-size:64px}.report-count{margin:0;gap:12px}.report-count>strong{font-size:83px}.report-count>span{font-size:12px}.report-copy h3{font-size:28px;margin-bottom:24px}.case-c-title{display:block}.case-c-title h2{font-size:38px}.case-c-title .case-meta{margin-top:16px}.case-c-title>p:last-child{font-size:25px;margin-top:28px}.scale-panel{grid-template-columns:1fr 2fr;gap:28px;padding-block:35px 26px;margin-top:30px}.scale-start strong{font-size:54px}.scale-end strong{font-size:100px}.scale-start span,.scale-end span{font-size:12px}.case-c-bottom{margin-top:30px}
 footer{margin-inline:20px;padding-top:44px;grid-template-columns:1fr;gap:28px}footer>p{font-size:32px}footer>.action{justify-self:start}.back{grid-column:1;margin-top:10px}
 .board main{margin:42px 20px}.board header>a{font-size:12px;max-width:90px;line-height:1.6}.board h1{font-size:42px}.board-intro{font-size:13px}.concepts{grid-template-columns:1fr;gap:44px;margin-top:35px}.concept h2{font-size:25px}.concept p{font-size:13px}.concept-preview iframe{visibility:visible}.board-note{font-size:12px}
}
@media(max-width:370px){.case-b .project-title h2{font-size:28px}.brand{width:210px}.hero-a .face{height:410px}.hero h1{font-size:38px}.hero-b h1{font-size:44px}.hero-a h1>span,.hero-c h1>span{font-size:19px}.hero-b>.face{height:435px;margin-top:165px}.poster-copy .action{margin-top:300px}.poster-bottom{margin-top:82px}.hero-facts{font-size:12px}.cover-right .hero-facts{gap:20px}.report-art{gap:16px}.project-wordmark{font-size:56px}.report-count>strong{font-size:72px}.scale-end strong{font-size:88px}.case-stats-new{gap:24px}.case-stats-new strong{font-size:31px}.cover-name{font-size:27px}.action{font-size:12px}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
/* Two shortlisted directions. Same content, distinct visual hierarchy. */
.study-nav{position:sticky;top:0;z-index:20;background:#0d0d0df5;backdrop-filter:blur(12px);padding-block:7px;min-height:54px}
.study-nav nav{display:flex;gap:28px;align-items:center}.study-nav nav a{min-height:38px;border-bottom:2px solid transparent}.study-nav [aria-current=page]{color:var(--paper);border-bottom-color:var(--paper)}
.hero-a .cover-name{font-weight:800;letter-spacing:-.065em;font-size:clamp(46px,8.8vw,142px)}
.hero-a h1{letter-spacing:-.055em}.hero-a h1>span{letter-spacing:-.025em}
.hero-a .face figcaption{bottom:74px}.hero-a .cover-right{padding-bottom:54px}
.hero-b h1{letter-spacing:-.065em}.hero-b .poster-copy{width:67%}.hero-b h1>span{letter-spacing:-.025em}
.hero-b>.face{right:-1vw;width:59%;height:790px;top:-20px}.hero-b .face figcaption{bottom:54px;right:9%}
.hero-b .poster-bottom{width:74%;gap:65px}.hero-b .poster-bottom .hero-facts{gap:28px}
.case-b .project-title h2{font-size:clamp(40px,5.5vw,80px)}
.board .concepts{grid-template-columns:repeat(2,minmax(0,1fr));gap:38px}.board h1{max-width:22ch;font-size:clamp(40px,5.6vw,82px);letter-spacing:-.055em}.review-label{font-size:12px;color:var(--muted);margin-bottom:26px}.concept-preview iframe{height:1900px}.board main{max-width:1680px;margin-inline:auto;padding-inline:3.5vw}.concept-preview{transition:border-color 200ms}.concept-preview:hover{border-color:#aaa}.concept-preview:focus-visible{outline-offset:5px}
@media(min-width:1600px){.study header,.study .hero,.study footer{max-width:1550px;margin-inline:auto}.study .case{padding-inline:max(3.5vw,calc((100vw - 1550px)/2))}.hero-a h1>span{top:190px}.cover-body{min-height:680px}.hero-a .face{height:700px}.hero-b{min-height:900px}.hero-b>.face{height:860px}.poster-bottom{margin-top:95px}}
@media(max-width:1100px) and (min-width:801px){.hero-b>.face{height:680px}.hero-b .poster-bottom{width:94%;gap:40px}.hero-a .face figcaption{bottom:90px}.hero-a .cover-right{padding-bottom:28px}}
@media(max-width:800px){.study-nav{gap:15px;padding-inline:20px}.study-nav nav{gap:18px}.study-nav nav a{font-size:12px}.board main{padding-inline:20px}.board .concepts{grid-template-columns:1fr;gap:48px}.hero-a .cover-name{font-size:clamp(27px,6vw,48px);letter-spacing:-.04em}.hero-a .cover-right{padding-bottom:0}.hero-b .poster-copy{position:static;width:100%}.hero-b>.face{position:static;width:100%;height:auto;aspect-ratio:4/4.6;margin:0 auto;max-width:470px}.hero-b{display:flex;flex-direction:column}.hero-b>.face{display:none}.hero-b .poster-mobile-photo{display:block}.hero-b .poster-mobile-photo .face{height:auto;width:100%;aspect-ratio:4/4.3;max-width:440px;margin:0 auto}.hero-b .poster-mobile-photo figcaption{display:none}.hero-b .poster-copy .action{margin-top:-15px}.hero-b .poster-bottom{width:100%;margin-top:28px;padding-bottom:45px}.hero-b h1>span{max-width:29ch}.case-b .project-title h2{font-size:36px}}
@media(prefers-reduced-motion:reduce){.concept-preview{transition:none}}

@media(min-width:801px){.poster-mobile-photo{display:none}}
