.cv-root{--page-w:8.27in;--page-h:11.69in;--margin:0.6in;--ink:#000;--rule:#000;--muted:#2b2b2b;--accent:#000;--font-body:"EB Garamond","Source Serif 4",Georgia,"Times New Roman",serif;--font-head:"EB Garamond","Source Serif 4",Georgia,"Times New Roman",serif;--font-ui:"Source Sans 3",system-ui,-apple-system,sans-serif;--size-body:10.8pt;--size-h2:11.5pt;--size-name:22pt;--lh:1.32;--gap-section:10pt;--gap-entry:5pt;background:#e9e7e2;color:var(--ink);font-family:var(--font-body);min-height:100vh;display:block}.cv-root .stage{min-height:100vh;display:flex;flex-direction:column;align-items:center;padding:32px 16px 100px;gap:24px}.cv-root .cv-page{background:#fff;width:var(--page-w);min-height:var(--page-h);padding:var(--margin);box-shadow:0 1px 2px rgba(0,0,0,.06),0 12px 40px rgba(0,0,0,.12);font-size:var(--size-body);line-height:var(--lh);color:var(--ink);position:relative}.cv-root .head{text-align:center}.cv-root .name{font-size:var(--size-name);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--accent)}.cv-root .name,.cv-root .role-title{font-family:var(--font-head);margin:0 0 4pt}.cv-root .role-title{font-style:italic;font-size:11.5pt;color:var(--muted)}.cv-root .contact{font-size:9.6pt;line-height:1.4;color:var(--ink)}.cv-root .contact a{color:inherit;text-decoration:none}.cv-root .cv-page a{color:inherit;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:2px;text-decoration-color:#999;transition:color .15s,text-decoration-color .15s;cursor:pointer}.cv-root .cv-page a:hover{color:#1a1a1a;text-decoration-style:solid;text-decoration-color:currentColor}.cv-root .contact .ci{white-space:nowrap;display:inline-block}.cv-root .contact .sep{margin:0 5pt;color:#666}.cv-root .divider{border:0;border-top:.6pt solid var(--rule);margin:8pt 0 0}.cv-root section{margin-top:var(--gap-section)}.cv-root h2{font-family:var(--font-head);font-size:var(--size-h2);font-weight:700;letter-spacing:.14em;text-transform:uppercase;margin:0 0 4pt;padding-bottom:2pt;border-bottom:.6pt solid var(--rule);color:var(--accent)}.cv-root p{margin:0}.cv-root ul{list-style:disc;margin:3pt 0 0;padding-left:16pt}.cv-root li{margin:1.5pt 0;text-wrap:pretty}.cv-root li::marker{font-size:.9em}.cv-root .summary{text-align:justify;hyphens:auto}.cv-root .entry{margin-top:var(--gap-entry)}.cv-root .entry:first-of-type{margin-top:3pt}.cv-root .row{display:flex;justify-content:space-between;align-items:baseline;gap:12pt}.cv-root .row .l{font-weight:600}.cv-root .row .r{font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--ink)}.cv-root .row2 .l,.cv-root .row2 .r{font-style:italic;font-weight:400}.cv-root .company{margin-top:var(--gap-section)}.cv-root .company:first-of-type{margin-top:3pt}.cv-root .role-block{margin-top:var(--gap-entry)}.cv-root .role-block:first-of-type{margin-top:3pt}.cv-root .role-block ul{margin-top:2pt}.cv-root .skills{display:grid;grid-template-columns:1.05in 1fr;gap:2pt 10pt;margin-top:3pt}.cv-root .skills .k{font-weight:600}.cv-root .projects p{margin-top:2pt}.cv-root .edu .row .l,.cv-root .projects .pname{font-weight:600}.cv-root .edu .row .r{font-style:italic;font-weight:400}.cv-root .refs{display:grid;grid-template-columns:1fr 1fr;gap:6pt 18pt;margin-top:3pt}.cv-root .refs .rname{font-weight:600}.cv-root .refs .rrole{font-style:italic;color:var(--muted)}.cv-root[data-density=compact]{--size-body:10.3pt;--lh:1.28;--gap-section:9pt;--gap-entry:3.5pt}.cv-root[data-density=compact] .company{margin-top:8pt}.cv-root[data-density=compact] .company:first-of-type{margin-top:3pt}.cv-root[data-density=compact] .role-block{margin-top:4pt}.cv-root[data-density=compact] .skills{gap:2pt 10pt;margin-bottom:4pt}.cv-root[data-density=compact] li{margin:1.2pt 0}.cv-root[data-density=compact] ul{margin-top:2pt}@page{size:A4;margin:.6in;@bottom-right{content:counter(page) " / " counter(pages);font-family:Source Sans\ 3,system-ui,sans-serif;font-size:8pt;color:#888}}@media print{.cv-root,body,html{background:#fff}.cv-root{min-height:0;--size-body:10.8pt;--size-name:22pt;--size-h2:11.5pt;--margin:0.6in;--gap-section:10pt;--gap-entry:5pt;--lh:1.32}.cv-root a[href]:after{content:none!important}.cv-root .contact .sep{display:inline!important;margin:0 5pt!important}.cv-root .contact .ci{display:inline-block!important;white-space:nowrap!important;word-break:normal!important}.cv-root .row{flex-direction:row!important;align-items:baseline!important}.cv-root .row .r{font-size:inherit!important;color:var(--ink)!important;white-space:nowrap!important}.cv-root .refs{grid-template-columns:1fr 1fr!important}.cv-root .skills{grid-template-columns:1.05in 1fr!important;font-size:inherit!important}.cv-root .summary{text-align:justify!important;hyphens:auto!important}.cv-root .company{margin-top:var(--gap-section)!important}.cv-root ul{padding-left:16pt!important}.cv-root li{font-size:inherit!important}.cv-root .stage{padding:0;gap:0;margin:0;min-height:0!important;background:#fff}.cv-root .cv-page,.cv-root .stage{display:flow-root}.cv-root .cv-page{box-shadow:none!important;width:100%!important;min-height:0!important;padding:0!important;margin:0!important;border-bottom:none!important;break-after:page;page-break-after:always}.cv-root .cv-page:last-of-type{break-after:auto;page-break-after:auto}.cv-root .company,.cv-root .entry,.cv-root .other,.cv-root .role-block{break-inside:avoid;page-break-inside:avoid}.cv-root section{break-inside:auto}.cv-root h2{break-after:avoid-page;page-break-after:avoid}.cv-root li{break-inside:avoid;page-break-inside:avoid}.cv-root .head{break-after:avoid-page;page-break-after:avoid}.no-print{display:none!important}}@media screen and (max-width:900px) and (min-width:601px){.cv-root .stage{padding:16px 0 100px;overflow-x:hidden}.cv-root .cv-page{width:100%;min-height:unset;padding:40px 36px;box-shadow:0 1px 2px rgba(0,0,0,.06),0 8px 28px rgba(0,0,0,.1)}.cv-root .skills{grid-template-columns:90px 1fr}}@media screen and (max-width:600px){.cv-root{--size-body:14px;--size-name:26px;--size-h2:13px;--margin:0px;--gap-section:20px;--gap-entry:10px;--lh:1.5;background:#fff}.cv-root .stage{padding:0 0 100px;gap:0;background:#fff}.cv-root .cv-page{width:100%;min-height:unset;padding:24px 20px 32px;box-shadow:none;border-bottom:1px solid #e5e3de}.cv-root .name{font-size:24px;letter-spacing:.08em}.cv-root .role-title{font-size:15px}.cv-root .contact{font-size:13px}.cv-root .contact .sep{display:none}.cv-root .contact .ci{display:block;margin:2px 0;white-space:normal;word-break:break-all}.cv-root h2{font-size:11px;letter-spacing:.18em}.cv-root .skills{grid-template-columns:80px 1fr;font-size:13px;gap:4px 8px}.cv-root .row{flex-direction:column;gap:1px;align-items:flex-start}.cv-root .row .r{white-space:normal;font-size:12px;color:var(--muted)}.cv-root .refs{grid-template-columns:1fr}.cv-root ul{padding-left:18px}.cv-root li{font-size:13.5px;margin:3px 0}.cv-root .company{margin-top:14px}.cv-root .summary{text-align:left;hyphens:none;font-size:14px}}