:root { --accent:#2563eb; --accent-2:#1d4ed8; --text:#1e293b; --muted:#64748b; --line:#e2e8f0; --bg:#f1f5f9; }
* { box-sizing:border-box; margin:0; padding:0; }
body { font-family:"Segoe UI",system-ui,sans-serif; background:var(--bg); color:var(--text); line-height:1.65; padding:30px 16px; }
.cv { max-width:820px; margin:0 auto; background:#fff; border-radius:18px; box-shadow:0 20px 60px rgba(15,23,42,.12); overflow:hidden; }
.head { display:flex; gap:24px; align-items:center; padding:40px 44px 30px; background:linear-gradient(135deg,var(--accent),var(--accent-2)); color:#fff; }
.avatar { width:92px; height:92px; border-radius:50%; background:rgba(255,255,255,.18); border:3px solid rgba(255,255,255,.55); display:flex; align-items:center; justify-content:center; font-size:1.7em; font-weight:800; letter-spacing:.03em; flex-shrink:0; }
.head h1 { font-size:1.9em; line-height:1.2; }
.role { opacity:.92; font-weight:600; margin:4px 0 8px; }
.contact { font-size:.88em; opacity:.9; }
.block { padding:26px 44px 6px; }
.block h2 { font-size:1.05em; color:var(--accent); text-transform:uppercase; letter-spacing:.06em; margin-bottom:12px; border-bottom:2px solid var(--line); padding-bottom:8px; }
.block p { color:var(--muted); font-size:.95em; }
.item { margin-bottom:18px; padding-left:16px; border-left:3px solid var(--line); }
.item .period { font-size:.78em; font-weight:700; color:var(--accent); text-transform:uppercase; letter-spacing:.04em; }
.item h3 { font-size:1em; margin:2px 0 4px; }
.item h3 span { color:var(--muted); font-weight:600; }
.item p { font-size:.9em; }
.cols { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.skills, .langs { list-style:none; padding:0 0 8px; }
.skills li { display:flex; justify-content:space-between; align-items:center; font-size:.9em; padding:7px 0; border-bottom:1px dashed var(--line); }
.skills li span { font-weight:700; color:var(--accent); font-size:.82em; }
.langs li { font-size:.9em; padding:6px 0; }
.foot { padding:22px 44px 28px; color:var(--muted); font-size:.85em; border-top:1px solid var(--line); margin-top:10px; text-align:center; }
@media (max-width:640px) { .head { flex-direction:column; text-align:center; padding:28px 22px; } .block { padding:22px; } .cols { grid-template-columns:1fr; } }
