@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-ext-400-normal-BQZuk6qB.woff2)format("woff2"),url(/assets/inter-cyrillic-ext-400-normal-DQukG94-.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-400-normal-obahsSVq.woff2)format("woff2"),url(/assets/inter-cyrillic-400-normal-HOLc17fK.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-ext-400-normal-DGGRlc-M.woff2)format("woff2"),url(/assets/inter-greek-ext-400-normal-KugGGMne.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-400-normal-B4URO6DV.woff2)format("woff2"),url(/assets/inter-greek-400-normal-q2sYcFCs.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-vietnamese-400-normal-DMkecbls.woff2)format("woff2"),url(/assets/inter-vietnamese-400-normal-Bbgyi5SW.woff)format("woff");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:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-ext-400-normal-C1nco2VV.woff2)format("woff2"),url(/assets/inter-latin-ext-400-normal-77YHD8bZ.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:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-400-normal-C38fXH4l.woff2)format("woff2"),url(/assets/inter-latin-400-normal-CyCys3Eg.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}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-cyrillic-ext-500-normal-B0yAr1jD.woff2)format("woff2"),url(/assets/inter-cyrillic-ext-500-normal-BmqWE9Dz.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-cyrillic-500-normal-BasfLYem.woff2)format("woff2"),url(/assets/inter-cyrillic-500-normal-CxZf_p3X.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-greek-ext-500-normal-C4iEst2y.woff2)format("woff2"),url(/assets/inter-greek-ext-500-normal-2j5mBUwD.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-greek-500-normal-BIZE56-Y.woff2)format("woff2"),url(/assets/inter-greek-500-normal-Xzm54t5V.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-vietnamese-500-normal-DOriooB6.woff2)format("woff2"),url(/assets/inter-vietnamese-500-normal-mJboJaSs.woff)format("woff");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:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-ext-500-normal-CV4jyFjo.woff2)format("woff2"),url(/assets/inter-latin-ext-500-normal-BxGbmqWO.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:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-500-normal-Cerq10X2.woff2)format("woff2"),url(/assets/inter-latin-500-normal-BL9OpVg8.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{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-bg:#161826;--color-surface:#232532;--color-text:#e9e9ed;--color-accent:#9184d9;--color-accent-2:#a7a1db;--color-divider:#e9e9ed29;--color-neutral-100:#f3f5fe;--color-neutral-200:#e4e7f5;--color-neutral-300:#cfd3e5;--color-neutral-400:#b2b6ca;--color-neutral-500:#9397ab;--color-neutral-600:#75798c;--color-neutral-700:#595d6c;--color-neutral-800:#3f424d;--color-neutral-900:#292b31;--color-accent-100:#f5f4ff;--color-accent-200:#e7e5fe;--color-accent-300:#d2cefd;--color-accent-400:#b5abfc;--color-accent-500:#968ae0;--color-accent-600:#796cbf;--color-accent-700:#5d5294;--color-accent-800:#423a6a;--color-accent-900:#2b2741;--font-sans:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--radius-sm:4px;--radius-md:8px;--radius-lg:14px;--shadow-sm:0 0 0 1px #3f424d;--shadow-md:0 0 0 1px #595d6c, 0 6px 18px #0000008c;--container-max:1040px;--page-gutter:32px;--page-top:56px;--page-bottom:96px;--section-gap:56px;--hover-tint:color-mix(in srgb, var(--color-text) 4%, transparent);--focus-ring:2px solid var(--color-accent);--ease-out:cubic-bezier(.16, 1, .3, 1);--transition:.15s ease-out;--motion-enter:.38s;--motion-stagger:45ms}@media (width<=720px){:root{--page-gutter:20px;--page-top:40px;--page-bottom:64px;--section-gap:40px}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);margin:0;font-size:15px;font-weight:400;line-height:1.55}h1,h2,h3,h4{letter-spacing:-.015em;margin:0;font-weight:500;line-height:1.12}p{margin:0}ul{margin:0;padding:0}a{color:var(--color-accent);text-underline-offset:3px;transition:color var(--transition);text-decoration:none}a:hover{color:var(--color-accent-300);text-decoration:underline}img{max-width:100%;display:block}:focus-visible{outline:var(--focus-ring);outline-offset:2px;border-radius:2px}::selection{background:color-mix(in srgb, var(--color-accent) 30%, transparent)}.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.btn{border-radius:var(--radius-md);min-height:30px;font:inherit;color:var(--color-text);cursor:pointer;transition:background-color var(--transition), border-color var(--transition), color var(--transition);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;gap:6px;padding:6px 10px;font-size:14px;font-weight:500;line-height:1.2;text-decoration:none;display:inline-flex}@media (width<=720px){.btn{min-height:40px;padding:9px 14px}}.btn:hover{text-decoration:none}.btn-primary{color:var(--color-accent);border-color:var(--color-accent)}.btn-primary:hover{color:var(--color-accent);background:color-mix(in srgb, var(--color-accent) 12%, transparent)}.btn-primary:active{background:color-mix(in srgb, var(--color-accent) 22%, transparent)}.btn-secondary{border-color:var(--color-divider)}.btn-secondary:hover{color:var(--color-text);background:color-mix(in srgb, var(--color-text) 7%, transparent)}.btn-secondary:active{background:color-mix(in srgb, var(--color-text) 14%, transparent)}.tag{letter-spacing:.02em;border-radius:6px;align-items:center;padding:3px 10px;font-size:11px;display:inline-flex}.tag-accent{background:var(--color-accent-800);color:var(--color-accent-100)}.tag-neutral{background:var(--color-neutral-800);color:var(--color-neutral-100)}.page{background:radial-gradient(ellipse 60% 40% at 18% 0%, var(--color-accent-900) 0%, transparent 70%), var(--color-bg);min-height:100dvh}.container{max-width:var(--container-max);padding:var(--page-top) var(--page-gutter) var(--page-bottom);gap:var(--section-gap);grid-template-columns:minmax(0,1fr);margin:0 auto;display:grid}.hero{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:32px;display:grid}.hero__body{flex-direction:column;gap:18px;min-width:0;display:flex}.kicker{letter-spacing:.1em;text-transform:uppercase;color:var(--color-accent);align-items:center;gap:10px;font-size:11px;display:flex}.kicker:before{content:"";background:var(--color-accent);flex:none;width:28px;height:2px;display:inline-block}.hero__name{letter-spacing:-.02em;overflow-wrap:anywhere;font-size:clamp(36px,5vw,56px);font-weight:500;line-height:1.05}.hero__intro{max-width:60ch;color:var(--color-neutral-400);text-wrap:pretty;font-size:16px;line-height:1.6}.contacts{color:var(--color-neutral-300);flex-wrap:wrap;gap:8px 20px;font-size:14px;list-style:none;display:flex}.contacts__item{overflow-wrap:anywhere;min-width:0}.contacts__item.is-muted,.contacts__item.is-muted a{color:var(--color-neutral-500)}.contacts__item.is-muted a:hover{color:var(--color-accent-300)}.actions{flex-wrap:wrap;gap:10px;display:flex}.avatar{background:var(--color-surface);width:148px;height:148px;box-shadow:0 0 0 1px var(--color-neutral-800), 0 0 48px var(--color-accent-900);border-radius:50%;flex:none;overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%}@media (width<=640px){.hero{grid-template-columns:minmax(0,1fr);gap:24px}.avatar{order:-1;width:104px;height:104px}}.stats{background:var(--color-divider);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;display:grid;position:relative;overflow:hidden}@media (width<=768px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=340px){.stats{grid-template-columns:minmax(0,1fr)}}.stat{background:var(--color-surface);flex-direction:column;gap:4px;padding:18px 20px;display:flex}.stat__value{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:28px;font-weight:500}.stat__label{color:var(--color-neutral-500);text-wrap:balance;font-size:12px}.section{grid-template-columns:minmax(0,1fr);gap:28px;display:grid}.section__heading{align-items:center;gap:16px;display:flex}.section__title{letter-spacing:.08em;text-transform:uppercase;color:var(--color-neutral-500);font-size:13px;font-weight:500;line-height:1.12}.section__line{background:linear-gradient(to right, var(--color-divider), transparent);flex:1;height:1px}.jobs{grid-template-columns:minmax(0,1fr);gap:28px;display:grid}.job{grid-template-columns:180px minmax(0,1fr);align-items:start;gap:24px;display:grid}.job__meta{color:var(--color-neutral-500);font-variant-numeric:tabular-nums;flex-direction:column;gap:4px;font-size:13px;display:flex;position:sticky;top:24px}.job__period{color:var(--color-neutral-300)}.job__body{flex-direction:column;gap:16px;min-width:0;display:flex}.job__title{flex-direction:column;gap:2px;display:flex}.job__headline{flex-wrap:wrap;align-items:center;gap:6px 12px;display:flex}.job__company{font-size:20px;font-weight:500}.job__site{border:1px solid var(--color-divider);min-height:26px;color:var(--color-neutral-300);white-space:nowrap;transition:color var(--transition), border-color var(--transition), background-color var(--transition);border-radius:6px;align-items:center;gap:6px;padding:3px 10px;font-size:12px;line-height:1.4;display:inline-flex}.job__site:hover{color:var(--color-accent);border-color:var(--color-accent);background:color-mix(in srgb, var(--color-accent) 10%, transparent);text-decoration:none}.job__site:active{background:color-mix(in srgb, var(--color-accent) 18%, transparent)}.job__site svg{flex:none}.job__role{color:var(--color-neutral-500);font-size:13px}.job__summary{max-width:68ch;color:var(--color-neutral-400);text-wrap:pretty;font-size:14px;line-height:1.6}.projects{flex-direction:column;gap:10px;display:flex}@media (width<=720px){.job{grid-template-columns:minmax(0,1fr);gap:10px}.job__meta{flex-flow:wrap;gap:4px 8px;position:static}.job__duration:before{content:"· "}.job__site{min-height:36px;padding:7px 12px}}.project{background:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.project__summary{cursor:pointer;border-radius:var(--radius-md);transition:background-color var(--transition);grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"name toggle""kind toggle";align-items:center;gap:3px 12px;padding:14px 16px;list-style:none;display:grid}.project__summary::-webkit-details-marker{display:none}.project__summary::marker{content:""}.project__summary:hover{background:var(--hover-tint)}.project__summary:focus-visible{outline:var(--focus-ring);outline-offset:-2px;border-radius:var(--radius-md)}.project[open] .project__summary{border-radius:var(--radius-md) var(--radius-md) 0 0}.project__name{letter-spacing:normal;overflow-wrap:anywhere;grid-area:name;font-size:15px;font-weight:500;line-height:1.2}.project__kind{color:var(--color-neutral-500);grid-area:kind;font-size:12px}.project__toggle{letter-spacing:.06em;text-transform:uppercase;text-align:right;min-width:4.5em;color:var(--color-accent);white-space:nowrap;grid-area:toggle;font-size:11px}.project__content{border-top:1px solid var(--color-divider);flex-direction:column;gap:12px;padding:0 16px 16px;display:flex}.project__bullets{max-width:72ch;color:var(--color-neutral-300);text-wrap:pretty;flex-direction:column;gap:6px;margin:12px 0 0;padding-left:18px;font-size:13.5px;line-height:1.55;display:flex}.project__stack{flex-wrap:wrap;gap:6px;list-style:none;display:flex}.project__links{flex-wrap:wrap;gap:16px;font-size:13px;display:flex}.closing{gap:var(--section-gap);grid-template-columns:minmax(0,1fr);display:grid}.facts{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:40px;display:grid}.facts__group{flex-direction:column;gap:16px;min-width:0;display:flex}.chips{flex-wrap:wrap;gap:6px;list-style:none;display:flex}.kv{grid-template-columns:auto minmax(0,1fr);gap:8px 20px;margin:0;font-size:14px;display:grid}.kv__row{display:contents}.kv dt,.kv dd{margin:0}.kv__muted{color:var(--color-neutral-500)}.footer{border-top:1px solid var(--color-divider);color:var(--color-neutral-500);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 24px;padding-top:24px;font-size:12px;display:flex}@media (prefers-reduced-motion:no-preference){.reveal{opacity:0;transition:opacity var(--motion-enter) var(--ease-out) var(--reveal-delay,0s), transform var(--motion-enter) var(--ease-out) var(--reveal-delay,0s);transform:translateY(14px)}.reveal.is-visible{opacity:1;transform:none}.hero.reveal .kicker:before{transform-origin:0;transition:transform .52s var(--ease-out) .12s;transform:scaleX(0)}.hero.reveal.is-visible .kicker:before{transform:scaleX(1)}.stats.reveal .stat,.facts__group.reveal .chips .tag{opacity:0;transition:opacity .3s var(--ease-out), transform .3s var(--ease-out);transform:translateY(8px)}.stats.reveal.is-visible .stat,.facts__group.reveal.is-visible .chips .tag{opacity:1;transform:none}.stats.reveal .stat:nth-child(2){transition-delay:var(--motion-stagger)}.stats.reveal .stat:nth-child(3){transition-delay:calc(var(--motion-stagger) * 2)}.stats.reveal .stat:nth-child(4){transition-delay:calc(var(--motion-stagger) * 3)}.facts__group.reveal .chips .tag:nth-child(n+2){transition-delay:30ms}.facts__group.reveal .chips .tag:nth-child(n+6){transition-delay:60ms}.facts__group.reveal .chips .tag:nth-child(n+11){transition-delay:90ms}.project{transition:box-shadow var(--transition), transform var(--transition)}.project:not([open]):hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.project[open] .project__content>*{animation:reveal-rise .3s var(--ease-out) backwards}.project[open] .project__content>:nth-child(2){animation-delay:50ms}.project[open] .project__content>:nth-child(3){animation-delay:.1s}.btn:active,.job__site:active{transform:scale(.97)}}@keyframes reveal-rise{0%{opacity:0;transform:translateY(6px)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}@media print{@page{margin:12mm}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html,body{color:#111!important;background:#fff!important}.page{min-height:0;background:0 0!important}.container{gap:28px;max-width:none;padding:0}.actions,.project__toggle{display:none!important}a{color:#4b3fa8!important;text-decoration:none!important}.kicker,.kicker:before{color:#4b3fa8;background-color:#4b3fa8}.kicker{background:0 0}.hero{grid-template-columns:minmax(0,1fr) auto;gap:24px}.avatar{width:96px;height:96px;box-shadow:none;background:#fff;border:1px solid #ccc;order:0}.hero__name{font-size:36px}.hero__intro,.job__summary,.project__bullets,.contacts{color:#333!important}.job__role,.job__meta,.stat__label,.project__kind,.kv__muted,.footer,.section__title,.contacts__item.is-muted,.contacts__item.is-muted a{color:#555!important}.job__period{color:#222!important}.job__site{border-color:#ddd;min-height:0;padding:1px 6px;background:0 0!important}.job__site svg{display:none}.job:not(:first-child),.closing{break-inside:avoid}.job__meta{position:static}.stats{box-shadow:none;break-inside:avoid;background:#ddd;border:1px solid #ddd}.stat{box-shadow:none!important;background:#fff!important}.project{break-inside:avoid;border:1px solid #ddd;box-shadow:none!important;background:#fff!important}.project__summary{padding:10px 14px}.project__content{border-top-color:#e3e3e3}.tag{border:1px solid #ddd;color:#222!important;background:#f0f0f4!important}.section__line{background:linear-gradient(90deg,#ddd,#0000)}.footer{border-top-color:#ddd}:focus-visible{outline:none!important}.reveal,.stats .stat,.facts__group .chips .tag,.project__content>*{opacity:1!important;transition:none!important;animation:none!important;transform:none!important}.hero .kicker:before{transform:none!important}}
