body.cv-body{--cv-bg: #09090a;--cv-bg-2: #111113;--cv-fg: #ecebe7;--cv-fg-2: #a6a5a0;--cv-fg-3: #8a8984;--cv-line: #1f1f22;--cv-line-2: #2c2c30;--cv-blue: #6f95ff;--bg: #09090a;--fg: #ecebe7;--muted: #a6a5a0;--accent: #6f95ff;--rule: #1f1f22;color-scheme:dark}@media (prefers-color-scheme: light){body.cv-body{--cv-bg: #f5f4ef;--cv-bg-2: #ecebe5;--cv-fg: #121212;--cv-fg-2: #55544f;--cv-fg-3: #6f6e69;--cv-line: #e0ded7;--cv-line-2: #d2d0c8;--cv-blue: #2c55f0;--bg: #f5f4ef;--fg: #121212;--muted: #55544f;--accent: #2c55f0;--rule: #e0ded7;color-scheme:light}}body.cv-body[a="dark"]{--cv-bg: #09090a;--cv-bg-2: #111113;--cv-fg: #ecebe7;--cv-fg-2: #a6a5a0;--cv-fg-3: #8a8984;--cv-line: #1f1f22;--cv-line-2: #2c2c30;--cv-blue: #6f95ff;--bg: #09090a;--fg: #ecebe7;--muted: #a6a5a0;--accent: #6f95ff;--rule: #1f1f22;color-scheme:dark}body.cv-body[a="light"]{--cv-bg: #f5f4ef;--cv-bg-2: #ecebe5;--cv-fg: #121212;--cv-fg-2: #55544f;--cv-fg-3: #6f6e69;--cv-line: #e0ded7;--cv-line-2: #d2d0c8;--cv-blue: #2c55f0;--bg: #f5f4ef;--fg: #121212;--muted: #55544f;--accent: #2c55f0;--rule: #e0ded7;color-scheme:light}html[data-theme="dark"] body.cv-body{--cv-bg: #09090a;--cv-bg-2: #111113;--cv-fg: #ecebe7;--cv-fg-2: #a6a5a0;--cv-fg-3: #8a8984;--cv-line: #1f1f22;--cv-line-2: #2c2c30;--cv-blue: #6f95ff;--bg: #09090a;--fg: #ecebe7;--muted: #a6a5a0;--accent: #6f95ff;--rule: #1f1f22;color-scheme:dark}html[data-theme="light"] body.cv-body{--cv-bg: #f5f4ef;--cv-bg-2: #ecebe5;--cv-fg: #121212;--cv-fg-2: #55544f;--cv-fg-3: #6f6e69;--cv-line: #e0ded7;--cv-line-2: #d2d0c8;--cv-blue: #2c55f0;--bg: #f5f4ef;--fg: #121212;--muted: #55544f;--accent: #2c55f0;--rule: #e0ded7;color-scheme:light}html body.cv-body{background:var(--cv-bg);color:var(--cv-fg);font:400 15px/1.65 "JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;font-feature-settings:"calt" 1, "zero" 1;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;transition:background-color 0.4s cubic-bezier(0.2, 0.8, 0.2, 1),color 0.4s cubic-bezier(0.2, 0.8, 0.2, 1)}html body.cv-body .site-nav-inner{max-width:960px}.cv-body .cv{max-width:960px;margin:0 auto;padding:clamp(32px, 7vh, 72px) clamp(20px, 5vw, 48px) 64px}.cv-body .cv,.cv-body .cv *,.cv-body .cv *::before{box-sizing:border-box}.cv-body .cv ::selection{background:var(--cv-blue);color:#fff}.cv-body .cv h1,.cv-body .cv h2,.cv-body .cv h3,.cv-body .cv p,.cv-body .cv ol,.cv-body .cv ul,.cv-body .cv dl,.cv-body .cv dd{margin:0;padding:0}.cv-body .cv ol,.cv-body .cv ul{list-style:none}.cv-body .cv li{margin:0;line-height:inherit}.cv-body .cv a,.cv-body .cv a:visited{color:inherit;text-decoration:none}.cv-body .cv a:focus-visible{outline:2px solid var(--cv-blue);outline-offset:3px;border-radius:4px}.cv-top{display:grid;grid-template-columns:auto 1fr auto;gap:28px;align-items:center}.cv .cv-photo{width:112px;height:112px;margin:0;border-radius:14px;object-fit:cover;background:var(--cv-bg-2)}.cv-name{font-size:clamp(38px, 6vw, 60px);font-weight:700;line-height:.95;letter-spacing:-.055em}.cv-role{margin-top:14px !important;font-size:15px;color:var(--cv-fg)}.cv-loc{font-size:13px;color:var(--cv-fg-3)}.cv a.cv-btn{align-self:start;display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0 18px;border-radius:8px;background:var(--cv-fg);color:var(--cv-bg);font-size:13px;white-space:nowrap;transition:background-color 0.2s,color 0.2s,transform 0.2s cubic-bezier(0.2, 0.8, 0.2, 1)}.cv a.cv-btn .arr{transition:transform 0.25s cubic-bezier(0.2, 0.8, 0.2, 1)}.cv a.cv-btn:hover{background:var(--cv-blue);color:#fff}.cv a.cv-btn:hover .arr{transform:translateY(2px)}.cv a.cv-btn:active{transform:scale(0.97)}.cv-contact{display:grid;grid-template-columns:repeat(4, auto);justify-content:space-between;grid-column:1 / -1;margin-top:8px !important;border-top:1px solid var(--cv-line);border-bottom:1px solid var(--cv-line)}.cv-contact li+li{border-left:1px solid var(--cv-line)}.cv-contact a{display:block;padding:14px 20px;transition:color .2s}.cv-contact li:first-child a{padding-left:0}.cv-contact li:last-child a{padding-right:0}.cv-contact small{display:block;font-size:12px;color:var(--cv-fg-3)}.cv-contact span{font-size:13px}.cv-contact a:hover span{color:var(--cv-blue)}.cv-summary{margin-top:32px !important;max-width:62ch;font-size:clamp(17px, 2vw, 20px);line-height:1.45;letter-spacing:-.02em;text-wrap:pretty}.cv .cv-proof{display:grid;grid-template-columns:auto 1fr;gap:22px;align-items:center;margin-top:32px;padding:18px 0;border-top:1px solid var(--cv-line);border-bottom:1px solid var(--cv-line)}.cv .cv-proof b{font-size:clamp(40px, 5vw, 56px);font-weight:700;line-height:1;letter-spacing:-.05em;transition:color .2s}.cv .cv-proof span{font-size:13px;color:var(--cv-fg-2);line-height:1.55}.cv .cv-proof strong{display:block;font-weight:700;font-size:15px;color:var(--cv-fg)}.cv .cv-proof .sep{display:none}.cv .cv-proof:hover b{color:var(--cv-blue)}.cv-sec{margin-top:clamp(48px, 8vh, 72px)}.cv .cv-head{display:flex;align-items:baseline;gap:16px;margin-bottom:8px;font-size:12px;font-weight:400;letter-spacing:.14em;text-transform:uppercase;color:var(--cv-fg-2)}.cv .cv-head .slashes{color:var(--cv-blue);letter-spacing:0}.cv .cv-head .rule{flex:1;height:1px;background:var(--cv-line);align-self:center}.cv .cv-head .aside{letter-spacing:0;text-transform:none;color:var(--cv-fg-3);transition:color .2s}.cv .cv-head .aside:hover{color:var(--cv-blue)}.cv-row{position:relative;display:grid;grid-template-columns:168px minmax(0, 1fr);gap:24px;padding:18px 0;border-bottom:1px solid var(--cv-line)}.cv-row:last-child{border-bottom:0}.cv-row::before{content:"";position:absolute;inset:0 -14px;z-index:-1;border-radius:10px;background:var(--cv-bg-2);opacity:0;transform:scaleY(0.85);transition:opacity 0.2s,transform 0.25s cubic-bezier(0.2, 0.8, 0.2, 1)}.cv-row:hover::before{opacity:1;transform:none}.cv-list,.cv-skills{position:relative;z-index:0}.cv-when{font-size:13px;color:var(--cv-fg-3);font-variant-numeric:tabular-nums;padding-top:1px}.cv-what h3{font-size:15px;font-weight:700;letter-spacing:-.01em;line-height:1.5}.cv-team{font-weight:400;color:var(--cv-fg)}.cv-note{font-weight:400;color:var(--cv-blue)}.cv-line{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:0 24px}.cv-org{font-size:13px;color:var(--cv-fg-3)}.cv-text{margin-top:6px !important;font-size:14px;color:var(--cv-fg-2);max-width:70ch}.cv-meta{display:flex;flex-wrap:wrap;gap:4px 18px;margin-top:8px !important;font-size:12px;color:var(--cv-fg-3)}.cv-meta a{color:var(--cv-fg-2);text-decoration:underline;text-decoration-color:var(--cv-line-2);text-underline-offset:3px;transition:color .2s, text-decoration-color .2s}.cv-meta a:hover{color:var(--cv-blue);text-decoration-color:currentColor}.cv-org a{color:var(--cv-fg-2);text-decoration:underline;text-decoration-color:var(--cv-line-2);text-underline-offset:3px}.cv-org a:hover{color:var(--cv-blue)}.cv-skills .cv-row{padding:12px 0}.cv-skills dd{font-size:14px}.cv-tbd{background:none;color:var(--cv-blue);border-bottom:1px dashed var(--cv-blue)}.cv-foot{display:flex;justify-content:space-between;gap:16px;margin-top:56px;padding-top:20px;border-top:1px solid var(--cv-line);font-size:12px;color:var(--cv-fg-3)}.cv-foot a{color:var(--cv-blue) !important}.cv-foot a:hover{text-decoration:underline !important;text-underline-offset:4px}@media (max-width: 720px){html body.cv-body{font-size:14.5px}.cv-top{grid-template-columns:auto 1fr;gap:18px}.cv .cv-photo{width:76px;height:76px;border-radius:12px}.cv-name{font-size:34px}.cv-role{margin-top:10px !important;font-size:13.5px}.cv .cv-btn{grid-column:1 / -1;justify-content:center}.cv-contact{grid-template-columns:1fr}.cv-contact li+li{border-left:0;border-top:1px solid var(--cv-line)}.cv-contact a,.cv-contact li:first-child a,.cv-contact li:last-child a{display:flex;justify-content:space-between;align-items:baseline;gap:16px;min-height:44px;padding:12px 0}.cv-contact span{font-size:13px}.cv-row{grid-template-columns:1fr;gap:2px;padding:16px 0}.cv-skills .cv-row{gap:0}.cv-row::before{inset:0 -10px}}@media (prefers-reduced-motion: reduce){.cv *,.cv *::before{transition:none !important}}@media print{@page{size:A4;margin:0}html body.cv-body.cv-body[a]{--cv-bg: #f5f4ef;--cv-bg-2: #ecebe5;--cv-fg: #121212;--cv-fg-2: #55544f;--cv-fg-3: #6f6e69;--cv-line: #e0ded7;--cv-line-2: #d2d0c8;--cv-blue: #2c55f0;--bg: #f5f4ef;--fg: #121212;--muted: #55544f;--accent: #2c55f0;--rule: #e0ded7;color-scheme:light;--cv-bg: #fff;--cv-fg: #111;--cv-fg-2: #3d3d3a;--cv-fg-3: #6b6a66;--cv-line: #dcdad3;--cv-blue: #2347d6;background:#fff !important;transition:none !important;font-size:8.4pt;line-height:1.42;-webkit-print-color-adjust:exact;print-color-adjust:exact}.site-nav,.skip-link,.no-print,.web-only,.cv-foot,.cv-row::before{display:none !important}.page-content{min-height:0 !important}body.cv-body::after{display:none !important}.cv-body .cv{max-width:none;padding:11mm 13mm 6mm}.cv-top{grid-template-columns:auto 1fr auto;gap:6mm;align-items:center}.cv .cv-photo{width:25mm;height:25mm;border-radius:2.5mm}.cv-name{font-size:25pt}.cv-role{margin-top:2.2mm !important;font-size:10pt}.cv-loc{font-size:8.4pt}.cv-contact{grid-column:3;grid-row:1;display:block;margin:0 !important;border:0;text-align:right}.cv-contact li+li{border:0}.cv-contact a,.cv-contact li:first-child a,.cv-contact li:last-child a{padding:.5mm 0}.cv-contact small{display:none}.cv-contact span{font-size:8pt;color:var(--cv-fg-2)}.cv-summary{margin-top:5mm !important;max-width:none;font-size:9pt;line-height:1.4}.cv .cv-proof{margin-top:3.5mm;padding:1.8mm 0;gap:4mm}.cv .cv-proof b{font-size:15pt;color:var(--cv-blue)}.cv .cv-proof span{font-size:8.4pt}.cv .cv-proof strong{display:inline;font-size:8.8pt}.cv .cv-proof .sep{display:inline}.cv-sec{margin-top:3.6mm;break-inside:auto}.cv .cv-head{margin-bottom:.6mm;font-size:7.4pt;gap:3mm;break-after:avoid}.cv-row{grid-template-columns:33mm minmax(0, 1fr);gap:3mm;padding:1.15mm 0;break-inside:avoid}.cv-when{font-size:7.6pt;padding-top:.2mm;white-space:nowrap}.cv-what h3{font-size:8.6pt;line-height:1.4}.cv-org{font-size:7.6pt}.cv-text{margin-top:.2mm !important;font-size:7.8pt;line-height:1.38;max-width:none}.cv-meta{margin-top:.6mm !important;gap:0 4mm;font-size:7.5pt}.cv-meta a,.cv-org a{color:var(--cv-blue);text-decoration:none}.cv-row:has(+.web-only){border-bottom:0}.cv-skills .cv-row{padding:.75mm 0}.cv-skills dd{font-size:8pt}}
