@charset "UTF-8";
:root{color-scheme:dark;--bg:#0b1019;--panel:#111925;--line:#263142;--text:#ecf1f8;--muted:#a5b2c6;--accent:#87b4ff;--green:#79e3b4;font-family:Inter,"Segoe UI",Arial,sans-serif;font-size:16px;scroll-behavior:smooth;scroll-padding-top:24px}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);line-height:1.65}a{color:inherit;text-decoration:none}a:hover{color:var(--accent)}a:focus-visible{outline:2px solid var(--accent);outline-offset:5px;border-radius:2px}.shell{max-width:1120px;margin:auto;padding-inline:40px}.skip{position:absolute;top:-80px;left:20px;background:var(--panel);padding:12px;z-index:3}.skip:focus{top:10px}.hero{border-bottom:1px solid var(--line);background:#0e1623}.topline{display:flex;align-items:center;justify-content:space-between;padding:27px 0;border-bottom:1px solid #ffffff0d}.wordmark{font-size:22px;font-weight:750;letter-spacing:-1px}.wordmark span{color:var(--accent)}nav{display:flex;gap:26px;font-size:14px;color:var(--muted)}.intro{display:grid;grid-template-columns:1fr auto;align-items:center;gap:30px;padding:54px 0 59px}.eyebrow{margin:0 0 17px;font-size:14px;letter-spacing:.035em;color:var(--accent)}h1{font-size:46px;line-height:1.15;letter-spacing:-1.8px;margin:0;font-weight:700}h1 span{display:inline-block;max-width:620px;margin-top:7px;color:#aebbd0;font-size:35px;letter-spacing:-1.2px;line-height:1.23}.contact{font-style:normal;font-size:14px;color:var(--muted);display:grid;gap:12px}.contact a,.contact p{display:flex;align-items:center;gap:10px;margin:0}.contact a>span:first-child,.contact p>span{color:var(--accent);width:17px;text-align:center}.linkedin{font-size:12px;font-weight:700;border:1px solid var(--muted);line-height:15px;border-radius:2px}main{padding-top:38px}section{margin-bottom:36px}h2{display:flex;align-items:center;gap:12px;font-size:13px;letter-spacing:.14em;text-transform:uppercase;font-weight:650;color:var(--accent);margin:0 0 16px}h2:after{content:"";height:1px;flex:1;background:var(--line);margin-left:8px}h2>span{font-size:11px;letter-spacing:.04em;color:var(--muted);border:1px solid var(--line);padding:0 5px;border-radius:3px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:10px;overflow:hidden}.job{padding:26px 28px;border-bottom:1px solid var(--line);position:relative}.job:last-child{border-bottom:0}.job.current{background:linear-gradient(105deg,#12312855,transparent 60%)}.job.current:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--green)}.job-heading{display:flex;justify-content:space-between;align-items:center;gap:16px}h3{font-size:17px;line-height:1.4;margin:0;font-weight:650}.job-heading h3{display:flex;gap:11px;align-items:center}.badge{display:inline-flex;align-items:center;gap:5px;color:var(--green);border:1px solid #79e3b42d;background:#79e3b40a;font-size:10px;text-transform:uppercase;letter-spacing:.06em;padding:3px 7px;border-radius:4px}.badge span{width:5px;height:5px;border-radius:50%;background:var(--green)}.date{font-size:13px;color:var(--muted);margin:0;flex-shrink:0}.role{font-size:16px;color:#c2cee0;margin:6px 0}.location{font-size:13px;color:var(--muted);margin:3px 0 0}.description{color:var(--muted);font-size:16px;line-height:1.8;margin:14px 0 12px}.projects{padding:0;margin:0 0 15px;display:flex;flex-wrap:wrap;gap:5px 20px;list-style:none;color:var(--accent);font-size:14px}.projects li:before{content:"·";margin-right:7px;color:#5e7da9}.projects a:hover{text-decoration:underline}.tags{display:flex;flex-wrap:wrap;gap:7px;list-style:none;margin:0;padding:0}.tags li{color:#b4c3d8;background:#1b2738;border:1px solid #29374c;border-radius:5px;padding:3px 9px;font-size:12px;line-height:1.6}.columns{display:grid;grid-template-columns:1fr 1fr;gap:28px}.education article{padding:23px 25px;border-bottom:1px solid var(--line)}.education article:last-child{border:0}.education h3{margin:9px 0}.education article>p:last-child{color:var(--muted);margin:0;font-size:16px}.technology{padding:18px 24px;border-bottom:1px solid var(--line)}.technology:last-child{border:0}.technology h3{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:11px}.technology .tags li{color:#a8c9ff;background:#16253c;border-color:#243754}.press-item{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:21px 27px;border-bottom:1px solid var(--line);transition:background .15s}.press-item:last-child{border:0}.press-item:hover{background:#172233;color:var(--text)}.press-item>div{flex:1}.press-meta{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:8px;font-size:12px}.press-meta>span{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;font-weight:600}.press-meta time{color:var(--muted);white-space:nowrap}.press h3{font-size:16px;font-weight:450;line-height:1.6}.arrow{font-size:22px;color:var(--accent)}footer{display:flex;align-items:center;justify-content:space-between;padding-top:8px;padding-bottom:35px;color:var(--muted)}footer>div{display:flex;gap:24px;font-size:14px}
@media(min-width:1500px){.shell{max-width:1200px}}@media(max-width:900px){.intro{grid-template-columns:1fr}.contact{display:flex;flex-wrap:wrap;gap:12px 25px}.intro{padding:38px 0}.job-heading{align-items:flex-start}.date{font-size:12px}.job{padding:23px}.columns{gap:20px}h1 span{max-width:none}}@media(max-width:600px){.shell{padding-inline:20px}.topline{align-items:flex-start;gap:18px;flex-direction:column;padding:20px 0}nav{gap:17px;flex-wrap:wrap;font-size:13px}.intro{padding:30px 0;gap:24px}h1{font-size:37px;letter-spacing:-1.2px}h1 span{font-size:28px;letter-spacing:-.7px}.eyebrow{font-size:13px}.contact{display:grid;font-size:13px}main{padding-top:27px}.job{padding:21px 19px}.job-heading{display:block}.job-heading .date{margin-top:7px}.job-heading h3{font-size:18px}.role{margin-top:8px}.description{font-size:16px;line-height:1.75}.projects{font-size:13px;gap:7px 15px}.columns{grid-template-columns:1fr;gap:0}.press-item{padding:20px}.press-meta{font-size:11px}.press h3{font-size:16px}.press-meta time{font-size:12px}footer{gap:22px;align-items:flex-start;flex-direction:column}footer>div{gap:23px;font-size:13px}}@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}.press-item{transition:none}}@media print{:root{color-scheme:light}body,.hero,.panel{background:white;color:#172033}.hero{border:0}nav,.topline,.skip,footer{display:none}.shell{padding:0;max-width:none}.intro{padding:0 0 20px}h1{font-size:30px}h1 span{font-size:24px;color:#46556b}.job,.education article,.technology,.press-item{break-inside:avoid}.description,.role,.contact,.date,.education article>p:last-child{color:#46556b}.tags li{background:#eef2f7;color:#334155}.job{padding:14px}.columns{display:block}.panel{border-color:#ddd}.press-meta>span,h2,.projects{color:#2358a0}}

/* Compact header: identity first, section navigation below. */
.intro{padding:36px 0 28px}.section-nav{display:flex;justify-content:flex-end;border-top:1px solid var(--line);padding:17px 0}.section-nav nav{flex-wrap:wrap}@media(max-width:600px){.intro{padding:28px 0 24px}.section-nav{justify-content:flex-start;padding:16px 0}}@media print{.section-nav{display:none}}
