@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/manrope-cyrillic-ext-wght-normal.C8S-KRRz.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: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}:root{color-scheme:light;--bg:#f5f6f2;--paper:#fff;--ink:#182c26;--muted:#53665e;--line:#d2dcd4;--accent:#23654e;--soft:#e7eee7;--font:"Manrope Variable", sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{background:var(--bg);color:var(--ink);font:15px/1.8 var(--font);-webkit-font-smoothing:antialiased;margin:0}::selection{color:#142b22;background:#b9dac4}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}:focus-visible{outline:2px solid var(--accent);outline-offset:5px}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:650;line-height:1.12}h1{letter-spacing:-.075em;font-size:clamp(4.5rem,8vw,7.5rem)}h2{letter-spacing:-.045em;font-size:clamp(2rem,3.1vw,2.8rem)}h3{letter-spacing:-.025em;font-size:22px}p{color:var(--muted)}ul{padding-left:19px}[hidden]{display:none!important}.container{width:min(1160px,100% - 96px);margin-inline:auto}.eyebrow,.small-label,.period,.year{letter-spacing:.08em;font-size:10px;font-weight:650}.eyebrow{color:var(--accent);margin-bottom:22px}.button{background:var(--accent);color:#fff;border:1px solid var(--accent);border-radius:4px;justify-content:center;align-items:center;gap:26px;min-height:48px;padding:13px 22px;font-size:13px;font-weight:650;line-height:1.5;display:inline-flex}.button:hover{background:#174c39}.button-small{gap:17px;min-height:40px;padding:10px 17px;font-size:12px}.button-secondary{color:var(--ink);border-color:var(--line);background:0 0}.button-secondary:hover{background:var(--soft)}.text-link{color:var(--accent);align-items:center;gap:12px;padding-block:8px;font-size:13px;font-weight:650;display:inline-flex}.text-link:hover,.contact-details a:hover,.footer a:hover{text-underline-offset:5px;text-decoration:underline}.skip-link{z-index:10;background:var(--accent);color:#fff;padding:10px 20px;position:fixed;top:-80px;left:20px}.skip-link:focus{top:10px}.site-header{border-bottom:1px solid var(--line)}.nav-row{justify-content:space-between;align-items:center;gap:30px;min-height:85px;display:flex}.monogram{letter-spacing:-.08em;font-size:33px;font-weight:800;line-height:1}.monogram span{color:var(--accent)}.nav-row nav{gap:34px;margin-left:auto;margin-right:35px;font-size:12px;display:flex}.nav-row nav a:hover{color:var(--accent)}.hero{grid-template-columns:1.35fr 1fr;align-items:center;gap:100px;padding-block:80px 75px;display:grid}.hero h1 span{color:var(--accent)}.hero-intro{color:var(--ink);letter-spacing:-.02em;max-width:530px;margin-top:32px;font-size:22px;font-weight:500;line-height:1.55}.hero-summary{max-width:540px;margin-top:18px;font-size:14px}.actions{flex-wrap:wrap;align-items:center;gap:25px;margin-top:30px;display:flex}.download-note{margin-top:15px;font-size:10px}.profile-card{background:var(--paper);border:1px solid var(--line);border-radius:7px;padding:35px}.profile-card .eyebrow{font-size:9px}.career-summary{margin:0;padding:0;list-style:none}.career-summary li{border-left:1px solid var(--line);padding:0 0 28px 24px;position:relative}.career-summary li:before{content:"";background:var(--accent);border:4px solid var(--paper);box-sizing:content-box;border-radius:50%;width:7px;height:7px;position:absolute;top:2px;left:-8px}.career-summary li:last-child{padding-bottom:3px}.career-summary span,.career-summary strong{display:block}.career-summary strong{margin-block:5px 2px;font-size:15px;font-weight:650}.career-summary span:last-child{color:var(--muted);font-size:12px}.year{color:var(--muted);font-size:9px}.profile-card-bottom{border-top:1px solid var(--line);margin-top:30px;padding-top:23px}.profile-card-bottom .small-label{color:var(--accent);font-size:9px}.profile-card-bottom p{margin-top:10px;font-size:13px}.focus-strip{border-block:1px solid var(--line);background:var(--soft)}.focus-strip>div{color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:15px 24px;padding-block:22px;font-size:12px;font-weight:550;display:flex}.section{padding-block:85px}.border-top{border-top:1px solid var(--line)}.experience-layout{grid-template-columns:.7fr 1.3fr;gap:90px;display:grid}.section-side p:not(.eyebrow){max-width:300px;margin-top:25px;font-size:13px}.section-side .text-link{margin-top:18px}.job+.job{border-top:1px solid var(--line);margin-top:34px;padding-top:34px}.job-heading{justify-content:space-between;align-items:baseline;gap:24px;display:flex}.job-role{color:var(--accent);margin-top:8px;font-size:12px;font-weight:650}.period{color:var(--muted);white-space:nowrap;font-size:10px}.job-context{margin-top:18px;font-size:13px}.job ul{margin-block:16px;font-size:13px}.job li{color:var(--muted);margin-bottom:7px;padding-left:3px}.job-stack{font-size:10px;line-height:1.9}.job-stack strong{color:var(--ink);font-weight:650}.job .text-link{margin-top:10px;font-size:11px}.earlier-role{border-top:1px solid var(--line);margin-top:34px;padding-top:28px;font-size:12px}.section-heading{margin-bottom:35px}.section-heading>p:not(.eyebrow){max-width:600px;margin-top:20px;font-size:14px}.skills-grid,.projects-grid{grid-template-columns:repeat(3,1fr);gap:28px;display:grid}.skills-grid article{border-top:1px solid var(--line);padding-top:23px}.skills-grid h3{margin-bottom:15px;font-size:17px}.skills-grid p{font-size:13px}.project-card{border:1px solid var(--line);background:var(--paper);border-radius:6px;padding:30px}.project-card .small-label{color:var(--accent);font-size:9px}.project-card h3{margin:22px 0 18px;font-size:21px}.project-card p{font-size:13px}.project-card .text-link{margin-top:20px;font-size:11px}.education-layout{grid-template-columns:.7fr 1.3fr;gap:90px;display:grid}.education-layout h3{margin:12px 0}.education-layout p:not(.eyebrow){font-size:13px}.school{margin-bottom:20px}.award{border-left:2px solid var(--accent);margin-top:18px;padding-left:16px}.contact{justify-content:space-between;align-items:center;gap:70px;display:flex}.contact>div:first-child>p:last-child{max-width:430px;margin-top:24px;font-size:14px}.contact-details{flex-direction:column;align-items:flex-start;gap:10px;display:flex}.contact-details a:first-child{color:var(--accent);overflow-wrap:anywhere;font-size:19px;font-weight:550}.contact-details a{font-size:14px}.contact-details p{margin-top:10px;font-size:12px}.footer{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;gap:25px;padding-block:25px;font-size:10px;display:flex}.footer div{gap:24px;display:flex}.legal{max-width:800px;padding-block:45px 90px}.legal .eyebrow{margin-top:45px}.legal h1{margin-bottom:35px;font-size:48px}.legal h2{margin:35px 0 18px;font-size:25px}.legal p{margin-bottom:20px}.legal p a{color:var(--accent);overflow-wrap:anywhere;text-decoration:underline}.print-view{background:#e7e9e5}.print-toolbar{justify-content:space-between;align-items:center;gap:20px;width:calc(100% - 40px);max-width:210mm;margin:24px auto;font-size:12px;display:flex}.print-toolbar>div{gap:10px;display:flex}.resume{color:#17221e;font-size:10pt;line-height:1.45}.resume p,.resume li{color:#33473d}.sheet{background:#fff;width:min(210mm,100% - 24px);min-height:297mm;margin:0 auto 25px;padding:14mm;position:relative;box-shadow:0 5px 35px #0000000b}.resume h1{letter-spacing:-.05em;margin-bottom:6px;font-size:30pt}.resume h2{letter-spacing:.025em;border-bottom:1px solid #cbd4ce;margin:18px 0 12px;padding-bottom:6px;font-size:11pt;font-weight:750;line-height:1.2}.resume h3{letter-spacing:-.015em;font-size:11pt}.resume-kicker{letter-spacing:.12em;margin-bottom:8px;font-size:7pt}.resume-role{font-size:10pt;font-weight:650}.resume-contact{margin-top:10px;font-size:9pt;line-height:1.6}.resume-contact a{color:#174b37}.resume-summary p+p{margin-top:8px}.resume .job-heading{gap:12px}.resume .job-role{margin-top:4px;font-size:9pt}.resume .period{letter-spacing:0;font-size:8pt;font-weight:500}.resume .job-context{margin-top:8px;font-size:9.5pt}.resume .job ul{margin:8px 0;padding-left:16px;font-size:9.5pt}.resume .job li{margin-bottom:4px;padding-left:0}.resume .job-stack{font-size:8pt;line-height:1.5}.resume .job+.job{margin-top:18px;padding-top:18px}.resume-running-header{border-bottom:1px solid #cbd4ce;justify-content:space-between;align-items:baseline;padding-bottom:9px;font-size:11pt;font-weight:700;display:flex}.resume-running-header span{font-size:8pt;font-weight:400}.resume-earlier{margin-top:10px;font-size:8pt}.resume-skills p{margin-bottom:4px;font-size:9pt}.resume-education h3{justify-content:space-between;gap:15px;display:flex}.resume-education p{margin-top:5px;font-size:9pt}.resume-projects ul{margin:0;padding-left:16px;font-size:9pt}.resume-projects li{margin-bottom:5px}.resume-projects a{color:#174b37}.recruitment-consent{color:#53665e;border-top:1px solid #cbd4ce;margin-top:15px;padding-top:9px;font-size:7.5pt;line-height:1.45}.page-number{color:#53665e;font-size:7pt;position:absolute;bottom:7mm;right:14mm}@media (width<=1000px){.container{width:calc(100% - 64px)}.hero{grid-template-columns:1.2fr 1fr;gap:45px}.profile-card{padding:28px}.experience-layout,.education-layout{gap:45px}.contact{gap:40px}.projects-grid{gap:16px}.project-card{padding:23px}}@media (width<=760px){.container{width:calc(100% - 40px)}.nav-row{gap:20px;min-height:72px}.nav-row nav{display:none}.hero{grid-template-columns:1fr;gap:40px;padding-block:50px}.hero h1{font-size:5.5rem}.hero-intro{font-size:21px}.profile-card{max-width:480px}.focus-strip>div{justify-content:flex-start;font-size:11px}.section{padding-block:60px}.experience-layout,.education-layout{grid-template-columns:1fr;gap:35px}.section-side p:not(.eyebrow){max-width:none}.skills-grid,.projects-grid{grid-template-columns:1fr;gap:25px}.job-heading{gap:15px}.contact{flex-direction:column;align-items:flex-start;gap:32px}.footer{flex-wrap:wrap}.print-toolbar{flex-wrap:wrap;margin:20px}.sheet{width:calc(100% - 24px);min-height:auto;padding:25px 20px 45px}.resume .job-heading{flex-wrap:wrap;gap:4px}.resume .job-heading>.period{width:100%}.resume h1{font-size:25pt}}@media (width<=380px){.hero h1{font-size:4.5rem}.job-heading{flex-direction:column;gap:7px}.contact-details a:first-child{font-size:17px}.resume-education h3{flex-direction:column;gap:5px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@page{size:A4;margin:14mm}@media print{html{scroll-behavior:auto}body.print-view{background:#fff}.skip-link,.print-toolbar{display:none!important}.sheet{width:auto;min-height:268mm;box-shadow:none;break-after:page;margin:0;padding:0}.sheet:last-child{break-after:auto}.resume h2,.resume h3,.job-heading{break-after:avoid}.resume li,.recruitment-consent{break-inside:avoid}.resume .job-heading{flex-flow:row}.resume .job-heading>.period{width:auto}.resume h1{font-size:30pt}.resume-education h3{flex-direction:row}.page-number{bottom:0;right:0}a{text-decoration:none}}
