:root{--text:#4b4a52;--text-h:#17151f;--text-muted:#85818e;--bg:#f1eef7;--paper:#fff;--sidebar-bg:#211a34;--sidebar-text:#d9d3ea;--sidebar-text-h:#fff;--sidebar-border:#ffffff1f;--border:#e7e4ef;--accent:#6d28d9;--accent-light:#a970ff;--accent-bg:#6d28d914;--shadow:0 24px 48px -20px #211a3459;--sans:"Inter", system-ui, "Segoe UI", Roboto, sans-serif;font:16px/1.55 var(--sans);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0}h1,h2,h3{font-family:var(--sans);color:var(--text-h);margin:0}p{margin:0}a{color:var(--accent)}button{font-family:inherit}.cv-page{background:var(--paper);max-width:980px;box-shadow:var(--shadow);border-radius:20px;margin:48px auto;overflow:hidden}.cv-header{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;padding:32px 40px;display:flex}.cv-header-identity{align-items:center;gap:20px;display:flex}.avatar{color:#fff;background:linear-gradient(145deg, var(--accent), var(--accent-light));border-radius:50%;flex:none;justify-content:center;align-items:center;width:64px;height:64px;font-size:22px;font-weight:700;display:flex}.cv-header h1{letter-spacing:-.4px;font-size:28px;font-weight:800}.cv-header .title{color:var(--text-muted);margin-top:4px;font-size:15px;font-weight:500}.cv-header-actions{align-items:center;gap:10px;display:flex}.lang-switch{border:1px solid var(--border);background:var(--paper);color:var(--text-h);cursor:pointer;border-radius:999px;padding:9px 16px;font-size:13px;font-weight:600}.lang-switch:hover{border-color:var(--accent);color:var(--accent)}.print-button{border:1px solid var(--border);background:var(--paper);color:var(--text-h);cursor:pointer;white-space:nowrap;border-radius:999px;padding:9px 16px;font-size:13px;font-weight:600}.print-button:hover{border-color:var(--accent);color:var(--accent)}.cv-body{grid-template-columns:270px 1fr;display:grid}.cv-sidebar{background:var(--sidebar-bg);color:var(--sidebar-text);padding:36px 28px}.cv-main{padding:36px 40px}.cv-section{margin-bottom:30px}.cv-section:last-child{margin-bottom:0}.cv-section h2{text-transform:uppercase;letter-spacing:1.2px;margin-bottom:14px;font-size:12px;font-weight:700}.cv-main .cv-section h2{color:var(--accent);border-left:3px solid var(--accent);padding-left:12px}.cv-sidebar .cv-section h2{color:var(--sidebar-text-h);opacity:.85}.summary-text{font-size:15px;line-height:1.65}.contact-list{flex-direction:column;gap:10px;margin:0;padding:0;font-size:13.5px;list-style:none;display:flex}.contact-list li{align-items:center;gap:10px;display:flex}.contact-list svg{color:var(--accent-light);flex:none}.contact-list a{color:var(--sidebar-text);word-break:break-word;text-decoration:none}.contact-list a:hover{color:#fff;text-decoration:underline}.skills-group{margin-bottom:16px}.skills-group:last-child{margin-bottom:0}.skills-group h3{color:var(--sidebar-text-h);margin-bottom:8px;font-size:12.5px;font-weight:600}.tag-list{flex-wrap:wrap;gap:6px;margin:0;padding:0;font-size:12.5px;list-style:none;display:flex}.tag-list li{background:var(--sidebar-border);color:var(--sidebar-text);border-radius:999px;padding:4px 10px}.cv-sidebar .muted{color:var(--sidebar-text);opacity:.6;font-weight:400}.education-entry h3{color:var(--sidebar-text-h);font-size:13.5px;font-weight:600}.education-entry .job-location{margin:4px 0 2px;font-size:12.5px}.education-entry .period{opacity:.75;font-size:12px}.timeline{flex-direction:column;gap:22px;display:flex}.job{border-left:2px solid var(--border);padding-left:18px;position:relative}.job:before{content:"";background:var(--accent);border-radius:50%;width:8px;height:8px;position:absolute;top:4px;left:-5px}.job-heading{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;display:flex}.job-heading h3{font-size:15.5px;font-weight:700}.job-company{color:var(--accent);margin-top:2px;font-size:13.5px;font-weight:600}.period{color:var(--text-muted);white-space:nowrap;font-size:12.5px;font-weight:500}.job-location{color:var(--text-muted);margin:2px 0 8px;font-size:13px}.job ul{margin:8px 0 0;padding-left:18px;font-size:14px;line-height:1.6}.job li{margin-bottom:4px}.contact-form{gap:8px;max-width:420px;display:grid}.contact-form label{color:var(--text-h);font-size:12.5px;font-weight:600}.contact-form input,.contact-form textarea{font:inherit;border:1px solid var(--border);background:var(--paper);color:var(--text-h);border-radius:8px;padding:9px 11px;font-size:14px}.contact-form input:focus,.contact-form textarea:focus{outline:2px solid var(--accent-light);outline-offset:1px}.contact-form button{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:999px;justify-self:start;margin-top:4px;padding:9px 20px;font-size:14px;font-weight:600}.contact-form button:hover:not(:disabled){background:var(--accent-light)}.contact-form button:disabled{opacity:.6;cursor:default}.form-status{font-size:13.5px}.form-status.ok{color:#16a34a}.form-status.error{color:#dc2626}@media (width<=720px){.cv-page{border-radius:0;margin:0}.cv-body{grid-template-columns:1fr}.cv-header{padding:24px}.cv-sidebar,.cv-main{padding:28px 24px}}@media print{.no-print{display:none!important}body{background:#fff}.cv-page{max-width:none;box-shadow:none;border-radius:0;margin:0}.cv-sidebar{-webkit-print-color-adjust:exact;print-color-adjust:exact}.job{break-inside:avoid}}.hp-field{opacity:0;width:1px;height:1px;position:absolute;left:-10000px}
