:root{color-scheme:dark;--bg:#0a0d13;--panel:#111720;--line:#283140;--text:#f5f7fa;--muted:#a5afbd;--accent:#7f8cff;--accent2:#b8beff}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:linear-gradient(180deg,#111827 0,var(--bg) 34%);color:var(--text);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.6}a{color:inherit}.wrap{width:min(1040px,calc(100% - 38px));margin:auto}.nav{height:72px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.nav strong{letter-spacing:.08em}.nav span{color:var(--muted);font-size:14px}.hero{padding:100px 0 70px}.eyebrow{color:#aeb5ff;font-weight:800;letter-spacing:.14em;font-size:12px}.hero h1{font-size:clamp(52px,8vw,92px);line-height:.96;margin:12px 0 20px;letter-spacing:-.04em}.hero p{max-width:790px;color:var(--muted);font-size:20px}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 16px;border:1px solid var(--line);border-radius:10px;background:rgba(17,23,32,.75);color:var(--text);text-decoration:none;font:inherit;font-weight:700;cursor:pointer}.button:hover{border-color:#59657a}.button.primary{background:var(--accent);border-color:var(--accent);color:white}.chips{display:flex;gap:9px;flex-wrap:wrap;margin-top:24px}.chip{border:1px solid var(--line);background:rgba(17,23,32,.75);border-radius:999px;padding:8px 12px;font-size:13px}.section{padding:64px 0;border-top:1px solid var(--line)}.section-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:26px}.section h2{font-size:32px;margin:0}.section-head p{margin:0;color:var(--muted);max-width:420px;text-align:right}.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.card{border:1px solid var(--line);background:rgba(17,23,32,.75);border-radius:14px;padding:22px}.card h3{margin:0 0 8px}.card p,.card li{color:var(--muted)}.card ul{padding-left:20px;margin-bottom:0}.proof{padding-top:48px;padding-bottom:48px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.metrics div{border-left:2px solid var(--accent);padding:8px 14px}.metrics strong{display:block;font-size:24px}.metrics span{display:block;color:var(--muted);font-size:13px;line-height:1.35}.project{display:grid;grid-template-columns:190px 1fr;gap:24px;padding:24px 0;border-bottom:1px solid var(--line)}.project:last-child{border-bottom:0}.project>strong{color:var(--accent2);font-size:16px}.project p{margin:0 0 8px;color:var(--muted)}.project ul{margin:0;padding-left:20px;color:var(--muted)}.focus{max-width:820px}.text-link{display:inline-block;margin-top:8px;color:var(--accent2);font-weight:700;text-decoration:none}.history-note{margin:18px 0 0;color:var(--muted);font-size:14px}.footer{padding:30px 0;color:var(--muted);font-size:13px}

.cv-detail{background:#0c1017}.cv-toolbar{width:min(900px,calc(100% - 32px));margin:24px auto 14px;display:flex;justify-content:space-between;gap:12px}.cv-sheet{width:min(900px,calc(100% - 32px));margin:0 auto 60px;background:#fff;color:#111827;padding:54px 60px;box-shadow:0 20px 70px rgba(0,0,0,.35)}.cv-sheet .eyebrow{color:#4f46e5}.cv-header{display:flex;justify-content:space-between;gap:32px;padding-bottom:24px;border-bottom:2px solid #111827}.cv-header h1{font-size:42px;line-height:1;margin:8px 0 8px}.role{margin:0;color:#4b5563;font-weight:700}.cv-contact{display:flex;flex-direction:column;align-items:flex-end;text-align:right;justify-content:end}.cv-contact span,.cv-contact small{color:#6b7280}.cv-contact strong{font-size:14px}.cv-block{padding:24px 0;border-bottom:1px solid #d1d5db}.cv-block:last-of-type{border-bottom:0}.cv-block h2{font-size:18px;letter-spacing:.04em;text-transform:uppercase;margin:0 0 13px}.cv-block h3{font-size:16px;margin:0 0 5px}.cv-block p{margin:0;color:#374151}.cv-block ul{margin:8px 0 0;padding-left:19px;color:#374151}.cv-tags{display:flex;gap:8px;flex-wrap:wrap}.cv-tags span{border:1px solid #9ca3af;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:700}.cv-columns{display:grid;grid-template-columns:1fr 1fr;gap:20px 34px}.cv-columns ul{margin-top:6px}.cv-entry{margin-top:18px}.cv-entry:first-of-type{margin-top:0}.cv-entry-title{display:flex;align-items:baseline;justify-content:space-between;gap:20px}.cv-entry-title span{color:#6b7280;font-size:12px;font-weight:700;white-space:nowrap}.two-col-list{columns:2;column-gap:34px}.two-col-list li{break-inside:avoid;margin-bottom:5px}.cv-print-footer{margin-top:28px;padding-top:12px;border-top:1px solid #d1d5db;color:#6b7280;font-size:11px;text-align:center}

@media(max-width:760px){.grid,.metrics,.cv-columns{grid-template-columns:1fr}.metrics{gap:18px}.project{grid-template-columns:1fr;gap:6px}.hero{padding-top:72px}.section-head{display:block}.section-head p{text-align:left;margin-top:7px}.cv-sheet{padding:36px 28px}.cv-header{display:block}.cv-contact{align-items:flex-start;text-align:left;margin-top:18px}.two-col-list{columns:1}.cv-entry-title{display:block}.cv-entry-title span{display:block;margin-bottom:6px}}

@media print{*{-webkit-print-color-adjust:exact;print-color-adjust:exact}.no-print{display:none!important}body.cv-detail{background:#fff}.cv-sheet{width:auto;max-width:none;margin:0;padding:0;box-shadow:none;color:#111827}.cv-header{padding-bottom:16px}.cv-block{padding:14px 0}.cv-block h2{font-size:14px;margin-bottom:8px}.cv-block h3{font-size:13px}.cv-block p,.cv-block li{font-size:10.5pt;line-height:1.35}.cv-header h1{font-size:30pt}.role{font-size:11pt}.cv-columns{gap:12px 28px}.cv-entry{margin-top:10px}.cv-print-footer{margin-top:18px}.cv-sheet a{text-decoration:none;color:inherit}@page{size:A4;margin:14mm 15mm}}

.language-bar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 0;border-bottom:1px solid var(--line);color:var(--muted);font-size:13px}.language-bar>div,.toolbar-group{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.lang{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:7px 11px;border:1px solid var(--line);border-radius:999px;text-decoration:none;font-weight:700;color:var(--muted);background:rgba(17,23,32,.55)}.lang:hover{color:var(--text);border-color:#59657a}.lang.active{color:white;border-color:var(--accent);background:var(--accent)}
@media(max-width:760px){.language-bar{align-items:flex-start;flex-direction:column}.cv-toolbar{align-items:flex-start;flex-direction:column}.toolbar-group{width:100%}.toolbar-group .button.primary{margin-left:auto}}
@media print{.language-bar{display:none!important}}

/* Mobile CV readability fixes */
.toolbar-group{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.toolbar-group .lang{margin:0}
.cv-tags{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.cv-tags span{display:block;border:1px solid #9ca3af;border-radius:10px;padding:8px 10px;font-size:12px;font-weight:700;line-height:1.35;white-space:normal}
@media(max-width:760px){
  .cv-toolbar{gap:14px}
  .toolbar-group{gap:10px 12px;width:100%}
  .toolbar-group .button.primary{margin-left:0}
  .cv-tags{grid-template-columns:1fr;gap:8px}
  .cv-tags span{width:100%}
}

/* Contact details */
.public-contact{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:26px;padding-top:18px;border-top:1px solid var(--line);max-width:790px}
.public-contact strong{font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.public-contact a{color:var(--accent2);font-weight:700;text-decoration:none;overflow-wrap:anywhere}
.public-contact a:hover{text-decoration:underline}
.cv-contact a{color:#111827;text-decoration:none;overflow-wrap:anywhere}
.cv-contact a:hover{text-decoration:underline}
.cv-contact>strong{font-size:13px;margin-bottom:3px}
@media(max-width:760px){.public-contact{align-items:flex-start;flex-direction:column;gap:5px}.cv-contact{gap:2px}}
@media print{.cv-contact a{color:#111827;text-decoration:none}}
