@font-face{font-family:Instrument Sans;src:url(/fonts/instrument-sans.woff2) format("woff2");font-weight:400 700;font-display:swap}:root{color-scheme:light dark;--bg: #fbfbf9;--ink: #16171a;--muted: #62646b;--rule: #e2e2dd;--accent: #1b34c9;--shot-rule: #16171a1a;--font: "Instrument Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif}@media (prefers-color-scheme: dark){:root{--bg: #111214;--ink: #ececea;--muted: #9b9da3;--rule: #2a2b2f;--accent: #93a4ff;--shot-rule: #ffffff1f}}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:2rem;-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--ink);font:400 1.0625rem/1.6 var(--font);-webkit-font-smoothing:antialiased}h1,h2,h3,p,ul,dl,dd,figure{margin:0;padding:0}ul{list-style:none}img{display:block;width:100%;height:auto}a{color:inherit;text-decoration:underline;text-decoration-color:var(--rule);text-decoration-thickness:1px;text-underline-offset:.2em;transition:color .12s ease,text-decoration-color .12s ease}a:hover{color:var(--accent);text-decoration-color:currentColor}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}.skip{position:absolute;left:1rem;top:-4rem;padding:.5rem .75rem;background:var(--ink);color:var(--bg)}.skip:focus{top:1rem}.page{display:grid;grid-template-columns:13rem minmax(0,42rem);column-gap:clamp(3rem,8vw,7rem);justify-content:center;padding:0 clamp(1.25rem,5vw,3rem)}.side{position:sticky;top:0;align-self:start;height:100vh;height:100dvh;display:flex;flex-direction:column;padding:clamp(3rem,9vh,6rem) 0 2.5rem}.brand{font-weight:600;text-decoration:none}.nav{margin-top:2rem}.nav a{display:block;padding:.2rem 0;color:var(--muted);text-decoration:none}.nav a:hover,.nav a[aria-current]{color:var(--ink)}.nav a[aria-current]:before{content:"";display:inline-block;width:.9rem;height:1px;margin-right:.5rem;vertical-align:.3em;background:var(--accent)}.side-links{margin-top:auto;font-size:.9375rem;color:var(--muted)}.side-links a{display:block;padding:.125rem 0;text-decoration:none}main{padding:clamp(3rem,9vh,6rem) 0 4rem}.intro{display:grid;gap:1.5rem;padding-bottom:clamp(3.5rem,10vh,6rem)}.portrait{width:6rem;height:6rem;border-radius:50%;object-fit:cover}h1{font-size:clamp(1.75rem,1.2rem + 2.2vw,2.625rem);line-height:1.16;letter-spacing:-.022em;font-weight:500;text-wrap:balance}.lede{max-width:36rem;color:var(--muted);font-size:1.125rem}.now{display:flex;flex-wrap:wrap;gap:.25rem .625rem;font-size:.9375rem}.now dt{color:var(--muted)}section{padding-top:2.5rem;padding-bottom:clamp(2.5rem,7vh,4.5rem);border-top:1px solid var(--rule)}h2{margin-bottom:2rem;font-size:.9375rem;font-weight:500;color:var(--muted)}.project+.project{margin-top:3rem}.group-title{margin:3.5rem 0 2rem}.head{display:flex;justify-content:space-between;gap:1.5rem;align-items:baseline}h3{font-size:1.125rem;line-height:1.35;font-weight:600;letter-spacing:-.008em}h3 a{text-decoration:none}h3 a:after{content:" ↗";font-weight:400;color:var(--muted)}h3 a:hover:after{color:inherit}.when{flex:none;color:var(--muted);font-size:.9375rem;font-variant-numeric:tabular-nums}.result{margin-top:.125rem;color:var(--accent);font-size:.9375rem;font-weight:500;font-variant-numeric:tabular-nums}.project>p:not(.result,.meta){margin-top:.5rem}.meta{margin-top:.5rem;color:var(--muted);font-size:.9375rem}.shot{margin-top:1.25rem;overflow:hidden;border-radius:6px;box-shadow:0 0 0 1px var(--shot-rule);background:#0d0e11}.row+.row{margin-top:2rem}.row p{margin-top:.25rem}.sub{color:var(--muted)}.facts{display:grid;grid-template-columns:9rem minmax(0,1fr);gap:.75rem 1.5rem}.facts dt{color:var(--muted)}.mail{display:inline-block;font-size:clamp(1.25rem,1rem + 1.6vw,1.875rem);letter-spacing:-.015em;font-weight:500;overflow-wrap:anywhere}.contact-links{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;margin-top:1.5rem}.foot{color:var(--muted);font-size:.875rem}@media (max-width: 860px){.page{display:block}.side{z-index:1;height:auto;display:flex;flex-direction:row;align-items:center;gap:1rem;margin:0 calc(-1*clamp(1.25rem,5vw,3rem));padding:.75rem clamp(1.25rem,5vw,3rem);background:var(--bg);border-bottom:1px solid var(--rule)}.brand{flex:none}.nav{display:flex;gap:.875rem;margin:0 0 0 auto;font-size:.9375rem}.nav a[aria-current]:before{display:none}.side-links{display:none}html{scroll-padding-top:4rem}main{padding-top:3rem}}@media (max-width: 480px){.side{flex-wrap:wrap;gap:.125rem 1rem}.nav{margin-left:0;width:100%;justify-content:space-between}.facts{grid-template-columns:1fr;gap:0}.facts dd+dt{margin-top:1rem}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*{transition:none!important}}code{font:.875em ui-monospace,SFMono-Regular,Menlo,monospace}@media (max-width: 360px){.nav{font-size:.8125rem;gap:.5rem}}
