:root{--dur-spatial-fast: 546ms;--ease-spatial-fast: linear(0 0%, .1684 4.2%, .4829 8.3%, .7734 12.5%, .9632 16.7%, 1.0645 20.8%, 1.0918 25%, 1.0778 29.2%, 1.0505 33.3%, 1.0232 37.5%, 1.0042 41.7%, .9944 45.8%, .9916 50%, .9926 54.2%, .9952 58.3%, .9977 62.5%, .9995 66.7%, 1.0005 70.8%, 1.0008 75%, 1.0007 79.2%, 1.0005 83.3%, 1.0002 87.5%, 1.0001 91.7%, 1 95.8%, 1 100%);--dur-spatial-default: 535ms;--ease-spatial-default: linear(0 0%, .083 4.2%, .2456 8.3%, .4265 12.5%, .5995 16.7%, .7347 20.8%, .8372 25%, .9125 29.2%, .9596 33.3%, .9885 37.5%, 1.0043 41.7%, 1.0119 45.8%, 1.0138 50%, 1.0129 54.2%, 1.0107 58.3%, 1.0082 62.5%, 1.0058 66.7%, 1.0039 70.8%, 1.0024 75%, 1.0013 79.2%, 1.0006 83.3%, 1.0002 87.5%, 1 91.7%, .9998 95.8%, 1 100%);--dur-spatial-slow: 734ms;--ease-spatial-slow: linear(0 0%, .0788 4.2%, .2437 8.3%, .4226 12.5%, .5926 16.7%, .7281 20.8%, .8345 25%, .9095 29.2%, .9575 33.3%, .9879 37.5%, 1.0042 41.7%, 1.012 45.8%, 1.0141 50%, 1.0133 54.2%, 1.0111 58.3%, 1.0086 62.5%, 1.0061 66.7%, 1.0041 70.8%, 1.0026 75%, 1.0014 79.2%, 1.0007 83.3%, 1.0002 87.5%, 1 91.7%, .9998 95.8%, 1 100%);--dur-effects-fast: 252ms;--ease-effects-fast: linear(0 0%, .1648 4.2%, .3903 8.3%, .6005 12.5%, .7383 16.7%, .8399 20.8%, .8991 25%, .9399 29.2%, .9627 33.3%, .9781 37.5%, .9865 41.7%, .9921 45.8%, .9952 50%, .9972 54.2%, .9983 58.3%, .999 62.5%, .9994 66.7%, .9996 70.8%, .9998 75%, .9999 79.2%, .9999 83.3%, 1 87.5%, 1 91.7%, 1 95.8%, 1 100%);--dur-effects-default: 367ms;--ease-effects-default: linear(0 0%, .1456 4.2%, .3642 8.3%, .5589 12.5%, .7144 16.7%, .815 20.8%, .8822 25%, .9282 29.2%, .9553 33.3%, .9723 37.5%, .9829 41.7%, .9899 45.8%, .9938 50%, .9962 54.2%, .9978 58.3%, .9986 62.5%, .9992 66.7%, .9995 70.8%, .9997 75%, .9998 79.2%, .9999 83.3%, .9999 87.5%, 1 91.7%, 1 95.8%, 1 100%);--dur-effects-slow: 497ms;--ease-effects-slow: linear(0 0%, .1269 4.2%, .3418 8.3%, .539 12.5%, .6847 16.7%, .7942 20.8%, .8683 25%, .9151 29.2%, .947 33.3%, .9671 37.5%, .9798 41.7%, .9873 45.8%, .9922 50%, .9953 54.2%, .9971 58.3%, .9982 62.5%, .9989 66.7%, .9993 70.8%, .9996 75%, .9998 79.2%, .9999 83.3%, .9999 87.5%, .9999 91.7%, 1 95.8%, 1 100%);--dur-skills-morph: 797ms;--ease-skills-morph: linear(0 0%, .1625 4.2%, .4701 8.3%, .7681 12.5%, .9807 16.7%, 1.0949 20.8%, 1.1244 25%, 1.1057 29.2%, 1.0677 33.3%, 1.0303 37.5%, 1.0027 41.7%, .9886 45.8%, .9845 50%, .9867 54.2%, .9914 58.3%, .9962 62.5%, .9996 66.7%, 1.0014 70.8%, 1.0019 75%, 1.0017 79.2%, 1.0011 83.3%, 1.0005 87.5%, 1.0001 91.7%, .9998 95.8%, 1 100%);--dur-skills-fill: 365ms;--ease-skills-fill: linear(0 0%, .0917 4.2%, .2532 8.3%, .4219 12.5%, .5707 16.7%, .6978 20.8%, .788 25%, .8543 29.2%, .9017 33.3%, .9347 37.5%, .9585 41.7%, .9733 45.8%, .9831 50%, .9894 54.2%, .9935 58.3%, .9962 62.5%, .9978 66.7%, .9987 70.8%, .9993 75%, .9996 79.2%, .9998 83.3%, .9999 87.5%, 1 91.7%, 1 95.8%, 1 100%)}@media(prefers-reduced-motion:reduce){:root{--dur-spatial-fast: 1ms;--ease-spatial-fast: linear(0, 1);--dur-spatial-default: 1ms;--ease-spatial-default: linear(0, 1);--dur-spatial-slow: 1ms;--ease-spatial-slow: linear(0, 1);--dur-effects-fast: 1ms;--ease-effects-fast: linear(0, 1);--dur-effects-default: 1ms;--ease-effects-default: linear(0, 1);--dur-effects-slow: 1ms;--ease-effects-slow: linear(0, 1);--dur-skills-morph: 1ms;--ease-skills-morph: linear(0, 1);--dur-skills-fill: 1ms;--ease-skills-fill: linear(0, 1)}}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/fraunces-vietnamese-wght-normal.CnvboYUG.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:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/fraunces-latin-ext-wght-normal.Ca2vKHc0.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:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/fraunces-latin-wght-normal.ukD16Tqj.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-cyrillic-ext-wght-normal.BOeWTOD4.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-cyrillic-wght-normal.DqGufNeO.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-greek-ext-wght-normal.DlzME5K_.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-greek-wght-normal.CkhJZR-_.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-vietnamese-wght-normal.CBcvBZtf.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-latin-ext-wght-normal.DO1Apj_S.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-latin-wght-normal.Dx4kXJAl.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:Material Symbols Rounded;font-style:normal;font-weight:100 700;font-display:block;src:url(/_astro/material-symbols-rounded.Dz3Cgwb3.woff2) format("woff2")}.material-symbols-rounded{font-family:Material Symbols Rounded;font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-feature-settings:"liga"}:root{--bg: #fafaf8;--surface: #ffffff;--ink: #14181f;--ink-soft: #424a57;--ink-faint: #6b7280;--line: #e6e6e1;--accent: #051c2c;--accent-bright: #2251ff;--accent-tint: color-mix(in srgb, var(--accent-bright) 8%, transparent);--font-display: "Fraunces Variable", Georgia, "Times New Roman", serif;--font-body: "Inter Variable", system-ui, -apple-system, sans-serif;--step--1: clamp(.83rem, .8rem + .15vw, .92rem);--step-0: clamp(1rem, .96rem + .2vw, 1.12rem);--step-1: clamp(1.2rem, 1.1rem + .5vw, 1.45rem);--step-2: clamp(1.5rem, 1.3rem + 1vw, 2rem);--step-3: clamp(2rem, 1.6rem + 2vw, 3rem);--step-4: clamp(2.8rem, 2rem + 4vw, 5rem);--measure: 760px;--gutter: clamp(1.25rem, 5vw, 3rem);--radius: 18px;--radius-lg: 28px}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:5rem}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:var(--step-0);line-height:1.65;font-weight:380;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}h1,h2,h3{font-family:var(--font-display);font-weight:540;line-height:1.1;letter-spacing:-.01em;margin:0}a{color:var(--accent);text-decoration:none;text-underline-offset:3px}a:hover{color:var(--accent-bright);text-decoration:underline}:focus-visible{outline:2px solid var(--accent-bright);outline-offset:3px;border-radius:4px}.container{width:100%;max-width:var(--measure);margin-inline:auto;padding-inline:var(--gutter)}.section{padding-block:clamp(3.5rem,8vw,6rem)}.section__title{font-size:var(--step-2);display:flex;align-items:center;gap:.6rem;margin-bottom:2rem}.section__title .num{font-family:var(--font-body);font-size:var(--step--1);font-weight:600;color:var(--accent-bright);letter-spacing:.08em}.eyebrow{font-family:var(--font-body);font-size:var(--step--1);font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-bright)}.reveal{opacity:0;transform:translateY(22px);transition:opacity var(--dur-effects-default) var(--ease-effects-default),transform var(--dur-spatial-default) var(--ease-spatial-default);transition-delay:var(--reveal-delay, 0ms);will-change:opacity,transform}.reveal.is-visible,.no-js .reveal{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){.reveal{transition:opacity 1ms;transform:none}}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}@media print{:root{--bg: #ffffff;--surface: #ffffff}@page{margin:8mm 11mm}html{scroll-padding-top:0}body{font-size:8.3pt!important;line-height:1.25!important}#loader,.nav,.footer__top,.footer__cta,.wavy,.btn,.skill__bars{display:none!important}.reveal{opacity:1!important;transform:none!important;transition:none!important}main{display:block}.section{padding-block:.7rem 0!important}#experience.section{padding-top:.35rem!important}.section__title{font-size:12pt!important;margin-bottom:.35rem!important}.hero{padding-top:0!important}.eyebrow{margin:0!important}.hero__name{font-size:17pt!important;margin:.05rem 0 .25rem!important}.hero__summary{font-size:8.3pt!important;line-height:1.3!important;max-width:none!important}.hero__actions{margin-top:.35rem!important}.timeline__item,.skill,.edu__card,.ach__item{break-inside:avoid;box-shadow:none!important;transform:none!important;border-color:var(--line)!important;background:#fff!important}.timeline{margin-top:.15rem!important;--mc: .5rem !important}.timeline__item{padding-bottom:.55rem!important;padding-left:1.2rem!important;grid-template-columns:5.2rem 1fr!important;gap:0 .7rem!important}.timeline__period{font-size:7.6pt!important;line-height:1.2!important}.timeline__role{display:inline!important;font-family:var(--font-body)!important;font-size:9pt!important;font-weight:700!important}.timeline__role:after{content:" · ";font-weight:400;color:var(--ink-faint)}.timeline__company{display:inline!important;margin:0!important;font-size:9pt!important}.timeline__company-name:after{content:" · ";font-weight:400;color:var(--ink-faint)}.timeline__loc{font-size:9pt!important}.timeline__summary{display:block!important;margin:.18rem 0 .2rem!important}.timeline__bullets{margin-top:.18rem!important;gap:.12rem!important}#skills.section{break-before:page;padding-top:0!important}.skills{grid-template-columns:repeat(3,1fr)!important;gap:.45rem .9rem!important}.skill{border-radius:10px!important;padding:.5rem .65rem!important}.skill__badge{display:none!important}.skill__head{margin-bottom:.22rem!important;gap:0!important}.skill__name{font-size:9pt!important}.skill__stack{display:block!important}.skill__blurb{opacity:1!important;pointer-events:auto;display:block!important}.skill__blurb p{position:relative;margin:0 0 .12rem!important;padding-left:.7rem!important;font-size:8pt!important;line-height:1.3!important}.skill__blurb p:before{content:"•";position:absolute;left:0;color:var(--accent-bright)}.edu{gap:.7rem!important}.edu__card{padding:.6rem .85rem!important;border-radius:10px!important}.edu__icon{--icon-size: 15px !important;color:var(--accent-bright)}.edu__period{margin:.2rem 0 .1rem!important}.edu__inst{font-size:11pt!important}.edu__qual{margin:.15rem 0 .05rem!important}.ach{gap:.25rem!important}.ach__item{padding:.3rem .6rem!important;border-radius:10px!important}.footer{margin-top:.45rem!important;padding-block:.4rem 0!important}.footer__contacts{display:flex!important;flex-wrap:wrap;gap:0!important}.footer__name{display:block!important;font-weight:700;color:var(--ink)!important}.footer__contacts .msym{display:none!important}.footer__contacts li+li:before{content:"·";margin:0 .5rem;color:var(--ink-faint)}.footer__contacts a{gap:0!important;color:var(--ink)!important}a{color:var(--ink)!important}}.loader[data-astro-cid-ps5ytxqo]{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;background:var(--bg);transition:opacity var(--dur-effects-slow) var(--ease-effects-slow)}.loader[data-astro-cid-ps5ytxqo].is-done{opacity:0;pointer-events:none}.loader__shape[data-astro-cid-ps5ytxqo]{width:var(--s, 64px);height:var(--s, 64px);background:linear-gradient(135deg,var(--accent),var(--accent-bright));animation:morph 2.2s var(--ease-spatial-default) infinite,spin 3.4s linear infinite}@keyframes morph{0%{border-radius:42% 58% 70% 30%/45% 45% 55% 55%}25%{border-radius:30% 70% 38% 62%/63% 33% 67% 37%}50%{border-radius:50%}75%{border-radius:64% 36% 33% 67%/38% 62%}to{border-radius:42% 58% 70% 30%/45% 45% 55% 55%}}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.loader__shape[data-astro-cid-ps5ytxqo]{animation:none;border-radius:50%}}.wavy[data-astro-cid-x6bipi5o]{display:block;width:100%;height:var(--wavy-h, 14px)}.wavy[data-astro-cid-x6bipi5o] svg[data-astro-cid-x6bipi5o]{width:100%;height:100%;overflow:visible}.wavy__track[data-astro-cid-x6bipi5o]{stroke:var(--track, color-mix(in srgb, var(--accent) 16%, transparent));stroke-width:3;stroke-linecap:round}.wavy__active[data-astro-cid-x6bipi5o]{stroke:var(--accent);stroke-width:3.5;stroke-linecap:round}.nav[data-astro-cid-dmqpwcec]{position:sticky;top:0;z-index:100;background:color-mix(in srgb,var(--bg) 82%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.nav__inner[data-astro-cid-dmqpwcec]{display:flex;align-items:center;justify-content:space-between;gap:1rem;height:3.75rem}.nav__brand[data-astro-cid-dmqpwcec]{font-family:var(--font-display);font-weight:600;font-size:var(--step-1);color:var(--ink);letter-spacing:-.01em}.nav__brand[data-astro-cid-dmqpwcec]:hover{text-decoration:none;color:var(--accent-bright)}.nav__links[data-astro-cid-dmqpwcec]{display:flex;gap:clamp(.75rem,2vw,1.6rem)}.nav__link[data-astro-cid-dmqpwcec]{position:relative;color:var(--ink-soft);font-size:var(--step--1);font-weight:500;padding-block:.35rem}.nav__link[data-astro-cid-dmqpwcec]:after{content:"";position:absolute;left:0;bottom:-2px;height:2px;width:100%;background:var(--accent-bright);transform:scaleX(0);transform-origin:left;transition:transform var(--dur-spatial-fast) var(--ease-spatial-fast)}.nav__link[data-astro-cid-dmqpwcec]:hover,.nav__link[data-astro-cid-dmqpwcec].is-active{color:var(--accent);text-decoration:none}.nav__link[data-astro-cid-dmqpwcec]:hover:after,.nav__link[data-astro-cid-dmqpwcec].is-active:after{transform:scaleX(1)}.nav__progress[data-astro-cid-dmqpwcec]{position:absolute;left:0;right:0;bottom:-5px}@media(max-width:540px){.nav__links[data-astro-cid-dmqpwcec]{gap:.6rem;font-size:.8rem}.nav__link[data-astro-cid-dmqpwcec]{font-size:.78rem}}@media(max-width:420px){.nav__link[data-astro-cid-dmqpwcec][href="#education"],.nav__link[data-astro-cid-dmqpwcec][href="#achievements"]{display:none}}.msym[data-astro-cid-patnjmll]{font-family:Material Symbols Rounded;font-weight:400;font-style:normal;font-size:var(--icon-size, 24px);line-height:1;letter-spacing:normal;text-transform:none;display:inline-flex;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased;font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24;transition:font-variation-settings var(--dur-effects-default) var(--ease-effects-default),color var(--dur-effects-default) var(--ease-effects-default);user-select:none}.msym--hoverfill[data-astro-cid-patnjmll]:hover,.msym--hoverfill[data-astro-cid-patnjmll]:focus-visible,.msym-host:hover .msym--hoverfill[data-astro-cid-patnjmll],.msym-host:focus-visible .msym--hoverfill[data-astro-cid-patnjmll]{font-variation-settings:"FILL" 1,"wght" 600,"GRAD" 0,"opsz" 24}.hero[data-astro-cid-bbe6dxrz]{padding-top:clamp(3rem,9vw,7rem)}.hero__name[data-astro-cid-bbe6dxrz]{font-size:var(--step-4);font-weight:560;margin:.4rem 0 1.4rem}.hero__summary[data-astro-cid-bbe6dxrz]{font-size:var(--step-1);color:var(--ink-soft);max-width:62ch;line-height:1.55;font-weight:360}.hero__actions[data-astro-cid-bbe6dxrz]{margin-top:2.2rem;display:flex;flex-wrap:wrap;align-items:center;gap:1.2rem 2rem}.hero__contacts[data-astro-cid-bbe6dxrz]{list-style:none;display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;margin:0;padding:0}.hero__contacts[data-astro-cid-bbe6dxrz] a[data-astro-cid-bbe6dxrz]{display:inline-flex;align-items:center;gap:.5rem;color:var(--ink-soft);font-size:var(--step--1);font-weight:500}.hero__contacts[data-astro-cid-bbe6dxrz] a[data-astro-cid-bbe6dxrz]:hover{color:var(--accent-bright);text-decoration:none}.btn[data-astro-cid-bbe6dxrz]{display:inline-flex;align-items:center;gap:.5rem;padding:.7rem 1.3rem;border-radius:999px;background:var(--accent);color:#fff;font-size:var(--step--1);font-weight:600;transition:transform var(--dur-spatial-fast) var(--ease-spatial-fast),background var(--dur-effects-default) var(--ease-effects-default),box-shadow var(--dur-effects-default) var(--ease-effects-default);box-shadow:0 1px 2px #051c2c26}.btn[data-astro-cid-bbe6dxrz]:hover{background:var(--accent-bright);color:#fff;text-decoration:none;transform:translateY(-2px);box-shadow:0 8px 22px #2251ff47}.timeline[data-astro-cid-xpq65ryk]{list-style:none;margin:0;padding:0;position:relative;--mc: .62rem}.timeline__item[data-astro-cid-xpq65ryk]{position:relative;display:grid;grid-template-columns:8.5rem 1fr;gap:0 1.75rem;padding-left:1.6rem;padding-bottom:2.5rem}.timeline__item[data-astro-cid-xpq65ryk]:last-child{padding-bottom:0}.timeline__item[data-astro-cid-xpq65ryk]:before{content:"";position:absolute;left:6px;top:0;bottom:0;width:2px;background:var(--line)}.timeline__item[data-astro-cid-xpq65ryk]:first-child:before{top:var(--mc)}.timeline__item[data-astro-cid-xpq65ryk]:last-child:before{bottom:auto;height:var(--mc)}.timeline__item[data-astro-cid-xpq65ryk]:only-child:before{display:none}.timeline__marker[data-astro-cid-xpq65ryk]{position:absolute;left:0;top:calc(var(--mc) - 7px);width:14px;height:14px;border-radius:50%;background:var(--bg);border:3px solid var(--accent-bright);transition:transform var(--dur-spatial-fast) var(--ease-spatial-fast)}.timeline__item[data-astro-cid-xpq65ryk]:hover .timeline__marker[data-astro-cid-xpq65ryk]{transform:scale(1.35)}.timeline__period[data-astro-cid-xpq65ryk]{margin:0;display:flex;flex-direction:column;line-height:1.25;font-size:var(--step--1);font-weight:600;color:var(--accent-bright);letter-spacing:.02em}.timeline__period-end[data-astro-cid-xpq65ryk]{color:var(--ink-faint);font-weight:500}.timeline__role[data-astro-cid-xpq65ryk]{font-size:var(--step-1);margin:0}.timeline__company[data-astro-cid-xpq65ryk]{margin:.15rem 0 .6rem;display:flex;flex-wrap:wrap;gap:.5rem;align-items:baseline;color:var(--ink-soft)}.timeline__company-name[data-astro-cid-xpq65ryk]{font-weight:600;color:var(--ink)}.timeline__loc[data-astro-cid-xpq65ryk]{font-size:var(--step--1);color:var(--ink-faint)}.timeline__summary[data-astro-cid-xpq65ryk]{margin:0 0 .6rem;color:var(--ink-soft)}.timeline__bullets[data-astro-cid-xpq65ryk]{margin:0;padding-left:1.1rem;display:grid;gap:.45rem;color:var(--ink-soft)}.timeline__bullets[data-astro-cid-xpq65ryk] li[data-astro-cid-xpq65ryk]::marker{color:var(--accent-bright)}@media(max-width:640px){.timeline__item[data-astro-cid-xpq65ryk]{grid-template-columns:1fr;gap:0}.timeline__period[data-astro-cid-xpq65ryk]{margin-bottom:.35rem}}.skills[data-astro-cid-ab4ihpzs]{display:grid;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:1.25rem}.skill[data-astro-cid-ab4ihpzs]{background:var(--surface);border:1px solid var(--line);padding:1.5rem 1.4rem 1.6rem;border-radius:var(--shape-rest);transition:border-radius var(--dur-skills-morph) var(--ease-skills-morph),transform var(--dur-spatial-fast) var(--ease-spatial-fast),box-shadow var(--dur-effects-default) var(--ease-effects-default),border-color var(--dur-effects-default) var(--ease-effects-default),background var(--dur-effects-default) var(--ease-effects-default);outline:none}.skill[data-astro-cid-ab4ihpzs]:hover,.skill[data-astro-cid-ab4ihpzs]:focus-visible{border-radius:var(--shape-hover);transform:translateY(-4px);box-shadow:0 18px 40px #051c2c1a;border-color:color-mix(in srgb,var(--accent-bright) 40%,var(--line));background:color-mix(in srgb,var(--accent-bright) 3%,var(--surface))}.skill[data-astro-cid-ab4ihpzs]:focus-visible{outline:2px solid var(--accent-bright);outline-offset:3px}.skill__head[data-astro-cid-ab4ihpzs]{display:flex;align-items:center;gap:.75rem;margin-bottom:1.1rem}.skill__badge[data-astro-cid-ab4ihpzs]{display:grid;place-items:center;width:2.9rem;height:2.9rem;color:#fff;background:linear-gradient(135deg,var(--accent),var(--accent-bright));border-radius:42% 58% 60% 40%/50% 45% 55% 50%;transition:border-radius var(--dur-skills-morph) var(--ease-skills-morph);flex:none}.skill[data-astro-cid-ab4ihpzs]:hover .skill__badge[data-astro-cid-ab4ihpzs],.skill[data-astro-cid-ab4ihpzs]:focus-visible .skill__badge[data-astro-cid-ab4ihpzs]{border-radius:62% 38% 40% 60%/38% 60% 40% 62%}.skill__name[data-astro-cid-ab4ihpzs]{font-size:var(--step-1);line-height:1.15}.skill__stack[data-astro-cid-ab4ihpzs]{display:grid}.skill__stack[data-astro-cid-ab4ihpzs]>[data-astro-cid-ab4ihpzs]{grid-area:1 / 1}.skill__bars[data-astro-cid-ab4ihpzs]{list-style:none;margin:0;padding:0;display:grid;gap:.85rem;align-content:start;opacity:1;transition:opacity var(--dur-effects-default) var(--ease-effects-default)}.skill__row-head[data-astro-cid-ab4ihpzs]{margin-bottom:.25rem}.skill__label[data-astro-cid-ab4ihpzs]{font-size:var(--step--1);color:var(--ink-soft);font-weight:500}.skill__blurb[data-astro-cid-ab4ihpzs]{align-self:start;display:grid;gap:.5rem;opacity:0;pointer-events:none;transition:opacity var(--dur-effects-default) var(--ease-effects-default)}.skill__blurb[data-astro-cid-ab4ihpzs] p[data-astro-cid-ab4ihpzs]{margin:0;font-size:var(--step--1);color:var(--ink-soft);line-height:1.5}.skill[data-astro-cid-ab4ihpzs]:hover .skill__bars[data-astro-cid-ab4ihpzs],.skill[data-astro-cid-ab4ihpzs]:focus-visible .skill__bars[data-astro-cid-ab4ihpzs]{opacity:0;pointer-events:none}.skill[data-astro-cid-ab4ihpzs]:hover .skill__blurb[data-astro-cid-ab4ihpzs],.skill[data-astro-cid-ab4ihpzs]:focus-visible .skill__blurb[data-astro-cid-ab4ihpzs]{opacity:1;pointer-events:auto}.edu[data-astro-cid-2gvrk3wr]{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:1.25rem}.edu__card[data-astro-cid-2gvrk3wr]{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.5rem;transition:transform var(--dur-spatial-fast) var(--ease-spatial-fast),box-shadow var(--dur-effects-default) var(--ease-effects-default),border-color var(--dur-effects-default) var(--ease-effects-default)}.edu__card[data-astro-cid-2gvrk3wr]:hover{transform:translateY(-3px);box-shadow:0 14px 30px #051c2c14;border-color:color-mix(in srgb,var(--accent-bright) 35%,var(--line))}.edu__icon[data-astro-cid-2gvrk3wr]{color:var(--accent-bright)}.edu__period[data-astro-cid-2gvrk3wr]{margin:.6rem 0 .2rem;font-size:var(--step--1);font-weight:600;color:var(--accent-bright)}.edu__inst[data-astro-cid-2gvrk3wr]{font-size:var(--step-1);margin:0}.edu__qual[data-astro-cid-2gvrk3wr]{margin:.35rem 0 .1rem;color:var(--ink-soft)}.edu__result[data-astro-cid-2gvrk3wr]{margin:0;font-size:var(--step--1);color:var(--ink-faint)}.ach[data-astro-cid-4vgjzdbk]{list-style:none;margin:0;padding:0;display:grid;gap:.75rem}.ach__item[data-astro-cid-4vgjzdbk]{display:grid;grid-template-columns:4.5rem 1.6rem 1fr;align-items:center;gap:.9rem;padding:1rem 1.2rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);transition:transform var(--dur-spatial-fast) var(--ease-spatial-fast),border-color var(--dur-effects-default) var(--ease-effects-default),background var(--dur-effects-default) var(--ease-effects-default)}.ach__item[data-astro-cid-4vgjzdbk]:hover{transform:translate(4px);border-color:color-mix(in srgb,var(--accent-bright) 35%,var(--line));background:color-mix(in srgb,var(--accent-bright) 3%,var(--surface))}.ach__year[data-astro-cid-4vgjzdbk]{font-family:var(--font-display);font-size:var(--step-1);font-weight:600;color:var(--accent-bright)}.ach__icon[data-astro-cid-4vgjzdbk]{color:var(--accent)}.ach__text[data-astro-cid-4vgjzdbk]{margin:0;color:var(--ink-soft)}@media(max-width:540px){.ach__item[data-astro-cid-4vgjzdbk]{grid-template-columns:3.5rem 1.4rem 1fr;gap:.6rem}}.footer[data-astro-cid-sz7xmlte]{border-top:1px solid var(--line);padding-block:clamp(2.5rem,6vw,4rem) 1.5rem;margin-top:2rem}.footer__inner[data-astro-cid-sz7xmlte]{display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:space-between;align-items:flex-start}.footer__cta[data-astro-cid-sz7xmlte]{font-family:var(--font-display);font-size:var(--step-2);margin:0 0 .8rem}.footer__contacts[data-astro-cid-sz7xmlte]{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}.footer__name[data-astro-cid-sz7xmlte]{display:none}.footer__contacts[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]{display:inline-flex;align-items:center;gap:.5rem;color:var(--ink-soft);font-weight:500}.footer__contacts[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]:hover{color:var(--accent-bright);text-decoration:none}.footer__top[data-astro-cid-sz7xmlte]{display:inline-flex;align-items:center;gap:.4rem;color:var(--ink-soft);font-size:var(--step--1);font-weight:600;padding:.55rem 1rem;border:1px solid var(--line);border-radius:999px;transition:transform var(--dur-spatial-fast) var(--ease-spatial-fast),border-color var(--dur-effects-default) var(--ease-effects-default)}.footer__top[data-astro-cid-sz7xmlte]:hover{transform:translateY(-2px);border-color:var(--accent-bright);color:var(--accent-bright);text-decoration:none}
