@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-cyrillic-ext-opsz-normal.DIwfbPUE.woff2)format("woff2-variations");unicode-range:U+460-52F,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(/_astro/source-serif-4-cyrillic-opsz-normal.C0olyEE-.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-greek-opsz-normal.DrHU7SY7.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-vietnamese-opsz-normal.DX68cEVD.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:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-latin-ext-opsz-normal.HoL-AExg.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-20C4,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(/_astro/source-serif-4-latin-opsz-normal.BpEBLj1O.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:"Source Serif 4 Variable";font-style:italic;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-cyrillic-ext-opsz-italic.Bl6DJqma.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Serif 4 Variable";font-style:italic;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-cyrillic-opsz-italic.Dibx14aP.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Source Serif 4 Variable";font-style:italic;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-greek-opsz-italic.CMW9dfKg.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:"Source Serif 4 Variable";font-style:italic;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-vietnamese-opsz-italic.Hh3oeMt5.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:"Source Serif 4 Variable";font-style:italic;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-latin-ext-opsz-italic.BhUEwDRF.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Serif 4 Variable";font-style:italic;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-latin-opsz-italic.BOLXpvkj.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}:root{--st-bg:#07080a;--st-fg:#ece9e2;--st-muted:#8b8f98;--st-line:#ffffff1a;--st-signal:#ffb020;--st-glass:#101216b3;color-scheme:dark;--ink:#000;--ink-soft:#222}@media (prefers-color-scheme:light){:root:not([data-theme=dark]){--st-bg:#eceef2;--st-fg:#111318;--st-muted:#5d636e;--st-line:#1113181a;--st-signal:#a85f00;--st-glass:#ffffffb8;color-scheme:light}}:root[data-theme=light]{--st-bg:#eceef2;--st-fg:#111318;--st-muted:#5d636e;--st-line:#1113181a;--st-signal:#a85f00;--st-glass:#ffffffb8;color-scheme:light}*{box-sizing:border-box}body{background:var(--st-bg);margin:0}a{color:inherit}.stage-bg{z-index:-1;pointer-events:none;background:radial-gradient(50rem 30rem at 50% -10%, color-mix(in srgb, var(--st-signal) 16%, transparent), transparent 70%), linear-gradient(var(--st-line) 1px, transparent 1px) 0 0 / 32px 32px, linear-gradient(90deg, var(--st-line) 1px, transparent 1px) 0 0 / 32px 32px;position:fixed;inset:0;-webkit-mask-image:radial-gradient(120% 90% at 50% 0,#000 40%,#0000 85%);mask-image:radial-gradient(120% 90% at 50% 0,#000 40%,#0000 85%)}.toolbar{z-index:5;width:min(210mm,100% - 32px);color:var(--st-fg);border:1px solid var(--st-line);background:var(--st-glass);-webkit-backdrop-filter:blur(16px);border-radius:999px;justify-content:space-between;align-items:center;gap:12px;margin:20px auto 22px;padding:6px 6px 6px 16px;font:500 13px/1 Geist Variable,sans-serif;display:flex;position:sticky;top:12px}.toolbar a{text-decoration:none}.back{color:var(--st-muted);transition:color .25s}.back:hover{color:var(--st-fg)}.doc-id{letter-spacing:.14em;color:var(--st-muted);align-items:center;gap:8px;font:500 10.5px/1 Geist Mono Variable,monospace;display:inline-flex}.doc-id i{background:var(--st-signal);width:6px;height:6px;box-shadow:0 0 10px var(--st-signal);border-radius:50%}.toolbar .dl{background:var(--st-signal);color:var(--st-bg);box-shadow:0 8px 26px -10px var(--st-signal);border-radius:999px;align-items:center;gap:8px;padding:11px 16px 11px 18px;font-weight:600;transition:transform .25s;display:inline-flex}.toolbar .dl:hover{transform:translateY(-1px)}.dl svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.frame{width:min(210mm,100% - 32px);margin:0 auto 48px;position:relative}.corner{border:0 solid var(--st-signal);opacity:.8;width:22px;height:22px;position:absolute}.corner.tl{border-top-width:1.5px;border-left-width:1.5px;top:-10px;left:-10px}.corner.tr{border-top-width:1.5px;border-right-width:1.5px;top:-10px;right:-10px}.corner.bl{border-bottom-width:1.5px;border-left-width:1.5px;bottom:-10px;left:-10px}.corner.br{border-bottom-width:1.5px;border-right-width:1.5px;bottom:-10px;right:-10px}.page{width:100%;color:var(--ink);font-optical-sizing:auto;font-variant-ligatures:none;font-feature-settings:"liga" 0, "clig" 0;font-kerning:normal;text-rendering:geometricprecision;box-shadow:0 40px 100px -40px #0000008c, 0 0 0 1px #0000000d, 0 0 80px -30px color-mix(in srgb, var(--st-signal) 45%, transparent);background:#fff;border-radius:4px;margin:0;padding:11mm 13mm 10mm;font:400 10.3pt/1.36 "Source Serif 4 Variable","Source Serif 4",Georgia,Times New Roman,serif}.page a,.page a:visited,.page a:hover{color:inherit;text-decoration:none}.page p,.page ul{margin:0}.page strong{font-weight:650}header{text-align:center;margin-bottom:1mm}h1{letter-spacing:.01em;margin:0;font-size:22pt;font-weight:600;line-height:1.1}.headline{color:var(--ink-soft);margin-top:1.2mm;font-size:11pt}.contact{white-space:nowrap;color:var(--ink-soft);margin-top:.6mm;font-size:9pt}.ci{white-space:nowrap;align-items:center;gap:1.1mm;display:inline-flex}.ico{fill:none;width:9.5pt;height:9.5pt;stroke:var(--ink);stroke-width:1.9px;stroke-linecap:round;stroke-linejoin:round;flex:none}.ico.fill{fill:var(--ink);stroke:none;box-sizing:border-box;padding:.45pt}.sep{white-space:pre;margin:0 .3mm}.headline+.contact{margin-top:1.4mm}.sep{color:#666}section{margin-top:3.4mm}h2{border-bottom:.8pt solid var(--ink);letter-spacing:.01em;margin:0 0 1.4mm;padding-bottom:.6mm;font-size:11.8pt;font-weight:650;line-height:1.2}h3{margin:0;font-size:10.6pt;font-weight:650}.row{justify-content:space-between;align-items:baseline;gap:4mm;display:flex}.when{white-space:nowrap;color:var(--ink-soft);flex:none;font-size:9.8pt}.sub{color:var(--ink-soft);font-size:9.8pt;font-style:italic}.skills{gap:.6mm;padding:0;list-style:none;display:grid}.skills li{grid-template-columns:39mm minmax(0,1fr);column-gap:2.5mm;display:grid}.lbl{justify-content:space-between;gap:1mm;display:flex}.skills .items,.bullets li:not(:has(.row)){text-align:justify;hyphens:none}.role,.tech{margin:.3mm 0 1.2mm!important}.role strong{color:var(--ink);font-weight:650}.bullets{gap:.4mm;padding-left:4.6mm;display:grid}.bullets li{padding-left:.6mm}.bullets li::marker{font-size:.85em}.langs{margin-top:1.2mm!important}@media (width<=640px){html:not(.embed) .doc-id,html:not(.embed) .corner{display:none}html:not(.embed) .page{padding:20px 18px;font-size:10pt}html:not(.embed) .row{flex-wrap:wrap;column-gap:8px}html:not(.embed) .when{white-space:normal;flex:0 auto}html:not(.embed) .skills li{grid-template-columns:minmax(0,1fr)}html:not(.embed) .lbl{justify-content:flex-start}html:not(.embed) .skills .items,html:not(.embed) .bullets li{text-align:left}html:not(.embed) .ci{white-space:normal}}html.embed{color-scheme:dark}html.embed,html.embed body{overflow:hidden}html.embed body{background:#2a2c31}html.embed .toolbar,html.embed .stage-bg,html.embed .corner{display:none}html.embed .frame{width:max-content;padding:var(--gap,16px) 0;margin:0 auto}html.embed .page{zoom:var(--fit,1);border-radius:0;width:210mm;min-height:297mm;box-shadow:0 18px 50px -18px #000000b3}@page{size:A4;margin:0}@media print{body{background:#fff}.toolbar,.stage-bg,.corner{display:none}.frame{width:210mm;margin:0}.page{width:210mm;box-shadow:none;border-radius:0;margin:0}}
