:root{--bg: #ffffff;--surface: #f4f6f9;--text: #1c2430;--muted: #5b6676;--line: #dde3ea;--accent: #0b3a66;--accent-text: #ffffff;--link: #0b5cad;--font: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif}@media(prefers-color-scheme:dark){:root{--bg: #0f141b;--surface: #161d27;--text: #e6eaf0;--muted: #9aa5b4;--line: #2a3442;--accent: #7fb3ea;--accent-text: #0f141b;--link: #8cc0f5}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:16px;line-height:1.55}a{color:var(--link);text-underline-offset:2px}.page{max-width:820px;margin:0 auto;padding:24px 16px 48px}.toolbar{display:flex;justify-content:flex-end;align-items:center;gap:16px;margin-bottom:32px;font-size:14px}.button{display:inline-block;padding:8px 14px;border-radius:6px;background:var(--accent);color:var(--accent-text);text-decoration:none;font-weight:600}.button:hover{opacity:.9}.intro{padding-bottom:20px;border-bottom:2px solid var(--accent);margin-bottom:8px}h1{font-size:40px;line-height:1.1;margin:0;letter-spacing:-.02em}.headline{margin:6px 0 14px;font-size:18px;font-weight:500;color:var(--accent)}.contact{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:4px 18px;font-size:14px;color:var(--muted)}section{margin-top:28px}h2{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0 0 12px;padding-bottom:6px;border-bottom:1px solid var(--line)}h3{font-size:17px;margin:0}.company{font-weight:500;color:var(--muted)}p{margin:0 0 10px}ul{margin:0;padding-left:20px}li{margin-bottom:6px}li::marker{color:var(--muted)}.plain{list-style:none;padding:0}.muted,.dates,.dates-inline{color:var(--muted)}.competencies{list-style:none;padding:0}.competencies strong{display:block}.tech{margin-top:10px}.role{margin-bottom:22px}.role header{margin-bottom:6px}.dates{font-size:14px;margin:2px 0 0}.role-intro{margin-top:6px}.two-col{display:grid;gap:0 32px}@media(min-width:640px){.two-col{grid-template-columns:3fr 2fr}.competencies{display:grid;grid-template-columns:1fr 1fr;gap:10px 28px}.competencies li{margin:0}}.site-footer{margin-top:40px;font-size:13px;color:var(--muted)}.notfound{text-align:center;padding-top:96px}.notfound h1{margin-bottom:16px}.og{width:1200px;height:630px;padding:88px 96px;background:#0b3a66;color:#fff;display:flex;flex-direction:column;justify-content:center}.og-mark{width:72px;height:72px;border-radius:16px;background:#fff;color:#0b3a66;display:grid;place-items:center;font-weight:700;font-size:30px;margin-bottom:40px}.og h1{font-size:84px;color:#fff}.og-headline{font-size:38px;margin:16px 0 8px;color:#cfe2f6}.og-meta{font-size:26px;color:#a9c4e0}.og-url{margin-top:auto;font-size:24px;color:#a9c4e0}@media screen{:root{--bg: #fbfaf7;--text: #1d2128;--body: #3e4450;--muted: #5a6170;--line: #dedad2;--accent: #1f4a6e;--link: #1f4a6e;--link-hover: #12324d;--serif: "Fraunces", Georgia, "Times New Roman", serif;--label-col: 160px}body{line-height:1.6}a:hover{color:var(--link-hover)}.page{max-width:960px;padding:32px 24px 72px}.toolbar{gap:20px;flex-wrap:wrap;margin-bottom:72px}.toolbar a:not(.button){text-decoration:none}.button{padding:10px 16px;border:1px solid var(--accent);border-radius:999px;background:transparent;color:var(--accent)}.button:hover{opacity:1;background:var(--accent);color:var(--bg)}.intro{padding-bottom:40px;border-bottom:1px solid var(--line);margin-bottom:0}h1{font-family:var(--serif);font-weight:600;font-size:44px;line-height:1.02}.headline{font-family:var(--serif);font-weight:400;font-size:22px;margin:12px 0 14px}.contact{font-size:15px;gap:6px 20px}section{margin-top:0;padding:40px 0;border-bottom:1px solid var(--line)}h2{font-size:13px;font-weight:600;letter-spacing:.1em;border-bottom:0;padding-bottom:0}.summary{font-family:var(--serif);font-size:19px;line-height:1.55;margin:0}.competencies li{margin-bottom:18px;color:var(--body);font-size:15px}.competencies strong{color:var(--text);margin-bottom:2px}.tech{color:var(--body);font-size:15px;margin:0}.role{margin-bottom:0;padding-bottom:36px}.role:last-child{padding-bottom:0}h3{font-family:var(--serif);font-weight:600;font-size:24px;line-height:1.25}.company{display:block;margin-top:2px;font-family:var(--font);font-size:16px;color:var(--accent)}.company .sep{display:none}.dates{font-variant-numeric:tabular-nums;margin:4px 0 10px}.role-intro{color:var(--body);margin:0 0 12px}.role li{margin-bottom:8px}.plain li{margin-bottom:10px}.two-col section{border-bottom:0}.site-footer{margin-top:24px}}@media screen and (min-width:720px){h1{font-size:64px}.headline{font-size:24px}main>section{display:grid;grid-template-columns:var(--label-col) minmax(0,1fr);column-gap:48px;padding:48px 0}main>section>h2{grid-column:1;margin:4px 0 0}main>section>:not(h2){grid-column:2}.summary{font-size:21px}main>section.experience{display:block}main>section.experience>h2{margin-bottom:32px}.role{display:grid;grid-template-columns:var(--label-col) minmax(0,1fr);column-gap:48px}.role header{display:contents}.role h3,.role .role-intro,.role ul{grid-column:2}.role .dates{grid-column:1;grid-row:1 / span 3;margin:6px 0 0}.two-col{gap:0 48px;padding-top:8px}.two-col section{display:block;padding:40px 0 0}.two-col h2{margin-bottom:12px}}@media screen and (prefers-color-scheme:dark){:root{--bg: #14161a;--surface: #1c1f24;--text: #eceae4;--body: #c9ccd3;--muted: #a3a8b3;--line: #2e3138;--accent: #9cc1e4;--link: #a9cbeb;--link-hover: #d3e5f6}}@page{size:A4;margin:12mm 14mm}@media print{:root{--bg: #ffffff;--surface: #ffffff;--text: #1c2430;--muted: #4f5a69;--line: #d5dbe3;--accent: #0b3a66;--link: #0b3a66}body{font-family:Arial,Liberation Sans,Helvetica,sans-serif;font-size:9.3pt;line-height:1.38}.page{max-width:none;padding:0}.toolbar,.site-footer{display:none}a{text-decoration:none;color:inherit}h1{font-size:24pt}.headline{font-size:11.5pt;margin:3pt 0 7pt}.contact{font-size:9pt}.intro{padding-bottom:9pt}section{margin-top:11pt}h2{font-size:8.6pt;margin-bottom:6pt;padding-bottom:3pt}h3{font-size:10.6pt}.dates{font-size:8.8pt}li{margin-bottom:2.5pt}.role{margin-bottom:8pt}.role header,h2,h3{break-after:avoid}li,.competencies li{break-inside:avoid}.competencies{display:grid;grid-template-columns:1fr 1fr;gap:5pt 18pt}.competencies li{margin:0}.two-col{display:grid;grid-template-columns:3fr 2fr;gap:0 20pt}}
