:root{--bg:#eaeaea;--ink:#1c1c1c;--text:#333;--muted:#6b6b6b;--line:#cdcdcd;--pad:max(16px, 1vw);color-scheme:light}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}html,body{background:var(--bg);color:var(--ink)}body{-webkit-font-smoothing:antialiased;flex-direction:column;min-height:100vh;font-family:Inter Tight,Helvetica Neue,Arial,sans-serif;display:flex}main{flex:1 0 auto}a{color:inherit;text-decoration:none}ul,ol{list-style:none}img{max-width:100%}h1,h2,h3,h4{font-weight:500}:focus-visible{outline:2px solid var(--ink);outline-offset:3px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important}}.top{padding:24px var(--pad) 0;z-index:2;grid-template-columns:16.45% 48.55% 15% 1fr auto;align-items:start;font-size:15px;font-weight:500;line-height:1.35;display:grid;position:relative}.top a:hover,.top__list a[aria-current]{text-underline-offset:3px;text-decoration:underline 1px}.top__list li{display:block}.top__place{text-align:right}.hero{aspect-ratio:2000/664;width:100%;position:relative;overflow:hidden}@media (width>=861px){.top--overlay{pointer-events:none;position:absolute;top:0;left:0;right:0}.top--overlay a{pointer-events:auto}}.hero img,.hero canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.hero.fx-on img{visibility:hidden}.section{margin:0 var(--pad);border-top:1px solid var(--line);grid-template-columns:repeat(12,1fr);gap:0 20px;padding:24px 0 112px;display:grid}.label{color:var(--muted);grid-column:1/span 2;padding-top:6px;font-size:14px;font-weight:400}.label b{color:var(--ink);font-weight:500}.label--heading{text-transform:lowercase;line-height:1.4}.label--heading:before{content:"("}.label--heading:after{content:")"}.body{grid-column:3/-1;min-width:0}.page-head{margin-top:clamp(56px,9vw,152px);padding-bottom:96px}.page-title{letter-spacing:-.05em;grid-column:3/-1;margin-left:-.04em;font-size:clamp(56px,11vw,190px);font-weight:500;line-height:.9}.page-title--long{letter-spacing:-.04em;margin-left:-.03em;font-size:clamp(40px,6.4vw,108px);line-height:.98}.lede{letter-spacing:-.02em;grid-column:3/span 7;margin-top:40px;font-size:clamp(22px,2.2vw,34px);font-weight:500;line-height:1.2}.pill{border:1px solid var(--ink);border-radius:999px;align-items:center;gap:8px;padding:12px 20px;font-size:15px;font-weight:500;transition:background .2s,color .2s;display:inline-flex}.pill--dark,.pill:hover{background:var(--ink);color:var(--bg)}.pill--external:after{content:"↗"}.tags{color:var(--muted)}.tags li{display:inline}.tags li+li:before{content:" · "}.about__lede{letter-spacing:-.025em;grid-column:3/span 7;font-size:clamp(26px,2.9vw,46px);font-weight:500;line-height:1.12}.about__text{color:var(--text);grid-column:3/span 6;margin-top:24px;font-size:18px;line-height:1.55}.about__links{flex-wrap:wrap;grid-column:3/span 7;gap:12px;margin-top:32px;display:flex}.about__facts{grid-area:1/10/span 3/span 3;padding-top:6px;font-size:14px;line-height:1.5}.about__facts li+li{margin-top:18px}.about__facts b{letter-spacing:-.02em;white-space:nowrap;font-size:30px;font-weight:500;display:block}.about__facts span{color:var(--muted)}.work{grid-column:3/-1;min-width:0}.work__row{border-bottom:1px solid var(--line);grid-template-columns:56px 1fr 30%;align-items:start;gap:8px 24px;padding:28px 0 32px;transition:padding .25s;display:grid}.work__row:first-child{padding-top:6px}.work__row:hover{padding-left:12px}.work__num{color:var(--muted);padding-top:10px;font-size:14px}.work__title{letter-spacing:-.03em;font-size:clamp(28px,3.4vw,54px);font-weight:500;line-height:1.02}.work__title .arrow{transition:left .25s;position:relative;left:0}.work__row:hover .arrow{left:8px}.work__desc{color:var(--text);grid-column:2;max-width:52ch;margin-top:10px;font-size:17px;line-height:1.5}.work__meta{grid-area:1/3/span 2;padding-top:10px;font-size:14px;line-height:1.5}.work__stats{flex-wrap:wrap;gap:6px 20px;margin-bottom:14px;display:flex}.work__stats b{letter-spacing:-.02em;white-space:nowrap;font-size:22px;font-weight:500;display:block}.work__stats span{color:var(--muted)}.work__all{margin-top:28px}.work__row--cover{grid-template-rows:auto auto 1fr;grid-template-columns:56px 1fr 34%;padding-bottom:40px}.work__row--cover .work__meta{grid-area:auto/2;padding-top:18px}.work__cover{grid-area:1/3/span 3;padding-top:6px}.work__more{color:var(--ink);margin-top:18px;font-size:15px;font-weight:500;display:inline-block}.work__row:hover .work__more{text-underline-offset:3px;text-decoration:underline}.earlier__title{letter-spacing:-.03em;grid-column:3/-1;margin-bottom:40px;font-size:clamp(28px,3.4vw,54px);line-height:1.02}.earlier{grid-column:3/-1;grid-template-columns:repeat(4,minmax(0,1fr));gap:40px 20px;display:grid}.card{flex-direction:column;display:flex}.card__img{aspect-ratio:4/3;object-fit:cover;background:var(--line);filter:grayscale();width:100%;height:auto;transition:filter .3s;display:block}.card:hover .card__img{filter:none}.card__title{letter-spacing:-.01em;margin-top:16px;font-size:20px;font-weight:500;line-height:1.2}.card__title:after{content:" ↗"}.card:hover .card__title{text-underline-offset:3px;text-decoration:underline 1px}.card__desc{color:var(--text);margin-top:8px;font-size:15px;line-height:1.5}.card .tags{margin-top:10px;font-size:14px;line-height:1.5}.jobs{grid-column:3/-1}.job:first-child{padding-top:6px}.job{border-bottom:1px solid var(--line);grid-template-columns:22% 1fr 1.2fr;gap:6px 24px;padding:22px 0;font-size:16px;line-height:1.5;display:grid}.job__dates{color:var(--muted)}.job__title{letter-spacing:-.01em;font-size:20px;font-weight:500;line-height:1.25}.job__org{color:var(--muted);margin-top:2px}.job__summary{color:var(--text)}.job__title a{text-underline-offset:3px;text-decoration:underline 1px}.job__title a:after{content:" ↗"}.job .tags{margin-top:8px;font-size:14px}.empty{color:var(--muted);grid-column:3/-1;font-size:18px}.skills{grid-column:3/-1;grid-template-columns:repeat(4,1fr);gap:24px;display:grid}.skills h3{letter-spacing:-.01em;border-bottom:1px solid var(--line);margin-bottom:12px;padding-bottom:12px;font-size:20px;font-weight:500}.skills p{color:var(--text);font-size:15px;line-height:1.6}.contact-list{grid-column:3/-1}.contact-list__item{border-bottom:1px solid var(--line);grid-template-columns:22% 1fr;align-items:baseline;gap:6px 24px;padding:22px 0 26px;display:grid}.contact-list__item:first-child{padding-top:6px}.contact-list__item h2{color:var(--muted);font-size:14px;font-weight:400}.contact-list__item p{letter-spacing:-.03em;overflow-wrap:anywhere;font-size:clamp(24px,3.2vw,48px);font-weight:500;line-height:1.1}.contact-list__item a:hover{text-underline-offset:6px;text-decoration:underline 2px}.contact{padding-bottom:40px}.contact__mail{letter-spacing:-.04em;overflow-wrap:anywhere;grid-column:3/-1;justify-self:start;font-size:clamp(30px,4.6vw,76px);font-weight:500;line-height:1}.contact--big .contact__mail{font-size:clamp(34px,6.6vw,112px)}.contact__mail:hover{text-underline-offset:8px;text-decoration:underline 3px}.contact__row{flex-wrap:wrap;grid-column:3/-1;justify-content:space-between;gap:16px;margin-top:72px;font-size:15px;font-weight:500;display:flex}.contact--minimal .contact__row{margin-top:0}.contact__row ul{gap:24px;display:flex}.contact__row a:hover{text-underline-offset:3px;text-decoration:underline}.contact__row .muted{color:var(--muted);font-weight:400}@media (width<=1100px){.earlier{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=860px){.top{grid-template-columns:1fr 1fr;gap:14px 16px;padding-top:16px}.top__role{text-align:right;grid-column:2}.top__place{grid-area:2/2}.top__nav,.top__social{grid-row:2}.top__nav{grid-column:1}.top__social{display:none}.hero{margin-top:20px}.section{grid-template-columns:minmax(0,1fr);padding-bottom:72px}body .section>*{grid-column:1}.label{margin-bottom:16px}.page-head{margin-top:48px;padding-bottom:64px}.lede{margin-top:28px}.about__facts{flex-wrap:wrap;grid-row:auto;gap:24px;margin-top:40px;display:flex}.about__facts li+li{margin-top:0}.about__facts b{font-size:24px}.work__row,.work__row--cover{grid-template-rows:none;grid-template-columns:32px minmax(0,1fr)}.work__row:hover{padding-left:0}.work__meta,.work__row--cover .work__meta{grid-area:auto/2;padding-top:14px}.work__cover{grid-area:auto/2;max-width:420px;padding-top:18px}.earlier__title{margin-bottom:28px}.job,.contact-list__item{grid-template-columns:minmax(0,1fr)}.skills{grid-template-columns:1fr 1fr}.contact__row{margin-top:40px}}@media (width<=480px){.skills,.earlier{grid-template-columns:minmax(0,1fr)}.about__facts{gap:18px}}
