@font-face{font-family:Archivo;src:url('assets/archivo-black.ttf');font-weight:900;font-display:swap}
@font-face{font-family:Nebulica;src:url('assets/nebulica-completa-v2.ttf') format('truetype');font-weight:900;font-style:normal;font-display:swap}
@font-face{font-family:Poppins;src:url('assets/poppins.ttf');font-display:swap}
:root{--ink:#142130;--paper:#F0EBDD;--accent:#c95b54;--mint:#c8d9cc;--rule:#14213035;--progress:0%;--header:88px;--gutter:clamp(22px,4vw,72px);--shift:0px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header) + 20px)}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.6 Poppins,Arial,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:none;border:0}button:disabled{opacity:.28;cursor:default}img{display:block;max-width:100%}[hidden]{display:none!important}:focus-visible{outline:3px solid var(--accent);outline-offset:5px}::selection{background:var(--accent);color:var(--paper)}h1,h2,h3,.manifesto>p{font-family:Nebulica,Archivo,'Arial Black',Arial,sans-serif;font-weight:900}
.skip{position:fixed;left:20px;top:-80px;padding:12px;background:var(--ink);color:var(--paper);z-index:200}.skip:focus{top:8px}.reading-line{position:fixed;top:0;left:0;height:3px;width:var(--progress);background:var(--accent);z-index:100;pointer-events:none}
/* The navigation is a compact masthead, with the full index on demand. */
.sidebar{position:fixed;inset:0 0 auto;height:var(--header);padding:14px var(--gutter);z-index:30;background:var(--paper);border-bottom:1px solid var(--rule);display:flex;align-items:center;justify-content:space-between}.brand{display:block;flex-shrink:0}.brand img{width:146px;height:auto}.brand span{font-size:7px;letter-spacing:1px;display:block;margin-top:6px}.header-actions{display:flex;align-items:center;gap:40px}.header-contact{font-size:13px;border-bottom:1px solid;padding:6px 0}.header-contact span{font-size:20px;margin-left:10px}.mobile-toggle{display:flex;align-items:center;gap:18px;min-height:48px;padding:8px 16px;background:var(--ink);color:var(--paper);font-weight:bold;font-size:14px}.menu-total{font-size:10px;font-weight:400;border:1px solid #f0ebdd70;padding:1px 5px}.menu-icon{font:30px/1 Arial;transition:transform .3s}.open .menu-icon{transform:rotate(45deg)}.nav-wrap{display:none;position:absolute;top:var(--header);left:0;right:0;height:calc(100dvh - var(--header));padding:24px var(--gutter) 22px;background:var(--paper);overflow-y:auto;overscroll-behavior:contain}.sidebar.open .nav-wrap{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(220px,1fr);gap:5vw;animation:menu-in .3s ease both}.nav-menu{min-width:0;display:flex;flex-direction:column}.nav-label{display:flex;justify-content:space-between;font-size:10px;letter-spacing:1px;margin:0 0 16px;color:#58636a}#project-index{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}#project-index a{display:flex;gap:12px;align-items:center;min-height:48px;border-top:1px solid var(--rule);font-size:13px;line-height:1.25;padding:10px 5px;transition:background .2s,padding .2s}#project-index a small{font-size:10px;opacity:.55;min-width:20px}#project-index a:hover,#project-index a[aria-current=page]{background:var(--ink);color:var(--paper);padding-left:12px}.contact{font-size:21px;font-weight:bold;align-self:start;border-bottom:1px solid;margin-top:24px}.side-bottom{margin-top:auto;padding-top:20px;display:flex;justify-content:space-between;gap:18px;font-size:12px}.side-bottom button{padding:6px 0;min-height:44px;text-align:left}.side-bottom a{padding:6px 0;align-self:center}.nav-preview{display:flex;flex-direction:column;justify-content:center;min-height:0}.nav-preview-image{height:min(55vh,480px);background:var(--ink);padding:16px;overflow:hidden}.nav-preview img{height:100%;width:100%;object-fit:contain}.nav-preview p{font-size:14px;font-weight:bold;margin:14px 0 4px}.nav-preview>span{font-size:9px;letter-spacing:1px}
main{padding-top:var(--header);min-width:0}.masthead{display:flex;justify-content:space-between;gap:20px;padding:16px var(--gutter);font-size:10px;letter-spacing:.8px;border-bottom:1px solid var(--rule)}.eyebrow{font-size:11px;letter-spacing:1.2px;font-weight:bold;margin:0 0 24px}.hero{position:relative;min-height:min(860px,calc(100svh - 110px));padding:32px var(--gutter) 72px;overflow:hidden}.hero-type{position:relative;z-index:3;width:58%;transform:translate3d(0,var(--type-shift,0px),0);pointer-events:none}.hero-type a{pointer-events:auto}.hero h1{font-size:clamp(90px,11.2vw,180px);line-height:.88;letter-spacing:-.065em;margin:35px 0 28px}.hero h1 span{color:transparent;-webkit-text-stroke:1.8px var(--ink)}.hero-intro{font-size:16px;line-height:1.6;max-width:350px}.explore{display:inline-flex;align-items:center;gap:35px;margin-top:12px;border-bottom:1px solid;padding:8px 0;font-size:14px;min-height:48px}.explore span{font-size:30px;transition:transform .25s}.explore:hover span{transform:translateY(5px)}.hero-collage{position:absolute;inset:12px 0 90px 47%;pointer-events:none}.shard{position:absolute;pointer-events:auto;overflow:hidden;background:var(--ink);transform:translate3d(0,var(--shift),0);will-change:transform}.shard img{width:100%;height:100%;object-fit:cover;transition:scale .7s}.shard:hover img{scale:1.06}.shard span{position:absolute;bottom:12px;left:13px;font-size:9px;color:var(--paper);background:var(--ink);padding:5px 8px}.shard-one{width:67%;height:74%;top:3%;right:0;clip-path:polygon(12% 0,100% 0,100% 95%,0 100%)}.shard-two{width:63%;height:51%;top:43%;left:-5%;clip-path:polygon(0 8%,91% 0,100% 100%,8% 94%)}.shard-three{width:39%;height:38%;bottom:0;right:-2%;clip-path:polygon(8% 0,100% 11%,100% 100%,0 100%)}.crosshair{position:absolute;top:31%;left:6%;font:70px/1 Arial;color:var(--accent)}.hero-foot{position:absolute;bottom:0;left:var(--gutter);right:var(--gutter);padding:18px 0;border-top:1px solid var(--rule);display:flex;justify-content:space-between;gap:20px;font-size:9px;letter-spacing:.5px}
.featured{padding:70px 0 60px var(--gutter);background:var(--ink);color:var(--paper);overflow:hidden}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:28px}.featured .section-heading{padding-right:var(--gutter)}.section-heading h2{font-size:clamp(34px,4.5vw,72px);line-height:1.03;letter-spacing:-.04em;margin:0}.section-heading .eyebrow{margin-bottom:16px}.arrows{display:flex;align-items:center;gap:14px;flex-shrink:0}.solid-arrow{display:block;width:30px;height:30px;flex-shrink:0}.solid-arrow.points-left{transform:rotate(180deg)}.arrows button{display:grid;place-items:center;width:54px;height:50px;background:var(--paper);color:var(--ink);clip-path:polygon(0 0,87% 0,100% 16%,100% 100%,0 100%);transition:background .2s,transform .2s}.arrows button:hover:enabled{background:#E98975;transform:translateY(-2px)}.arrows button:focus-visible{clip-path:none}.arrows>span{font-size:13px;min-width:40px;text-align:center}.rail-instruction{display:flex;justify-content:space-between;margin-bottom:18px;padding-right:var(--gutter);font-size:11px;color:#c2c6c5}.rail-instruction.no-overflow{visibility:hidden}.project-rail{display:flex;gap:16px;overflow:auto;scroll-snap-type:x mandatory;padding:0 var(--gutter) 18px 0;scrollbar-width:thin;scrollbar-color:#7a8b8f transparent;cursor:grab;overscroll-behavior-inline:contain;touch-action:pan-x pan-y}.project-rail.dragging{scroll-snap-type:none;cursor:grabbing;user-select:none}.rail-card{flex:0 0 calc((100% - 64px)/5);min-width:0;scroll-snap-align:start}.rail-image{aspect-ratio:3/4;overflow:hidden;background:#20343f}.rail-image img{width:100%;height:100%;object-fit:cover;transition:transform .65s}.rail-image.show-complete img{object-fit:contain;padding:12px}.rail-card:hover img{transform:scale(1.045)}.rail-caption{display:flex;justify-content:space-between;gap:12px;font-size:12px;line-height:1.4;padding-top:15px;align-items:start}.rail-caption .solid-arrow{width:22px;height:22px}.rail-caption>span{max-width:calc(100% - 30px)}
.archive{padding:85px var(--gutter)}.archive .section-heading p{font-size:14px;margin:0;max-width:240px}.filters{display:flex;gap:12px;flex-wrap:wrap;margin:38px 0 20px;counter-reset:discipline}.filters button{counter-increment:discipline;display:flex;align-items:center;gap:13px;min-height:56px;padding:12px 20px;border:2px solid var(--ink);border-bottom-width:6px;font-family:Nebulica,Archivo,'Arial Black',Arial,sans-serif;font-size:17px;font-weight:900;line-height:1.2;text-align:left;transition:background .2s,color .2s,transform .2s}.filters button:before{content:'0' counter(discipline);font:10px/1 Poppins,Arial;opacity:.7}.filters button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.filters button:hover{background:var(--mint);transform:translateY(-2px)}.filters button[aria-pressed=true]:hover{background:var(--ink)}.filter-status{font-size:12px;color:#546169;margin-bottom:20px}.project-row{display:grid;grid-template-columns:35px minmax(0,1fr) 200px 32px;align-items:center;gap:18px;padding:24px 4px;border-top:1px solid var(--rule);position:relative}.project-row:last-child{border-bottom:1px solid var(--rule)}.project-row .num{font-size:11px}.project-row h3{font-size:clamp(23px,3.1vw,50px);line-height:1.05;margin:0;letter-spacing:-.03em}.project-row .discipline{font-size:11px;max-width:200px}.row-arrow{font-size:30px}.row-preview{position:absolute;width:280px;height:180px;object-fit:cover;right:120px;top:50%;transform:translateY(-50%) rotate(-4deg) scale(.9);opacity:0;pointer-events:none;z-index:4;transition:opacity .2s,transform .3s;box-shadow:0 12px 28px #0003}.project-row:hover .row-preview,.project-row:focus-visible .row-preview{opacity:1;transform:translateY(-50%) rotate(3deg) scale(1)}.project-row:hover h3{color:var(--accent)}.manifesto{padding:70px var(--gutter) 85px;background:#d9e4dc;display:grid;grid-template-columns:1.3fr 1fr;gap:28px}.manifesto>.eyebrow{grid-column:1/-1}.manifesto>p{font-size:clamp(40px,5.5vw,88px);line-height:1.04;letter-spacing:-.04em;margin:0}.manifesto em{font-style:normal;color:#a34650}.manifesto>div{align-self:end;max-width:340px;justify-self:end;font-size:16px}footer{background:var(--ink);color:var(--paper);padding:75px var(--gutter) 32px}footer h2{font-size:clamp(55px,9vw,145px);line-height:.95;letter-spacing:-.05em;margin:30px 0}.email{font-size:clamp(16px,3.2vw,46px);border-bottom:1px solid;overflow-wrap:anywhere}.footer-links{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid #f0ebdd44;margin-top:60px;padding-top:22px;font-size:12px}.footer-links a{padding:10px 0}
#project{padding:35px var(--gutter) 70px}.back-link{display:inline-block;font-size:14px;margin-bottom:35px;border-bottom:1px solid;padding:10px 0}.project-heading h1{font-size:clamp(44px,7.5vw,120px);line-height:.98;margin:18px 0;letter-spacing:-.04em;overflow-wrap:anywhere}.project-heading>p:last-child{font-size:16px;max-width:800px;margin:25px 0 35px}.project-screen{background:var(--case-bg,var(--ink));color:var(--paper);padding:24px}.screen-top{display:flex;gap:16px;align-items:center;margin-bottom:24px}.screen-top>span{font-size:13px;color:var(--case-color,var(--mint))}.screen-top h2{font-family:Poppins,Arial;font-size:16px;margin:0;flex:1;font-weight:400}.screen-top button{font-size:13px;border-bottom:1px solid;padding:9px 0;min-height:44px}.board{display:flex;justify-content:center;gap:16px;min-height:0;animation:frame-in .3s ease both}.board button{padding:0;min-width:0;flex:1;display:grid;place-items:center;cursor:zoom-in}.board img{width:100%;height:auto;max-height:78vh;object-fit:contain}.board.multiple img{max-height:65vh}.screen-bottom{display:flex;align-items:center;justify-content:space-between;gap:25px;border-top:1px solid #ffffff40;padding-top:18px;margin-top:24px}.screen-bottom>p{font-size:13px;max-width:70%;margin:0}.screen-bottom>p a{border-bottom:1px solid}.screen-bottom .arrows{gap:12px}.board-strip{display:flex;gap:16px;overflow:auto;margin:22px 0 35px;padding:5px 4px 15px;scrollbar-width:thin;scroll-snap-type:x proximity}.board-strip button{flex:0 0 180px;padding:0;text-align:left;opacity:.65;scroll-snap-align:start}.board-strip button[aria-pressed=true]{opacity:1}.board-strip button[aria-pressed=true] img{outline:2px solid var(--ink);outline-offset:3px}.board-strip img{width:180px;height:110px;object-fit:cover}.board-strip span{font-size:12px;display:block;margin-top:10px}.next-case{display:flex;justify-content:space-between;gap:30px;font-size:14px}.next-case a{border-bottom:1px solid;padding:12px 0;max-width:47%}.next-case a:last-child{text-align:right}
/* Native dialog, scrollable full-size images and large touch controls. */
dialog{inset:0;max-width:none;max-height:none;width:100%;height:100dvh;margin:0;padding:0;border:0;background:#111c27;color:var(--paper);grid-template-rows:auto minmax(0,1fr) auto auto}dialog[open]{display:grid}dialog::backdrop{background:#111c27ed}.viewer-toolbar,.viewer-footer{padding:12px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:13px;min-height:68px}.viewer-toolbar>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.viewer-toolbar div{display:flex;gap:16px;flex-shrink:0}.viewer-toolbar button{padding:10px 8px;min-height:44px;border-bottom:1px solid #ffffff55}.viewer-canvas{min-height:0;overflow:auto;display:flex;align-items:center;justify-content:center;padding:16px;overscroll-behavior:contain;touch-action:pan-x pan-y pinch-zoom}.viewer-canvas img{max-height:100%;max-width:100%;object-fit:contain;flex-shrink:0}.viewer-canvas.zoomed{display:block}.viewer-canvas.zoomed img{max-height:none;max-width:none;width:max(140%,1200px);height:auto;margin:0}.viewer-footer{border-top:1px solid #ffffff40}.viewer-footer button{display:flex;align-items:center;gap:12px;font-size:14px;font-weight:bold;padding:8px;min-height:48px}.viewer-footer button:hover:enabled{color:#E98975}.viewer-footer .solid-arrow{width:30px;height:30px}#viewer-hint{font-size:11px;text-align:center;margin:0;padding:8px 14px;color:#c6cbce}
.motion-off *, .motion-off *::before,.motion-off *::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}.motion-off .shard,.motion-off .hero-type{transform:none!important}.motion-off .shard:hover img{scale:1}noscript{padding:20px;display:block;background:var(--mint)}@keyframes frame-in{from{opacity:.4;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes menu-in{from{opacity:.3;transform:translateY(-12px)}to{opacity:1;transform:none}}
@media(min-width:1500px){.hero{min-height:900px}.hero h1{font-size:180px}.hero-collage{left:48%}.hero-intro{font-size:18px}}
@media(max-width:1200px){.rail-card{flex-basis:calc((100% - 32px)/3)}.hero-foot span:last-child{display:none}.sidebar.open .nav-wrap{grid-template-columns:minmax(0,1.8fr) minmax(210px,1fr);gap:30px}#project-index a{font-size:12px}.project-row{grid-template-columns:30px minmax(0,1fr) 170px 30px}.project-row .discipline{font-size:10px}}
@media(max-width:900px){.hero{min-height:740px}.hero h1{font-size:clamp(78px,12vw,112px)}.hero-type{width:60%}.hero-collage{left:45%}.hero .eyebrow{font-size:9px}.hero-intro{font-size:14px}.nav-preview{display:none}.sidebar.open .nav-wrap{display:block}.nav-wrap{padding-top:20px}#project-index a{font-size:15px;min-height:50px}.nav-menu{min-height:100%}.side-bottom{padding-top:20px}.archive .section-heading p{font-size:12px}.project-row{grid-template-columns:24px minmax(0,1fr) 30px}.project-row .discipline{display:none}.project-row h3{font-size:clamp(24px,4vw,40px)}.row-preview{display:none}.filters button{font-size:16px;padding:12px 16px}.board.multiple{flex-wrap:wrap}.board.multiple button{flex:1 1 42%}.screen-bottom{flex-wrap:wrap}.screen-bottom>p{max-width:100%;flex-basis:100%}.screen-bottom .arrows{margin-left:auto}.manifesto>div{font-size:14px}}
@media(max-width:700px){:root{--header:76px;--gutter:20px}.sidebar{padding-top:10px;padding-bottom:10px}.brand img{width:113px}.brand span{font-size:5px;letter-spacing:.6px}.header-actions{gap:14px}.header-contact{font-size:12px}.header-contact span{display:none}.mobile-toggle{gap:10px;padding:8px 10px;font-size:12px}.menu-total{display:none}.menu-icon{font-size:26px}.masthead{font-size:8px;padding:12px 20px}.masthead span:last-child{display:none}.hero{min-height:0;padding:26px 20px 0;display:flex;flex-direction:column}.hero-type{width:100%;transform:none}.hero h1{font-size:clamp(72px,18vw,120px);line-height:.88;margin:27px 0 22px}.hero .eyebrow{font-size:9px;margin-bottom:10px}.hero-intro{font-size:15px;max-width:100%;margin:0 0 8px}.explore{margin-top:8px;font-size:13px;gap:30px}.hero-collage{position:relative;inset:auto;flex-shrink:0;height:360px;margin:18px -20px 0 0;width:calc(100% + 20px);isolation:isolate}.shard-one{width:56%;height:90%;top:0;right:0}.shard-two{width:62%;height:73%;left:0;top:18%}.shard-three{width:36%;height:47%;right:-2%;bottom:0}.shard span{font-size:8px;left:10px;bottom:9px}.crosshair{font-size:48px;top:0;left:13%}.hero-foot{position:relative;left:auto;right:auto;bottom:auto;margin-top:24px;font-size:8px;padding:17px 0}.featured{padding-top:45px;padding-bottom:36px}.section-heading{gap:16px;align-items:start}.section-heading h2{font-size:clamp(32px,6.8vw,48px)}.section-heading .eyebrow{font-size:9px;letter-spacing:1px}.featured .section-heading{flex-wrap:wrap}.arrows{gap:10px}.arrows button{width:46px;height:44px}.rail-card{flex-basis:68%}.rail-caption{font-size:12px}.project-rail{padding-bottom:20px}.rail-instruction{font-size:11px}.archive{padding-top:55px;padding-bottom:55px}.archive .section-heading{display:block}.archive .section-heading p{font-size:13px;margin-top:20px;max-width:none}.archive .section-heading p br{display:block}.filters{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:28px}.filters button{font-size:15px;padding:12px;gap:10px;min-height:56px}.filters button:last-child{grid-column:1/-1}.filters button:before{font-size:9px}.project-row{grid-template-columns:22px minmax(0,1fr) 26px;gap:10px;padding:22px 0}.project-row h3{font-size:clamp(22px,5.8vw,31px);overflow-wrap:anywhere}.project-row .num{font-size:10px}.manifesto{grid-template-columns:1fr;padding-top:45px;padding-bottom:55px}.manifesto>p{font-size:clamp(40px,10vw,62px)}.manifesto>div{justify-self:start;max-width:100%;font-size:15px;margin-top:10px}footer{padding-top:50px}.footer-links{margin-top:40px;gap:12px 22px;justify-content:flex-start;font-size:12px}.footer-links span{flex-basis:100%}.email{font-size:clamp(15px,4.5vw,30px)}#project{padding-top:22px;padding-bottom:40px}.back-link{font-size:13px;margin-bottom:23px}.project-heading .eyebrow{font-size:10px}.project-heading h1{font-size:clamp(40px,10vw,65px)}.project-heading>p:last-child{font-size:15px;line-height:1.65;margin:22px 0 28px}.project-screen{padding:14px;margin-left:-8px;margin-right:-8px}.screen-top{display:grid;grid-template-columns:26px 1fr;gap:8px;margin-bottom:16px}.screen-top h2{font-size:14px;line-height:1.4}.screen-top button{grid-column:2;justify-self:start;font-size:13px}.screen-bottom{margin-top:16px;gap:16px}.screen-bottom>p{font-size:13px;line-height:1.6}.board.multiple{display:grid;grid-template-columns:1fr}.board img,.board.multiple img{max-height:none;width:100%}.board-strip button{flex-basis:155px}.board-strip img{width:155px;height:100px}.board-strip span{font-size:11px}.next-case{font-size:12px;gap:20px}.viewer-toolbar{padding:8px 12px;flex-wrap:wrap;gap:6px;min-height:60px}.viewer-toolbar>span{font-size:11px;max-width:42%}.viewer-toolbar div{gap:8px}.viewer-toolbar button{font-size:12px;padding:10px 6px}.viewer-canvas{padding:8px}.viewer-canvas.zoomed img{width:max(240%,1100px)}.viewer-footer{padding:8px;font-size:12px;gap:4px;min-height:64px}.viewer-footer button{font-size:11px;gap:5px;padding:6px}.viewer-footer .solid-arrow{width:25px;height:25px}#viewer-hint{font-size:10px}#project-index{gap:0 14px}#project-index a{font-size:12px;min-height:50px;gap:8px;padding:10px 2px}#project-index a small{font-size:9px;min-width:16px}.nav-label{font-size:9px}.contact{font-size:20px;margin-top:20px}.side-bottom{font-size:11px}.nav-wrap{padding-bottom:calc(18px + env(safe-area-inset-bottom))}}
@media(max-width:360px){.header-contact{display:none}.hero h1{font-size:19vw}.hero-collage{height:310px}.filters button{font-size:14px;padding:10px;gap:7px}.viewer-toolbar>span{max-width:36%}#project-index a{font-size:11px}.arrows button{width:44px}}
@media(max-height:650px) and (min-width:901px){#project-index a{min-height:38px;padding-top:7px;padding-bottom:7px}.nav-label{margin-bottom:10px}.contact{margin-top:14px}.nav-wrap{padding-top:16px}.side-bottom{padding-top:10px}.nav-preview-image{height:55vh}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.shard,.hero-type{transform:none!important}.shard:hover img{scale:1}}


