*, ::before, ::after{box-sizing:border-box}
a, area, button, input, label, select, summary, textarea, [tabindex]{touch-action:manipulation}
button:focus, input:focus, select:focus, textarea:focus, [contenteditable]:focus{outline:0}
input::-webkit-outer-spin-button, input::-webkit-inner-spin-button{-webkit-appearance:none}
input[type="number"]{-moz-appearance:textfield}
table{border-collapse:collapse}
::-ms-expand{display:none}
#cookiewall{background:#1a1a1a;border-radius:8px;bottom:16px;box-shadow:0 8px 32px #0004;color:#fff;font-size:13px;left:16px;line-height:1.5;max-width:360px;padding:14px 16px;position:fixed;right:16px;z-index:9999}
#cookiewall p{margin:0 0 10px}
#cookiewall .actions{display:flex;gap:8px;justify-content:flex-end}
#cookiewall button{border-radius:4px;border:0;cursor:pointer;font-size:12px;padding:6px 12px}
#cookiewall button.ghost{background:#444;color:#fff}
#cookiewall button.primary{background:#fff;color:#1a1a1a;font-weight:600}
:root{--accent:#64ffda;--grid:#233554;--primary:#0a192f;--text:#8892b0;--link:#ccd6f6;--panel:rgba(17, 34, 64, .72)}
body{background:var(--primary);color:var(--text);font-family:'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;margin:0;min-height:100vh;padding:34px 16px 48px}
a{color:var(--link)}
.background{height:100%;left:0;position:fixed;top:0;width:100%;z-index:1}
.grid{stroke:var(--grid);stroke-width:.5}
.cv-page{margin:0 auto;max-width:980px;position:relative;z-index:2}
.profile-card{align-items:center;backdrop-filter:blur(4px);background:var(--panel);border:1px solid rgba(100, 255, 218, .4);border-radius:16px;box-shadow:0 20px 32px rgba(2, 12, 27, .5);display:grid;gap:28px;grid-template-columns:1.5fr 1fr;margin:0 auto 24px;max-width:760px;padding:24px;transition:border-color .22s ease, box-shadow .22s ease}
.profile-card:hover{border-color:rgba(100, 255, 218, .75);box-shadow:0 0 0 1px rgba(100, 255, 218, .32), 0 20px 32px rgba(2, 12, 27, .5), 0 0 16px rgba(100, 255, 218, .2)}
.label{color:var(--accent);font-size:13px;font-weight:700;letter-spacing:.1em;margin:0 0 8px;text-transform:uppercase}
h1{color:#fff;font-size:clamp(30px, 5vw, 44px);margin:0}
.role{color:var(--accent);font-size:18px;font-weight:600;margin:8px 0 14px}
.summary{line-height:1.65;margin:0 0 16px;max-width:62ch}
.profile-meta p{margin:4px 0}
.contact-row{align-items:center;display:flex;flex-wrap:wrap;gap:8px}
.blurred-contact{cursor:pointer;filter:blur(4px);transition:filter .2s ease}
.blurred-contact.revealed{filter:blur(0)}
.profile-photo-wrap{display:flex;justify-content:center}
.profile-photo{border:2px solid rgba(100, 255, 218, .5);border-radius:12px;box-shadow:0 14px 30px rgba(2, 12, 27, .48);height:auto;max-width:190px;width:100%}
.content-layout{align-items:start;display:grid;gap:16px;grid-template-columns:1fr 260px}
.side-panel{align-content:start;align-self:start;display:grid;gap:14px}
.side-group h2{margin:0 0 12px}
.info-card{backdrop-filter:blur(3px);background:var(--panel);border:1px solid rgba(100, 255, 218, .3);border-radius:14px;height:fit-content;padding:18px;transition:border-color .22s ease, box-shadow .22s ease}
.info-card:hover{border-color:rgba(100, 255, 218, .65);box-shadow:0 0 0 1px rgba(100, 255, 218, .25), 0 0 14px rgba(100, 255, 218, .14)}
.info-card p{margin:0 0 8px}
.education-item:last-child p:last-child{margin-bottom:0}
.education-item + .education-item{border-top:1px solid rgba(100, 255, 218, .22);margin-top:12px;padding-top:12px}
.skill-list{display:grid;gap:8px;list-style:none;margin:0;padding:0}
.skill-list li{background:rgba(100, 255, 218, .08);border:1px solid rgba(100, 255, 218, .32);border-radius:8px;color:#d6e3ff;padding:8px 10px}
.section-block{margin-top:0}
h2{color:var(--accent);font-size:28px;margin:0 0 16px}
.experience-list{display:grid;gap:14px}
.experience-card{backdrop-filter:blur(3px);background:var(--panel);border:1px solid rgba(100, 255, 218, .3);border-radius:14px;padding:20px;transition:border-color .22s ease, box-shadow .22s ease}
.experience-card:hover{border-color:rgba(100, 255, 218, .68);box-shadow:0 0 0 1px rgba(100, 255, 218, .26), 0 0 14px rgba(100, 255, 218, .15)}
.experience-head{align-items:baseline;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;margin-bottom:6px}
h3{color:#fff;font-size:20px;margin:0}
.period{color:var(--accent);font-weight:700}
.company{color:#a8b2d1;font-weight:600;margin:0 0 8px}
.experience-card p{line-height:1.55;margin-top:0}
.job-points{margin:0;padding-left:20px}
.job-points li{line-height:1.5;margin-bottom:6px}
@media(min-width: 600px){
#cookiewall{right:auto}}
@media print{
html{font-size:12px}
body{background:var(--primary);color:var(--text);font-size:12px;line-height:1.25;margin:0;padding:0;print-color-adjust:exact;-webkit-print-color-adjust:exact;zoom:.8}
a{color:var(--link);text-decoration:none}
.background{display:block}
.cv-page{max-width:none;width:100%}
.content-layout{display:grid;gap:12px;grid-template-columns:1.08fr .92fr;break-before:auto;page-break-before:auto}
.section-block{margin-top:0;min-width:0}
.side-panel{align-content:start;display:grid;gap:6px;grid-template-columns:1fr;min-width:0;padding-left:4px}
.profile-card, .experience-card, .info-card{backdrop-filter:none;background:var(--panel);border:1px solid rgba(100, 255, 218, .3);box-shadow:none}
.profile-card{gap:8px;grid-template-columns:1.6fr 1fr;margin-bottom:6px;padding:10px;break-after:avoid-page;page-break-after:avoid}
.profile-photo{max-width:120px}
.experience-card, .info-card{padding:9px;break-inside:avoid-page}
.profile-card:hover, .experience-card:hover, .info-card:hover{box-shadow:none}
.label, .period, h2, .role{color:var(--accent)}
.skill-list li{background:rgba(100, 255, 218, .08);border:1px solid rgba(100, 255, 218, .32);color:#d6e3ff}
.blurred-contact{filter:blur(0)}
.section-block, .side-group{break-inside:auto}
.side-group h2{margin-bottom:4px}
h1{font-size:22px}
h2{font-size:16px;margin:0 0 8px}
h3{font-size:13px;margin:0}
.label{font-size:10px;margin-bottom:4px}
.role{font-size:13px;margin:4px 0 8px}
.summary{line-height:1.3;margin:0 0 8px}
.profile-meta p, .info-card p, .experience-card p{margin:0 0 4px}
.job-points{margin:0;padding-left:14px}
.job-points li{line-height:1.25;margin-bottom:3px}}
@media (max-width: 800px){
.profile-card{grid-template-columns:1fr;padding:24px}
.profile-photo{max-width:220px}
.content-layout{grid-template-columns:1fr}}
