:root{color-scheme:light dark;--page:#f4f3ef;--ink:#1b1c1f;--muted:#5f6368;--line:#1b1c1f1a;--surface:#fff;--display:"Figtree", "Product Sans", "Helvetica Neue", Arial, sans-serif;--body:"Source Sans 3", "Source Sans Pro", "Segoe UI", system-ui, sans-serif;--r-tile:28px;--r-icon:12px;--hd-bg:#263238;--hd-ink:#eceff1;--hd-muted:#b0bec5;--hd-a:#90a4ae;--hd-photo:#455a64;--hd-badge:#ffffff1a;--hd-rule:#ffffff24;--green-bg:#f1f8e9;--green-on:#33691e;--green-a:#8bc34a;--green-chip:#fff;--green-line:#33691e29;--blue-bg:#e1f5fe;--blue-on:#01579b;--blue-a:#03a9f4;--blue-chip:#fff;--blue-line:#01579b29;--purple-bg:#f3e5f5;--purple-on:#4a148c;--purple-a:#9c27b0;--purple-chip:#fff;--purple-line:#4a148c29;--grey-bg:#eceff1;--grey-on:#263238;--grey-a:#607d8b;--grey-chip:#fff;--grey-line:#26323829;--orange-bg:#fff3e0;--orange-on:#e65100;--orange-a:#ff9800;--orange-chip:#fff;--orange-line:#e6510029;--glass-bg:#ffffff8c;--glass-line:#ffffffbf;--glass-ink:#1b1c1f}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--page:#121316;--ink:#ecebe6;--muted:#a0a3ab;--line:#ffffff1a;--surface:#1f2024;--hd-bg:#1e272c;--hd-ink:#eceff1;--hd-muted:#9aa7ae;--hd-a:#90a4ae;--hd-photo:#37474f;--hd-badge:#ffffff12;--hd-rule:#ffffff1a;--green-bg:#18261a;--green-on:#c5e1a5;--green-a:#8bc34a;--green-chip:#223324;--green-line:#c5e1a52e;--blue-bg:#10222c;--blue-on:#b3e5fc;--blue-a:#29b6f6;--blue-chip:#183240;--blue-line:#b3e5fc2e;--purple-bg:#261a2b;--purple-on:#e1bee7;--purple-a:#ba68c8;--purple-chip:#33243a;--purple-line:#e1bee72e;--grey-bg:#1c2226;--grey-on:#cfd8dc;--grey-a:#78909c;--grey-chip:#263035;--grey-line:#cfd8dc2e;--orange-bg:#2a1e12;--orange-on:#ffcc80;--orange-a:#fb8c00;--orange-chip:#3a2a18;--orange-line:#ffcc802e;--glass-bg:#1e20248c;--glass-line:#ffffff24;--glass-ink:#ecebe6}}:root[data-theme=dark]{--page:#121316;--ink:#ecebe6;--muted:#a0a3ab;--line:#ffffff1a;--surface:#1f2024;--hd-bg:#1e272c;--hd-ink:#eceff1;--hd-muted:#9aa7ae;--hd-a:#90a4ae;--hd-photo:#37474f;--hd-badge:#ffffff12;--hd-rule:#ffffff1a;--green-bg:#18261a;--green-on:#c5e1a5;--green-a:#8bc34a;--green-chip:#223324;--green-line:#c5e1a52e;--blue-bg:#10222c;--blue-on:#b3e5fc;--blue-a:#29b6f6;--blue-chip:#183240;--blue-line:#b3e5fc2e;--purple-bg:#261a2b;--purple-on:#e1bee7;--purple-a:#ba68c8;--purple-chip:#33243a;--purple-line:#e1bee72e;--grey-bg:#1c2226;--grey-on:#cfd8dc;--grey-a:#78909c;--grey-chip:#263035;--grey-line:#cfd8dc2e;--orange-bg:#2a1e12;--orange-on:#ffcc80;--orange-a:#fb8c00;--orange-chip:#3a2a18;--orange-line:#ffcc802e;--glass-bg:#1e20248c;--glass-line:#ffffff24;--glass-ink:#ecebe6}.tone-green{--bg:var(--green-bg);--on:var(--green-on);--a:var(--green-a);--chip:var(--green-chip);--rule:var(--green-line)}.tone-blue{--bg:var(--blue-bg);--on:var(--blue-on);--a:var(--blue-a);--chip:var(--blue-chip);--rule:var(--blue-line)}.tone-purple{--bg:var(--purple-bg);--on:var(--purple-on);--a:var(--purple-a);--chip:var(--purple-chip);--rule:var(--purple-line)}.tone-grey{--bg:var(--grey-bg);--on:var(--grey-on);--a:var(--grey-a);--chip:var(--grey-chip);--rule:var(--grey-line)}.tone-orange{--bg:var(--orange-bg);--on:var(--orange-on);--a:var(--orange-a);--chip:var(--orange-chip);--rule:var(--orange-line)}*,:before,:after{box-sizing:border-box}body{background:var(--page);color:var(--ink);font-family:var(--body);margin:0;padding-block:24px 120px;padding-inline:clamp(16px,3vw,32px);font-size:16px;line-height:1.5}h1,h2,h3{font-family:var(--display);text-wrap:balance;margin:0;line-height:1.1}p,ul{margin:0}a{color:inherit}svg{flex:none}.tile{border-radius:var(--r-tile);background:var(--bg);align-content:start;gap:16px;padding:26px 28px;display:grid}.tile-h{align-items:center;gap:12px;display:flex}.tile-h h2{letter-spacing:-.01em;color:var(--on);font-size:22px;font-weight:700}.ico{border-radius:var(--r-icon);color:#fff;background:var(--a);flex:none;place-items:center;width:34px;height:34px;display:grid}.tile--head{background:var(--hd-bg);color:var(--hd-ink);gap:20px;padding:28px}.head-top{grid-template-columns:auto 1fr;align-items:center;gap:24px;display:grid}.avatar{object-fit:cover;object-position:50% 50%;background:var(--hd-photo);border-radius:80px 80px 24px 24px;width:132px;height:152px;display:block}.tile--head h1{letter-spacing:-.025em;font-size:clamp(30px,4.2vw,44px);font-weight:800}.tile--head .role{font-family:var(--display);color:var(--hd-muted);margin-top:4px;font-size:18px;font-weight:600}.tile--head .sum{opacity:.92;max-width:52ch;margin-top:12px}.contact{border-top:1px solid var(--hd-rule);flex-wrap:wrap;gap:14px 20px;margin:0;padding:18px 0 0;list-style:none;display:flex}.contact-item{flex:170px;min-width:0}.contact-item>*{min-width:0;color:inherit;align-items:center;gap:11px;text-decoration:none;display:flex}.badge{border-radius:var(--r-icon);background:var(--hd-badge);width:36px;height:36px;color:var(--hd-a);flex:none;place-items:center;display:grid}.contact-text{min-width:0;display:grid}.contact-label{font-family:var(--display);letter-spacing:.1em;text-transform:uppercase;color:var(--hd-muted);font-size:10.5px;font-weight:700}.contact-value{font-family:var(--display);overflow-wrap:anywhere;font-size:14.5px;font-weight:600;line-height:1.3}.contact-item a:hover .contact-value{text-decoration:underline}.contact-item a:focus-visible{outline:2px solid var(--hd-ink);outline-offset:3px;border-radius:6px}.entry{border-top:1px solid var(--rule);gap:8px;padding-top:16px;display:grid}.entry:first-of-type{border-top:0;padding-top:0}.entry-line{gap:4px;display:grid}.entry h3{font-size:17px;font-weight:700}.entry h3 span{color:var(--muted);font-weight:600}.when{font-family:var(--display);color:var(--on);font-variant-numeric:tabular-nums;font-size:13px;font-weight:600}.entry-highlights{gap:3px;padding-left:18px;font-size:15px;display:grid}.entry-highlights li::marker{color:var(--a)}.entry-summary{font-size:15px}.entry--compact .entry-summary{font-size:14.5px}.entry--compact h3{font-size:15.5px}.entry-projects{border-left:2px solid var(--rule);gap:10px;padding-left:14px;display:grid}.entry-project{gap:4px;display:grid}.entry-project h4{font-family:var(--display);color:var(--on);margin:0;font-size:15px;font-weight:700;line-height:1.3}.draft{font-style:italic}.chips{flex-wrap:wrap;gap:6px;padding:0;list-style:none;display:flex}.chip{font-family:var(--display);background:var(--chip);color:var(--on);border:1px solid #0000;border-radius:999px;padding:3px 10px;font-size:12.5px;font-weight:600;line-height:1.5}.chip--on{background:var(--a);color:#fff}.chip--draft{border:1px dashed var(--on);opacity:.75;background:0 0;font-style:italic}.group{gap:8px;display:grid}.lbl{font-family:var(--display);letter-spacing:.08em;text-transform:uppercase;color:var(--on);opacity:.8;font-size:12px;font-weight:700}.lbl-note{text-transform:none;letter-spacing:0;opacity:.75;font-style:normal;font-weight:600}.group--muted .lbl{color:var(--muted);opacity:1}.group--muted .chip{border-color:var(--line);color:var(--muted);background:0 0;font-weight:500}.langs{gap:8px;padding:0;list-style:none;display:grid}.lang{justify-content:space-between;align-items:center;gap:12px;font-size:15px;display:flex}.lang b{font-family:var(--display);font-weight:700}.seg{border:1px solid var(--on);font-family:var(--display);border-radius:999px;font-size:12px;font-weight:600;display:inline-flex;overflow:hidden}.seg span{color:var(--on);padding:3px 10px}.seg span.on{background:var(--on);color:var(--bg)}.edu h3{font-size:17px;font-weight:700}.edu .sub{color:var(--muted);font-size:15px}.edu p{font-size:15px}
