@font-face{font-family:__Inter_a1ac3b;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__Inter_a1ac3b;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__Inter_a1ac3b;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:__Inter_a1ac3b;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-s.p.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:__Inter_a1ac3b;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-s.woff2) format("woff2");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_a1ac3b;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-s.woff2) format("woff2");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_a1ac3b;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-s.p.woff2) format("woff2");unicode-range:u+00??,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_Fallback_a1ac3b;src:local("Arial");ascent-override:90.49%;descent-override:22.56%;line-gap-override:0.00%;size-adjust:107.06%}.__className_a1ac3b{font-family:__Inter_a1ac3b,__Inter_Fallback_a1ac3b;font-style:normal}:root{--ink:#000;--charcoal:#1a1a1a;--slate:#404040;--stone:#666;--ash:#888;--mist:#b0b0b0;--fog:#e0e0e0;--paper:#fafafa;--white:#fff;--text-2xs:0.694rem;--text-xs:0.833rem;--text-sm:0.889rem;--text-base:1rem;--text-md:1.125rem;--text-lg:1.2rem;--text-xl:1.44rem;--text-2xl:1.728rem;--text-3xl:2.074rem;--rhythm:0.5rem;--space-1:0.5rem;--space-2:1rem;--space-3:1.5rem;--space-4:2rem;--space-5:2.5rem;--space-6:3rem;--space-8:4rem;--leading-tight:1.2;--leading-snug:1.35;--leading-normal:1.5;--leading-relaxed:1.65;--leading-loose:1.8}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px;text-size-adjust:100%}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--white);color:var(--charcoal);line-height:var(--leading-relaxed);font-weight:400;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"kern" 1,"liga" 1,"calt" 1;text-rendering:optimizeLegibility}main{max-width:720px;margin:0 auto;padding:var(--space-6) var(--space-4)}a{color:inherit;-webkit-text-decoration-line:underline;text-decoration-line:underline;-webkit-text-decoration-color:var(--mist);text-decoration-color:var(--mist);text-decoration-thickness:1px;text-underline-offset:3px;transition:-webkit-text-decoration-color .15s ease;transition:text-decoration-color .15s ease;transition:text-decoration-color .15s ease,-webkit-text-decoration-color .15s ease}a:hover{-webkit-text-decoration-color:var(--ink);text-decoration-color:var(--ink)}.header{margin-bottom:var(--space-6)}.header h1{font-size:var(--text-2xl);font-weight:700;letter-spacing:-.025em;line-height:var(--leading-tight);color:var(--ink);margin-bottom:var(--space-1)}.header .title{font-size:var(--text-md);font-weight:450;color:var(--slate);letter-spacing:-.01em;line-height:var(--leading-snug);margin-bottom:4px}.header .location{font-size:var(--text-sm);font-weight:400;color:var(--ash);letter-spacing:.01em;margin-bottom:var(--space-3)}.header-links{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-bottom:var(--space-3)}.header-links a{font-size:var(--text-xs);font-weight:500;color:var(--stone);text-decoration:none;display:inline-flex;align-items:center;gap:6px;letter-spacing:.01em;transition:color .15s ease}.header-links a:hover{color:var(--ink)}.header-links svg{opacity:.7;transition:opacity .15s ease}.header-links a:hover svg{opacity:1}.download-btn{margin-top:var(--space-2)}.download-btn a{display:inline-block;font-size:var(--text-2xs);font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--charcoal);text-decoration:none;padding:10px 20px;border:1.5px solid var(--charcoal);transition:all .2s ease}.download-btn a:hover{background:var(--charcoal);color:var(--white)}section{margin-bottom:var(--space-5)}section h2{font-size:var(--text-2xs);font-weight:700;text-transform:uppercase;letter-spacing:.18em;color:var(--ash);margin-bottom:var(--space-3);padding-bottom:var(--space-1);border-bottom:1px solid var(--fog)}.summary{font-size:var(--text-base);font-weight:400;color:var(--slate);line-height:var(--leading-loose);max-width:65ch;margin-bottom:var(--space-2)}.summary:last-of-type{margin-bottom:0}.summary a{font-weight:500}.summary a,.summary em{color:var(--charcoal)}.entry{margin-bottom:var(--space-4)}.entry:last-child{margin-bottom:0}.entry-header{display:grid;grid-template-columns:1fr auto;grid-gap:var(--space-2);gap:var(--space-2);align-items:start}.entry-primary{min-width:0}.entry-title{font-size:var(--text-base);font-weight:600;color:var(--ink);line-height:var(--leading-snug);letter-spacing:-.01em}.entry-org{font-size:var(--text-sm);font-weight:500;color:var(--stone);line-height:var(--leading-normal);margin-top:2px}.entry-location{font-style:italic;margin-top:2px}.entry-date,.entry-location{font-size:var(--text-xs);font-weight:400;color:var(--ash)}.entry-date{text-align:right;white-space:nowrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:.02em;line-height:var(--leading-snug);padding-top:2px}.entry-highlights{margin-top:var(--space-1);padding:0;list-style:none}.entry-highlights li{position:relative;padding-left:1rem;margin-bottom:6px;font-size:var(--text-sm);font-weight:400;color:var(--slate);line-height:var(--leading-relaxed)}.entry-highlights li:before{content:"–";position:absolute;left:0;color:var(--mist);font-weight:400}.entry-highlights a{font-weight:500;color:var(--charcoal)}.entry-highlights li:last-child{margin-bottom:0}.publication{margin-bottom:var(--space-3)}.publication:last-child{margin-bottom:0}.publication-title{font-size:var(--text-sm);font-weight:600;color:var(--ink);line-height:var(--leading-snug);margin-bottom:4px}.publication-authors{font-size:var(--text-xs);font-weight:400;color:var(--stone);line-height:var(--leading-normal);margin-bottom:2px}.publication-authors strong{font-weight:600;color:var(--charcoal)}.publication-venue{font-size:var(--text-xs);font-weight:400;color:var(--ash);font-style:italic;line-height:var(--leading-normal)}.publication-link{display:inline-block;font-size:var(--text-2xs);font-weight:500;color:var(--stone);text-transform:uppercase;letter-spacing:.06em;margin-top:6px}.publication-link:hover{color:var(--ink)}.skill-row{margin-bottom:var(--space-2);font-size:var(--text-sm);line-height:var(--leading-relaxed);display:flex;flex-wrap:wrap;gap:6px}.skill-row:last-child{margin-bottom:0}.skill-label{font-weight:600;color:var(--ink);min-width:140px}.skill-label:after{content:":"}.skill-items{font-weight:400;color:var(--slate);flex:1 1}.project{margin-bottom:var(--space-2)}.project:last-child{margin-bottom:0}.project-header{display:flex;align-items:baseline;gap:var(--space-1);flex-wrap:wrap}.project-name{font-size:var(--text-sm);font-weight:600;color:var(--ink)}.project-links{font-size:var(--text-2xs)}.project-links a{color:var(--ash);text-decoration:none;margin-right:var(--space-1);transition:color .15s ease}.project-links a:hover{color:var(--ink)}.project-desc{font-size:var(--text-xs);font-weight:400;color:var(--stone);line-height:var(--leading-normal);margin-top:2px}.cert{display:grid;grid-template-columns:1fr auto;grid-gap:var(--space-2);gap:var(--space-2);margin-bottom:var(--space-1);font-size:var(--text-sm);align-items:baseline}.cert:last-child{margin-bottom:0}.cert-name{font-weight:500;color:var(--charcoal)}.cert-provider{font-weight:400;color:var(--ash);text-align:right;font-size:var(--text-xs)}.languages-list{display:flex;flex-wrap:wrap;gap:var(--space-3);font-size:var(--text-sm)}.lang-item{display:inline-flex;align-items:baseline;gap:4px}.lang-item strong{font-weight:600;color:var(--ink)}.lang-item span{font-weight:400;color:var(--ash)}.conference{margin-bottom:var(--space-2)}.conference:last-child{margin-bottom:0}.conference-header{display:grid;grid-template-columns:1fr auto;grid-gap:var(--space-2);gap:var(--space-2);align-items:baseline}.conference-name{font-size:var(--text-sm);font-weight:600;color:var(--ink);line-height:var(--leading-snug)}.conference-location{font-style:italic;margin-top:2px}.conference-date,.conference-location{font-size:var(--text-xs);font-weight:400;color:var(--ash)}.conference-date{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.conference-details{font-size:var(--text-xs);font-weight:400;color:var(--stone);margin-top:4px;line-height:var(--leading-normal)}footer{margin-top:var(--space-6);padding-top:var(--space-3);border-top:1px solid var(--fog);text-align:center;font-size:var(--text-2xs);font-weight:400;color:var(--mist);letter-spacing:.03em}@media (max-width:640px){html{font-size:15px}main{padding:var(--space-4) var(--space-2)}.header h1{font-size:var(--text-xl)}.header .title{font-size:var(--text-base)}.entry-header{grid-template-columns:1fr;gap:0}.entry-date{text-align:left;margin-top:4px;font-size:var(--text-2xs)}.skill-row{flex-direction:column;gap:2px}.skill-label{min-width:auto}.cert{grid-template-columns:1fr;gap:2px}.cert-provider{text-align:left}.conference-header{grid-template-columns:1fr;gap:0}.conference-date{text-align:left;margin-top:2px}.header-links,.languages-list{gap:var(--space-2)}}@media print{body{font-size:11pt}main{max-width:none;padding:0}a{text-decoration:none;color:var(--ink)}.download-btn{display:none}}