:root{color-scheme:dark;--paper: #171b20;--ink: #eef1f4;--muted: #b8c1ca;--accent: #dbb595;--rule: #424b55;font-family:Avenir Next,Avenir,Segoe UI,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}html{scroll-padding-top:24px}body{margin:0;font-size:16px;line-height:1.65}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:4px;overflow-wrap:anywhere}a:hover{text-decoration:underline}button{font:inherit;cursor:pointer;min-height:44px;padding:10px 18px;border:1px solid transparent;border-radius:6px;background:var(--accent);color:var(--paper);font-size:14px;font-weight:600}button:hover:not(:disabled){background:#edc9aa}button:disabled{cursor:wait;opacity:.7}button.text-button{background:transparent;border-color:var(--rule);color:var(--ink)}button.text-button:hover{border-color:var(--accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:5px}::-moz-selection{color:var(--paper);background:var(--accent)}::selection{color:var(--paper);background:var(--accent)}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.2;text-wrap:balance}h1{font-size:clamp(42px,5.4vw,64px);font-weight:500;letter-spacing:-.03em}h2{font-size:27px;font-weight:500;margin-bottom:29px;letter-spacing:-.015em}h3{font-size:20px;font-weight:550}ul{margin:17px 0 0;padding-left:20px}li+li{margin-top:9px}li::marker{color:var(--muted)}.skip-link{position:absolute;left:20px;top:-100px;padding:12px 18px;background:var(--accent);color:var(--paper);z-index:10}.skip-link:focus{top:12px}.resume-shell{max-width:1120px;padding:0 40px;margin:auto}.topbar{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:27px 0;border-bottom:1px solid var(--rule)}.wordmark{color:var(--muted);font-size:14px;text-decoration:none;display:inline-flex;align-items:center;min-height:44px}nav{display:flex;gap:24px;align-items:center;font-size:14px}nav a{display:inline-flex;align-items:center;min-height:44px;text-decoration:none}.hero{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:60px;padding:59px 0 45px;border-bottom:1px solid var(--rule)}.hero-title{color:var(--accent);font-size:22px;line-height:1.4;max-width:32ch;margin-top:20px}.hero-summary{color:var(--muted);font-size:17px;max-width:65ch;margin-top:27px}.hero-contact{border-left:1px solid var(--rule);padding-left:30px;align-self:end}.availability,.location{font-size:14px;color:var(--muted)}.location{margin-top:7px}address{display:flex;flex-direction:column;margin-top:20px;font-style:normal;font-size:14px}address a{display:inline-flex;gap:6px;align-items:center;min-height:44px;text-decoration:none}.resume-grid{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(0,1fr);gap:70px;padding-top:45px}.career-column,.supporting-column{min-width:0}.resume-section{margin-bottom:66px;scroll-margin-top:28px}.experience{border-bottom:1px solid var(--rule);padding-bottom:31px;margin-bottom:32px}.experience:last-child{margin-bottom:0}.experience-header{display:flex;justify-content:space-between;align-items:baseline;gap:24px}.experience-header>div{min-width:0}.company{color:var(--accent);font-weight:500;margin-top:8px}.date{font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums;flex-shrink:0}.experience-header .date{white-space:nowrap}.experience-description{color:var(--muted);margin-top:16px;font-size:15px}.experience li{font-size:15px;max-width:72ch;overflow-wrap:anywhere}.supporting-column{padding-top:4px}.supporting-column h2{font-size:21px}.skill-group{margin-bottom:27px}.skill-group h3{color:var(--accent);font-size:15px;font-weight:500;margin-bottom:8px}.skill-group p{color:var(--muted);font-size:14px;overflow-wrap:anywhere}.education{margin-bottom:28px}.education h3{font-size:16px}.education p{color:var(--muted);font-size:14px;margin-top:7px}.education .date{font-size:13px}.project{border-bottom:1px solid var(--rule);padding-bottom:27px;margin-bottom:28px}.project>p{margin-top:14px;color:var(--muted);font-size:15px}.project .project-technologies{font-size:13px}.project .project-stage{color:var(--accent);font-size:13px;margin-top:9px}.project-highlights li{font-size:15px;overflow-wrap:anywhere}.project-link{display:inline-flex;gap:5px;align-items:center;min-height:44px;color:var(--accent);font-size:14px;margin-top:7px}.resume-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid var(--rule);padding:27px 0 40px;color:var(--muted);font-size:13px}.footer-actions{display:flex;flex-wrap:wrap;gap:12px}.export-error{border:1px solid var(--accent);padding:18px;margin-top:24px;display:flex;gap:20px;align-items:center}.print-website,.print-url{display:none}@media screen and (max-width: 900px){.resume-grid{gap:38px;grid-template-columns:minmax(0,1.8fr) minmax(0,1fr)}.hero{gap:35px}.experience-header{flex-direction:column;gap:10px}}@media screen and (max-width: 700px){body{font-size:15px}.resume-shell{padding:0 23px}.topbar{flex-wrap:wrap;padding:18px 0;gap:8px 20px}nav{width:100%;flex-wrap:wrap;gap:4px 20px;font-size:13px}nav button{margin-left:auto}.hero{display:block;padding:36px 0}.hero-title{font-size:20px;margin-top:17px}.hero-summary{font-size:15px;margin-top:24px}.hero-contact{border:0;padding:0;margin-top:27px}address{flex-direction:row;flex-wrap:wrap;gap:0 22px;margin-top:11px}.resume-grid{display:block;padding-top:34px}.supporting-column{border-top:1px solid var(--rule);padding-top:32px}.resume-section{margin-bottom:46px}h2{font-size:25px}h3{font-size:18px}.experience-header .date{white-space:normal}.resume-footer,.export-error{align-items:flex-start;flex-direction:column}}@media print{@page{size:letter;margin:17mm 17mm 19mm}:root{color-scheme:light}*{color:#171b20!important;background:transparent!important;box-shadow:none!important}body{font-family:Arial,sans-serif;font-size:10.5pt;line-height:1.45}.skip-link,.topbar,.resume-footer,.export-error{display:none!important}.resume-shell{max-width:none;padding:0}.hero{display:block;padding:0 0 18pt;border-bottom:1pt solid #8b939a}h1{font-size:28pt}.hero-title{font-size:13pt;margin-top:7pt;max-width:none}.hero-summary{font-size:10.5pt;margin-top:13pt;max-width:none}.hero-contact{border:0;padding:0;margin-top:12pt}.availability{display:none}.location{margin-top:0}address{flex-direction:row;flex-wrap:wrap;gap:4pt 16pt;margin-top:5pt;font-size:9.5pt}address a,.project-link{min-height:0}.print-website{display:block;font-size:9.5pt;margin-top:5pt}.print-url{display:inline}.resume-grid{display:block;padding-top:20pt}.supporting-column{border:0;padding:0}.resume-section{margin-bottom:25pt}h2,.supporting-column h2{font-size:16pt;margin-bottom:13pt;-moz-column-break-after:avoid;break-after:avoid}h3,.education h3{font-size:11.5pt;-moz-column-break-after:avoid;break-after:avoid}.experience{margin-bottom:18pt;padding-bottom:15pt;border-color:#b9bec3}.experience-header{flex-direction:row;gap:14pt;-moz-column-break-inside:avoid;break-inside:avoid;-moz-column-break-after:avoid;break-after:avoid}.company{margin-top:4pt}.date,.education .date{font-size:9.5pt}.experience-description,.experience li,.project>p,.project-highlights li,.skill-group p,.education p{font-size:10.5pt}.experience-description{margin-top:9pt;-moz-column-break-after:avoid;break-after:avoid}ul{margin-top:9pt}li+li{margin-top:5pt}li,.skill-group,.education{-moz-column-break-inside:avoid;break-inside:avoid}p,li{orphans:3;widows:3}.project{margin-bottom:16pt;padding-bottom:13pt;border-color:#b9bec3}.project>p{margin-top:8pt}.project .project-technologies,.project-link{font-size:9.5pt}.skill-group{margin-bottom:12pt}.skill-group h3{font-size:10.5pt;margin-bottom:4pt}}.one-page-print{display:none}@media print{@page{size:letter;margin:10mm 12mm}.resume-shell,.skip-link{display:none!important}.one-page-print{display:block;width:532pt;max-width:100%;margin:0 auto;font:10.5pt/1.25 Arial,sans-serif}.one-page-print h1{font-size:27pt;line-height:1;letter-spacing:-.025em}.op-title{font-size:12.5pt;margin-top:7pt}.op-contact{font-size:9.5pt;margin-top:9pt}.op-summary{margin-top:10pt}.op-grid{display:grid;grid-template-columns:330fr 180fr;gap:22pt;margin-top:12pt}.one-page-print h2{font-size:11pt;text-transform:uppercase;border-bottom:.5pt solid #bba48f;padding-bottom:5pt;margin:0 0 10pt}.one-page-print h3{font-size:11pt;line-height:1.2;margin:0}.op-role{margin-bottom:6pt;-moz-column-break-inside:avoid;break-inside:avoid}.op-role-meta{font-size:9.5pt;margin-top:2pt}.op-role ul{padding-left:11pt;margin-top:4pt}.op-role li+li{margin-top:3pt}.op-skills{margin-bottom:8pt;-moz-column-break-inside:avoid;break-inside:avoid}.op-skills h3{font-size:10.5pt}.op-skills p{font-size:10pt;margin-top:2pt}.op-earlier-heading{font-size:10pt!important}.op-earlier{font-size:9.5pt;margin-top:2pt}.one-page-print footer{border-top:.5pt solid #bba48f;margin-top:9pt;padding-top:8pt;font-size:9.5pt}.one-page-print footer a{display:block;margin-top:9pt}}
