@font-face{font-family:Unbounded;src:url('fonts/Unbounded[wght].ttf') format('truetype');font-weight:200 900;font-display:swap}
@font-face{font-family:Manrope;src:url('fonts/Manrope[wght].ttf') format('truetype');font-weight:200 800;font-display:swap}
@font-face{font-family:'IBM Plex Mono';src:url('fonts/IBMPlexMono-Regular.ttf') format('truetype');font-weight:400 500;font-display:swap}
@font-face{font-family:'IBM Plex Mono';src:url('fonts/IBMPlexMono-SemiBold.ttf') format('truetype');font-weight:600 700;font-display:swap}
:root{--paper:#f1efe8;--ink:#111;--muted:#6f6d66;--lime:#c7ff32;--display:Unbounded,Arial,sans-serif;--body:Manrope,Arial,sans-serif;--mono:'IBM Plex Mono',monospace;--pad:28px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font:300 20px/1.5 var(--body)}body>main,body>header,body>footer,.mobile-menu{max-width:1920px;margin-inline:auto}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--display);font-weight:800;line-height:1.12;letter-spacing:-.035em}h1{font-size:clamp(40px,6vw,104px)}h2{font-size:clamp(30px,4.5vw,64px)}h3{font-size:26px;font-weight:700}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:5px}button{font:inherit;cursor:pointer;color:inherit}img{display:block;max-width:100%;height:auto}button,a{touch-action:manipulation}a:focus-visible,button:focus-visible{outline:3px solid #6153e3;outline-offset:5px}.eyebrow{font:400 11px/1.4 var(--mono);letter-spacing:1.5px;text-transform:uppercase}.skip{position:fixed;z-index:20;top:-100px;left:16px;background:var(--lime);padding:12px}.skip:focus{top:8px}.site-header{height:81px;padding:24px var(--pad);display:flex;align-items:center;justify-content:space-between;position:relative}.site-header:after{content:'';height:1px;background:var(--ink);position:absolute;bottom:0;left:var(--pad);right:var(--pad)}.brand{font:700 14px/1 var(--display);letter-spacing:-.4px}.site-header nav{display:flex;gap:38px;font:400 11px/1.4 var(--mono);letter-spacing:1px}.menu-toggle{display:none;border:0;padding:10px 0;background:transparent;font:11px var(--mono)}.mobile-menu{padding:24px var(--pad);background:var(--lime)}.mobile-menu[hidden]{display:none}.mobile-menu a{display:block;padding:14px 0;font:700 24px var(--display)}
.home-hero{padding:37px var(--pad) 46px}.hero-top{display:grid;grid-template-columns:358fr 998fr;gap:28px}.role p{font:800 25px/1.05 var(--display);letter-spacing:-.6px}.role i{display:block;width:94px;height:8px;background:var(--lime);margin:28px 0}.role .eyebrow{display:block}.availability{display:inline-block;background:var(--lime);margin-top:48px;padding:10px 14px;font:11px var(--mono)}.carousel{position:relative;aspect-ratio:998/450;overflow:hidden;background:black}.hero-slide{position:absolute;inset:0;display:grid;grid-template-columns:232fr 766fr;animation-duration:8s;animation-timing-function:linear;animation-iteration-count:infinite;opacity:0}.slide-label{color:var(--paper);padding:20px 16px;display:flex;flex-direction:column;justify-content:space-between;border-right:4px solid var(--lime)}.slide-label strong{font:700 clamp(12px,1.65vw,24px)/1.15 var(--display)}.hero-slide img{width:100%;height:100%;object-fit:cover;min-width:0}.slide-0{animation-name:slide0;opacity:1}.slide-1{animation-name:slide1}.slide-2{animation-name:slide2}.slide-3{animation-name:slide3}.paused .hero-slide{animation-play-state:paused}.carousel-controls{display:flex;align-items:center;gap:12px;margin-top:12px}.carousel-controls button{font:10px var(--mono);background:transparent;border:0;padding:8px}.progress-lines{display:flex;gap:8px;flex:1}.progress-lines i{height:3px;background:#c4c2bc;flex:1}.progress-lines i:first-child{background:var(--ink)}.home-hero h1{font-size:clamp(40px,5.15vw,98px);margin-top:24px;white-space:nowrap}.hero-subtitle{font-size:clamp(22px,3.2vw,60px);font-weight:300;margin-top:8px;line-height:1.38}.hero-bottom{display:flex;justify-content:space-between;gap:24px;margin-top:80px}.ticker{background:#000;color:var(--paper);border-top:6px solid var(--lime);padding:27px var(--pad);font:600 34px var(--mono)}.projects{padding:72px var(--pad)}.section-title{display:flex;justify-content:space-between;align-items:end;margin-bottom:54px}.section-title h2{font-size:78px;margin-top:14px}.projects-grid,.catalog-grid{display:grid;grid-template-columns:1fr 1fr;gap:62px 56px}.project-card{display:block;min-width:0}.project-card img{width:100%;object-fit:contain}.project-card h3{margin-top:14px}.card-meta{margin-top:20px;font:11px/1.5 var(--mono);letter-spacing:1px}.project-card p{margin-top:14px;font-size:18px;line-height:1.4}.projects-grid .project-card:nth-child(1),.projects-grid .project-card:nth-child(4){grid-column:1/-1}.projects-grid .project-card img{height:430px;object-fit:cover}.projects-grid .project-card:nth-child(1) img{height:700px}.projects-grid .project-card:nth-child(4) img{height:640px;object-fit:contain;background:#000}.projects-grid .project-card:nth-child(n+5) img{height:480px}.projects-grid .project-card p{display:none}.all-link{display:block;margin-top:64px;border-bottom:1px solid var(--ink);padding:0 0 28px;text-align:right;font:500 24px/1.4 var(--mono)}.about-teaser{background:#000;color:var(--paper);padding:64px var(--pad) 80px}.about-teaser h2{margin-top:30px;font-size:clamp(32px,4.3vw,74px)}.about-teaser>div{margin:70px 0 0 28%;max-width:850px}.about-teaser a{display:block;text-align:right;font:12px var(--mono);color:var(--lime);margin-top:36px}.footer{padding:64px var(--pad) 32px;background:#000;color:var(--paper)}.footer.lime{background:var(--lime);color:var(--ink)}.footer h2{margin:38px 0;font-size:clamp(32px,4.45vw,72px)}.contact-note{font-size:16px}.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin-top:72px}.contact-grid a{border:1px solid currentColor;padding:18px 16px;font:clamp(13px,1.55vw,24px)/1.4 var(--mono);overflow-wrap:anywhere}.contact-grid span{display:block;font-size:10px;letter-spacing:1px;color:var(--lime);margin-bottom:14px}.lime .contact-grid span{color:var(--ink)}.footer-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:20px;margin-top:80px;font:10px/1.5 var(--mono)}
.catalog-hero{padding:60px var(--pad) 70px}.catalog-hero h1{margin:30px 0}.catalog-hero p{font:500 27px/1.45 var(--mono);max-width:1050px}.catalog-grid{padding:0 var(--pad);gap:64px 18px}.catalog-grid .project-card img{max-height:540px;object-fit:contain;object-position:top}.catalog-end{margin:80px var(--pad);display:flex;justify-content:space-between;font:12px var(--mono)}.case-hero{padding:36px var(--pad) 80px;min-height:1020px;display:flex;flex-direction:column;gap:42px}.case-meta{display:flex;justify-content:space-between;gap:30px}.case-meta span:last-child{text-align:right}.case-hero h1{font-size:min(var(--title-size),7.25vw)}.case-intro{display:grid;grid-template-columns:minmax(0,890fr) minmax(280px,360fr);gap:80px;min-height:310px}.intro{font:600 34px/1.3 var(--mono);letter-spacing:-1px}.case-intro aside{max-width:360px}.case-intro aside .eyebrow{color:var(--muted)}.case-intro aside p{margin-top:10px}.case-intro .role-value{font:600 16px/1.45 var(--mono);margin-bottom:50px}.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;background:#000;color:var(--paper);padding:24px;min-height:158px}.facts .eyebrow{color:var(--lime);font-size:10px}.facts p{font:600 16px/1.4 var(--mono);margin-top:30px}.case-gallery{background:#fff;line-height:0}.case-gallery img{width:100%;height:auto;margin:0}.mobile-gallery{display:none}.case-system{padding:70px var(--pad) 95px}.case-system h2{font-size:clamp(30px,3.8vw,54px);margin-top:32px;max-width:1200px}.system-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px;margin-top:65px}.system-grid h3{font:600 18px var(--mono);margin-bottom:22px}.system-grid p{font-size:22px;max-width:560px}.next-project{display:block;padding:50px var(--pad) 65px;background:var(--lime)}.next-project h2{margin-top:24px;font-size:clamp(30px,4.8vw,70px)}.video-block{background:#000;color:var(--paper);padding:24px var(--pad)}video{display:block;width:100%;max-height:80vh}.video-block figcaption{font:12px var(--mono);padding-top:16px}.about-hero{padding:48px var(--pad) 80px}.about-intro{display:grid;grid-template-columns:1.4fr 1fr;gap:60px;margin-top:40px}.about-intro h1{font-size:clamp(44px,5.5vw,82px);margin-bottom:40px}.about-intro .intro{margin:40px 0 30px;font-size:28px}.about-intro figure img{width:100%;max-height:720px;object-fit:cover}.about-intro figcaption{margin-top:18px}.evidence{padding:48px var(--pad);display:grid;grid-template-columns:repeat(4,1fr);gap:32px;background:#000;color:var(--paper)}.evidence strong{font:800 60px var(--display);color:var(--lime)}.evidence h3{font:14px var(--mono);margin:20px 0}.evidence p{font-size:17px}.approach,.experience{padding:80px var(--pad)}.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;margin-top:60px}.principles h3{font-size:24px;margin:24px 0}.experience>.intro{margin:32px 0 60px}.experience-row{border-top:1px solid var(--ink);padding:32px 0;display:grid;grid-template-columns:1fr 2.4fr 3fr;gap:35px}.experience-row h3{font-size:27px;margin-bottom:16px}.experience-row p{font-size:20px}.background{padding:70px var(--pad);display:grid;grid-template-columns:1.5fr 1fr;gap:110px;background:var(--lime)}.background h2{font-size:40px;margin:28px 0}.background p{margin-top:30px;max-width:700px}.about main>.all-link{margin:64px var(--pad)}.not-found{padding:60px var(--pad) 100px}.not-found h1{font-size:clamp(120px,24vw,340px);color:var(--ink)}.not-found p{margin:32px 0}.button{display:inline-block;background:var(--lime);padding:18px 24px;margin-right:30px;font:14px var(--mono)}
@keyframes slide0{0%{opacity:1}21.25%{opacity:1;animation-timing-function:ease-in-out}25%{opacity:0}96.25%{opacity:0;animation-timing-function:ease-in-out}100%{opacity:1}}
@keyframes slide1{0%{opacity:0}21.25%{opacity:0;animation-timing-function:ease-in-out}25%{opacity:1}46.25%{opacity:1;animation-timing-function:ease-in-out}50%,100%{opacity:0}}
@keyframes slide2{0%{opacity:0}46.25%{opacity:0;animation-timing-function:ease-in-out}50%{opacity:1}71.25%{opacity:1;animation-timing-function:ease-in-out}75%,100%{opacity:0}}
@keyframes slide3{0%{opacity:0}71.25%{opacity:0;animation-timing-function:ease-in-out}75%{opacity:1}96.25%{opacity:1;animation-timing-function:ease-in-out}100%{opacity:0}}
.case-hero h1{line-height:1}.mobile-selected,.mobile-only,.mobile-hero-art{display:none}
@media(min-width:651px){.mobile-menu{display:none}}
@media(min-width:1920px){.home-hero h1{font-size:98px}}
@media(max-width:1000px){.site-header nav{gap:20px}.role p{font-size:18px}.slide-label{padding:12px}.slide-label .eyebrow{font-size:8px}.case-intro{gap:40px;grid-template-columns:1.8fr 1fr}.intro{font-size:27px}.case-hero{min-height:850px}.projects-grid{gap:40px 24px}.projects-grid .project-card img{height:300px}.projects-grid .project-card:nth-child(1) img{height:500px}.projects-grid .project-card:nth-child(4) img{height:450px}.projects-grid .project-card:nth-child(n+5) img{height:340px}.contact-grid{gap:16px}.about-intro{gap:30px}.background{gap:40px}}
@media(max-width:650px){:root{--pad:16px}body{font-size:18px;line-height:1.45}h1{font-size:36px;line-height:1.16}h2{font-size:30px;line-height:1.2}h3{font-size:24px}.site-header{height:80px}.brand{font-size:13px}.site-header nav{display:none}.menu-toggle{display:block}.home-hero{padding-top:24px;padding-bottom:36px}.hero-top{display:flex;flex-direction:column;gap:24px}.role p{font:11px var(--mono);letter-spacing:1px}.role br{display:none}.role i,.role>.eyebrow,.availability{display:none}.carousel{aspect-ratio:358/250}.hero-slide{display:block}.slide-label{display:none}.hero-slide img{object-fit:cover}.carousel-controls button{padding:10px 0;font-size:10px}.home-hero h1{white-space:normal;font-size:36px;line-height:1.2;letter-spacing:-1.2px;margin-top:28px;overflow-wrap:normal}.hero-subtitle{font:600 20px/1.35 var(--mono);margin-top:20px}.hero-bottom{margin-top:30px;font-size:10px;display:block}.hero-bottom a{display:block;margin-top:24px}.ticker{background:var(--lime);color:var(--ink);font:600 18px var(--mono);padding:22px 16px;border:0}.projects{padding:44px var(--pad)}.section-title{margin-bottom:30px}.section-title h2{font-size:32px}.section-title .eyebrow{font-size:10px}.projects-grid,.catalog-grid{display:block}.project-card{margin-bottom:38px}.project-card h3{font-size:23px;line-height:1.25}.card-meta{font-size:10px;margin-top:16px}.project-card p{font-size:18px}.projects-grid .project-card img,.projects-grid .project-card:nth-child(1) img,.projects-grid .project-card:nth-child(4) img,.projects-grid .project-card:nth-child(n+5) img{height:auto;aspect-ratio:auto;object-fit:contain}.all-link{font-size:17px;margin-top:36px;padding-bottom:20px}.about-teaser{padding:40px var(--pad)}.about-teaser h2{font-size:29px;line-height:1.3;margin-top:24px}.about-teaser>div{margin:32px 0 0}.about-teaser a{text-align:left;font-size:11px}.footer{padding:40px var(--pad) 28px}.footer h2{font-size:29px;line-height:1.25;margin:28px 0}.contact-note{font-size:16px}.contact-grid{display:block;margin-top:36px}.contact-grid a{display:block;font-size:18px;margin-bottom:12px;padding:16px}.contact-grid span{font-size:10px;margin-bottom:12px}.footer-bottom{margin-top:36px;display:flex;flex-direction:column;gap:12px;font-size:9px}.catalog-hero{padding:32px var(--pad) 40px}.catalog-hero h1{margin:24px 0;font-size:36px}.catalog-hero p{font-size:20px}.catalog-grid .project-card img{max-height:none}.catalog-end{margin:40px var(--pad);font-size:10px;gap:20px}.case-hero{min-height:0;padding:24px var(--pad) 32px;gap:28px}.case-meta{font-size:9px;letter-spacing:.6px;gap:16px}.case-meta span:last-child{max-width:230px}.case-hero h1{font-size:clamp(26px,8.6vw,36px);overflow-wrap:anywhere;letter-spacing:-1px}.case-intro{display:block;min-height:0}.intro{font-size:20px;line-height:1.4;letter-spacing:-.5px}.case-intro aside{margin-top:28px;max-width:none}.case-intro .role-value{font-size:14px;margin-bottom:24px}.facts{display:block;margin:0 -16px -32px;padding:24px 16px}.facts>div+div{margin-top:24px}.facts p{margin-top:10px;font-size:14px}.desktop-gallery{display:none}.mobile-gallery{display:block}.case-system{padding:40px var(--pad)}.case-system h2{font-size:27px;line-height:1.3;margin-top:24px}.system-grid{display:block;margin-top:30px}.system-grid>div+div{margin-top:28px}.system-grid h3{font-size:16px;margin-bottom:14px}.system-grid p{font-size:18px}.next-project{padding:32px var(--pad) 40px}.next-project h2{font-size:28px;line-height:1.25;overflow-wrap:anywhere}.about-hero{padding:28px var(--pad) 40px}.about-intro{display:flex;flex-direction:column;gap:30px;margin-top:28px}.about-intro h1{font-size:36px;margin-bottom:28px}.about-intro .intro{font-size:20px;margin:28px 0}.about-intro figure img{max-height:500px}.evidence{grid-template-columns:1fr 1fr;gap:30px 20px;padding:32px var(--pad)}.evidence strong{font-size:40px}.evidence h3{font-size:12px;margin:12px 0}.evidence p{font-size:15px}.approach,.experience{padding:40px var(--pad)}.principles{display:block;margin-top:28px}.principles>div{margin-top:32px}.principles h3{font-size:23px;margin:16px 0}.experience>.intro{margin:24px 0 32px}.experience-row{display:block;padding:24px 0}.experience-row h3{font-size:24px;margin:16px 0}.experience-row p{font-size:18px;margin-top:20px}.background{display:block;padding:40px var(--pad)}.background h2{font-size:28px}.background>div+div{margin-top:40px}.background p{margin-top:24px}.about main>.all-link{margin:40px var(--pad)}.not-found{padding:32px var(--pad) 60px}.not-found h1{font-size:110px;margin:30px 0}.button{margin:0 0 24px;display:block}.not-found>a:last-child{font:12px var(--mono)}}
@media(max-width:650px){.desktop-selected,.desktop-only{display:none}.mobile-selected,.mobile-only,.mobile-hero-art{display:block}.mobile-hero-art img{width:100%}.carousel-wrap .carousel,.carousel-controls{display:none}.home-hero h1{margin-top:28px}.mobile-selected .project-card p{display:block}.home .ticker{font-size:11px;padding-block:20px}.home .hero-bottom{font-size:11px}.home .role br:after{content:' '}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-slide{animation:none!important;opacity:0}.hero-slide:first-child{opacity:1}.carousel-controls button{display:none}}
