:root{--paper:#f3f1e9;--ink:#20201d;--muted:#62625e;--blue:#294fe5;--line:#c9c7bf}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 Arial,Helvetica,sans-serif}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}a:focus-visible,button:focus-visible{outline:3px solid var(--blue);outline-offset:5px}h1,h2,h3,p{margin:0}button{font:inherit;cursor:pointer}.cv-bar{position:sticky;top:0;z-index:5;background:var(--paper);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:15px;padding:14px max(24px,calc((100vw - 1120px)/2));font-size:14px}.cv-bar>div{display:flex;gap:20px;align-items:center}.cv-bar button{border:0;background:transparent;font-size:14px}.cv-download{background:var(--blue);color:white;padding:10px 15px}.cv-shell{max-width:1120px;margin:36px auto;display:grid;grid-template-columns:255px minmax(0,1fr);border:1px solid var(--line)}.cv-sidebar{background:#e6eafb;padding:30px 26px;border-right:1px solid var(--line)}.cv-eyebrow{font:12px/1.5 monospace;letter-spacing:.12em;color:var(--blue)}.cv-sidebar h1{font-size:56px;line-height:.98;letter-spacing:-.06em;margin:26px 0 18px;font-weight:500}.cv-sidebar h1 em{font-family:Georgia,serif;color:var(--blue);font-weight:400}.cv-role{font-size:16px;line-height:1.5}.cv-contact{display:flex;flex-direction:column;gap:8px;margin:28px 0;font-size:14px}.cv-sticky{position:sticky;top:105px}.cv-sidebar nav{border-top:1px solid #b4bfdf;padding-top:20px;display:flex;flex-direction:column;gap:15px;font:12px/1.5 monospace}.cv-sidebar nav a{color:var(--ink)}.cv-sidebar nav a.active{color:var(--blue);text-decoration:underline;text-underline-offset:5px}.cv-note{margin-top:36px;font-family:Georgia,serif;font-style:italic;font-size:21px;color:#556282}.cv-content{padding:36px 36px 20px;min-width:0}.cv-content section{scroll-margin-top:90px;margin-bottom:36px}.cv-content h2{font-size:30px;line-height:1.14;letter-spacing:-.035em;font-weight:500}.cv-summary{margin-top:20px;color:var(--muted)}#cv-profile h2{margin-top:16px;font-size:34px}.cv-highlights{display:grid;grid-template-columns:1fr 1fr 1.3fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:25px;padding:18px 0;gap:18px}.cv-highlights strong{display:block;color:var(--blue);font-size:31px;line-height:1.2;letter-spacing:-.05em}.cv-highlights strong span{font-size:14px;letter-spacing:0}.cv-highlights small{display:block;font-size:12px;line-height:1.4;color:var(--muted);margin-top:6px}.cv-section-title{display:flex;align-items:center;gap:15px;border-bottom:1px solid var(--ink);padding-bottom:12px;margin-bottom:22px}.cv-section-title>span{font:12px monospace;color:var(--blue)}.cv-section-title h2{font-size:23px}.cv-project{margin:0 0 26px;padding-bottom:24px;border-bottom:1px solid var(--line)}.cv-project:first-of-type{border-left:3px solid var(--blue);padding:18px 20px 12px;background:#eaedf8}.cv-project-top{display:flex;justify-content:space-between;gap:15px;font:12px monospace;margin-bottom:8px;color:var(--muted)}.cv-project-top>div,.cv-links{display:flex;gap:18px}.cv-project h3{font-size:25px;letter-spacing:-.035em;line-height:1.2}.cv-project-sub{color:var(--muted);font-size:15px;margin-top:4px}.cv-tech{font:12px/1.6 monospace;color:var(--blue);margin:12px 0}.cv-content ul{padding-left:18px;margin:14px 0 0}.cv-content li{margin-bottom:10px;color:var(--muted);font-size:15px}.cv-content strong{color:var(--ink)}.cv-highlights strong{color:var(--blue)}.cv-date{font:12px/1.5 monospace;color:var(--muted);margin-bottom:8px}.cv-entry h3,.cv-skills h3,.cv-award h3{font-size:19px;letter-spacing:-.02em}.cv-entry>p:not(.cv-date),.cv-skills p,.cv-award>p:not(.cv-date){color:var(--muted);font-size:15px;margin-top:7px}.cv-entry{margin-bottom:22px}.cv-links{margin-top:12px;font-size:14px}.cv-skills{display:grid;grid-template-columns:1fr 1fr;gap:20px 28px}.cv-skills article:last-child:nth-child(odd){grid-column:1/-1}.cv-award{padding:20px;background:#efe1c3;border-left:3px solid #b9772c;margin-bottom:22px}.cv-award>a{display:inline-block;margin-top:10px;font-size:14px}.cv-certifications{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;border-top:1px solid var(--line);padding-top:20px}.cv-certifications h3{font-size:15px}.cv-certifications p{font-size:13px;color:var(--muted)}.cv-certifications a{font-size:13px}footer{border-top:1px solid var(--line);padding-top:20px;font-size:14px;color:var(--muted)}footer a{display:block;overflow-wrap:anywhere;margin-top:5px}
@media(max-width:900px){.cv-shell{margin:20px;grid-template-columns:210px minmax(0,1fr)}.cv-sidebar{padding:25px 20px}.cv-sidebar h1{font-size:47px}.cv-content{padding:28px 24px}.cv-certifications{grid-template-columns:1fr}.cv-bar{padding:12px 20px}}
@media(max-width:600px){.cv-bar{padding:12px;font-size:12px}.cv-bar>div{gap:10px}.cv-bar button{display:none}.cv-shell{display:block;margin:12px}.cv-sidebar{padding:22px;border-right:0;border-bottom:1px solid var(--line)}.cv-sidebar h1{font-size:46px;margin:14px 0}.cv-sidebar h1 br{display:none}.cv-sidebar h1 em:before{content:' '}.cv-role br{display:none}.cv-contact{flex-direction:row;flex-wrap:wrap;gap:8px 18px;margin:15px 0}.cv-sticky{position:static}.cv-sidebar nav{flex-direction:row;flex-wrap:wrap;gap:10px 18px;padding-top:15px}.cv-note{display:none}.cv-content{padding:24px 18px}.cv-content h2,#cv-profile h2{font-size:28px}.cv-highlights{gap:12px}.cv-highlights strong{font-size:26px}.cv-highlights strong span{font-size:12px}.cv-highlights small{font-size:11px}.cv-section-title h2{font-size:22px}.cv-project:first-of-type{padding:16px 14px}.cv-project h3{font-size:24px}.cv-project-top{font-size:11px}.cv-skills{grid-template-columns:1fr}.cv-summary,.cv-content li{font-size:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media print{html{scroll-padding:0}body{background:white;font-size:10pt}.cv-bar,.cv-sidebar nav,.cv-note,footer{display:none}.cv-shell{display:block;border:0;margin:0;max-width:none}.cv-sidebar{background:none;border:0;padding:0 0 16px}.cv-sidebar h1{font-size:30pt;margin:6px 0}.cv-sidebar h1 br,.cv-role br{display:none}.cv-sidebar h1 em:before{content:' '}.cv-contact{flex-direction:row;gap:16px;margin:8px 0}.cv-content{padding:0}.cv-content section{margin-bottom:20px}.cv-project,.cv-entry,.cv-award,.cv-skills article,.cv-certifications article{break-inside:avoid}.cv-content h2,#cv-profile h2{font-size:20pt}.cv-content li,.cv-summary{font-size:10pt}.cv-content h3{font-size:15pt}.cv-project:first-of-type{background:none}a{color:inherit}#cv-profile h2{display:none}.cv-highlights{margin-top:12px}.cv-project{padding-bottom:15px;margin-bottom:15px}@page{margin:16mm}}
