@font-face{font-family:DM;src:url('/assets/dm-sans.woff2') format('woff2');font-style:normal;font-weight:100 1000;font-display:swap}
:root{color-scheme:light;--paper:#fff;--ink:#151515;--muted:#5f5f5f;--line:#d4d4d4;--blue:#2149f4;--contact:#f0f0f0;--focus:#2149f4}
html[data-theme=dark]{color-scheme:dark;--paper:#141414;--ink:#f5f5f5;--muted:#aaa;--line:#3e3e3e;--contact:#202020;--focus:#92a7ff}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font:400 17px/1.6 DM,Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible{outline:2px solid var(--focus);outline-offset:6px}.masthead{background:var(--blue);color:#fff;--focus:#fff}.wrap{width:min(1280px,calc(100% - 112px));margin-inline:auto}.header{height:104px;display:flex;gap:48px;align-items:center;border-bottom:1px solid #ffffff50}.wordmark{font-size:30px;font-weight:850;letter-spacing:-2px;line-height:1}.wordmark span{font-weight:400;margin-left:3px}.header nav{margin-left:auto;display:flex;gap:36px;font-size:14px}.header nav a{padding-block:10px}.header nav a:hover{text-decoration:underline;text-underline-offset:6px}.preferences{display:flex;gap:6px;border-left:1px solid #ffffff60;padding-left:25px}.preferences button{font:600 13px DM,Arial,sans-serif;background:none;color:inherit;border:0;padding:10px;min-width:42px;min-height:42px;cursor:pointer}.preferences button:hover{background:#ffffff20}.preferences svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;display:block}.preferences .sun{display:none}html[data-theme=dark] .preferences .moon{display:none}html[data-theme=dark] .preferences .sun{display:block}.hero{padding-top:38px;padding-bottom:46px}.discipline{font-size:14px;margin:0 0 34px}.hero-grid{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:65px;align-items:end}h1{font-size:clamp(100px,13.1vw,184px);font-weight:850;line-height:.82;letter-spacing:-.075em;margin:0 0 0 -.065em}h1 span{color:#99acff}.portrait{margin:0;position:relative;padding-bottom:6px}.portrait img{display:block;width:100%;height:310px;object-fit:cover;object-position:center 35%}.portrait figcaption{font-size:11px;margin-top:9px;color:#fff}.hero-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:64px;margin-top:48px}.hero-bottom p{font-size:19px;line-height:1.55;max-width:550px;margin:0}.hero-link{min-width:210px;display:flex;justify-content:space-between;gap:26px;align-items:center;border-bottom:1px solid #fff;padding:12px 0;font-size:14px}.arrow{width:22px;height:22px;flex-shrink:0;stroke:currentColor;stroke-width:1.5;transition:transform .15s}.hero-link:hover .arrow{transform:translateY(4px)}.work{padding-top:72px;padding-bottom:76px}.section-heading{display:flex;align-items:center;justify-content:space-between;padding-bottom:26px;border-bottom:2px solid var(--ink)}.section-heading h2{font-size:21px;letter-spacing:-.5px;margin:0;font-weight:600}.section-heading>span{font-size:12px;font-variant-numeric:tabular-nums}.project{display:grid;grid-template-columns:1fr 1fr;gap:60px;padding:46px 0 50px;border-bottom:1px solid var(--line)}.project-identity{display:flex;gap:28px;align-items:baseline}.project-index{font-size:12px;color:var(--muted)}.project-kind{font-size:13px;color:var(--muted);margin:0 0 14px}h3{font-size:clamp(36px,4.3vw,58px);font-weight:650;line-height:1.08;letter-spacing:-2.6px;margin:0}h3 a{display:inline-flex;gap:22px;align-items:center}h3 .arrow{width:29px;height:29px}h3 a:hover .arrow,.site-link:hover .arrow,.socials a:hover .arrow{transform:translate(3px,-3px)}h4{font-size:23px;line-height:1.3;font-weight:600;letter-spacing:-.5px;margin:0 0 18px}.project-content>p{font-size:16px;color:var(--muted);margin:0 0 24px;max-width:540px}.project-content .project-detail{font-size:12px;line-height:1.8;margin-bottom:28px}.site-link{display:inline-flex;align-items:center;gap:36px;border-bottom:1px solid var(--ink);padding-bottom:6px;font-size:14px}.site-link .arrow{width:17px;height:17px}.contact{background:var(--contact);padding:56px 0 60px}.contact-heading{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:34px}.contact h2{font-size:clamp(64px,10vw,138px);font-weight:650;line-height:1;letter-spacing:-.07em;margin:0}.contact-heading>.arrow{width:84px;height:84px;stroke-width:1}.contact-bottom{display:grid;grid-template-columns:1fr 1fr;gap:60px;padding-top:32px}.contact-bottom>p{font-size:18px;max-width:300px;margin:0}.email{font-size:clamp(17px,2.15vw,27px);letter-spacing:-.6px;text-decoration:underline;text-underline-offset:7px;overflow-wrap:anywhere}.email:hover{color:var(--focus)}.socials{display:flex;gap:34px;margin-top:24px}.socials a{display:inline-flex;gap:13px;align-items:center;font-size:14px}.socials .arrow{width:16px;height:16px}.footer{display:flex;justify-content:space-between;gap:24px;padding-block:26px;font-size:12px}.footer a:hover{text-decoration:underline;text-underline-offset:5px}.skip{position:fixed;top:-100px;left:20px;background:var(--paper);color:var(--ink);padding:12px;z-index:20}.skip:focus{top:12px}::selection{background:#faff66;color:#141414}
@media(min-width:1600px){.hero{padding-top:46px;padding-bottom:58px}.hero-grid{grid-template-columns:1fr 300px}.portrait img{height:330px}}
@media(max-width:1050px){.wrap{width:calc(100% - 64px)}.hero-grid{grid-template-columns:1fr 225px;gap:30px}h1{font-size:13vw}.portrait img{height:240px}.project{gap:35px}.project-identity{gap:16px}.contact-bottom{gap:35px}h3{letter-spacing:-1.8px}}
@media(max-width:740px){.wrap{width:calc(100% - 40px)}.header{height:80px;gap:18px}.header nav{gap:18px;font-size:12px}.preferences{padding-left:12px;gap:0}.preferences button{padding:8px;min-width:34px}.wordmark{font-size:25px}.hero{padding-top:27px;padding-bottom:32px}.discipline{font-size:12px;margin-bottom:30px}.hero-grid{grid-template-columns:minmax(0,1fr) 118px;gap:20px;align-items:center}h1{font-size:clamp(62px,12.8vw,94px);line-height:.9;letter-spacing:-.07em}.portrait img{height:152px}.portrait figcaption{font-size:9px}.hero-bottom{margin-top:30px;gap:28px;align-items:start;flex-direction:column}.hero-bottom p{font-size:17px;max-width:490px}.hero-link{font-size:13px;min-width:0;width:100%;padding-block:10px}.work{padding:42px 0 48px}.section-heading{padding-bottom:20px}.section-heading h2{font-size:19px}.project{grid-template-columns:1fr;gap:26px;padding-block:30px}.project-identity{gap:16px}.project-kind{font-size:12px;margin-bottom:8px}h3{font-size:43px;letter-spacing:-1.9px}.project-content{padding-left:30px}h4{font-size:22px}.project-content>p{font-size:15px}.project-content .project-detail{font-size:11px;margin-bottom:20px}.contact{padding-block:35px 40px}.contact-heading{padding-bottom:25px}.contact h2{font-size:65px}.contact-heading>.arrow{width:48px;height:48px}.contact-bottom{grid-template-columns:1fr;gap:24px;padding-top:24px}.contact-bottom>p{font-size:16px}.email{font-size:22px}.socials{margin-top:20px}.footer{font-size:11px;padding-block:22px}}
@media(max-width:400px){.header{gap:10px}.header nav{gap:12px}.preferences{padding-left:7px}.hero-grid{grid-template-columns:minmax(0,1fr) 95px;gap:12px}h1{font-size:clamp(48px,14.6vw,58px)}.portrait img{height:125px}.contact h2{font-size:58px}.email{font-size:19px}h3{font-size:39px}.project-content{padding-left:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
.cad{max-width:400px;margin:28px 0 0}.cad img{display:block;width:100%;height:auto;background:#f0f0f0;padding:18px}.cad figcaption{font-size:10px;color:var(--muted);margin-top:9px;line-height:1.5}
@media(max-width:740px){.cad{max-width:360px;margin-top:22px}.cad img{padding:12px}}
