.cv-page{--cv-paper: #ffffff;--cv-rule: #e6e0d6;--cv-text-soft: #4a4540;font-size:15px;line-height:1.5}.cv-page .cv-toolbar{width:100%;margin:0 0 1rem;padding:0 0 .65rem;box-sizing:border-box;display:flex;flex-direction:row;flex-wrap:wrap;align-items:baseline;justify-content:flex-end;gap:.35rem .75rem;font-family:var(--font-sans);font-size:.9rem;line-height:1.35;color:var(--text-muted);border-bottom:1px solid var(--cv-rule)}.cv-toolbar-dl--short,.cv-toolbar-print-label--short{display:none}.cv-toolbar-dl--long,.cv-toolbar-print-label--long{display:inline}.cv-page .cv-toolbar-download{display:inline;font:inherit;font-weight:500;text-decoration:none;color:var(--accent);padding:0;border:0;background:none;border-bottom:1px solid color-mix(in srgb,var(--accent) 35%,transparent);border-radius:0}.cv-page .cv-toolbar-download:hover{color:var(--accent-hover);border-bottom-color:var(--accent-hover);text-decoration:none;background:none}.cv-page .cv-toolbar-download:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}.cv-page .cv-toolbar-sep{color:var(--border);font-weight:400;user-select:none;line-height:1}.cv-page .cv-toolbar-print{font:inherit;font-weight:500;cursor:pointer;border:0;background:none;color:var(--accent);padding:0;line-height:inherit;text-decoration:none;border-bottom:1px solid color-mix(in srgb,var(--accent) 35%,transparent);border-radius:0}.cv-page .cv-toolbar-print:hover{color:var(--accent-hover);border-bottom-color:var(--accent-hover)}.cv-page .cv-toolbar-print:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}.cv-page .sheet{background:var(--cv-paper);max-width:210mm;min-height:297mm;margin:18px auto 24px;padding:18mm 18mm 16mm;box-shadow:0 4px 24px #00000014}.cv-page a{color:var(--accent);text-decoration:none}.cv-page a:hover{text-decoration:underline}.cv-page h1,.cv-page h2,.cv-page h3{font-family:var(--font-serif);font-weight:500;letter-spacing:-.01em;line-height:1.15;color:var(--text)}.cv-page .header{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:.4rem}.cv-page .header h1{font-size:2.1rem;margin:0}.cv-page .header .role{color:var(--text-muted);font-size:.95rem}.cv-page .contact{display:flex;flex-wrap:wrap;align-items:center;row-gap:.35rem;color:var(--text-muted);font-size:.85rem;margin:0 0 1.1rem}.cv-page .contact-item{display:inline-flex;align-items:center}.cv-page .contact span+span:before{content:"·";margin:0 .75rem;color:var(--border);flex-shrink:0;position:relative;top:-.06em}.cv-page .contact-item a{display:inline-flex;align-items:center;gap:.35rem}.cv-page .contact-icon{display:block;width:.95em;height:.95em;flex-shrink:0}.cv-page .contact-name{font-weight:500;color:inherit}.cv-page hr.rule{border:0;border-top:1px solid var(--cv-rule);margin:0 0 1.1rem}.cv-page section{margin-bottom:1.1rem}.cv-page section.tight{margin-bottom:.85rem}.cv-page h2.section-title{font-size:.78rem;font-weight:600;font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.12em;color:var(--accent);margin:0 0 .55rem}.cv-page .summary{margin:0;color:var(--cv-text-soft);font-size:.95rem}.cv-page .role-block{margin-bottom:.9rem;page-break-inside:avoid;break-inside:avoid}.cv-page .role-block:last-child{margin-bottom:0}.cv-page .role-head{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;flex-wrap:wrap}.cv-page .role-head h3{font-size:1.05rem;margin:0;font-weight:600}.cv-page .role-head .meta{color:var(--text-muted);font-size:.85rem;font-variant-numeric:tabular-nums}.cv-page .role-sub{color:var(--text-muted);font-size:.88rem;margin:.05rem 0 .4rem}.cv-page .role-lede{margin:.1rem 0 .45rem;color:var(--cv-text-soft);font-size:.93rem}.cv-page ul.bullets{margin:0;padding-left:1.1rem}.cv-page ul.bullets li{margin:.18rem 0;page-break-inside:avoid;break-inside:avoid}.cv-page .skills{display:grid;grid-template-columns:11rem 1fr;row-gap:.3rem;column-gap:1rem;font-size:.92rem}.cv-page .skills dt{color:var(--text-muted);font-weight:500}.cv-page .skills dd{margin:0;color:var(--text)}.cv-page .edu-head{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;flex-wrap:wrap}.cv-page .edu-head h3{font-size:1rem;margin:0;font-weight:600}.cv-page .edu-head .meta{color:var(--text-muted);font-size:.85rem;font-variant-numeric:tabular-nums}.cv-page .edu-sub{color:var(--text-muted);font-size:.88rem;margin:.05rem 0 0}@media screen and (max-width:42rem){.page.page--cv{max-width:var(--content-width);padding:.65rem min(1rem,4vw) 3rem}.cv-page .cv-toolbar{justify-content:center;margin:0 0 .85rem;padding-bottom:0;border-bottom:none;font-size:.78rem;gap:.25rem .55rem}.cv-toolbar-dl--short,.cv-toolbar-print-label--short{display:inline}.cv-toolbar-dl--long,.cv-toolbar-print-label--long{display:none}.cv-page .sheet{background:transparent;box-shadow:none;border:none;max-width:none;min-height:0;margin:0;padding:0}.cv-page .header h1{font-size:1.75rem}.cv-page .contact{flex-direction:column;align-items:flex-start;gap:.35rem}.cv-page .contact span+span:before{content:none;margin:0}.cv-page .skills{grid-template-columns:1fr;row-gap:0;column-gap:0}.cv-page .skills dt{margin-top:.65rem}.cv-page .skills dt:first-child{margin-top:0}.cv-page .skills dd{margin-bottom:.12rem}.cv-page hr.rule{border-top-color:color-mix(in srgb,var(--cv-rule) 88%,var(--border))}}@page{size:A4;margin:16mm}@media print{.site-nav,.site-footer,.cv-page .cv-toolbar{display:none!important}.page.page--cv{max-width:none!important;padding:0!important;margin:0!important}.cv-page{min-height:0!important;font-size:10.4pt;line-height:1.44}.cv-page h1,.cv-page h2,.cv-page h3{font-family:var(--font-serif)}body{background:#fff!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.cv-page .sheet{box-shadow:none;margin:0;padding:0;max-width:none;min-height:0;background:#fff}.cv-page a{color:var(--text);text-decoration:none}.cv-page h2.section-title{color:#8a3a1f;font-size:9pt;margin:0 0 .5rem}.cv-page .header{margin-bottom:.3rem}.cv-page .header h1{font-size:23pt}.cv-page .header .role{font-size:11pt}.cv-page .contact{font-size:9.6pt;margin:0 0 1rem}.cv-page hr.rule{margin:0 0 1rem}.cv-page .summary{font-size:10.8pt}.cv-page .role-head h3{font-size:12pt}.cv-page .role-head .meta{font-size:9.8pt}.cv-page .role-lede,.cv-page .role-sub{font-size:10.4pt;margin:.1rem 0 .45rem}.cv-page .edu-head h3{font-size:11.5pt}.cv-page .edu-sub{font-size:10.2pt}.cv-page .skills{font-size:10pt;row-gap:.22rem;grid-template-columns:10.5rem 1fr}.cv-page section{margin-bottom:.92rem}.cv-page section.tight{margin-bottom:.68rem}.cv-page .role-block{margin-bottom:.85rem}.cv-page ul.bullets{padding-left:1.1rem}.cv-page ul.bullets li{margin:.14rem 0}}
