@font-face{font-family:Inter Variable;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_astro/inter-latin-wght-normal.Dx4kXJAl.woff2)format("woff2")}:root{color-scheme:light;color:#121212;font-synthesis:none;--surface:#f4f4f2;--muted:#61615f;--line:#dededb;--page-gutter:9vw;--ease:cubic-bezier(.22, 1, .36, 1);background:#fff;font-family:Inter Variable,sans-serif}*{box-sizing:border-box}[hidden]{display:none!important}html{scroll-behavior:smooth;scroll-padding-top:40px}body{-webkit-font-smoothing:antialiased;margin:0}::selection{color:#111;background:#dcdcd4}a{color:inherit;text-decoration:none}button{font:inherit}button,summary{-webkit-tap-highlight-color:transparent}button,a,summary{touch-action:manipulation}a:focus-visible,button:focus-visible,summary:focus-visible{outline-offset:7px;outline:2px solid #111}.icon{vertical-align:middle;flex-shrink:0;width:1.2em;height:1.2em;display:inline-flex}.icon svg{fill:currentColor;width:100%;height:100%}.skip-link{z-index:100;color:#fff;background:#000;padding:12px 18px;position:fixed;top:15px;left:20px;transform:translateY(-160%)}.skip-link:focus{transform:none}.site-header{z-index:5;justify-content:space-between;align-items:center;width:100%;padding:28px 6.5vw;display:flex;position:absolute;top:0;left:0}.wordmark{letter-spacing:-.065em;font-size:22px;font-weight:400}.site-header nav{gap:40px;font-size:14px;display:flex}.site-header nav a{padding:8px 0;position:relative}.site-header nav a:after{content:"";transform-origin:0;width:100%;height:1px;transition:transform .3s var(--ease);background:currentColor;position:absolute;bottom:3px;left:0;transform:scaleX(0)}.site-header nav a:hover:after,.site-header nav a[aria-current=page]:after{transform:scaleX(1)}.menu-toggle{display:none}.hero{background:var(--surface);height:min(64.4vw,1040px);min-height:780px;position:relative;overflow:clip}.hero-copy{z-index:2;left:var(--page-gutter);position:absolute;top:30.3%}h1,h2,h3,p{margin:0}.hero h1{letter-spacing:-.06em;margin:0 0 17px -.055em;font-size:clamp(155px,14.4vw,233px);font-weight:330;line-height:.95}.introduction{letter-spacing:-.052em;font-size:clamp(30px,3vw,48px);font-weight:380;line-height:1.24}.tagline{letter-spacing:-.037em;margin-top:19px;font-size:clamp(21px,1.9vw,30px);font-weight:350;line-height:1.45}.button{color:#fff;letter-spacing:-.015em;min-height:44px;transition:background .25s ease, transform .3s var(--ease);background:#121212;border-radius:100px;justify-content:center;align-items:center;gap:9px;padding:12px 24px;font-size:14px;display:inline-flex}.hero .button{margin-top:29px}.button:hover{background:#383836;transform:translateY(-2px)}.button .icon{transition:transform .3s var(--ease)}.button:hover .icon{transform:translate(2px,-2px)}.button:focus-visible{outline-color:#555}.portrait-wrap{mix-blend-mode:darken;width:58%;height:112%;position:absolute;top:9%;right:-2.5%}.portrait{object-fit:contain;object-position:center top;width:100%;height:100%;display:block}.location-label{writing-mode:vertical-rl;color:var(--muted);letter-spacing:-.02em;font-size:13px;position:absolute;top:21%;left:3.1vw;transform:rotate(180deg)}.location-label:before{content:"";background:#aaa;width:1px;height:35px;margin-bottom:18px;display:inline-block}.scroll-link{left:var(--page-gutter);align-items:center;gap:3px;font-size:14px;display:inline-flex;position:absolute;bottom:42px}.scroll-link .icon{transition:transform .3s var(--ease)}.scroll-link:hover .icon{transform:translateY(4px)}.section{padding:108px var(--page-gutter)}h2{letter-spacing:-.065em;font-size:clamp(34px,3.3vw,52px);font-weight:380;line-height:1.08}.about{grid-template-columns:44% 56%;padding-top:78px;padding-bottom:104px;display:grid}.about-copy{letter-spacing:-.035em;color:#565655;max-width:650px;font-size:20px;line-height:1.52}.about-extra{color:var(--muted);margin-top:24px;font-size:17px}.section-heading{justify-content:space-between;align-items:baseline;gap:25px;margin-bottom:40px;display:flex}.section-heading>span{color:var(--muted);font-size:13px}.work{background:var(--surface)}.project{border-top:1px solid #d4d4d1}.project:last-child{border-bottom:1px solid #d4d4d1}.project summary{cursor:pointer;transition:padding .35s var(--ease);grid-template-columns:1fr auto 28px;align-items:center;gap:38px;padding:32px 0;list-style:none;display:grid}.project summary::-webkit-details-marker{display:none}.project summary:hover{padding-left:12px;padding-right:12px}.project-name{letter-spacing:-.055em;font-size:clamp(28px,3.1vw,46px);font-weight:380}.project-category{color:var(--muted);letter-spacing:-.01em;margin-top:8px;font-size:13px;display:block}.project-period{color:var(--muted);font-size:14px}.project summary>.icon{width:22px;height:22px;transition:transform .3s var(--ease)}.project[open] summary>.icon{transform:rotate(45deg)}.project-detail{color:#565655;letter-spacing:-.02em;max-width:760px;padding:8px 0 32px;font-size:17px;line-height:1.7}.project[open] .project-detail{animation:detail-in .4s var(--ease) both}.text-link{letter-spacing:-.025em;align-items:center;gap:10px;min-height:44px;font-size:15px;display:inline-flex}.text-link .icon{transition:transform .3s var(--ease)}.text-link:hover .icon{transform:translate(3px,-3px)}.text-link:hover{text-underline-offset:5px;text-decoration:underline}.all-work-link{justify-content:flex-end;margin-top:30px;display:flex}.link-count{color:var(--muted);align-self:start;margin-top:9px;font-size:12px}.project-detail .project-meta{color:var(--muted);margin-bottom:16px;font-size:12px}.project-meta span{padding:0 5px}.project-detail .project-status{color:#30302e;margin-top:20px;font-size:13px}.experience{grid-template-columns:36% 64%;align-items:start;display:grid}.experience-header{padding-right:60px;position:sticky;top:64px}.eyebrow{color:var(--muted);letter-spacing:.01em;margin-bottom:24px;font-size:12px;display:block}.experience-header p{max-width:255px;color:var(--muted);margin-top:25px;font-size:15px;line-height:1.65}.experience-header .text-link{margin-top:24px}.career-timeline{margin:0;padding:0 0 0 27px;list-style:none}.career-entry{border-left:1px solid var(--line);padding:0 0 52px 34px;position:relative}.career-entry:last-child{border-left-color:#0000;padding-bottom:0}.career-entry:before{content:"";background:#aaa;border-radius:50%;width:7px;height:7px;position:absolute;top:9px;left:-4px}.career-entry:first-child:before{background:#121212}.career-company{justify-content:space-between;align-items:baseline;gap:20px;display:flex}.career-company h3{letter-spacing:-.045em;font-size:27px;font-weight:430;line-height:1.12}.career-company>span{color:var(--muted);white-space:nowrap;font-size:12px}.career-context{color:var(--muted);margin-top:10px;font-size:12px;line-height:1.5}.career-positions{margin-top:20px}.career-position h4{letter-spacing:-.015em;margin:0 0 12px;font-size:16px;font-weight:450;line-height:1.4}.career-position p,.career-position li{color:var(--muted);font-size:14px;line-height:1.75}.career-position ul{margin:12px 0 0;padding-left:17px}.career-position li+li{margin-top:8px}.multiple-positions{border-left:1px solid var(--line);margin-left:3px}.multiple-positions .career-position{padding-left:20px;position:relative}.multiple-positions .career-position:before{content:"";background:#aaa;border-radius:50%;width:5px;height:5px;position:absolute;top:8px;left:-3px}.multiple-positions .career-position+.career-position{margin-top:28px}.position-period{color:var(--muted);margin:-4px 0 14px;font-size:12px;display:block}.work-page{background:var(--surface)}.work-intro{padding-top:156px;padding-bottom:38px}.back-link{color:var(--muted);margin-bottom:44px;font-size:13px}.back-link .icon{transform:rotate(-135deg)}.back-link:hover .icon{transform:rotate(-135deg)translate(2px,-2px)}.work-intro-grid{grid-template-columns:62% 38%;align-items:end;gap:0;display:grid}.work-intro h1{letter-spacing:-.065em;margin-left:-.04em;font-size:clamp(82px,12vw,184px);font-weight:330;line-height:1}.work-intro-grid p{color:#565655;letter-spacing:-.035em;padding:0 0 14px 20px;font-size:clamp(18px,1.8vw,26px);line-height:1.5}.work-intro-meta{color:var(--muted);justify-content:space-between;gap:20px;margin-top:56px;font-size:12px;display:flex}.archive-section{padding-top:34px}.archive-toolbar{justify-content:space-between;align-items:center;gap:30px;padding-bottom:20px;display:flex}.work-filters{flex-wrap:wrap;gap:8px;display:flex}.work-filters button{border:1px solid var(--line);color:#50504e;cursor:pointer;background:0 0;border-radius:100px;align-items:center;gap:8px;min-height:44px;padding:10px 15px;font-size:13px;transition:background .2s,color .2s;display:inline-flex}.work-filters button span{opacity:.7;font-size:10px}.work-filters button:hover{color:#111;border-color:#111}.work-filters button[aria-pressed=true]{color:#fff;background:#121212;border-color:#121212}.work-count{color:var(--muted);white-space:nowrap;font-size:12px}.archive-note{color:var(--muted);margin-bottom:30px;font-size:12px;line-height:1.6}.work-archive{border-bottom:1px solid var(--line)}.work-archive .project:last-child{border-bottom:0}.work-archive .project summary{grid-template-columns:minmax(0,1fr) auto 28px;padding-block:28px}.work-archive .project-name{font-size:clamp(25px,2.7vw,39px)}.project-context{letter-spacing:-.005em;color:var(--muted);margin-bottom:12px;font-size:11px;line-height:1.5;display:block}.work-archive .project-category,.work-archive .project-period{font-size:12px}.archive-outro{background:#fff;justify-content:space-between;align-items:center;gap:30px;display:flex}.contact{background:var(--surface);justify-content:space-between;align-items:end;gap:30px;display:flex}.contact-label{color:var(--muted);margin-bottom:20px;font-size:15px}.contact h2{letter-spacing:-.07em;font-size:clamp(65px,9vw,130px);line-height:1}.contact .button{margin-bottom:10px}.footer{background:var(--surface);padding:30px var(--page-gutter);border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;gap:25px;font-size:12px;display:flex}.footer a{align-items:center;gap:6px;display:inline-flex}.footer a:hover{color:#111}.reveal-ready{opacity:0;transition:opacity .8s var(--ease), transform .8s var(--ease);transform:translateY(22px)}.reveal-ready.is-visible{opacity:1;transform:none}@keyframes entrance{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}@keyframes portrait-in{0%{opacity:0;transform:translateY(15px)scale(1.015)}to{opacity:1;transform:none}}@keyframes detail-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:no-preference){.hero h1{animation:entrance 1s var(--ease) .1s both}.introduction{animation:entrance 1s var(--ease) .2s both}.tagline{animation:entrance 1s var(--ease) .3s both}.hero .button{animation:entrance 1s var(--ease) .4s both}.portrait-wrap{animation:portrait-in 1.3s var(--ease) .15s both}}@media (width>=1650px){:root{--page-gutter:max(9vw, calc((100vw - 1330px) / 2))}}@media (width<=1050px) and (width>=701px){.hero{min-height:720px}.hero-copy{top:32%}.hero h1{font-size:clamp(126px,18vw,150px)}.introduction,.tagline{max-width:40vw}.portrait-wrap{width:66%;height:auto;top:12%;bottom:0;right:-11%}.portrait{object-fit:cover}.site-header nav{gap:25px}.section{padding-block:75px}.about-copy{font-size:18px}.experience{grid-template-columns:1fr;gap:48px}.experience-header{padding:0;position:static}.experience-header p{max-width:450px}.career-timeline{padding-left:4px}.archive-toolbar{flex-direction:column;align-items:start;gap:16px}}@media (width<=700px){:root{--page-gutter:24px}html{scroll-padding-top:20px}.site-header{padding:22px 24px}.wordmark{font-size:20px}.menu-toggle{color:#111;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;width:44px;height:44px;margin:-10px -8px -10px 0;padding:10px;display:inline-flex}.menu-toggle .icon{width:24px;height:24px}.site-header nav{border:1px solid var(--line);background:#fff;flex-direction:column;gap:8px;padding:18px 24px;font-size:17px;display:none;position:absolute;top:66px;left:16px;right:16px}.site-header nav.is-open{display:flex}.site-header nav a{padding:11px 0}.hero{flex-direction:column;height:auto;min-height:0;padding-top:128px;display:flex}.hero-copy{order:0;margin:0 24px;position:relative;top:auto;left:auto}.hero h1{letter-spacing:-.082em;margin-bottom:20px;font-size:clamp(108px,29vw,170px)}.introduction{letter-spacing:-.048em;max-width:520px;font-size:clamp(25px,6.4vw,38px);line-height:1.2}.tagline{margin-top:15px;font-size:18px}.hero .button{margin-top:22px}.portrait-wrap{order:1;width:100%;height:440px;margin-top:18px;position:relative;top:auto;bottom:auto;right:auto}.portrait{object-position:center bottom;width:100%;height:100%}.location-label,.scroll-link{display:none}.section{padding:64px 24px}.about,.experience{grid-template-columns:1fr;gap:32px}h2{font-size:36px}.about h2 br{display:none}.about-copy{font-size:18px;line-height:1.6}.about-extra{font-size:16px}.section-heading{flex-direction:column;align-items:start;gap:12px;margin-bottom:30px}.project summary{grid-template-columns:1fr 24px;gap:16px;padding:27px 0}.project-period{display:none}.project-name{font-size:29px}.project-category{font-size:12px}.project-detail{font-size:15px}.contact{flex-direction:column;align-items:start;gap:32px}.footer{flex-wrap:wrap;gap:18px;padding:26px 24px;font-size:11px}.footer>span:nth-child(2){display:none}.all-work-link{justify-content:flex-start;margin-top:22px}.experience-header{padding:0;position:static}.experience-header p{max-width:340px}.career-timeline{padding-left:4px}.career-entry{padding:0 0 42px 23px}.career-company{flex-direction:column;gap:8px}.career-company h3{font-size:25px}.career-position h4{font-size:15px}.career-position p,.career-position li{font-size:14px}.work-intro{padding-top:116px;padding-bottom:26px}.back-link{margin-bottom:30px}.work-intro-grid{grid-template-columns:1fr;gap:25px}.work-intro h1{font-size:clamp(70px,16vw,96px)}.work-intro-grid p{padding:0;font-size:20px}.work-intro-meta{flex-direction:column;gap:8px;margin-top:32px}.archive-section{padding-top:20px}.archive-toolbar{flex-direction:column;align-items:start;gap:20px}.work-filters{gap:8px}.work-filters button{padding-inline:12px;font-size:12px}.archive-note{margin-bottom:24px}.work-archive .project summary{grid-template-columns:minmax(0,1fr) 24px;gap:16px}.work-archive .project-name{font-size:28px}.archive-outro{flex-direction:column;align-items:start}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}.reveal-ready{opacity:1;transform:none}}.error-page{max-width:800px;margin:auto;padding:15vh 24px}.error-page h1{letter-spacing:-.06em;margin:20px 0;font-size:clamp(48px,8vw,80px);font-weight:400}.error-page p{margin-bottom:25px;line-height:1.7}
