:root{color-scheme:dark;--bg:#141514;--paper:#1b1c1b;--text:#f1f2ef;--muted:#b8bbb6;--soft:#888d86;--line:#343733;--accent:#5eead4;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);min-width:320px;color:var(--text);margin:0;font-size:16px;line-height:1.58}a{color:inherit;text-decoration-color:color-mix(in srgb, currentColor 24%, transparent);text-underline-offset:.2em;transition:color .14s,text-decoration-color .14s}a:hover{color:var(--accent);text-decoration-color:currentColor}h1,h2,h3,p,ul,dl{margin-top:0}.resume-shell{width:min(100% - 56px,1120px);margin:0 auto;padding:56px 0 72px}.site-header{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) 300px;align-items:end;gap:64px;padding-bottom:34px;display:grid}.kicker,.section-label{color:var(--soft);letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;font-weight:700}.kicker{margin-bottom:14px}h1{letter-spacing:0;max-width:15ch;margin-bottom:10px;font-size:clamp(2.45rem,6vw,4.25rem);font-weight:800;line-height:.98}.role{color:var(--text);margin-bottom:8px;font-size:1.04rem;font-weight:700}.tagline{max-width:620px;color:var(--muted);margin-bottom:0;font-size:.98rem}.header-side{color:var(--muted);font-size:.92rem}.header-side p{margin-bottom:12px}.contact-list{gap:5px;margin:0;padding:0;list-style:none;display:grid}.contact-list a{overflow-wrap:anywhere}.section{border-bottom:1px solid var(--line);grid-template-columns:170px minmax(0,1fr);gap:64px;padding:30px 0;display:grid}.section-label{padding-top:8px}.section h2{letter-spacing:0;margin-bottom:16px;font-size:clamp(1.22rem,2vw,1.6rem);font-weight:700;line-height:1.2}.intro-section h2{max-width:820px}.summary{max-width:820px;color:var(--muted);margin-bottom:24px;font-size:1rem}.focus-list{grid-template-columns:190px minmax(0,1fr);gap:7px 24px;max-width:820px;margin-bottom:0;display:grid}.focus-list dt{color:var(--text);font-weight:700}.focus-list dd{color:var(--muted);margin:0}.portfolio-groups{grid-template-columns:repeat(2,minmax(0,1fr));gap:64px;display:grid}.portfolio-groups h3{margin-bottom:14px;font-size:1rem}.compact-list{grid-template-columns:128px minmax(0,1fr);gap:8px 18px;margin-bottom:0;display:grid}.compact-list dt{color:var(--text);font-weight:700}.compact-list dd{color:var(--muted);margin:0}.timeline{gap:0;display:grid}.experience-item{padding:0 0 26px}.experience-item+.experience-item{border-top:1px solid var(--line);padding-top:26px}.experience-head{grid-template-columns:minmax(0,1fr) max-content;align-items:baseline;gap:24px;margin-bottom:10px;display:grid}.experience-head h3{margin-bottom:3px;font-size:1.05rem;line-height:1.3}.company,.period,.job-summary,.tech-line{color:var(--muted)}.company,.period{margin-bottom:0;font-size:.9rem}.period{white-space:nowrap}.job-summary{margin-bottom:10px}.experience-item ul{gap:5px;margin-bottom:12px;padding-left:1.1rem;display:grid}.experience-item li::marker{color:var(--soft)}.tech-line{margin-bottom:0;font-size:.9rem}.tech-line span{color:var(--text);font-weight:700}.skill-list{gap:18px;display:grid}.skill-row{grid-template-columns:190px minmax(0,1fr);gap:24px;display:grid}.skill-row h3{margin-bottom:0;font-size:.98rem}.skill-row p,.split p,.language-list p{color:var(--muted);margin-bottom:0}.split{grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);gap:64px;display:grid}.split h2{margin-bottom:8px}.split span{color:var(--soft);margin-top:8px;font-size:.9rem;font-weight:600;display:inline-block}.language-list{gap:8px;display:grid}.language-list p{justify-content:space-between;gap:16px;display:flex}.language-list strong{color:var(--text)}@media (width<=780px){.resume-shell{width:min(100% - 28px,1120px);padding:30px 0 52px}.site-header,.section,.split{grid-template-columns:1fr;gap:18px}.site-header{align-items:start}.section{padding:25px 0}.section-label{padding-top:0}.focus-list,.compact-list,.skill-row{grid-template-columns:1fr;gap:3px}.portfolio-groups{grid-template-columns:1fr;gap:22px}.experience-head{grid-template-columns:1fr;gap:4px}.period{white-space:normal}}@media (width<=480px){body{font-size:15px}.resume-shell{width:min(100% - 22px,980px)}h1{font-size:clamp(2.2rem,12vw,3.15rem)}}@media print{@page{size:A4;margin:12mm}:root{--bg:#fff;--paper:#fff;--text:#151515;--muted:#3f4449;--soft:#5f656b;--line:#c9c9c4;--accent:#075f59}body{background:#fff;font-size:10pt;line-height:1.38}.no-print{display:none!important}.resume-shell{width:100%;padding:0}.site-header{grid-template-columns:minmax(0,1fr) 230px;gap:24px;padding-bottom:12px}h1{max-width:none;margin-bottom:3px;font-size:25pt;line-height:1}.kicker,.tagline{display:none}.role{margin-bottom:0;font-size:11pt}.header-side,.company,.period,.tech-line{font-size:8.4pt}.header-side p{margin-bottom:4px}.contact-list{gap:1px}.section{grid-template-columns:82px minmax(0,1fr);gap:16px;padding:11px 0}.section h2{margin-bottom:7px;font-size:12.5pt}.intro-section h2{display:none}.summary,.job-summary,.experience-item ul,.experience-item{margin-bottom:6px}.focus-list,.compact-list,.skill-row,.split{grid-template-columns:120px minmax(0,1fr);gap:3px 14px}.experience-item{break-inside:avoid;padding-bottom:10px}.experience-item+.experience-item{padding-top:10px}.experience-head{margin-bottom:4px}.experience-head h3{font-size:9.8pt}.experience-item.compact ul{display:none}.experience-item ul{gap:2px}a[href^=http]:after{content:" (" attr(href) ")";color:var(--soft);font-weight:400}}
