@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url("/assets/inter-variable.woff2") format("woff2")}
:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#252525;background:#fff;font-synthesis:none;font-size:16pt;--muted:#707070;--line:#ededed;--soft:#f6f6f6}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid #3c69b9;outline-offset:5px}button{cursor:pointer}::selection{background:#e3eafa}html{scroll-behavior:smooth;scroll-padding-top:30px}.shell{max-width:1240px;margin:auto;display:grid;grid-template-columns:200px minmax(0,1fr);gap:82px;padding:78px 54px 50px}.sidebar{position:sticky;top:76px;align-self:start}.identity{display:block;margin:0 0 36px 12px;line-height:1.6}.identity strong{font-weight:600;font-size:1rem}.identity span{display:block;color:var(--muted);font-size:0.875rem}.nav{display:grid;gap:4px}.nav a{display:flex;gap:12px;align-items:center;min-height:44px;padding:10px 12px;font-size:0.875rem;color:#656565;border-radius:7px}.nav a[aria-current=page]{background:var(--soft);color:#222}.nav a:hover{background:#f8f8f8;color:#222}.nav svg{width:18px;height:18px;stroke-width:1.6;flex:none}.sidebar-note{font-size:0.75rem;color:#777;margin:32px 12px 0}main{min-width:0;max-width:760px}.page-head{margin-bottom:56px}.eyebrow{font-size:0.875rem;color:var(--muted);font-weight:400;margin:0 0 20px}.intro{font-size:1.75rem;letter-spacing:-.8px;line-height:1.42;font-weight:450;margin:0;max-width:700px}.intro .quiet{color:var(--muted)}.section{margin:0 0 48px}.section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:16px}.section-heading h2{font-size:0.875rem;color:var(--muted);font-weight:400;margin:0}.section-heading a{font-size:0.8125rem;color:var(--muted);padding:10px 0}.section-heading a:hover{color:#222}.project-row{display:flex;align-items:center;gap:24px;min-height:106px;padding:18px 0;border-bottom:1px solid var(--line)}.project-row:first-of-type{border-top:1px solid var(--line)}.project-row .row-text{flex:1;min-width:0}.row-title{display:block;font-size:1.125rem;line-height:1.5;font-weight:550;letter-spacing:-.3px}.row-desc{display:block;font-size:1rem;line-height:1.5;color:var(--muted);margin-top:3px}.project-row img{width:122px;height:72px;object-fit:cover;border-radius:4px;flex:none}.project-row:hover .row-title{text-decoration:underline;text-underline-offset:4px}.text-row{padding:16px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:112px 1fr;gap:24px}.text-row .label{color:var(--muted);font-size:0.875rem;padding-top:4px}.text-row .row-title{font-size:1rem}.placeholder-image{width:122px;height:72px;display:grid;place-items:center;background:var(--soft);color:#858585;font-size:0.75rem;border-radius:4px;flex:none}.draft-note{font-size:0.875rem;color:var(--muted);line-height:1.7;margin:20px 0}.footer{font-size:0.75rem;color:#7b7b7b;margin-top:80px;padding-top:20px;border-top:1px solid var(--line)}.skip{position:fixed;top:8px;left:8px;padding:12px;background:#222;color:#fff;transform:translateY(-160%);z-index:10}.skip:focus{transform:none}
@media(min-width:1600px){.shell{padding-top:100px}}@media(max-width:1000px){.shell{gap:42px;padding:48px 28px;grid-template-columns:176px minmax(0,1fr)}.intro{font-size:1.5625rem}.sidebar{top:48px}.project-row{gap:16px}.project-row img,.placeholder-image{width:100px;height:64px}}@media(max-width:700px){.shell{display:block;padding:28px 22px}.sidebar{position:static;margin-bottom:44px}.identity{margin:0 0 20px;display:flex;align-items:baseline;justify-content:space-between;gap:12px}.identity span{font-size:0.8125rem}.nav{display:flex;flex-wrap:wrap;gap:2px}.nav a{padding:9px 10px;gap:7px;font-size:0.8125rem}.nav svg{width:16px;height:16px}.sidebar-note{display:none}.page-head{margin-bottom:38px}.intro{font-size:1.5rem;letter-spacing:-.55px}.project-row img,.placeholder-image{width:92px;height:62px}.row-title{font-size:1.0625rem}.row-desc{font-size:0.9375rem}.text-row{grid-template-columns:80px 1fr;gap:18px}.footer{margin-top:48px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.experience-row{display:grid;grid-template-columns:96px minmax(0,1fr) 100px;gap:22px;border-block:1px solid var(--line);padding:24px 0}.experience-date{font-size:0.8125rem;color:var(--muted);padding-top:3px}.experience-row h3{font-size:1.125rem;letter-spacing:-.3px;font-weight:550;margin:0 0 5px}.experience-row p{font-size:0.9375rem;line-height:1.65;color:var(--muted);margin:0 0 12px}.experience-row .experience-role{color:#353535;margin-bottom:8px}.experience-thumb{width:100px;height:64px;object-fit:cover;border-radius:4px}.inline-link{font-size:0.875rem;text-decoration:underline;text-underline-offset:4px}.index-desc{font-weight:400;color:var(--muted);margin-left:8px}.study-index{margin-bottom:64px}.case-study{scroll-margin-top:32px}.case-title{display:flex;justify-content:space-between;align-items:baseline;gap:24px;padding:0 0 32px}.case-title h2{font-size:1.5625rem;line-height:1.3;letter-spacing:-.7px;font-weight:550;margin:0}.company-wordmark{font-size:1.4375rem;font-weight:550;letter-spacing:-1px;color:#248338}.case-facts{margin:0 0 32px}.case-facts>div{display:grid;grid-template-columns:112px 1fr;gap:24px;margin-bottom:20px}.case-facts dt{font-size:0.875rem;line-height:1.7;color:var(--muted)}.case-facts dd{font-size:1rem;line-height:1.7;margin:0}.outcomes{padding:24px 0 30px;margin-bottom:16px;border-top:1px solid var(--line)}.outcomes h3{font-size:0.875rem;color:var(--muted);font-weight:400;margin:0 0 18px}.outcomes ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.outcomes li{display:grid;gap:5px}.outcomes strong{font-size:1.4375rem;font-weight:550;letter-spacing:-.5px;font-variant-numeric:tabular-nums}.outcomes li span{color:var(--muted);font-size:0.875rem;line-height:1.5}.comparison{display:grid;grid-template-columns:1fr 1fr;gap:20px}.comparison figure{margin:0;min-width:0}.comparison figcaption{font-size:0.875rem;display:flex;justify-content:space-between;margin-bottom:12px;color:#666}.comparison figcaption span{color:#888}.image-view{display:block;padding:0;border:1px solid #ececec;background:white;width:100%;line-height:0;cursor:zoom-in;border-radius:3px;overflow:hidden}.image-view:hover{border-color:#b2b2b2}.image-view img{display:block;width:100%;height:auto;aspect-ratio:1678/937}.image-caption{font-size:0.75rem;line-height:1.6;color:var(--muted);margin:14px 0 30px}.back-index{display:inline-flex;align-items:center;min-height:44px;font-size:0.8125rem;color:var(--muted)}dialog{width:calc(100% - 48px);max-width:1600px;max-height:90vh;padding:0;border:1px solid #ddd;border-radius:7px;background:white}dialog::backdrop{background:rgb(20 20 20 / .68)}.dialog-top{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 20px;border-bottom:1px solid var(--line);position:sticky;top:0;background:#fff}.dialog-top h2{font-size:0.9375rem;font-weight:500;margin:0}.dialog-close{border:0;background:var(--soft);min-height:44px;padding:0 16px;border-radius:4px}.expanded-image{display:block;width:100%;height:auto}.modal-open{overflow:hidden}.project-row h3,.project-row p{margin:0}.project-row p{margin-top:4px}.draft-note{max-width:58ch}@media(max-width:1000px){.experience-row{grid-template-columns:80px minmax(0,1fr);gap:16px}.experience-thumb{display:none}.case-title{gap:16px}.case-title h2{font-size:1.4375rem}.case-facts>div{grid-template-columns:92px 1fr;gap:16px}.comparison{gap:14px}}@media(max-width:700px){.case-title{display:block}.company-wordmark{display:block;margin-top:14px;font-size:1.3125rem}.case-facts>div{grid-template-columns:84px 1fr;gap:16px}.case-facts dd{font-size:0.9375rem}.outcomes ul{gap:14px}.outcomes strong{font-size:1.375rem}.outcomes li span{font-size:0.8125rem}.comparison{grid-template-columns:1fr;gap:24px}.study-index{margin-bottom:48px}.index-desc{display:block;margin-left:0;font-size:0.9375rem}.dialog-top{padding:10px 12px}.dialog-top h2{font-size:0.875rem}dialog{width:calc(100% - 20px)}.experience-row{grid-template-columns:72px 1fr}.experience-date{font-size:0.75rem}}
/* User-selected type hierarchy: base 16pt. */
.intro{font-size:3rem;line-height:1.12;letter-spacing:-.055em;font-weight:450;max-width:none;text-wrap:pretty}
.section-heading h2,.case-title h2{font-size:1.5rem;line-height:1.3;letter-spacing:-.025em;font-weight:500;color:#252525}
.row-title,.row-desc,.text-row .row-title,.experience-row h3,.experience-row .experience-role,.index-desc{font-size:1.25rem;line-height:1.4}
.row-title,.experience-row h3{font-weight:550;letter-spacing:-.025em}
.row-desc,.index-desc{font-weight:400;letter-spacing:-.02em;color:var(--muted)}
.section-heading{align-items:center}.section-heading a{flex:none}
.project-row{padding-block:22px}.page-head{margin-bottom:64px}
@media(max-width:700px){.intro{font-size:2rem;line-height:1.15}.section-heading{align-items:flex-start;gap:12px}.section-heading a{padding-top:7px}.project-row{gap:14px}.row-title,.row-desc{overflow-wrap:anywhere}.page-head{margin-bottom:44px}}
.sidebar-note,.footer,.placeholder-image{color:var(--muted)}
@media(max-width:420px){.case-facts>div{grid-template-columns:1fr;gap:4px}.section-heading{flex-wrap:wrap}}

.nav a{border-radius:14px}

.career-list{list-style:none;margin:0;padding:0}.career-row{display:grid;grid-template-columns:156px minmax(0,1fr);gap:34px;padding:22px 0 28px}.career-dates{font-size:.75rem;line-height:1.5;color:var(--muted);margin:5px 0 0}.career-detail h3{font-size:1.25rem;line-height:1.4;font-weight:550;letter-spacing:-.025em;margin:0}.career-company{font-size:1.25rem;line-height:1.4;color:var(--muted);margin:3px 0 8px;letter-spacing:-.02em}.career-summary{font-size:1rem;line-height:1.55;color:var(--muted);margin:0}.home-work{margin-bottom:56px}@media(max-width:1000px){.career-row{grid-template-columns:122px minmax(0,1fr);gap:22px}}@media(max-width:700px){.career-row{grid-template-columns:1fr;gap:9px;padding:18px 0 25px}.career-dates{margin:0}.home-work{margin-bottom:40px}}
/* Brian Lovin-inspired inline label / description contrast. */
.case-facts>div{display:block;margin-bottom:18px;font-size:1.25rem;line-height:1.5;letter-spacing:-.02em}
.case-facts dt{display:inline;font-size:inherit;line-height:inherit;font-weight:550;color:#252525;margin-right:.4em}
.case-facts dd{display:inline;font-size:inherit;line-height:inherit;font-weight:400;color:var(--muted);margin:0}

html{scroll-behavior:auto;scroll-padding-top:32px}[data-section]{scroll-margin-top:32px}.long-section{margin-top:72px;padding-top:36px;border-top:1px solid var(--line)}#portfolio>.project-row{margin-bottom:48px}#contact{min-height:55vh}.case-study{margin-top:44px}@media(max-width:700px){.long-section{margin-top:48px;padding-top:28px}}
.nav a[aria-current=location]{background:var(--soft);color:#222}

/* Navigation updated from the user's Paper design. */
.identity{margin-bottom:26px}.identity strong{color:#000}
.nav{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding-left:7px}
.nav a{font-family:Inter,system-ui,sans-serif;font-size:16px;font-weight:600;line-height:20px;min-height:44px;padding:10px 0;gap:12px;color:#a1a1a1;border-radius:0;background:transparent}
.nav a[aria-current=location],.nav a:hover{color:#000;background:transparent}
.nav-icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px;flex:0 0 24px}
.nav .nav-icon svg{display:block;width:24px;height:24px;overflow:visible;stroke-width:2;flex:none}
@media(max-width:700px){.identity{margin-bottom:20px}.nav{flex-direction:row;flex-wrap:wrap;column-gap:22px;padding-left:0}.nav a{padding:10px 0;gap:12px}}

/* Home and Career synced to the revised Paper design. */
:root{--fg-inactive:#a1a1a1;--black:#000}
.identity{margin-left:0;margin-bottom:26px;line-height:34px}
.nav{padding-left:0}
#home .eyebrow{font-size:16px;font-weight:600;line-height:26px;color:var(--fg-inactive)}
#home .intro{font-weight:400;line-height:72px;color:var(--black)}
#home .intro-greeting,#home .quiet{display:block}
#home .quiet{color:var(--fg-active)}
#work .section-heading h2{color:var(--black);line-height:42px}
.career-dates{font-size:16px;font-weight:600;line-height:24px;color:var(--fg-inactive)}
.career-heading{display:flex;align-items:baseline;flex-wrap:wrap;column-gap:8px}
.career-detail h3,.career-company{font-size:20px;font-weight:600;line-height:37px;margin:0}
.career-detail h3{color:var(--fg-inactive);letter-spacing:-.025em}
.career-company{color:var(--black);letter-spacing:-.02em}
.career-summary{font-size:16px;font-weight:600;line-height:24px;color:var(--fg-inactive)}
@media(max-width:700px){#home .intro{font-size:2rem;line-height:1.15}.identity{margin-bottom:20px}.career-heading{row-gap:0}}

/* Latest Paper colors, weights and Side projects thumbnails. */
:root{--fg-active:#707070;--white:#fff;--inter:Inter;--text-default:16px;--radius-m:4px;--radius-l:12px}
.career-summary{color:var(--fg-active)}
#portfolio .row-title,.company-wordmark,.case-facts dt,.outcomes strong,#side-projects .row-title,#contact .row-title{font-weight:500}
#side-projects .placeholder-image{width:156px;height:110px;border-radius:var(--radius-l)}
#side-projects .side-project-thumbnail{width:158px;height:103px;border-radius:var(--radius-l);object-fit:cover;max-width:none}
@media(max-width:700px){#side-projects .placeholder-image{width:104px;height:74px}#side-projects .side-project-thumbnail{width:104px;height:68px}}

:root{--fg-highlight:#525252;--weight-readable:400}
:root{--fg-default:#6d6d6d}
.career-summary{color:var(--fg-default);font-weight:var(--weight-readable)}

.portfolio-intro{margin:0 0 16px;font-size:16px;line-height:24px;font-weight:var(--weight-readable);color:var(--fg-default)}

/* Portfolio overview and accessible detail drawer. */
#portfolio{border-top:0}
#portfolio .section-heading h2{font-weight:600;color:#000}
.portfolio-intro{font-size:20px;line-height:28px}
.portfolio-feature{padding-top:40px;display:flex;flex-direction:column;gap:32px}
.portfolio-feature .case-title{padding:0;align-items:center}
.portfolio-feature .case-title h2,.portfolio-feature .company-wordmark{font-size:24px;line-height:30px;font-weight:500}
.portfolio-hero{display:block;width:100%;height:auto;aspect-ratio:760/425;object-fit:cover;border-radius:12px}
.project-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:0;font-size:20px;line-height:24px}
.project-overview dt{font-weight:600;margin-bottom:5px}.project-overview dd{margin:0;color:#707070}
.project-summary{font-size:16px;line-height:28px;color:#707070;margin:0;letter-spacing:-.02em}
.show-more,.drawer-close,.drawer-back{border:0;background:#ededed;color:#525252;padding:10px 12px;border-radius:12px;font-size:16px;line-height:24px;font-weight:600;min-height:44px;align-self:flex-start}
.show-more:hover,.drawer-close:hover,.drawer-back:hover{background:#e3e3e3;color:#000}
.case-drawer{position:fixed;inset:0 0 0 auto;margin:0;width:min(880px,100%);max-width:100%;height:100dvh;max-height:100dvh;border:0;border-radius:0;padding:0;overscroll-behavior:contain}
.case-drawer[open]{animation:drawer-enter 350ms ease-in-out}
.case-drawer::backdrop{background:rgb(0 0 0 / .35)}
.drawer-header{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:24px;background:#fff;border-bottom:1px solid #ededed;padding:24px 40px}
.drawer-header h2{margin:0;font-size:24px;font-weight:600}
.drawer-content{padding:32px 40px 48px}.drawer-subtitle{font-size:24px;line-height:32px;margin:0 0 32px;color:#707070}
.case-drawer .case-facts{font-size:20px}.case-drawer .case-facts>div{font-size:20px;line-height:30px}
.drawer-back{margin-top:8px}
@keyframes drawer-enter{from{transform:translateX(100%)}to{transform:translateX(0)}}
@media(max-width:700px){.portfolio-feature{gap:24px}.project-overview{gap:16px;font-size:16px}.portfolio-feature .case-title{display:flex;align-items:baseline}.portfolio-feature .company-wordmark{margin:0}.drawer-header{padding:16px 20px}.drawer-content{padding:24px 20px 36px}}
@media(max-width:380px){.project-overview{grid-template-columns:1fr}.project-overview br{display:none}}
@media(prefers-reduced-motion:reduce){.case-drawer[open]{animation:none}}

.case-drawer .outcomes li{grid-template-rows:auto 1fr;align-content:start}

/* Paper section spacing and Experience navigation update. */
#home.page-head{margin-bottom:148px}
#work.home-work{margin:0;padding-bottom:148px}
#portfolio.long-section{margin:0;padding-top:36px;padding-bottom:148px}
#side-projects.long-section{margin:72px 0 0;padding-top:36px}
#contact.long-section{margin:0;padding-top:148px;border-top:0}
#contact .section-heading{padding-top:36px}
.nav{padding-top:0}
.case-drawer .comparison{margin-bottom:18px}

/* Full Paper revision: hero font, side projects, contact and placeholder studies. */
@font-face{font-family:Fustat;font-style:normal;font-weight:200 800;font-display:swap;src:url('/assets/fustat-variable.ttf') format('truetype')}
#home .intro{font-family:Fustat,Inter,sans-serif;font-size:64px;font-weight:400;line-height:72px;letter-spacing:-.055em}
#home .intro-greeting{font-weight:600}
.section-heading h2{font-size:32px;font-weight:600;line-height:42px;color:#000}
#side-projects .project-row{align-items:flex-start;gap:40px;padding:22px 0}
#side-projects .project-row:first-of-type{border-top:0}
#side-projects .project-row:last-child{border-bottom:0;gap:24px}
#side-projects .row-title{font-size:24px;font-weight:600;line-height:37px;letter-spacing:-.025em}
#side-projects .row-desc{font-size:20px;font-weight:400;line-height:28px;letter-spacing:-.025em}
#side-projects .side-project-thumbnail{width:360px;height:263px;border-radius:12px;object-fit:cover}
#side-projects .placeholder-image{width:350px;height:263px;border-radius:12px}
#contact{min-height:550px}#contact a{color:#0e70cc;overflow-wrap:anywhere;font-size:20px}#contact a:hover{text-decoration:underline}
.drawer-close{width:51px;padding-inline:0}
.placeholder-study{margin-top:108px}
.placeholder-company{font-size:24px;line-height:30px;color:#707070;flex-shrink:0}
.case-image-placeholder{background:#ededed}
@media(max-width:1000px){#side-projects .project-row{flex-direction:column;gap:24px}#side-projects .side-project-thumbnail,#side-projects .placeholder-image{width:100%;height:auto;aspect-ratio:360/263}}
@media(max-width:700px){#home .intro{font-size:42px;line-height:1.15}.placeholder-study{margin-top:72px}.placeholder-study .case-title{flex-wrap:wrap;gap:8px}.placeholder-company{font-size:20px}}
