:root{color-scheme:dark;--bg:#030304;--text:#fffffffa;--soft:#fffc;--essay:#fffffff2;--body:#ffffffe6;--muted:#fff9;--link:#edeaea;--tag:#0c0d0f;--sans:"Be Vietnam Pro", "Segoe UI", sans-serif;--serif:Newsreader, Georgia, serif;--reading-width:570px;--sidebar-width:326px;--layout-gap:48px;--layout-pad:16px;--section-gap:64px;--page-width:calc(var(--reading-width) + var(--layout-gap) + var(--sidebar-width) + (2 * var(--layout-pad)))}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);font-family:var(--sans);margin:0;font-weight:400}a{color:var(--link)}a:focus-visible{outline:2px solid var(--text);outline-offset:3px}.page{width:min(var(--page-width), 100%);margin-inline:auto}.page-header{justify-content:center;padding:64px 0 128px;display:flex}.logo{width:151px;height:144px;display:block}.main-content{align-items:center;gap:var(--section-gap);flex-direction:column;display:flex}.home-main,.career-layout{gap:var(--layout-gap);width:100%;padding-inline:var(--layout-pad);align-items:flex-start;display:flex}.essay{width:var(--reading-width);flex-direction:column;gap:24px;display:flex}.essay-header{flex-direction:column;gap:16px;display:flex}h1,.subhead,.name,.career-header h2,.role-title,.role-meta,.divider{font-family:var(--sans);font-style:normal;font-weight:400}h1{color:var(--text);margin:0;font-size:48px;line-height:56px}.subhead{color:var(--soft);margin:0;font-size:24px;line-height:32px}.essay-body p,.panel-copy,.role-summary{font-family:var(--serif);margin:0;font-size:18px;font-weight:400;line-height:28px}.essay-body{color:var(--essay);flex-direction:column;gap:18px;display:flex}.panel{width:var(--sidebar-width);flex-direction:column;gap:32px;display:flex}.panel-block{flex-direction:column;gap:16px;display:flex}.name{margin:0;font-size:32px;line-height:40px}.panel-copy{color:var(--body)}.portrait{border-radius:15px;width:100%;height:auto;display:block}.link-row{gap:16px;display:flex}.link-row a{font-family:var(--serif);text-underline-offset:.12em;font-size:16px;line-height:1;text-decoration:underline}.career-header h2{margin:0}.section-mark,.highlight{width:146px;height:24px;display:block}.career{width:var(--reading-width);flex-direction:column;flex:none;gap:42px;display:flex}.projects{width:var(--sidebar-width);flex-direction:column;flex:none;gap:32px;display:flex}.projects-intro,.project{flex-direction:column;display:flex}.projects-intro{gap:16px}.project{gap:8px}.projects-intro h2,.project-title{margin:0;font-weight:400}.projects-intro h2{font-size:32px;line-height:40px}.projects-intro p,.project p{font-family:var(--serif);color:var(--body);margin:0;font-size:18px;line-height:28px}.project p a{color:inherit;text-underline-offset:.12em;text-decoration:underline}.project-title{align-items:center;font-size:20px;line-height:28px;display:flex}.project-title a{color:var(--text);text-underline-offset:.12em;text-decoration:underline}.project-title img,.role-title img{width:16px;height:16px;margin:8px}.project-image{width:100%;height:auto;display:block}.career-header{flex-direction:column;gap:16px;display:flex}.career-header h2{font-size:48px;line-height:56px}.role{flex-direction:column;gap:16px;display:flex}.role-header{flex-direction:column;gap:8px;display:flex}.role-title{align-items:center;margin:0;font-size:24px;line-height:30px;display:flex}.role-title a,.role-title span{color:var(--text)}.role-title a{text-underline-offset:.12em;text-decoration:underline}.cv{width:var(--reading-width);flex-direction:column;gap:24px;display:flex}.cv-header{flex-direction:column;gap:16px;display:flex}.cv-heading{margin:0;font-size:24px;font-weight:400;line-height:32px}.cv-jobs{flex-direction:column;gap:48px;display:flex}.cv-job,.cv-job-header,.cv-titles{flex-direction:column;display:flex}.cv-job{gap:24px}.cv-job-header,.cv-titles{gap:8px}.cv-company{align-items:center;margin:0;font-size:24px;font-weight:400;line-height:30px;display:flex}.cv-company a,.cv-company span,.cv-mention{color:var(--text)}.cv-company a,.cv-mention{text-underline-offset:.12em;text-decoration:underline}.cv-company img{width:24px;height:24px;margin:8px}.cv-intro a{color:inherit;text-underline-offset:.12em;text-decoration:underline}.cv-intro,.cv-summary,.cv-points{font-family:var(--serif);color:var(--body);margin:0;font-size:18px;line-height:28px}.cv-titles{color:var(--muted);margin:0;padding:0;font-size:14px;line-height:20px;list-style:none}.cv-points{flex-direction:column;gap:16px;padding-left:27px;list-style:outside;display:flex}.page-footer{width:100%;margin-top:var(--section-gap);padding:var(--layout-pad);justify-content:space-between;align-items:center;gap:16px;display:flex}.page-footer p{color:#ffffff80;text-align:right;margin:0;font-size:14px;line-height:20px}.role-meta{color:var(--muted);margin:0;font-size:14px;line-height:20px}.role-summary{color:var(--body)}.tags{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.tags li{background:var(--tag);color:var(--soft);border-radius:5px;padding:8px;font-size:14px;line-height:20px}@media (width<=980px){.page{max-width:calc(var(--reading-width) + (2 * var(--layout-pad)));width:100%}.page-header{padding:48px 0 72px}.home-main,.career-layout,.essay,.panel,.career,.projects,.cv{width:100%}.career-layout,.page-footer{flex-direction:column;align-items:flex-start}.page-footer p{text-align:left}.home-main{flex-direction:column;gap:48px}h1,.career-header h2{font-size:36px;line-height:44px}}
