@font-face{font-family:DM Sans Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(../media/dm-sans-latin-ext-wght-normal.0x9ccydb91kkt.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(../media/dm-sans-latin-wght-normal.0fpdy-lufm69d.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/archivo-vietnamese-wght-normal.3cbdnbmi1hpzs.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/archivo-latin-ext-wght-normal.3cxrhsknk8wrd.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/archivo-latin-wght-normal.0inx24hl2eswd.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:DM Mono;font-style:normal;font-display:swap;font-weight:400;src:url(../media/dm-mono-latin-ext-400-normal.1pfgs2ppes6ct.woff2)format("woff2"),url(../media/dm-mono-latin-ext-400-normal.0v8siylx-sjgb.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Mono;font-style:normal;font-display:swap;font-weight:400;src:url(../media/dm-mono-latin-400-normal.3cj_yefp0d3o_.woff2)format("woff2"),url(../media/dm-mono-latin-400-normal.1uf9q2fklt56m.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{--paper:#e9eae3;--ink:#20221e;--muted:#606558;--line:#c8ccbe;--lime:#c6e879;--sans:"DM Sans Variable", Arial, sans-serif;--display:"Archivo Variable", Arial, sans-serif;--mono:"DM Mono", monospace}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:25px}body{background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0}::selection{background:var(--lime);color:var(--ink)}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}p,h1,h2,h3,figure{margin:0}svg{flex-shrink:0}a,button,summary{-webkit-tap-highlight-color:transparent;touch-action:manipulation}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--ink);outline-offset:6px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{background:var(--ink);color:var(--paper);z-index:10;padding:12px 20px;position:fixed;top:12px;left:12px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.personal-page{flex-direction:column;width:min(1360px,100%);min-height:100svh;margin-inline:auto;padding:32px 64px 24px;display:flex}.masthead{justify-content:space-between;align-items:center;gap:20px;display:flex}.initials{font-family:var(--display);letter-spacing:-2.8px;font-size:30px;font-weight:750;line-height:1}.initials>span{color:var(--muted)}.location{font-family:var(--mono);align-items:center;gap:10px;font-size:10px;display:flex}.location>span{background:var(--ink);border-radius:50%;width:6px;height:6px}main{flex:1}.introduction{grid-template-columns:minmax(0,1fr) minmax(0,.8fr);align-items:center;gap:9%;padding-block:58px 38px;display:grid}.intro-copy{padding-bottom:46px}.eyebrow{font-family:var(--mono);letter-spacing:.055em;font-size:9px;font-weight:400;line-height:1.7}.intro-copy>.eyebrow{margin-bottom:25px}h1{font-family:var(--display);letter-spacing:-.075em;font-size:clamp(90px,11.8vw,160px);font-weight:650;line-height:.86}.name-line{padding-bottom:.12em;padding-right:.1em;display:block;overflow:hidden}.name-line+.name-line{margin-top:-.065em}.name-reveal{display:inline-block}.name-period{color:#6b8343}.bio{max-width:390px;margin-top:24px}.statement{letter-spacing:-1.25px;font-size:29px;font-weight:450;line-height:1.2}.bio p+p{color:var(--muted);letter-spacing:-.2px;max-width:345px;margin-top:20px;font-size:14px;line-height:1.75}.bio strong{color:var(--ink);font-weight:600}.photo-panel{min-width:0;position:relative}@property --reveal-radius{syntax:"<length>";inherits:true;initial-value:0}.photo-stage{aspect-ratio:4/5;--pointer-x:50%;--pointer-y:50%;--reveal-radius:0px;background:#dee8c1;border:0;width:100%;padding:0;transition:--reveal-radius .25s ease-out;display:block;position:relative;overflow:hidden}.photo-stage:disabled,.photo-stage[aria-disabled=true]{cursor:default}.photo-stage[data-phase=revealing]{transition:none}.photo-stage>img{object-fit:cover;object-position:center;width:100%;height:100%;display:block;position:absolute;inset:0}.photo-stage>canvas{width:100%;height:100%;image-rendering:pixelated;opacity:0;pointer-events:none;-webkit-mask-image:radial-gradient(circle at var(--pointer-x) var(--pointer-y), transparent max(0px, calc(var(--reveal-radius) - 32px)), #000 var(--reveal-radius));mask-image:radial-gradient(circle at var(--pointer-x) var(--pointer-y), transparent max(0px, calc(var(--reveal-radius) - 32px)), #000 var(--reveal-radius));position:absolute;inset:0}.photo-stage[data-ready=true]:not([data-phase=revealed])>canvas{opacity:1}.photo-caption{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:15px;padding:10px 0 9px;display:flex}.photo-description{font-family:var(--mono);align-items:center;gap:13px;font-size:9px;line-height:1.6;display:flex}.photo-count{color:var(--muted)}.photo-hint{color:var(--muted);font-family:var(--mono);font-size:9px;line-height:1.6}.tap-hint{display:none}@media (pointer:coarse){.click-hint{display:none}.tap-hint{display:inline}}@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.photo-stage[data-phase=dither][data-ready=true]:hover{--reveal-radius:78px;transition:--reveal-radius .55s cubic-bezier(.22,.61,.36,1)}}.closing-photo{width:min(680px,100%);margin:72px auto 0}.closing-photo .photo-stage{aspect-ratio:5/4}.background{border-block:1px solid var(--line)}.background-heading{align-items:center;gap:22px;padding:22px 0;display:flex}.background-heading h2{letter-spacing:-.5px;font-size:18px;font-weight:400}.background-label{font-family:var(--mono);letter-spacing:.04em;color:var(--muted);margin-left:auto;font-size:8px}.background-content{grid-template-columns:1.35fr 1fr;gap:40px 9%;padding:16px 0 50px;display:grid}.background-about{border-bottom:1px solid var(--line);grid-column:1/-1;grid-template-columns:180px 1fr 1fr;gap:35px;padding-bottom:35px;display:grid}.background-about>p:not(.eyebrow){color:var(--muted);font-size:14px;line-height:1.8}.background-content h2{letter-spacing:-.6px;margin-bottom:24px;font-size:21px;font-weight:500}.career ol{margin:0;padding:0;list-style:none}.career li+li{border-top:1px solid var(--line);margin-top:23px;padding-top:23px}.career-top{justify-content:space-between;align-items:baseline;gap:15px;display:flex}.career h3,.background-aside h3{letter-spacing:-.2px;font-size:15px;font-weight:550}.career-date{font-family:var(--mono);color:var(--muted);white-space:nowrap;font-size:8px}.career-role{margin-top:5px;font-size:12px}.career-description{color:var(--muted);margin-top:12px;font-size:12px;line-height:1.8}.background-aside section+section{margin-top:34px}.background-aside h2{margin-bottom:17px}.background-aside p{color:var(--muted);font-size:12px;line-height:1.85}.background-aside h3+p{margin-top:7px}.education-extra{margin-top:19px}.contact-row{justify-content:space-between;align-items:flex-start;gap:30px;padding-top:28px;display:flex}.contact-link,.linkedin-link{letter-spacing:-1.5px;align-items:center;gap:33px;font-size:32px;font-weight:450;display:inline-flex}.contact-link svg,.linkedin-link svg{width:27px;height:27px;transition:transform .2s}.contact-link:hover svg,.linkedin-link:hover svg{transform:translate(3px,-3px)}.contact-link>span,.linkedin-link>span:first-child{background:linear-gradient(var(--lime), var(--lime)) left bottom/0% 28% no-repeat;transition:background-size .25s}.contact-link:hover>span,.linkedin-link:hover>span:first-child{background-size:100% 28%}.linkedin-link{letter-spacing:-1px;gap:38px;margin-top:6px;font-size:23px}.linkedin-link svg{width:22px;height:22px}.email-details{flex-wrap:wrap;align-items:center;gap:12px;margin-top:10px;display:flex}.email-details>span{font-family:var(--mono);color:var(--muted);font-size:10px}.copy-email{align-items:center;gap:8px;display:flex}.copy-email button{color:var(--muted);background:0 0;border:0;align-items:center;min-height:28px;padding:5px;display:flex}.copy-email button:hover{color:var(--ink)}.copy-email [role=status]{color:var(--muted);overflow-wrap:anywhere;max-width:190px;font-size:10px}.copy-email [role=status]:empty{display:none}.footer{font-family:var(--mono);color:var(--muted);justify-content:space-between;gap:15px;padding-top:40px;font-size:9px;display:flex}@media (min-width:1500px){.introduction{padding-top:75px;padding-bottom:50px}}@media (max-width:1100px){.personal-page{padding-inline:40px}.introduction{grid-template-columns:1fr .85fr;gap:7%}.intro-copy{padding-bottom:40px}h1{font-size:12vw}.statement{font-size:25px}.bio{margin-top:18px}.bio p+p{margin-top:15px;font-size:13px}.background-about{grid-template-columns:1fr 1fr;gap:20px}.background-about .eyebrow{grid-column:1/-1}.background-content{column-gap:6%}.career-top{display:block}.career-date{margin-top:5px}}@media (max-width:700px){.personal-page{padding:24px 22px 20px}.initials{font-size:27px}.location{gap:8px;font-size:9px}.location>span{width:5px;height:5px}.introduction{grid-template-columns:1fr;gap:28px;padding-block:48px 30px}.intro-copy{padding:0}.intro-copy>.eyebrow{margin-bottom:23px;font-size:8px}h1{letter-spacing:-.075em;font-size:clamp(80px,20vw,138px)}.name-line{padding:0;display:inline;overflow:visible}.name-line+.name-line:before{content:" ";display:block}.bio{max-width:100%;margin-top:24px}.statement{letter-spacing:-1px;font-size:26px}.statement br{display:none}.bio p+p{max-width:390px;margin-top:14px;font-size:14px}.photo-panel{justify-self:center;width:100%;max-width:440px}.photo-stage{aspect-ratio:1/1.03}.photo-caption{padding-block:8px}.photo-description{font-size:9px}.closing-photo{margin-top:44px}.background-heading{gap:12px;padding-block:20px}.background-heading h2{font-size:17px}.background-label{display:none}.background-content{grid-template-columns:1fr;gap:32px;padding-top:6px;padding-bottom:32px}.background-about{grid-template-columns:1fr;gap:16px;padding-bottom:26px}.background-about>p:not(.eyebrow){font-size:13px}.background-content h2{margin-bottom:21px;font-size:20px}.career-top{display:flex}.career h3,.background-aside h3{font-size:14px}.career-date{margin-top:0;font-size:7px}.career-role{font-size:11px}.career-description{margin-top:10px;font-size:12px}.background-aside{border-top:1px solid var(--line);padding-top:26px}.contact-row{gap:20px;padding-top:24px}.contact-link{letter-spacing:-1.3px;gap:13px;font-size:27px}.contact-link svg{width:23px;height:23px}.linkedin-link{letter-spacing:-.6px;gap:15px;font-size:18px}.linkedin-link svg{width:18px;height:18px}.email-details{gap:6px;margin-top:8px}.email-details>span{font-size:9px}.copy-email button svg{width:13px;height:13px}.copy-email [role=status]{max-width:140px;font-size:9px}.footer{padding-top:35px;font-size:8px}}@media (max-width:380px){.personal-page{padding-inline:20px}.statement{font-size:24px}.career-top{display:block}.career-date{margin-top:6px}.contact-link{gap:10px;font-size:24px}.linkedin-link{gap:8px;font-size:16px}.email-details{max-width:178px}.footer{font-size:7px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}
