@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-vietnamese-wght-normal-BUzh504Q.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-latin-ext-wght-normal-CcLUaPy7.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-latin-wght-normal-DLoelf7F.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-cyrillic-ext-wght-normal-cHuGMAiY.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-cyrillic-wght-normal-DwHjdM4S.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-greek-wght-normal-ece1310W.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-vietnamese-wght-normal-D-yuW59g.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-latin-ext-wght-normal-CxNHBx-q.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-latin-wght-normal-D9elroTD.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Azeret Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/azeret-mono-latin-ext-wght-normal-CaAVEd4C.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Azeret Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/azeret-mono-latin-wght-normal-BhHwRSCm.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{font-family:Bricolage Grotesque Variable,sans-serif;color-scheme:light;font-synthesis:none;text-rendering:optimizeLegibility;--ink: #202532;--ink-soft: #282a42;--paper: #f5efe5;--white: #fffaf2;--muted: #696c78;--line: rgba(32, 37, 50, .24);--acid: #dce6ef;--accent-surface: #c8e7e8;--accent-strong: #4b98a2;--accent-ink: #285f66;--blue: #496c89;--display: "Source Serif 4 Variable", Georgia, serif;--mono: "Azeret Mono Variable", monospace;--rail: clamp(265px, 23vw, 360px)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px;background:var(--ink)}body{margin:0;min-width:320px;background:var(--paper);color:var(--ink);font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none;touch-action:manipulation}img{display:block;max-width:100%}h1,h2,h3,p{margin-top:0}h1,h2,h3{text-wrap:balance}ul{margin:0;padding:0;list-style:none}::selection{background:var(--acid);color:var(--ink)}:focus-visible{outline:3px solid var(--blue);outline-offset:4px}.skip-link{position:fixed;z-index:1000;top:12px;left:12px;padding:12px 16px;background:var(--acid);color:var(--ink);font-weight:800;transform:translateY(-160%);transition:transform .18s ease}.skip-link:focus{transform:translateY(0)}.kicker{margin:0;color:var(--muted);font-family:var(--mono);font-size:.66rem;font-weight:650;letter-spacing:.08em;text-transform:uppercase}.resume-shell{display:grid;grid-template-columns:var(--rail) minmax(0,1fr)}.identity-panel{position:sticky;top:0;display:flex;height:100dvh;flex-direction:column;padding:clamp(24px,3vw,44px);background:var(--ink-soft);color:var(--white)}.personal-mark{display:inline-flex;width:fit-content;min-height:44px;align-items:center;gap:9px;padding:0 14px;border:1px solid rgba(255,255,255,.38);font-family:var(--mono);font-size:.69rem;font-weight:650;letter-spacing:.08em;transition:border-color .18s ease,background .18s ease,color .18s ease}.personal-mark span{color:#ffffff85;font-size:.6rem;font-weight:520}.personal-mark:hover{border-color:var(--accent-surface);background:var(--accent-surface);color:var(--ink)}.personal-mark:hover span{color:var(--accent-ink)}.identity-panel__intro{margin-top:auto}.identity-panel .kicker{color:#96979d}.identity-panel__intro h2{margin:18px 0 22px;font-family:var(--display);font-size:clamp(2.3rem,3.1vw,3.2rem);font-weight:450;letter-spacing:-.06em;line-height:.86}.identity-panel__intro>p:last-child{margin:0;color:#b5b6bc;font-size:.95rem;line-height:1.45}.identity-panel nav{margin-block:clamp(38px,5vh,64px);border-top:1px solid rgba(255,255,255,.18)}.identity-panel nav a{display:flex;min-height:45px;align-items:center;gap:16px;border-bottom:1px solid rgba(255,255,255,.2);color:#dedee9;font-size:.77rem;font-weight:560;transition:color .18s ease,padding .18s ease}.identity-panel nav a span{color:#6f7076;font-size:.62rem}.identity-panel nav a:hover{padding-left:8px;color:var(--acid)}.identity-panel__links{display:flex;gap:18px}.identity-panel__links a{display:inline-flex;min-height:44px;align-items:center;gap:7px;color:#b5b6bc;font-size:.72rem;font-weight:700}.identity-panel__links svg{width:15px}main{min-width:0}.profile{min-height:100dvh;padding:clamp(28px,4vw,64px) clamp(24px,6vw,96px) 40px;overflow:hidden;background:var(--paper)}.profile__meta{display:flex;justify-content:space-between;gap:20px;padding-bottom:18px;border-bottom:1px solid var(--line);color:var(--muted);font-family:var(--mono);font-size:.64rem;font-weight:560;letter-spacing:.05em;text-transform:uppercase}.profile__headline{margin-top:clamp(72px,10vh,128px)}.profile h1{max-width:1120px;margin:22px 0 0;font-family:var(--display);font-size:clamp(3.7rem,7vw,7.2rem);font-weight:470;letter-spacing:-.075em;line-height:.82}.profile h1 em{display:inline-block;position:relative;margin-left:clamp(18px,7vw,118px);color:var(--blue);font-family:var(--display);font-style:italic;font-weight:440}.profile h1 em:after{position:absolute;right:.04em;bottom:-.04em;left:.08em;height:.08em;border-radius:999px;background:var(--accent-strong);content:"";transform:rotate(-1deg)}.profile__summary{display:grid;grid-template-columns:.45fr 1fr auto;gap:clamp(28px,5vw,80px);align-items:end;margin-top:clamp(76px,11vh,135px)}.years{display:flex;align-items:flex-end;gap:14px}.years strong{font-family:var(--display);font-size:clamp(3.8rem,5.6vw,5.8rem);font-weight:480;letter-spacing:-.07em;line-height:.74}.years strong span{color:var(--accent-strong)}.years p{margin:0;color:var(--muted);font-size:.72rem;font-weight:700;line-height:1.2;text-transform:uppercase}.lead{max-width:640px;margin:0;font-size:clamp(1.1rem,1.6vw,1.45rem);line-height:1.5}.round-link{display:grid;width:60px;height:60px;place-items:center;border:1px solid var(--ink);border-radius:50%;background:transparent;transition:background .18s ease,color .18s ease,transform .18s ease}.round-link:hover{background:var(--blue);color:var(--white);transform:translateY(3px)}.round-link:hover{background:var(--ink);color:var(--acid)}.profile__principles{display:grid;grid-template-columns:repeat(3,1fr);margin-top:clamp(68px,9vh,112px);border-top:1px solid var(--ink)}.profile__principles span{padding:14px 12px 0 0;border-right:1px solid var(--line);color:var(--muted);font-size:.7rem;font-weight:750;letter-spacing:.1em;text-transform:uppercase}.profile__principles span+span{padding-left:14px}.resume-section{padding:clamp(90px,10vw,150px) clamp(24px,6vw,96px);border-top:1px solid var(--ink);background:var(--white)}.section-title{display:grid;grid-template-columns:52px 1fr minmax(220px,340px);gap:clamp(20px,4vw,60px);align-items:start;margin-bottom:clamp(64px,8vw,112px)}.section-title>span{display:grid;width:40px;height:40px;place-items:center;border:1px solid var(--ink);border-radius:50%;background:transparent;font-family:var(--mono);font-size:.62rem;font-weight:600}.section-title h2{margin:8px 0 0;font-family:var(--display);font-size:clamp(2.8rem,4.8vw,4.9rem);font-weight:450;letter-spacing:-.06em;line-height:.92}.section-title>p{margin:26px 0 0;color:var(--muted)}.timeline{border-top:1px solid var(--ink)}.timeline-item{display:grid;grid-template-columns:.35fr 1.65fr;border-bottom:1px solid var(--ink)}.timeline-item__period{display:grid;grid-template-rows:auto 1fr;padding:28px 28px 28px 0;border-right:1px solid var(--line)}.timeline-item__period span{color:var(--muted);font-size:.64rem}.period-summary{align-self:center;justify-self:center;display:grid;gap:22px;text-align:left}.timeline-item__period strong{display:block;font-family:var(--display);font-size:clamp(1.35rem,2vw,2.1rem);font-weight:470;line-height:1.12}.timeline-item__period small{color:var(--accent-ink);font-family:var(--mono);font-size:.64rem;font-weight:650;letter-spacing:.05em;text-align:inherit;text-transform:uppercase;white-space:nowrap}.timeline-item__content{padding:clamp(28px,4vw,52px)}.company-line{display:flex;align-items:center;gap:14px;margin-bottom:20px}.company-line img,.company-fallback{width:50px;height:50px;flex:0 0 50px;border:1px solid var(--line);border-radius:10px;background:#fff;object-fit:contain}.company-fallback{display:grid;place-items:center;background:var(--ink-soft);color:var(--white);font-family:var(--display);font-size:1.5rem}.company-line p{color:var(--accent-ink);font-family:var(--mono);font-size:.7rem;font-weight:650;letter-spacing:.05em;text-transform:uppercase}.timeline-item__content h3{max-width:820px;margin-bottom:34px;font-family:var(--display);font-size:clamp(1.8rem,2.9vw,3rem);font-weight:500;letter-spacing:-.05em;line-height:1}.timeline-item__details{display:grid;grid-template-columns:1fr .6fr;gap:40px}.timeline-item__details>p{max-width:680px;margin:0;color:var(--muted)}.timeline-item__details ul{display:flex;flex-wrap:wrap;gap:7px;align-content:start}.timeline-item__details li,.case-card__body li{padding:6px 10px;border:1px solid var(--line);border-radius:999px;font-size:.68rem}.work-section{background:var(--paper)}.case-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(30px,4vw,58px)}.case-card{min-width:0}.case-card:nth-child(2){margin-top:110px}.case-card__image{position:relative;aspect-ratio:1 / .8;overflow:hidden;background:var(--ink-soft)}.case-card__image img{width:100%;height:100%;object-fit:cover;transition:transform .45s cubic-bezier(.2,.75,.2,1)}.case-card:hover .case-card__image img{transform:scale(1.035)}.case-card__image span{position:absolute;top:14px;left:14px;padding:7px 10px;background:var(--acid);font-size:.62rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.case-card__body{display:grid;grid-template-columns:1fr auto;gap:18px;padding-top:22px;border-top:4px solid var(--ink)}.case-card__type{margin:0 0 7px;color:var(--muted);font-size:.65rem;font-weight:750;letter-spacing:.09em;text-transform:uppercase}.case-card h3{margin:0;font-family:var(--serif);font-size:clamp(2.4rem,4vw,4.2rem);font-weight:450;letter-spacing:-.055em;line-height:.9}.case-card__body>a{display:grid;width:48px;height:48px;place-items:center;border:1px solid var(--ink);border-radius:50%}.case-card__body>a:hover{background:var(--ink);color:var(--acid)}.case-card__body>a svg{width:18px}.case-card__private{padding-top:12px;color:var(--muted);font-size:.68rem;font-weight:750;text-transform:uppercase}.case-card__body>p{grid-column:1 / -1;max-width:580px;margin:10px 0 0;color:var(--muted)}.case-card__body ul{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:7px}.skills-section{background:var(--acid)}.skill-ledger{border-top:2px solid var(--ink)}.skill-ledger article{display:grid;grid-template-columns:52px .45fr 1fr;gap:24px;align-items:start;padding:clamp(24px,3vw,40px) 0;border-bottom:1px solid var(--ink)}.skill-ledger article>span{color:#1213188c;font-size:.65rem}.skill-ledger h3{margin:0;font-family:var(--display);font-size:clamp(1.7rem,2.6vw,2.7rem);font-weight:480;letter-spacing:-.045em;line-height:1.05}.skill-ledger p{max-width:760px;margin:3px 0 0;font-size:1rem}.education-section{background:var(--ink-soft);color:var(--white)}.education-section .kicker,.education-section .section-title>p{color:#a9a9ad}.education-section .section-title>span{border-color:#a9a9ad}.education-list{border-top:1px solid rgba(255,255,255,.4)}.education-list article{display:grid;grid-template-columns:.35fr 1.65fr;gap:32px;padding:clamp(28px,4vw,50px) 0;border-bottom:1px solid rgba(255,255,255,.4)}.education-list article>span{color:#96979d;font-size:.72rem;font-weight:700}.education-list p{margin-bottom:8px;color:var(--acid);font-size:.67rem;font-weight:760;letter-spacing:.12em;text-transform:uppercase}.education-list h3{margin:0;font-family:var(--display);font-size:clamp(1.6rem,2.7vw,2.8rem);font-weight:460;letter-spacing:-.045em;line-height:1.05}.closing{min-height:88dvh;padding:clamp(40px,6vw,80px) clamp(24px,6vw,96px) 28px;background:var(--accent-surface);color:var(--ink)}.closing__top{display:flex;justify-content:space-between;gap:20px;padding-bottom:16px;border-bottom:1px solid rgba(32,37,50,.45);font-family:var(--mono);font-size:.65rem;font-weight:560;letter-spacing:.05em;text-transform:uppercase}.closing h2{max-width:1100px;margin:clamp(70px,11vh,130px) 0;font-family:var(--display);font-size:clamp(3.3rem,6.5vw,6.8rem);font-weight:450;letter-spacing:-.07em;line-height:.85}.closing__links{display:flex;flex-wrap:wrap;gap:16px}.closing__links a{display:inline-flex;min-height:54px;align-items:center;gap:16px;padding:0 22px;border:1px solid var(--ink);border-radius:999px;font-size:.8rem;font-weight:650;transition:background .18s ease,color .18s ease}.closing__links a:first-child{background:var(--ink);color:var(--white)}.closing__links a:hover{background:var(--white);color:var(--ink)}.closing__links svg{width:18px}.closing footer{display:flex;justify-content:space-between;gap:20px;margin-top:clamp(90px,14vh,170px);padding-top:18px;border-top:1px solid rgba(32,37,50,.45);font-size:.7rem;font-weight:620}.closing footer a{display:inline-flex;align-items:center;gap:8px}.closing footer svg{width:14px}@media(max-width:980px){.resume-shell{grid-template-columns:1fr}.identity-panel{position:relative;display:grid;width:100%;height:auto;grid-template-columns:auto minmax(0,1fr);gap:24px;overflow:hidden;padding:22px var(--gutter, 24px)}.identity-panel__intro{min-width:0;margin:0}.identity-panel__intro h2{margin:3px 0 8px;font-size:clamp(1.5rem,4.5vw,2.1rem);line-height:.94;overflow-wrap:anywhere}.identity-panel__intro .kicker,.identity-panel__intro>p:last-child{display:none}.identity-panel nav{grid-column:1 / -1;display:flex;width:100%;min-width:0;gap:8px;overflow-x:auto;margin:8px 0 0;padding-bottom:4px;border:0;scrollbar-width:none}.identity-panel nav a{flex:0 0 auto;min-height:44px;padding:0 15px;border:1px solid rgba(255,255,255,.25);border-radius:999px}.identity-panel nav a:hover{padding-inline:15px}.identity-panel__links{position:absolute;top:28px;right:24px}.identity-panel__links a{width:44px;justify-content:center;border:1px solid rgba(255,255,255,.25);border-radius:50%;font-size:0}.identity-panel__links svg{width:17px}}@media(max-width:700px){.identity-panel{padding-inline:20px}.identity-panel nav{max-width:calc(100vw - 40px);flex-wrap:wrap;overflow:visible}.identity-panel__links a:nth-child(2){display:none}.profile,.resume-section,.closing{padding-inline:20px}.profile{min-height:auto;padding-bottom:64px}.profile__meta span:last-child{display:none}.profile__headline{margin-top:70px}.profile h1{max-width:100%;font-size:clamp(2.4rem,10.5vw,3.35rem);line-height:.94;overflow-wrap:anywhere}.profile h1 em{display:block;width:100%;max-width:100%;margin-left:0;overflow-wrap:anywhere}.profile__summary{grid-template-columns:1fr;margin-top:70px}.round-link{display:none}.profile__principles{margin-top:64px}.profile__principles span{padding-inline:6px;font-size:.58rem}.section-title{grid-template-columns:42px minmax(0,1fr)}.section-title>div,.section-title>p{min-width:0}.section-title h2{max-width:100%;font-size:clamp(1.9rem,8vw,2.5rem);overflow-wrap:anywhere}.section-title>p{grid-column:2;margin-top:0}.timeline-item{grid-template-columns:1fr}.timeline-item__period{display:flex;min-height:auto;flex-direction:row;align-items:center;gap:12px;padding:18px 0;border-right:0;border-bottom:1px solid var(--line)}.period-summary{display:flex;align-items:center;gap:12px;margin-left:auto;text-align:right}.timeline-item__period strong{text-align:right}.timeline-item__period strong{font-size:1.2rem}.timeline-item__content{padding:30px 0 44px}.timeline-item__details{grid-template-columns:1fr}.case-grid{grid-template-columns:1fr;gap:72px}.case-card:nth-child(2){margin-top:0}.skill-ledger article{grid-template-columns:34px 1fr}.skill-ledger p{grid-column:2}.education-list article{grid-template-columns:1fr;gap:14px}.closing__top{align-items:flex-start;flex-direction:column}.closing h2{max-width:100%;font-size:clamp(2.1rem,9vw,3.1rem);overflow-wrap:anywhere}.closing__links{align-items:stretch;flex-direction:column}.closing__links a{justify-content:center}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
