@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(data:font/woff2;base64,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)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:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/manrope-cyrillic-wght-normal.Dvxsihut.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/manrope-greek-wght-normal.DL7QRZyv.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:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/manrope-vietnamese-wght-normal.usUDDRr7.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:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/manrope-latin-ext-wght-normal.Ch3YOpNY.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:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/manrope-latin-wght-normal.DHIcAJRg.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}@property --p{syntax:"<number>";inherits:false;initial-value:0}:root{color-scheme:dark;--bg:#121215;--bg-elev:#1a1a1f;--bg-elev-2:#23232a;--line:#ffffff14;--line-strong:#ffffff29;--text:#ededf0;--text-muted:#a3a3ad;--text-faint:#84848e;--accent:#7ed957;--accent-text:#8ee067;--accent-ink:#0f1f08;--accent-soft:#7ed9571f;--accent-line:#7ed95766;--glow:#7ed9571a;--shadow:0 30px 80px -40px #000000b3;--font:"Manrope Variable", "Manrope", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--ease:cubic-bezier(.2, .7, .2, 1)}:root[data-theme=light]{color-scheme:light;--bg:#f3f3ef;--bg-elev:#fff;--bg-elev-2:#e9e9e2;--line:#14141817;--line-strong:#1414182e;--text:#17171a;--text-muted:#55555e;--text-faint:#6b6b74;--accent-text:#357d1a;--accent-soft:#4fa82a1f;--accent-line:#357d1a59;--glow:#7ed95733;--shadow:0 30px 80px -50px #141e0a59}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{min-height:100dvh;font-family:var(--font);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-size:15px;line-height:1.65;transition:background-color .3s,color .3s}img,svg{max-width:100%;display:block}svg{flex-shrink:0}a{color:inherit;text-decoration:none}h1,h2,h3,h4,p{margin:0}:where(ul[class],ol[class]){margin:0;padding:0;list-style:none}button{font:inherit;color:inherit}::selection{background:var(--accent);color:var(--accent-ink)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.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{z-index:100;background:var(--accent);color:var(--accent-ink);transition:top .2s var(--ease);border-radius:10px;padding:10px 16px;font-weight:700;position:fixed;top:-64px;left:16px}.skip-link:focus{top:16px}.bg-glow{z-index:0;pointer-events:none;background:radial-gradient(640px 420px at 8% -5%, var(--glow), transparent 70%), radial-gradient(560px 520px at 105% 105%, var(--glow), transparent 70%);position:fixed;inset:0}.shell{--gutter:16px;z-index:1;width:100%;max-width:1280px;padding:var(--gutter);gap:20px;margin-inline:auto;display:grid;position:relative}.main{min-width:0}@media (width>=640px){.shell{--gutter:32px;gap:28px}}@media (width>=1024px){.shell{grid-template-columns:clamp(300px,27vw,350px) minmax(0,1fr);align-items:start;gap:clamp(40px,5vw,72px);padding:40px 48px 24px}.card{position:sticky;top:40px}}@media (width>=1024px) and (height>=680px){body{flex-direction:column;height:100dvh;display:flex;overflow:hidden}.shell{flex:1;grid-template-rows:minmax(0,1fr);align-items:stretch;min-height:0;padding-bottom:8px}.card{scrollbar-width:none;align-self:center;max-height:100%;position:static;overflow-y:auto}.main{flex-direction:column;min-height:0;display:flex}.panels{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent;flex:1;min-height:0;margin-right:-22px;padding-right:22px;overflow-y:auto;-webkit-mask-image:linear-gradient(#000 calc(100% - 40px),#0000);mask-image:linear-gradient(#000 calc(100% - 40px),#0000)}}@media (width>=1024px) and (height<=820px){.photo{aspect-ratio:10/7.5}.card{gap:14px}}.card{border:1px solid var(--line);background:var(--bg-elev);box-shadow:var(--shadow);border-radius:32px;flex-direction:column;gap:18px;padding:22px;display:flex}.card-top{justify-content:space-between;align-items:center;display:flex}.card-actions{gap:8px;display:flex}.monogram{letter-spacing:-.03em;padding:4px 2px;font-size:20px;font-weight:800;line-height:1}.monogram span{color:var(--accent-text)}.icon-btn{border:1px solid var(--line);width:38px;height:38px;color:var(--text);cursor:pointer;background:0 0;border-radius:12px;place-items:center;transition:border-color .2s,color .2s;display:inline-grid}.icon-btn:hover{border-color:var(--accent-line);color:var(--accent-text)}.lang-btn{letter-spacing:.06em;width:auto;min-width:38px;padding:0 10px;font-size:12px;font-weight:800}.icon-moon,:root[data-theme=light] .icon-sun{display:none}:root[data-theme=light] .icon-moon{display:block}.photo{aspect-ratio:10/9;isolation:isolate;background:radial-gradient(circle at 28% 22%,#fff3,#0000 55%),linear-gradient(155deg,#4a8f2c 0%,#23461a 55%,#13260c 100%);border-radius:22px;position:relative;overflow:hidden}.photo img{object-fit:cover;filter:grayscale()contrast(1.08);mix-blend-mode:luminosity;width:100%;height:100%}.photo:after{content:"";pointer-events:none;background:linear-gradient(#0000 55%,#0a140673);position:absolute;inset:0}.photo--empty:before{content:"";background-image:radial-gradient(#ffffff24 1px,#0000 1.4px);background-size:16px 16px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 10%,#0000 90%);mask-image:linear-gradient(#000 10%,#0000 90%)}.photo-initials{z-index:1;letter-spacing:-.06em;color:#fffffff0;text-shadow:0 18px 50px #00000059;place-items:center;font-size:clamp(72px,9vw,104px);font-weight:800;display:grid;position:absolute;inset:0}.card-info{text-align:center;flex-direction:column;align-items:center;gap:14px;display:flex}.name{letter-spacing:-.015em;font-size:25px;font-weight:700;line-height:1.2}.roles{letter-spacing:.16em;text-transform:uppercase;min-height:1.7em;color:var(--text-muted);margin-top:-6px;font-size:12px;font-weight:700}.caret{vertical-align:-2px;background:var(--accent);width:.55em;height:2px;margin-left:4px;animation:1.05s step-end infinite blink;display:inline-block}@keyframes blink{50%{opacity:0}}.socials{justify-content:center;gap:10px;display:flex}.social{border:1px solid var(--line);width:40px;height:40px;color:var(--text-muted);transition:color .2s, border-color .2s, transform .2s var(--ease);border-radius:50%;place-items:center;display:grid}.social:hover{color:var(--accent-text);border-color:var(--accent-line);transform:translateY(-2px)}@media (width>=640px) and (width<=1023px){.card{grid-template-columns:220px 1fr;grid-template-areas:"top top""photo info";align-items:center;column-gap:28px;display:grid}.card-top{grid-area:top}.photo{grid-area:photo}.card-info{text-align:left;grid-area:info;align-items:flex-start}.socials{justify-content:flex-start}.card .btn-block{width:auto}}.btn{cursor:pointer;min-height:46px;transition:transform .2s var(--ease), filter .2s, border-color .2s, color .2s;border:1px solid #0000;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:0 22px;font-size:14px;font-weight:700;line-height:1;display:inline-flex}.btn-primary{background:var(--accent);color:var(--accent-ink)}.btn-primary:hover{filter:brightness(1.07);transform:translateY(-1px)}.btn-ghost{border-color:var(--line-strong)}.btn-ghost:hover{border-color:var(--accent-line);color:var(--accent-text)}.btn-block{width:100%;margin-top:4px}.tabs{flex-wrap:wrap;gap:8px;padding-bottom:24px;display:flex}.tab{border:1px solid var(--line);background:var(--bg-elev);white-space:nowrap;border-radius:12px;flex:none;align-items:center;gap:7px;height:38px;padding:0 14px;font-size:13px;font-weight:600;transition:border-color .2s,color .2s,background-color .2s;display:inline-flex}.tab svg{color:var(--text-muted);transition:color .2s}.tab:hover{border-color:var(--line-strong)}.tab[aria-current=page]{color:var(--accent-text);border-color:var(--accent-line);background:var(--accent-soft)}.tab[aria-current=page] svg{color:inherit}@media (width<=1023px){.tabs{z-index:20;scrollbar-width:none;margin-inline:calc(var(--gutter) * -1);padding:12px var(--gutter);background:color-mix(in srgb, var(--bg) 82%, transparent);backdrop-filter:blur(14px);flex-wrap:nowrap;position:sticky;top:0;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}}.panels{container-type:inline-size}.panel{padding-bottom:48px}.panel:focus{outline:none}html.js .panel{display:none}html.js .panel.is-active{animation:panel-in .55s var(--ease) both;display:block}html:not(.js) .panel+.panel{border-top:1px solid var(--line);padding-top:32px}@keyframes panel-in{0%{opacity:0;transform:translateY(16px)}}.section-title{isolation:isolate;letter-spacing:.03em;text-transform:uppercase;margin-bottom:30px;padding-left:2px;font-size:clamp(22px,2.4vw,28px);font-weight:700;line-height:1.2;display:inline-block;position:relative}.section-title:before{content:"";z-index:-1;background:var(--accent);opacity:.32;border-radius:50%;width:32px;height:32px;position:absolute;top:50%;left:-6px;transform:translateY(-50%)}.pill-heading{border:1px solid var(--line);background:var(--bg-elev);letter-spacing:.08em;text-transform:uppercase;border-radius:999px;align-items:center;gap:8px;height:34px;margin-bottom:18px;padding:0 14px;font-size:12px;font-weight:800;display:inline-flex}.pill-heading svg{color:var(--accent-text)}.block{margin-top:44px}.icon-tile{background:var(--accent-soft);width:46px;height:46px;color:var(--accent-text);border-radius:14px;flex:none;place-items:center;display:grid}.hello{margin-bottom:16px;font-size:clamp(16px,1.6vw,19px);font-weight:600}.hello span{color:var(--accent-text)}.headline{letter-spacing:-.03em;max-width:14.5em;font-size:clamp(34px,4.4vw,58px);font-weight:600;line-height:1.12}.headline mark{background:var(--accent);color:var(--accent-ink);-webkit-box-decoration-break:clone;box-decoration-break:clone;border-radius:999px;padding:0 .28em .05em}.lead{max-width:44em;color:var(--text-muted);margin-top:26px;font-size:15.5px}.stats{flex-wrap:wrap;gap:24px 48px;margin-top:34px;display:flex}.stat{align-items:center;gap:12px;display:flex}.stat-value{letter-spacing:-.04em;font-size:clamp(42px,4.2vw,58px);font-weight:300;line-height:1}.stat-label{max-width:8.5em;color:var(--text-muted);font-size:13px;line-height:1.35}.focus-grid{gap:14px;display:grid}.focus{border:1px solid var(--line);background:var(--bg-elev);border-radius:18px;padding:20px}.focus .icon-tile{margin-bottom:14px}.focus h3{font-size:15.5px;font-weight:700}.focus p{color:var(--text-muted);margin-top:6px;font-size:14px}@container (width>=620px){.focus-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.filters{flex-wrap:wrap;gap:8px;margin-bottom:22px;display:flex}html:not(.js) .filters{display:none}.filter{border:1px solid var(--line);height:34px;color:var(--text-muted);cursor:pointer;background:0 0;border-radius:999px;padding:0 14px;font-size:13px;font-weight:600;transition:color .2s,border-color .2s,background-color .2s}.filter:hover{color:var(--text);border-color:var(--line-strong)}.filter[aria-pressed=true]{background:var(--accent);color:var(--accent-ink);border-color:#0000}.works-grid{gap:18px;display:grid}.work{border:1px solid var(--line);background:var(--bg-elev);transition:border-color .25s, transform .25s var(--ease);border-radius:22px;flex-direction:column;display:flex;overflow:hidden}.work:hover{border-color:var(--accent-line);transform:translateY(-3px)}.work[hidden]{display:none}.work-thumb{aspect-ratio:16/9;border-bottom:1px solid var(--line);background:radial-gradient(circle at 30% 20%, #7ed95747, transparent 60%), linear-gradient(140deg, var(--bg-elev-2), var(--bg));place-items:center;display:grid;position:relative;overflow:hidden}.work-thumb:before{content:"";background-image:linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px);background-size:26px 26px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(circle,#000 20%,#0000 72%);mask-image:radial-gradient(circle,#000 20%,#0000 72%)}.thumb-icon{background:var(--accent);width:70px;height:70px;color:var(--accent-ink);transition:transform .45s var(--ease);border-radius:20px;place-items:center;display:grid;position:relative;transform:rotate(-6deg);box-shadow:0 20px 44px -14px #7ed9578c}.work:hover .thumb-icon{transform:rotate(0)scale(1.06)}.work-body{flex-direction:column;flex:1;gap:8px;padding:20px 22px 24px;display:flex}.work-meta{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.work-cat{letter-spacing:.1em;text-transform:uppercase;color:var(--accent-text);font-size:11.5px;font-weight:800}.badge{border:1px solid var(--accent-line);background:var(--accent-soft);color:var(--accent-text);border-radius:999px;padding:2px 9px;font-size:11px;font-weight:700}.work h3{font-size:18px;font-weight:700;line-height:1.3}.work p:not(.work-meta){color:var(--text-muted);font-size:14.5px}.tags{flex-wrap:wrap;gap:6px;margin-top:auto;padding-top:6px;display:flex}.tag{border:1px solid var(--line);color:var(--text-muted);border-radius:999px;padding:3px 10px;font-size:12px}@container (width>=560px){.works-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.work--featured{flex-direction:row;grid-column:1/-1}.work--featured .work-thumb{aspect-ratio:auto;border-bottom:0;border-right:1px solid var(--line);flex:0 0 40%;min-height:240px}.work--featured .work-body{justify-content:center;padding:28px}.work--featured h3{font-size:22px}}.services-grid{gap:16px;display:grid}.service{border:1px solid var(--line);background:var(--bg-elev);transition:border-color .25s, transform .25s var(--ease);border-radius:20px;flex-direction:column;gap:12px;padding:24px;display:flex}.service:hover{border-color:var(--accent-line);transform:translateY(-3px)}.service h3{font-size:17.5px;font-weight:700;line-height:1.3}.service p{color:var(--text-muted);font-size:14.5px}.link-more{letter-spacing:.08em;text-transform:uppercase;align-self:flex-start;align-items:center;gap:6px;margin-top:auto;padding-top:4px;font-size:12px;font-weight:800;transition:color .2s;display:inline-flex}.link-more svg{transition:transform .2s var(--ease)}.link-more:hover{color:var(--accent-text)}.link-more:hover svg{transform:translate(3px)}@container (width>=560px){.services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.resume-grid{gap:40px;display:grid}.timeline{gap:16px;padding-left:24px;display:grid;position:relative}.timeline:before{content:"";background:var(--line-strong);width:1px;position:absolute;top:10px;bottom:10px;left:6px}.tl-item{border:1px solid var(--line);background:var(--bg-elev);border-radius:18px;padding:18px 20px;position:relative}.tl-item:before{content:"";border:2px solid var(--accent);background:var(--bg);border-radius:50%;width:13px;height:13px;position:absolute;top:24px;left:-24px}.tl-item:first-child:before{background:var(--accent);box-shadow:0 0 0 5px var(--accent-soft)}.tl-period{background:var(--accent-soft);color:var(--accent-text);border-radius:999px;margin-bottom:10px;padding:3px 10px;font-size:12px;font-weight:700;display:inline-block}.tl-title{font-size:16.5px;font-weight:700;line-height:1.3}.tl-org{color:var(--text-faint);margin-top:2px;font-size:13px;font-weight:600}.tl-text{color:var(--text-muted);margin-top:10px;font-size:14px}.lang-list{gap:10px;display:grid}.lang-item{border:1px solid var(--line);background:var(--bg-elev);border-radius:14px;justify-content:space-between;align-items:baseline;gap:12px;padding:14px 18px;display:flex}.lang-item span{text-align:right;color:var(--text-muted);font-size:13px}@container (width>=760px){.resume-grid{grid-template-columns:1.35fr 1fr;gap:32px}}.skills-grid{gap:12px;display:grid}.skill{border:1px solid var(--line);background:var(--bg-elev);border-radius:16px;grid-template-columns:auto 1fr auto;align-items:center;gap:12px 14px;padding:16px 18px;display:grid}.skill-icon{color:var(--accent-text)}.skill-name{font-size:14.5px;font-weight:600;line-height:1.3}.skill-level{border:1px solid var(--line);font-variant-numeric:tabular-nums;color:var(--text-muted);border-radius:8px;padding:2px 8px;font-size:12px;font-weight:700}.bar{background:var(--line);border-radius:999px;grid-column:1/-1;height:4px;overflow:hidden}.bar span{width:calc(var(--level) * 1%);border-radius:inherit;background:linear-gradient(90deg, var(--accent), #b6f08f);height:100%;display:block}.panel.is-active .bar span{animation:bar-grow 1.2s var(--ease) .15s both}@keyframes bar-grow{0%{width:0}}.tools-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;display:grid}.tool{border:1px solid var(--line);background:var(--bg-elev);text-align:center;border-radius:18px;justify-items:center;gap:12px;padding:22px 12px 18px;display:grid}.ring{--p:var(--level);background:conic-gradient(var(--accent) calc(var(--p) * 1%), var(--line) 0);border-radius:50%;place-items:center;width:84px;height:84px;display:grid;position:relative}.ring:before{content:"";background:var(--bg-elev);border-radius:50%;position:absolute;inset:6px}.ring span{font-variant-numeric:tabular-nums;font-size:15px;font-weight:700;position:relative}.panel.is-active .ring{animation:ring-fill 1.4s var(--ease) .2s both}@keyframes ring-fill{0%{--p:0}}.tool-name{color:var(--text-muted);font-size:13.5px;font-weight:600}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{border:1px solid var(--line);background:var(--bg-elev);color:var(--text-muted);border-radius:999px;padding:6px 12px;font-size:13px;font-weight:600}.chip:nth-child(-n+3){border-color:var(--accent-line);background:var(--accent-soft);color:var(--accent-text)}@container (width>=560px){.skills-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.info-grid{gap:12px;display:grid}.info{border:1px solid var(--line);background:var(--bg-elev);border-radius:18px;align-items:center;gap:14px;min-height:64px;padding:16px 20px;transition:border-color .2s;display:flex}a.info:hover{border-color:var(--accent-line)}.info-icon{color:var(--accent-text);flex:none}.info-label{color:var(--text-muted);font-size:14px}.info-value{text-align:right;overflow-wrap:anywhere;margin-left:auto;font-size:13.5px;font-weight:700}.cta{border:1px solid var(--line);background:radial-gradient(520px 260px at 100% 0%, var(--accent-soft), transparent 70%), var(--bg-elev);border-radius:24px;margin-top:24px;padding:clamp(24px,4vw,40px)}.cta h3{letter-spacing:-.02em;max-width:17em;font-size:clamp(24px,3vw,34px);font-weight:700;line-height:1.2}.cta h3 mark{color:var(--accent-text);background:0 0}.cta p{max-width:36em;color:var(--text-muted);margin-top:12px}.cta-actions{flex-wrap:wrap;gap:12px;margin-top:24px;display:flex}@container (width>=560px){.info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.site-footer{z-index:1;text-align:center;color:var(--text-faint);padding:10px 16px 18px;font-size:12.5px;position:relative}.notfound{z-index:1;text-align:center;flex:1;place-content:center;justify-items:center;gap:14px;min-height:100dvh;padding:32px 16px;display:grid;position:relative}.notfound-code{letter-spacing:-.06em;font-size:clamp(88px,16vw,160px);font-weight:800;line-height:1}.notfound-code span{color:var(--accent-text)}.notfound h1{font-size:clamp(22px,3vw,30px);font-weight:700}.notfound-en{color:var(--text-muted)}.notfound-actions{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:12px;display:flex}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}}
