@font-face{font-family:'IBM Plex Sans';src:url('fonts/IBMPlexSans-Regular.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:'IBM Plex Sans';src:url('fonts/IBMPlexSans-Medium.woff2') format('woff2');font-style:normal;font-weight:500;font-display:swap}
:root{color-scheme:light;--paper:#fafaf8;--ink:#21211f;--muted:#696965;--line:#dcdcd6;--portrait-width:46%;font-family:'IBM Plex Sans',Helvetica Neue,Helvetica,Arial,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}body{margin:0}a{color:inherit;text-underline-offset:5px;text-decoration-thickness:1px}button{font:inherit}a:focus-visible,button:focus-visible{outline:2px solid var(--ink);outline-offset:7px}::selection{background:#d5ded2;color:#181818}
.portrait{position:fixed;inset:0 auto 0 0;width:var(--portrait-width);overflow:hidden;background:#fff;isolation:isolate}.portrait-source{display:none}#portrait-canvas{position:absolute;inset:0;width:100%;height:100%;opacity:0;pointer-events:none}#portrait-canvas.ready{opacity:1}
main{margin-left:var(--portrait-width);padding:50px clamp(30px,4.2vw,78px) 26px;max-width:1100px}.intro{padding-bottom:64px}h1{font-size:clamp(56px,6.1vw,100px);font-weight:400;line-height:.98;letter-spacing:-.065em;margin:0 0 28px}h1 br{display:block}.disciplines{font-size:clamp(16px,1.38vw,22px);line-height:1.5;letter-spacing:-.025em;margin:0 0 66px}p{font-size:16px;line-height:1.58;letter-spacing:-.014em;margin:0 0 22px}.biography p:last-child{margin-bottom:0}.section{border-top:1px solid var(--line);display:grid;grid-template-columns:118px minmax(0,1fr);gap:22px;padding:30px 0 56px}h2{font-size:12px;line-height:1.4;font-weight:500;margin:3px 0 0;letter-spacing:-.015em}.section-content p{color:var(--muted)}h3{font-size:24px;line-height:1.2;font-weight:400;letter-spacing:-.035em;margin:0 0 12px}.projects article+article{margin-top:35px}.projects article p{margin-bottom:0}.clients,.areas{list-style:none;margin:0;padding:0}.clients{font-size:21px;line-height:1.42;letter-spacing:-.025em}.clients li{display:inline}.clients li+li::before{content:' · ';white-space:normal}.areas-heading{font-size:12px;font-weight:500;letter-spacing:0;margin:34px 0 14px}.areas{font-size:16px;line-height:1.8;letter-spacing:-.015em}.collaboration p{color:var(--ink)}.contact{padding-bottom:58px}.email-row{display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--ink);padding-bottom:7px}.email{font-size:clamp(16px,1.45vw,24px);letter-spacing:-.035em;text-decoration:none;min-width:0;overflow-wrap:anywhere}.copy-email{display:grid;place-items:center;margin-left:auto;flex:0 0 36px;width:36px;height:36px;border:0;padding:8px;background:transparent;color:var(--ink);cursor:pointer}.copy-email:hover{opacity:.6}.copy-status{display:block;min-height:0;font-size:12px;color:var(--muted)}.copy-status:not(:empty){margin-top:8px}.project-arrow{font-size:.72em;white-space:nowrap}.portrait{touch-action:pan-y;user-select:none}.email span{font-size:20px}.socials{display:flex;gap:22px;margin-top:21px;font-size:13px;color:var(--muted)}footer{border-top:1px solid var(--line);padding-top:20px;display:flex;justify-content:space-between;font-size:12px;color:var(--muted)}
@media(min-width:1700px){main{padding-top:65px}.intro{padding-bottom:80px}p{font-size:18px}.section{grid-template-columns:140px minmax(0,1fr)}}
@media(max-width:1100px) and (min-width:761px){:root{--portrait-width:43%}main{padding:34px 30px 24px}.section{grid-template-columns:minmax(0,1fr);gap:22px}.disciplines{margin-bottom:44px}h1{font-size:64px}.intro{padding-bottom:44px}}
@media(max-width:760px){.portrait{position:relative;width:100%;height:65svh;min-height:380px;max-height:700px}main{margin:0;padding:34px 25px 24px}h1{font-size:clamp(58px,12vw,90px);margin-bottom:25px}.disciplines{font-size:18px;margin-bottom:40px}.intro{padding-bottom:43px}.section{grid-template-columns:minmax(0,1fr);gap:25px;padding:25px 0 42px}h2{font-size:13px}h2 br{display:none}.clients{font-size:24px}.socials{font-size:14px}.projects article+article{margin-top:30px}}
.projects h3 a{text-decoration:none}.clients li{display:block}.clients li+li::before{content:none}.email-row{display:inline-flex;gap:2px}.email{font-size:16px;letter-spacing:-.014em}.copy-email{margin-left:0}
@media(prefers-reduced-motion:no-preference){a{transition:opacity .2s}a:hover{opacity:.56}}
