:root{--bg:#0f0f0f;--panel:#141414;--text:#e2e8f0;--secondary:#b1bdcc;--muted:#9aa8ba;--accent:#60a5fa;--border:#334155;--sans:'IBM Plex Sans',Arial,sans-serif;--mono:'IBM Plex Mono',monospace}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.6 var(--sans);-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}a:hover{color:#93c5fd}a:focus-visible{outline:2px solid var(--accent);outline-offset:5px}.page{max-width:800px;margin:auto;padding:0 28px}.skip-link{position:absolute;left:20px;top:-100px;padding:12px;background:var(--panel)}.skip-link:focus{top:8px}.nav{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:28px 0;border-bottom:1px solid var(--border)}.nav-logo{font-weight:600;color:var(--text);text-decoration:none}.nav-links{display:flex;flex-wrap:wrap;gap:20px}.nav-links a{font-size:.9rem;color:var(--secondary);text-decoration:none}.nav-links [aria-current]{color:var(--accent)}.resume-tools{display:flex;justify-content:space-between;gap:20px;padding:24px 0;font-size:.875rem}.resume-tools span{color:var(--muted)}main{padding:20px 0 28px}.resume-header{padding-bottom:28px}.eyebrow,h2{font:500 .75rem var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.eyebrow{margin:0 0 10px}h1{font-size:2.5rem;line-height:1.15;letter-spacing:-.025em;margin:0 0 10px;font-weight:600}.role{font-size:1.25rem;margin:0 0 16px}.contact{font-size:.875rem;color:var(--secondary);margin:0}.contact a{color:inherit}section{border-top:1px solid var(--border);padding-top:20px;margin-bottom:28px}h2{margin:0 0 16px}h3{font-size:1rem;margin:0;font-weight:600}p{margin:0 0 12px;color:var(--secondary)}.job{margin-bottom:22px}.job:last-child{margin-bottom:0}.job-heading{display:flex;justify-content:space-between;gap:20px;align-items:baseline}.job-heading p{white-space:nowrap;font:.75rem var(--mono);color:var(--muted);margin:0}.company{font-weight:500;margin:3px 0 8px;color:var(--text)}ul{padding-left:20px;margin:0;color:var(--secondary)}li{padding-left:3px;margin-bottom:7px}.selected-work li{margin-bottom:8px}.skills p:last-child{margin-bottom:0}footer{border-top:1px solid var(--border);padding:24px 0 48px;font-size:.875rem;color:var(--muted)}
@media(max-width:600px){.page{padding:0 20px}.nav{gap:14px}.nav-links{gap:14px}.nav-links a{font-size:.8125rem}.resume-tools{flex-wrap:wrap}h1{font-size:2rem}.job-heading{display:block}.job-heading p{margin:5px 0}.contact{overflow-wrap:anywhere}}
@page{size:Letter;margin:.42in .52in}
@media print{*{-webkit-print-color-adjust:exact;print-color-adjust:exact}body{background:#fff;color:#111;font-family:Arial,sans-serif;font-size:10.5pt;line-height:1.28}.page{max-width:none;padding:0}.nav,.resume-tools,.skip-link,footer,.eyebrow{display:none}main{padding:0}.resume-header{padding-bottom:6px}h1{font-size:25pt;margin:0 0 4px}.role{font-size:12pt;margin:0 0 7px}.contact{font-size:9pt}p,ul,.contact,.company,.role{color:#222}a,.contact a{color:#111;text-decoration:none}section{border-color:#aaa;padding-top:8px;margin-bottom:6px}h2{font:700 9pt Arial,sans-serif;letter-spacing:.06em;color:#333;margin-bottom:7px}h3{font-size:10.5pt}.job{margin-bottom:8px;break-inside:avoid}.job-heading{display:flex}.job-heading p{font:9pt Arial,sans-serif;color:#444;margin:0}.company{margin:2px 0 4px}p{margin-bottom:4px}li{margin-bottom:3px}ul{padding-left:15px}.selected-work li{margin-bottom:3px}.skills p{font-size:10pt}h2,h3{break-after:avoid}section{break-inside:avoid}}

.role-summary{font-size:.9rem;margin-bottom:14px}.company-context{font-size:.85rem;margin-top:10px}@media print{.role-summary{font-size:10pt;margin-bottom:8px}.company-context{font-size:9pt;margin-top:6px;line-height:1.3}}
