@font-face{font-family:Libertinus Serif;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/libertinus-serif-latin-400-normal.UuLrF836.woff2)format("woff2"),url(/_astro/libertinus-serif-latin-400-normal.23LEb6vZ.woff)format("woff")}@font-face{font-family:Libertinus Serif;font-style:italic;font-display:swap;font-weight:400;src:url(/_astro/libertinus-serif-latin-400-italic.B2pw30VD.woff2)format("woff2"),url(/_astro/libertinus-serif-latin-400-italic.Yo4WIJgi.woff)format("woff")}@font-face{font-family:Libertinus Serif;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/libertinus-serif-latin-700-normal.DgcGlGzg.woff2)format("woff2"),url(/_astro/libertinus-serif-latin-700-normal.DtCYrCCq.woff)format("woff")}:root{color-scheme:light;--page-bg:#e9e8e4;--sheet:#fff;--ink:#000;--muted:#5a5a5a;--link:#1a4fa8;--rule:#969696;--ui-border:#d3d1ca;--serif:"Libertinus Serif", "Linux Libertine", Georgia, serif;--ui:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--page-bg);color:var(--ink);font-family:var(--ui);-webkit-print-color-adjust:exact;print-color-adjust:exact;margin:0;font-size:13px;line-height:1.45}p,h1,h2,h3,h4,ul{margin:0}ul{padding:0;list-style:none}::selection{color:var(--ink);background:#d8e4fb}:focus-visible{outline:2px solid var(--link);outline-offset:2px}.skip{z-index:100;background:var(--ink);color:#fff;border-radius:0 0 5px;padding:9px 13px;font-size:12px;text-decoration:none;position:absolute;top:0;left:-9999px}.skip:focus{left:0}.viewer{min-height:100vh;padding:0 16px 44px}.viewer-bar,.viewer-foot{width:210mm;max-width:100%;margin:0 auto}.viewer-bar{color:var(--muted);justify-content:space-between;align-items:center;gap:16px;padding:16px 2px 12px;font-size:12px;display:flex}.viewer-label{letter-spacing:.16em;text-transform:uppercase;font-size:11px;font-weight:700}.viewer-actions{align-items:center;gap:10px;display:flex}.langs{align-items:center;gap:2px;display:flex}.langs a{color:var(--muted);letter-spacing:.04em;padding:2px 5px;font-size:12px;font-weight:600;text-decoration:none}.langs a:hover{color:var(--ink)}.langs a[aria-current=page]{color:var(--ink);text-underline-offset:3px;text-decoration:underline}.bar-sep{background:var(--ui-border);width:1px;height:14px}.dl{border:1px solid var(--ui-border);background:var(--sheet);color:#222;border-radius:5px;align-items:center;gap:6px;padding:5px 9px;font-size:12px;font-weight:600;line-height:1;text-decoration:none;display:inline-flex}.dl:hover{border-color:#a9a69d}.dl svg{flex:none;width:11px;height:11px}.viewer-foot{color:var(--muted);text-align:center;padding:16px 2px 0;font-size:12px}.viewer-foot a{color:var(--link);font-weight:600;text-decoration:none}.viewer-foot a:hover{text-decoration:underline}.doc{flex-direction:column;align-items:center;gap:24px;display:flex}.sheet{background:var(--sheet);width:210mm;max-width:100%;min-height:297mm;color:var(--ink);font-family:var(--serif);padding:18.3mm 20mm 20mm;font-size:12pt;line-height:16.3pt;box-shadow:0 0 0 1px #14141412,0 2px 8px #1414140d,0 16px 36px #14141412}.cv-head{border-bottom:.5pt solid var(--rule);text-align:center;padding-bottom:12.1pt}.cv-name{font-family:var(--serif);font-size:22pt;font-weight:400;line-height:25.1pt}.cv-contact{margin-top:12.7pt;font-size:12pt;line-height:16.3pt}.cv-contact a{color:var(--link);text-decoration:none}.cv-contact a:hover{text-decoration:underline}.cv-summary{text-align:justify;margin-top:13.35pt}.cv-section{margin-top:15.4pt}.sheet>.cv-section:first-child{margin-top:0}.cv-section__title{border-bottom:.5pt solid var(--rule);text-transform:uppercase;margin-bottom:7.47pt;padding-bottom:1.15pt;font-size:12pt;font-weight:700;line-height:16.3pt}.entry{margin-top:9.3pt}.entry:first-of-type{margin-top:0}.entry__head{justify-content:space-between;align-items:baseline;gap:12pt;display:flex}.entry__title{font-size:12.6pt;font-weight:700;line-height:16.3pt}.entry__subtitle{font-size:12pt;font-weight:700;line-height:16.3pt}.entry__dates{color:var(--muted);text-align:right;white-space:nowrap;flex:none;font-size:12pt;font-style:italic;line-height:16.3pt}.subentry{margin-top:5.8pt}.entry>.subentry:first-of-type{margin-top:7.16pt}.cv-list{padding-left:22.2pt}.cv-list li{text-indent:-11.8pt}.cv-list li:before{content:"•";text-indent:0;width:11.8pt;display:inline-block}.entry__head+.cv-list{margin-top:2.4pt}.cv-section>.cv-list{margin-top:0}.project{margin-top:9.5pt}.project:first-of-type{margin-top:0}.project__title{font-size:12pt;font-weight:700;line-height:16.3pt}.project .cv-list{margin-top:0}.project__stack{margin-top:8.4pt}.project__link{color:var(--link);font-weight:700;text-decoration:none}.project__link:hover{text-decoration:underline}.edu{margin-top:7.9pt;line-height:13.9pt}.edu:first-of-type{margin-top:0}.edu__title{font-size:12pt;font-weight:700;line-height:13.9pt}.edu .cv-list{margin-top:0;line-height:13.9pt}.notfound{max-width:620px;margin:0 auto;padding:92px 24px 120px}.eyebrow{color:var(--muted);letter-spacing:.16em;text-transform:uppercase;font-size:11px;font-weight:700}.notfound h1{font-family:var(--serif);margin:10px 0 18px;font-size:30pt;font-weight:400;line-height:1.1}.notfound__body{color:#333;margin-top:10px}.notfound__actions{flex-wrap:wrap;gap:10px;margin-top:26px;display:flex}.btn{border:1px solid var(--ui-border);background:var(--sheet);color:#222;border-radius:5px;align-items:center;padding:8px 14px;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex}.btn:hover{border-color:#a9a69d}.btn--ghost{background:0 0}@media screen and (width<=860px){.viewer{padding:0 10px 32px}.sheet{width:100%;min-height:0;padding:26px 22px 30px;font-size:11.5pt;line-height:1.4}.cv-summary{text-align:left}}@media screen and (width<=560px){.viewer{padding:0 6px 24px}.viewer-bar{padding:12px 2px 10px}.viewer-label{display:none}.doc{gap:12px}.sheet{padding:22px 17px 26px;font-size:11pt}.cv-name{font-size:19pt;line-height:1.2}.cv-contact{margin-top:9pt;font-size:10pt;line-height:1.5}.cv-summary{margin-top:12pt}.cv-section{margin-top:16pt}.entry__title{font-size:11.5pt}.entry__head{flex-wrap:wrap;gap:0 10px}.entry__dates{text-align:left;flex-basis:100%;font-size:10.5pt}.cv-list{padding-left:18pt}.cv-list li{text-indent:-9pt}.cv-list li:before{text-indent:0;width:9pt}}@media print{@page{size:A4;margin:18.3mm 20mm 20mm}html,body{background:#fff}.viewer{min-height:0;padding:0}.viewer-bar,.viewer-foot,.skip{display:none!important}.doc{display:block}.sheet{width:auto;min-height:0;box-shadow:none;margin:0;padding:0}.sheet+.sheet{break-before:page}a{color:var(--link);text-decoration:none}.entry,.project,.edu{break-inside:avoid}}
