@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e390973e931a41c5-s.a82ecf4e.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/59b15b4bcd7b1eb5-s.afa48be3.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e532fa1b9921e1cd-s.764b43eb.woff2)format("woff2");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:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2fe89d53234c61d4-s.cb53f04b.woff2)format("woff2");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:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/99e609270109b47d-s.p.64b9304e.woff2)format("woff2");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:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/5e05ae5b48faa55e-s.6b5ea6af.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/a7afbb44bec2bb18-s.1dcddae6.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/02263ebadd758ea4-s.8da66e7f.woff2)format("woff2");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:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/68757d6cddeff913-s.e6cd1753.woff2)format("woff2");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:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/effe91970fc4db64-s.p.19510058.woff2)format("woff2");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:IBM Plex Mono Fallback;src:local(Arial);ascent-override:76.16%;descent-override:20.43%;line-gap-override:0.0%;size-adjust:134.59%}.ibm_plex_mono_f24baffe-module__3-n9MW__className{font-family:IBM Plex Mono,IBM Plex Mono Fallback;font-style:normal}.ibm_plex_mono_f24baffe-module__3-n9MW__variable{--resume-mono:"IBM Plex Mono","IBM Plex Mono Fallback"}
.resume-module__R4NoHW__resumeRoot{--resume-bg:#f2f4f6;--resume-paper:#fff;--resume-ink:#0f1a24;--resume-ink-soft:#445868;--resume-line:#c8d1d9;--resume-accent:#205d7d;--resume-accent-soft:#5e7a8d;--resume-glow:#205d7d24;min-height:100vh;color:var(--resume-ink);font-family:var(--resume-serif),"Noto Serif SC",serif;background:radial-gradient(circle at 12% 8%,#5e7a8d2e,#0000 34%),radial-gradient(circle at 86% 10%,#205d7d24,#0000 32%),linear-gradient(140deg,#eceff2 0%,#f2f4f6 45%,#eaedf1 100%);padding:3rem 0 4rem}.resume-module__R4NoHW__resumeCanvas{border:1px solid var(--resume-line);background:var(--resume-paper);width:min(1120px,100% - 2.2rem);margin:0 auto;position:relative;overflow:hidden;box-shadow:0 22px 60px #0d213024,inset 0 0 0 1px #fff9}.resume-module__R4NoHW__resumeCanvas:before{content:"";opacity:.36;pointer-events:none;background-image:linear-gradient(90deg,#80919e17 1px,#0000 1px),linear-gradient(#80919e14 1px,#0000 1px);background-size:44px 44px;position:absolute;inset:0}.resume-module__R4NoHW__header,.resume-module__R4NoHW__summarySection,.resume-module__R4NoHW__section,.resume-module__R4NoHW__footer{z-index:2;position:relative}.resume-module__R4NoHW__header{border-bottom:1px solid var(--resume-line);padding:2rem 2.2rem 1.7rem}.resume-module__R4NoHW__headerTop{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.3rem;display:flex}.resume-module__R4NoHW__homeLink{border:1px solid var(--resume-line);font-family:var(--resume-mono),"IBM Plex Mono",monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--resume-accent-soft);padding:.46rem .7rem;font-size:.7rem;display:inline-block}.resume-module__R4NoHW__controls{flex-wrap:wrap;justify-content:flex-end;gap:.42rem;display:flex}.resume-module__R4NoHW__controlGroup{border:1px solid var(--resume-line);background:#f8f9fa;display:inline-flex}.resume-module__R4NoHW__controlButton,.resume-module__R4NoHW__controlActive,.resume-module__R4NoHW__printButton{color:var(--resume-accent-soft);font-family:var(--resume-mono),"IBM Plex Mono",monospace;letter-spacing:.11em;text-transform:uppercase;cursor:pointer;background:0 0;border:none;padding:.5rem .7rem;font-size:.67rem}.resume-module__R4NoHW__controlActive{background:var(--resume-accent);color:#f8fbfd}.resume-module__R4NoHW__printButton{border:1px solid var(--resume-line);background:#f8f9fa}.resume-module__R4NoHW__identityWrap{grid-template-columns:140px 1fr;align-items:center;gap:1.3rem;display:grid}.resume-module__R4NoHW__avatarWrap{border:1px solid var(--resume-line);background:linear-gradient(145deg,#dde5eb,#f4f8fa);width:140px;height:140px;position:relative;overflow:hidden}.resume-module__R4NoHW__avatarImage{object-fit:cover;z-index:2;width:100%;height:100%;display:block;position:relative}.resume-module__R4NoHW__avatarFallback{text-align:center;color:var(--resume-accent-soft);z-index:1;place-content:center;gap:.3rem;display:grid;position:absolute;inset:0}.resume-module__R4NoHW__avatarFallback span{font-family:var(--resume-display),"Cormorant Garamond",serif;font-size:2.2rem;line-height:1}.resume-module__R4NoHW__avatarFallback p{font-size:.66rem;font-family:var(--resume-mono),"IBM Plex Mono",monospace;letter-spacing:.08em;margin:0}.resume-module__R4NoHW__identityMain h1{font-family:var(--resume-display),"Cormorant Garamond",serif;margin:0;font-size:clamp(2rem,4vw,3.4rem);line-height:.94}.resume-module__R4NoHW__identityMain h2{color:var(--resume-ink-soft);margin:.45rem 0 0;font-size:clamp(.98rem,1.6vw,1.22rem);font-weight:500}.resume-module__R4NoHW__kicker{font-family:var(--resume-mono),"IBM Plex Mono",monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--resume-accent-soft);margin:0 0 .55rem;font-size:.68rem}.resume-module__R4NoHW__contactLine{font-family:var(--resume-mono),"IBM Plex Mono",monospace;letter-spacing:.08em;color:var(--resume-accent-soft);flex-wrap:wrap;align-items:center;gap:.55rem;margin:.85rem 0 0;font-size:.76rem;display:flex}.resume-module__R4NoHW__summarySection,.resume-module__R4NoHW__section{border-bottom:1px solid var(--resume-line);padding:1.6rem 2.2rem}.resume-module__R4NoHW__sectionHeading{align-items:baseline;gap:.78rem;margin-bottom:1rem;display:flex}.resume-module__R4NoHW__sectionIndex{font-family:var(--resume-mono),"IBM Plex Mono",monospace;letter-spacing:.16em;color:var(--resume-accent-soft);margin:0;font-size:.72rem}.resume-module__R4NoHW__sectionHeading h3{font-family:var(--resume-display),"Cormorant Garamond",serif;margin:0;font-size:clamp(1.35rem,2.4vw,2.06rem);line-height:1.08}.resume-module__R4NoHW__summaryText{color:var(--resume-ink-soft);max-width:72ch;margin:0;font-size:1.04rem;line-height:1.86}.resume-module__R4NoHW__experienceList,.resume-module__R4NoHW__projectList{gap:.95rem;display:grid}.resume-module__R4NoHW__experienceCard,.resume-module__R4NoHW__projectCard,.resume-module__R4NoHW__skillCard,.resume-module__R4NoHW__eduCard,.resume-module__R4NoHW__languageCard,.resume-module__R4NoHW__timelineItem,.resume-module__R4NoHW__metricCard{border:1px solid var(--resume-line);box-shadow:0 12px 30px var(--resume-glow);break-inside:avoid;background:#ffffffeb}.resume-module__R4NoHW__experienceCard,.resume-module__R4NoHW__projectCard,.resume-module__R4NoHW__eduCard{padding:.92rem 1rem 1rem}.resume-module__R4NoHW__cardHead{justify-content:space-between;align-items:flex-start;gap:.9rem;display:flex}.resume-module__R4NoHW__orgName{font-family:var(--resume-mono),"IBM Plex Mono",monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--resume-accent-soft);margin:0;font-size:.7rem}.resume-module__R4NoHW__cardHead h4{margin:.35rem 0 0;font-size:1.08rem;line-height:1.35}.resume-module__R4NoHW__periodTag{white-space:nowrap;font-family:var(--resume-mono),"IBM Plex Mono",monospace;color:var(--resume-accent-soft);margin:0;font-size:.71rem}.resume-module__R4NoHW__experienceCard ul,.resume-module__R4NoHW__projectCard ul{gap:.38rem;margin:.8rem 0 0;padding-left:1.15rem;display:grid}.resume-module__R4NoHW__experienceCard li,.resume-module__R4NoHW__projectCard li{color:var(--resume-ink-soft);font-size:.93rem;line-height:1.64}.resume-module__R4NoHW__projectRole{font-family:var(--resume-mono),"IBM Plex Mono",monospace;color:var(--resume-accent);letter-spacing:.1em;margin:.72rem 0 0;font-size:.74rem}.resume-module__R4NoHW__stackLine{flex-wrap:wrap;gap:.44rem;margin-top:.78rem;display:flex}.resume-module__R4NoHW__stackLine span{border:1px solid var(--resume-line);font-family:var(--resume-mono),"IBM Plex Mono",monospace;letter-spacing:.07em;color:var(--resume-accent-soft);background:#f9fbfc;padding:.24rem .44rem;font-size:.66rem}.resume-module__R4NoHW__outcome{color:var(--resume-ink-soft);margin:.74rem 0 0;font-size:.9rem}.resume-module__R4NoHW__awardsLayout{grid-template-columns:.95fr 1.05fr;gap:.92rem;display:grid}.resume-module__R4NoHW__metricsRow{gap:.85rem;display:grid}.resume-module__R4NoHW__metricCard{padding:.9rem 1rem}.resume-module__R4NoHW__metricValue{font-family:var(--resume-display),"Cormorant Garamond",serif;margin:0;font-size:2rem;line-height:1}.resume-module__R4NoHW__metricLabel{color:var(--resume-ink-soft);margin:.45rem 0 0;font-size:.86rem}.resume-module__R4NoHW__timeline{gap:.8rem;display:grid}.resume-module__R4NoHW__timelineItem{padding:.84rem .95rem}.resume-module__R4NoHW__timelineYear{font-family:var(--resume-mono),"IBM Plex Mono",monospace;letter-spacing:.16em;color:var(--resume-accent);margin:0;font-size:.68rem}.resume-module__R4NoHW__timelineItem h4{margin:.35rem 0 0;font-size:.98rem}.resume-module__R4NoHW__timelineItem p{color:var(--resume-ink-soft);margin:.32rem 0 0;line-height:1.52}.resume-module__R4NoHW__skillGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.84rem;display:grid}.resume-module__R4NoHW__skillCard{padding:.84rem .92rem}.resume-module__R4NoHW__skillCard h4{margin:0;font-size:.98rem}.resume-module__R4NoHW__skillCard ul{flex-wrap:wrap;gap:.46rem;margin:.66rem 0 0;padding:0;list-style:none;display:flex}.resume-module__R4NoHW__skillCard li{border:1px solid var(--resume-line);color:var(--resume-ink-soft);background:#f8fbfd;padding:.2rem .4rem;font-size:.71rem}.resume-module__R4NoHW__eduGrid{grid-template-columns:1.4fr .6fr;gap:.84rem;display:grid}.resume-module__R4NoHW__eduList{gap:.8rem;display:grid}.resume-module__R4NoHW__eduDetail{color:var(--resume-ink-soft);margin:.72rem 0 0}.resume-module__R4NoHW__languageCard{padding:.9rem}.resume-module__R4NoHW__languageCard h4{margin:0;font-size:1.02rem}.resume-module__R4NoHW__languageCard ul{gap:.5rem;margin:.7rem 0 0;padding:0;list-style:none;display:grid}.resume-module__R4NoHW__languageCard li{border-bottom:1px dashed var(--resume-line);color:var(--resume-ink-soft);justify-content:space-between;gap:.6rem;padding-bottom:.46rem;font-size:.9rem;display:flex}.resume-module__R4NoHW__languageCard strong{font-family:var(--resume-mono),"IBM Plex Mono",monospace;letter-spacing:.1em;color:var(--resume-accent-soft);text-transform:uppercase;font-size:.72rem}.resume-module__R4NoHW__footer{font-family:var(--resume-mono),"IBM Plex Mono",monospace;letter-spacing:.08em;color:var(--resume-accent-soft);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.85rem;padding:1.2rem 2.2rem 1.6rem;font-size:.7rem;display:flex}.resume-module__R4NoHW__footer p{margin:0}.resume-module__R4NoHW__footer a{text-decoration:underline}.resume-module__R4NoHW__atsMode{background:#f7f8f9}.resume-module__R4NoHW__atsMode .resume-module__R4NoHW__resumeCanvas{box-shadow:none}.resume-module__R4NoHW__atsMode .resume-module__R4NoHW__resumeCanvas:before{display:none}.resume-module__R4NoHW__atsMode .resume-module__R4NoHW__experienceCard,.resume-module__R4NoHW__atsMode .resume-module__R4NoHW__projectCard,.resume-module__R4NoHW__atsMode .resume-module__R4NoHW__skillCard,.resume-module__R4NoHW__atsMode .resume-module__R4NoHW__eduCard,.resume-module__R4NoHW__atsMode .resume-module__R4NoHW__languageCard,.resume-module__R4NoHW__atsMode .resume-module__R4NoHW__timelineItem,.resume-module__R4NoHW__atsMode .resume-module__R4NoHW__metricCard{box-shadow:none;background:#fff}.resume-module__R4NoHW__atsMode .resume-module__R4NoHW__summaryText{font-size:.98rem}.resume-module__R4NoHW__atsMode .resume-module__R4NoHW__stackLine span{background:#fff}.resume-module__R4NoHW__atsMode .resume-module__R4NoHW__metricValue{font-family:var(--resume-mono),"IBM Plex Mono",monospace;font-variant-numeric:lining-nums tabular-nums;font-size:1.75rem;font-weight:500}@media (max-width:920px){.resume-module__R4NoHW__resumeRoot{padding:1.4rem 0 2.4rem}.resume-module__R4NoHW__resumeCanvas{width:min(1120px,100% - 1rem)}.resume-module__R4NoHW__header,.resume-module__R4NoHW__summarySection,.resume-module__R4NoHW__section,.resume-module__R4NoHW__footer{padding-inline:1rem}.resume-module__R4NoHW__identityWrap{grid-template-columns:1fr}.resume-module__R4NoHW__avatarWrap{width:112px;height:112px}.resume-module__R4NoHW__headerTop{flex-direction:column;align-items:stretch}.resume-module__R4NoHW__controls{justify-content:flex-start}.resume-module__R4NoHW__awardsLayout,.resume-module__R4NoHW__eduGrid,.resume-module__R4NoHW__skillGrid{grid-template-columns:1fr}.resume-module__R4NoHW__contactLine{gap:.32rem}.resume-module__R4NoHW__contactLine span{display:none}}@media print{.resume-module__R4NoHW__resumeRoot{color:#000;background:#fff;padding:0}.resume-module__R4NoHW__resumeCanvas{width:100%;box-shadow:none;border:none}.resume-module__R4NoHW__resumeCanvas:before{display:none}.resume-module__R4NoHW__resumeRoot [data-print-hidden]{display:none!important}.resume-module__R4NoHW__header,.resume-module__R4NoHW__summarySection,.resume-module__R4NoHW__section,.resume-module__R4NoHW__footer{page-break-inside:avoid;border-bottom:1px solid #d7d7d7;padding:.6rem .7rem}.resume-module__R4NoHW__summaryText,.resume-module__R4NoHW__experienceCard li,.resume-module__R4NoHW__projectCard li,.resume-module__R4NoHW__timelineItem p,.resume-module__R4NoHW__eduDetail{color:#111}.resume-module__R4NoHW__experienceCard,.resume-module__R4NoHW__projectCard,.resume-module__R4NoHW__skillCard,.resume-module__R4NoHW__eduCard,.resume-module__R4NoHW__languageCard,.resume-module__R4NoHW__timelineItem,.resume-module__R4NoHW__metricCard{box-shadow:none;background:#fff;border:1px solid #d2d2d2}.resume-module__R4NoHW__awardsLayout,.resume-module__R4NoHW__skillGrid,.resume-module__R4NoHW__eduGrid{grid-template-columns:1fr}.resume-module__R4NoHW__projectCard,.resume-module__R4NoHW__experienceCard,.resume-module__R4NoHW__timelineItem,.resume-module__R4NoHW__eduCard{page-break-inside:avoid}.resume-module__R4NoHW__footer{border-bottom:none}}@media (prefers-reduced-motion:reduce){.resume-module__R4NoHW__resumeRoot *{transition:none!important;animation:none!important}}
