@font-face{font-family:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/newsreader-vietnamese-opsz-normal-BjhtXyW2.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:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/newsreader-latin-ext-opsz-normal-BQn1nviT.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:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/newsreader-latin-opsz-normal-s-izfB6B.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:Newsreader Variable;font-style:italic;font-display:swap;font-weight:200 800;src:url(/assets/newsreader-vietnamese-opsz-italic-DTr-ymY4.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:Newsreader Variable;font-style:italic;font-display:swap;font-weight:200 800;src:url(/assets/newsreader-latin-ext-opsz-italic-CSPGnFdO.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:Newsreader Variable;font-style:italic;font-display:swap;font-weight:200 800;src:url(/assets/newsreader-latin-opsz-italic-kJKFiXvB.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:Switzer;src:url(/assets/switzer-400-BxEtgLLb.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Switzer;src:url(/assets/switzer-400i-I_DKYBMX.woff2)format("woff2");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Switzer;src:url(/assets/switzer-500-A29GCmfN.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Switzer;src:url(/assets/switzer-600-DSnGZNn0.woff2)format("woff2");font-weight:600;font-style:normal;font-display:swap}:root{--linen:#f3eee7;--sand:#e8dfd2;--night:#2a2521;--ink:#26211d;--ink-2:#5a524b;--ink-3:#877d74;--clay:#9a6a4d;--line:#26211d24;--on-night:#efe8de;--on-night-2:#b3a99e;--font-display:"Newsreader Variable", "Newsreader", "Iowan Old Style", "Palatino Linotype", serif;--font-text:"Switzer", "Avenir Next", "Segoe UI", system-ui, sans-serif;--gutter:clamp(1.25rem, 4.5vw, 4.5rem);--max:84rem;--radius:1.25rem;--section-space:clamp(5.5rem, 12vw, 11rem);--ease:cubic-bezier(.22, 1, .36, 1);--step-0:clamp(1rem, .96rem + .18vw, 1.125rem);--step-1:clamp(1.125rem, 1.05rem + .4vw, 1.375rem);--step-2:clamp(1.4rem, 1.2rem + 1vw, 2rem);--step-3:clamp(1.75rem, 1.3rem + 2.2vw, 3rem);--step-4:clamp(2.1rem, 1.3rem + 3.6vw, 4.5rem);--step-hero:clamp(3.5rem, 9.2vw, 9rem)}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;background:var(--linen)}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}body{background:var(--linen);color:var(--ink);font-family:var(--font-text);font-size:var(--step-0);font-kerning:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;line-height:1.6;overflow-x:clip}img{max-width:100%;height:auto;display:block}h1,h2,h3,h4,p,ol,ul,dl,dd,figure{margin:0;padding:0}ol,ul{list-style:none}a{color:inherit;text-underline-offset:.2em;text-decoration-thickness:1px}::selection{background:var(--clay);color:var(--linen)}:focus-visible{outline:2px solid var(--clay);outline-offset:3px;border-radius:4px}.skip-link{left:var(--gutter);z-index:100;background:var(--ink);color:var(--linen);border-radius:999px;padding:.5rem .9rem;text-decoration:none;position:absolute;top:-4rem}.skip-link:focus{top:calc(.75rem + env(safe-area-inset-top,0px))}.site-header{z-index:50;padding:calc(.9rem + env(safe-area-inset-top,0px)) var(--gutter) .9rem;transition:background-color .4s var(--ease), box-shadow .4s var(--ease);align-items:center;gap:2rem;display:flex;position:fixed;top:0;bottom:auto;left:0;right:0}.site-header.is-scrolled{-webkit-backdrop-filter:saturate(160%)blur(18px);backdrop-filter:saturate(160%)blur(18px);box-shadow:0 1px 0 var(--line);background:#f3eee7c7}.site-header.on-night{color:var(--on-night)}.site-header.on-night.is-scrolled{background:#2a2521c7;box-shadow:0 1px #efe8de1a}.site-header__name{font-family:var(--font-display);letter-spacing:-.01em;white-space:nowrap;opacity:0;transition:opacity .5s var(--ease), transform .5s var(--ease);font-size:1.2rem;font-weight:450;text-decoration:none;transform:translateY(.4rem)}.site-header.show-name .site-header__name{opacity:1;transform:none}.site-header__nav{gap:1.75rem;margin-left:auto;font-size:.9rem;display:flex}.site-header__nav a{opacity:.62;transition:opacity .3s var(--ease);text-decoration:none}.site-header__nav a:hover,.site-header__nav a.is-active{opacity:1}.lang{gap:.15rem;margin-left:auto;display:flex}.site-header__nav+.lang{margin-left:0}.lang__btn{-webkit-appearance:none;appearance:none;color:inherit;font:500 .8rem/1 var(--font-text);letter-spacing:.06em;cursor:pointer;opacity:.5;transition:opacity .3s var(--ease), background-color .3s var(--ease);background:0 0;border:0;border-radius:999px;padding:.5rem .55rem}.lang__btn[aria-pressed=true]{opacity:1;background:#26211d14}.on-night .lang__btn[aria-pressed=true]{background:#efe8de1f}@media (max-width:760px){.site-header__nav{display:none}.site-header__nav+.lang{margin-left:auto}}.section__label{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);align-items:baseline;gap:.9rem;font-size:.8rem;font-weight:500;display:flex}.section__num{font-family:var(--font-display);letter-spacing:0;text-transform:none;color:var(--clay);font-size:1rem;font-style:italic;font-weight:400}.statement{font-family:var(--font-display);font-size:var(--step-4);letter-spacing:-.015em;text-wrap:balance;max-width:19em;margin-top:clamp(1.5rem,3vw,2.5rem);font-weight:330;line-height:1.15}.statement--tight{max-width:14em;margin-top:0}.lead{font-size:var(--step-1);color:var(--ink);line-height:1.55}[data-reveal-lines] .line-mask{margin-bottom:-.18em;padding-bottom:.18em}.js [data-fade]{opacity:0}.js [data-reveal-lines]{visibility:hidden}.section{padding:var(--section-space) var(--gutter) 0;position:relative}.section>*{max-width:var(--max);margin-left:max(0px, calc((100% - var(--max)) / 2));margin-right:auto}.media{border-radius:var(--radius);background:var(--sand);position:relative;overflow:hidden}.media img{object-fit:cover;width:100%;height:100%}[data-parallax] img{will-change:transform;transform:scale(1.14)}.horizon{height:clamp(5.5rem,12vw,9rem);margin-top:var(--section-space);margin-inline:calc(-1 * var(--gutter));max-width:none;color:var(--ink);--fill:transparent;position:relative}.horizon svg{width:100%;height:100%;position:absolute;top:0;bottom:0;left:0;right:0;overflow:visible}.horizon .horizon__fill{fill:var(--fill)}.horizon .horizon__line{fill:none;stroke:currentColor;stroke-width:1.25px;vector-effect:non-scaling-stroke;stroke-linecap:round}.hero{min-height:100svh;padding:calc(6.5rem + env(safe-area-inset-top,0px)) var(--gutter) 0;flex-direction:column;display:flex;position:relative}.hero__grid{width:100%;max-width:var(--max);flex:1;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);column-gap:clamp(2rem,5vw,5rem);margin-inline-start:auto;margin-inline-end:auto;display:grid}.hero__text{flex-direction:column;justify-content:space-between;gap:2.5rem;padding-bottom:clamp(3.5rem,9vh,6.5rem);display:flex}.hero__name{font-family:var(--font-display);font-size:var(--step-hero);letter-spacing:-.035em;margin-top:clamp(1rem,5vh,4rem);font-weight:300;line-height:1.02}.hero__name span{display:block}.hero__last{padding-left:.6em;font-style:italic;font-weight:280}.hero__meta{gap:1.25rem;max-width:30em;display:grid}.hero__role{letter-spacing:.08em;text-transform:uppercase;color:var(--clay);font-size:.85rem;font-weight:500}.hero__intro{font-size:var(--step-1);color:var(--ink-2);line-height:1.55}.hero__portrait{z-index:2;aspect-ratio:3/4;border-radius:var(--radius);background:var(--sand);place-self:end;height:min(100svh - 10rem,46rem);min-height:26rem;position:relative;overflow:hidden}.hero__portrait img{object-fit:cover;object-position:50% 30%;width:100%;height:100%}.horizon--hero{z-index:1;pointer-events:none;height:clamp(7rem,20vh,13rem);margin-top:clamp(-4rem,-5vw,-2rem)}@media (max-width:760px){.hero{min-height:0;padding-top:calc(5.25rem + env(safe-area-inset-top,0px))}.hero__grid{grid-template-columns:minmax(0,1fr)}.hero__text{gap:1.5rem;padding-bottom:0}.hero__name{margin:0;font-size:clamp(3.25rem,17vw,6rem)}.hero__last{padding-left:.35em}.hero__meta{gap:1rem}.hero__role{font-size:.75rem}.hero__portrait{margin:1.75rem calc(-1 * var(--gutter)) 0;aspect-ratio:4/5;border-radius:0;justify-self:stretch;width:auto;height:auto;min-height:0}.horizon--hero{height:6.5rem;margin-top:1rem}}.about{padding-top:clamp(3rem,8vw,7rem)}.about__grid{grid-template-columns:minmax(0,5fr) minmax(0,6fr);align-items:start;gap:clamp(2rem,6vw,7rem);margin-top:clamp(3rem,7vw,6rem);display:grid}.about__photo{aspect-ratio:4/5}.about__photo img{object-position:50% 35%}.about__body{max-width:36rem;color:var(--ink-2);gap:1.4rem;padding-top:clamp(0rem,4vw,4rem);display:grid}.about__body .lead{color:var(--ink)}.facts{border-top:1px solid var(--line);margin-top:1.5rem}.facts__row{border-bottom:1px solid var(--line);grid-template-columns:7.5rem minmax(0,1fr);gap:1rem;padding:1.25rem 0;display:grid}.facts dt{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);padding-top:.2em;font-size:.8rem;font-weight:500}.facts dd{gap:.15rem;display:grid}.facts__main{color:var(--ink);font-weight:500}.facts__meta{color:var(--ink-3);font-size:.92em}.about .horizon{--fill:var(--sand)}@media (max-width:760px){.about__grid{grid-template-columns:minmax(0,1fr)}.about__photo{margin-inline:calc(-1 * var(--gutter));border-radius:0;order:2}.facts__row{grid-template-columns:minmax(0,1fr);gap:.35rem}}.studies{background:var(--sand);padding-top:clamp(2.5rem,6vw,5rem)}.studies .statement{max-width:17em}.degree{border-top:1px solid var(--line);grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(1.25rem,5vw,6rem);margin-top:clamp(3.5rem,8vw,7rem);padding-top:clamp(2rem,4vw,3rem);display:grid}.degree+.degree{margin-top:clamp(3rem,6vw,5rem)}.degree__aside{align-content:start;gap:2.5rem;display:grid}.degree__years{font-family:var(--font-display);font-size:var(--step-3);letter-spacing:-.02em;font-variant-numeric:lining-nums;font-weight:300;line-height:1.15}.degree__body{gap:clamp(1.75rem,3vw,2.5rem);max-width:44rem;display:grid}.degree__head{gap:.25rem;display:grid}.degree__title{font-size:var(--step-1);font-weight:500;line-height:1.35}.degree__meta{color:var(--ink-2)}.degree__status{letter-spacing:.08em;text-transform:uppercase;color:var(--clay);margin-top:.4rem;font-size:.8rem;font-weight:500}.degree__status--done{color:var(--ink-3)}.thesis{gap:1rem;display:grid}.thesis__label{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);font-size:.8rem;font-weight:500}.thesis__title{font-family:var(--font-display);font-size:var(--step-3);letter-spacing:-.01em;text-wrap:balance;-webkit-hyphens:manual;hyphens:manual;font-style:italic;font-weight:330;line-height:1.18}.thesis__original{color:var(--ink-3);font-size:.9rem}.thesis__text{color:var(--ink-2);max-width:38em}.thesis__state{color:var(--ink);font-weight:500}.thesis__pdf{justify-self:start;font-weight:500}.thesis__note{font-family:var(--font-display);color:var(--clay);max-width:30em;margin-top:.5rem;font-size:1.05rem;font-style:italic}.graduation{background:0 0;border-radius:0;width:min(26rem,100%);overflow:visible}.graduation img{border-radius:var(--radius);aspect-ratio:2160/3375}.graduation figcaption{color:var(--ink-3);margin-top:.7rem;font-size:.85rem}.studies .horizon{--fill:var(--linen)}@media (max-width:760px){.degree{grid-template-columns:minmax(0,1fr)}.degree__aside{display:contents}.graduation{order:3;width:100%}.thesis__title{-webkit-hyphens:auto;hyphens:auto}}.outlook{padding-top:clamp(2.5rem,6vw,5rem);padding-bottom:var(--section-space)}.outlook__grid{grid-template-columns:minmax(0,5fr) minmax(0,6fr);align-items:start;gap:clamp(2rem,6vw,7rem);margin-top:clamp(2rem,4vw,3rem);display:grid}.outlook__photo{aspect-ratio:4/5;position:sticky;top:6rem}.outlook__photo img{object-position:40% 30%}.outlook__body{padding-top:clamp(0rem,3vw,3rem)}.interests{counter-reset:interest;border-top:1px solid var(--line);margin-top:clamp(2.5rem,5vw,4rem)}.interests__item{border-bottom:1px solid var(--line);counter-increment:interest;grid-template-columns:3rem minmax(0,1fr);column-gap:1rem;padding:clamp(1.5rem,3vw,2.25rem) 0;display:grid}.interests__item:before{content:counter(interest, decimal-leading-zero);font-family:var(--font-display);color:var(--clay);grid-row:span 2;padding-top:.35em;font-style:italic}.interests__item h3{font-family:var(--font-display);font-size:var(--step-2);letter-spacing:-.01em;font-weight:380;line-height:1.2}.interests__item p{color:var(--ink-2);max-width:34em;margin-top:.6rem}@media (max-width:760px){.outlook__grid{grid-template-columns:minmax(0,1fr)}.outlook__photo{margin-inline:calc(-1 * var(--gutter));border-radius:0;order:2;position:relative;top:0}.interests__item{grid-template-columns:2.25rem minmax(0,1fr);column-gap:.5rem}}.contact{background:var(--night);color:var(--on-night);padding:0 var(--gutter) calc(1.5rem + env(safe-area-inset-bottom,0px));position:relative}.horizon--contact{background:var(--linen);color:var(--ink);--fill:var(--night);margin-top:0}.contact__inner{max-width:var(--max);margin:0 auto;padding:clamp(4rem,9vw,8rem) 0 clamp(5rem,10vw,9rem)}.contact .section__label{color:var(--on-night-2)}.contact .section__num{color:#c89f82}.contact .statement{max-width:14em}.contact__text{max-width:32em;color:var(--on-night-2);font-size:var(--step-1);margin-top:1.75rem}.contact__links{grid-template-columns:repeat(2,minmax(0,max-content));gap:1.5rem clamp(2.5rem,7vw,7rem);margin-top:clamp(3rem,6vw,4.5rem);display:grid}.contact__links li{gap:.35rem;min-width:0;display:grid}.contact__kind{letter-spacing:.08em;text-transform:uppercase;color:var(--on-night-2);font-size:.8rem;font-weight:500}.contact__link{font-family:var(--font-display);font-size:var(--step-2);overflow-wrap:anywhere;transition:background-size .5s var(--ease);background-image:linear-gradient(currentColor,currentColor);background-position:0 100%;background-repeat:no-repeat;background-size:0% 1px;padding-bottom:.1em;font-weight:350;text-decoration:none}.contact__link:hover{background-size:100% 1px}.contact__link:focus-visible{background-size:100% 1px}.footer{max-width:var(--max);color:var(--on-night-2);border-top:1px solid #efe8de1f;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:1rem 2rem;margin:0 auto;padding-top:1.5rem;font-size:.85rem;display:grid}.footer a{text-decoration:none}.footer a:hover{color:var(--on-night)}.privacy summary{cursor:pointer;width:max-content;list-style:none}.privacy summary::-webkit-details-marker{display:none}.privacy summary:hover{color:var(--on-night)}.privacy p{max-width:44em;margin-top:.75rem;line-height:1.6}@media (max-width:760px){.contact__links{grid-template-columns:minmax(0,1fr)}.footer{grid-template-columns:minmax(0,1fr) auto}.privacy{grid-area:2/1/auto/-1}}@media (prefers-reduced-motion:reduce){.js [data-fade]{opacity:1}.js [data-reveal-lines]{visibility:visible}[data-parallax] img{transform:none}}
