:root{
  --bg:#f4f6fa;
  --ink:#1f2430;
  --muted:#6c7487;
  --primary:#2f436d;
  --accent:#3c5aa8;
  --card:#ffffff;
  --line:#e6e9f0;
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font: 15px/1.55 "Inter", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  min-height:100vh;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}
:focus-visible{outline:3px solid rgba(60,90,168,.5); outline-offset:3px}
.page{
  width:min(1060px, calc(100% - 32px));
  margin:24px auto 48px;
  background:var(--card);
  box-shadow:0 10px 30px rgba(20,33,61,.06);
  border-radius:14px;
  overflow:hidden
}

/* ШАПКА */
header{
  background:linear-gradient(135deg,var(--primary), #243456);
  color:#fff; padding:28px 32px; position:relative;
}
header .header-top{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;flex-wrap:wrap}
header .title{display:flex;align-items:center;gap:22px}
.lang-switch{
  display:inline-flex;
  gap:2px;
  padding:2px;
  border:1px solid rgba(255,255,255,.35);
  border-radius:999px;
  background:rgba(0,0,0,.15);
}
.lang-btn{
  border:0;
  background:transparent;
  color:#fff;
  font:600 13px/1 "Inter", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  padding:6px 12px;
  border-radius:999px;
  cursor:pointer;
  transition:background .2s ease,color .2s ease;
}
.lang-btn.is-active{
  background:#fff;
  color:var(--primary);
  box-shadow:0 4px 14px rgba(0,0,0,.15);
}
.avatar{
  width:clamp(70px, 12vw, 96px);
  height:clamp(70px, 12vw, 96px);
  border-radius:50%;
  background:rgba(255,255,255,.12);
  display:block;
  flex:0 0 auto;
  border:2px solid rgba(255,255,255,.18);
  overflow:hidden;
}
.avatar picture,
.avatar img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}
h1{margin:0;font-size:28px;line-height:1.2; font-weight:800}
.subtitle{opacity:.9;font-weight:500;margin-top:6px}
.summary{
  margin-top:16px;
  max-width:880px;
  opacity:.96;
  font-size:clamp(15px, 2vw, 16px);
  line-height:1.65
}
.summary p{margin:0 0 10px}
.summary p:last-child{margin-bottom:0}

/* ЛЕЙАУТ */
.grid{display:grid; grid-template-columns: minmax(260px, 310px) 1fr; gap:0}
@media (max-width: 880px){
  .grid{grid-template-columns:1fr}
  .sidebar{border-right:0;border-top:1px solid var(--line)}
}

/* Сайдбар */
.sidebar{
  padding:clamp(20px, 4vw, 28px);
  border-right:1px solid var(--line);
  background:#fbfcff
}
.block{margin:14px 0 24px}
.h{font-weight:800; text-transform:uppercase; letter-spacing:.06em; font-size:13px; color:var(--primary); margin:0 0 10px}
.list{margin:0; padding:0; list-style:none}
.list li{display:flex;gap:10px;align-items:flex-start;padding:8px 0;border-bottom:1px dashed var(--line)}
.list li:last-child{border-bottom:0}
.icon{width:18px;height:18px;flex:0 0 auto;opacity:.85;color:var(--muted)}
.muted{color:var(--muted)}
a{color:var(--accent); text-decoration:none}
a:hover{text-decoration:underline}

.tag-row{display:flex;flex-wrap:wrap;gap:8px}
.tag{border:1px solid var(--line); background:#fff; padding:6px 10px; border-radius:999px; font-size:12px}
.tag-heading{font-weight:700;margin:12px 0 8px;text-transform:uppercase;font-size:12px;color:var(--muted);letter-spacing:.04em}
.language-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.language-item{display:flex;flex-direction:column;gap:6px}
.language-heading{display:flex;justify-content:space-between;align-items:center;font-weight:600;font-size:14px}
.language-heading .muted{font-size:12px}
.language-pips{display:flex;gap:4px}
.language-pip{width:10px;height:10px;border-radius:50%;background:var(--line)}
.language-pip.is-active{background:var(--primary)}

/* Контент */
.content{padding:clamp(22px, 4vw, 34px)}
.section{margin:8px 0 28px}
.section-title{font-weight:800; font-size:16px; color:var(--primary); display:flex; align-items:center; gap:10px; margin:0 0 12px}
.job{border-left:3px solid var(--primary); background:#fff; padding:14px 16px 10px; border-radius:10px; box-shadow:0 6px 18px rgba(47,67,109,.05); margin-bottom:18px}
.job .top{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.job h3{margin:0;font-size:15px}
.job .place{color:var(--muted)}
.job ul{margin:10px 0 0 16px}
.job li{margin:6px 0}
.job-subtitle{
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.05em;
  font-weight:700;
  color:var(--muted);
  margin:14px 0 6px;
}
.job-project{
  margin-top:10px;
  padding:14px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#f7f9ff;
}
.job-project__name{
  font-weight:700;
  color:var(--primary);
  margin-bottom:6px;
}
.job-achievements{margin-top:14px}
.job-metrics{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}
.metric-card{
  flex:1 1 170px;
  min-width:150px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:12px;
  padding:14px;
  box-shadow:0 6px 18px rgba(47,67,109,.05);
}
.metric-value{
  font-size:22px;
  font-weight:800;
  color:var(--primary);
}
.metric-label{
  font-weight:600;
  margin-top:4px;
}
.metric-description{
  margin:6px 0 0;
  font-size:13px;
  color:var(--muted);
}
.bio p{margin:0 0 12px}
.bio-list, .traits{
  margin:8px 0 0;
  padding:0;
  list-style:none;
}
.bio-list li,
.traits li{
  margin:6px 0;
  list-style:none;
}
.bio-label{font-weight:700;margin:18px 0 10px;text-transform:uppercase;font-size:12px;color:var(--primary);letter-spacing:.05em}
.about-metrics{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:8px;
}
.about-infographic{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
}
.metric-card--about{
  padding:20px;
  min-height:180px;
  display:flex;
  flex-direction:column;
  gap:8px;
}
.metric-icon{
  width:32px;
  height:32px;
  border-radius:10px;
  background:linear-gradient(135deg,var(--primary),var(--accent));
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 6px 16px rgba(47,67,109,.25);
}
.metric-icon svg{
  width:18px;
  height:18px;
  stroke:#fff;
  stroke-width:1.8;
  fill:none;
}

/* Принт */
@media print{
  body{background:#fff}
  .page{box-shadow:none;margin:0;border-radius:0}
  a{color:#000;text-decoration:none}
  .job{box-shadow:none}
}

@media (max-width:600px){
  header{padding:24px}
  header .header-top{flex-direction:column;align-items:flex-start}
  header .title{flex-direction:column;align-items:flex-start;gap:12px}
  .avatar{width:72px;height:72px;font-size:24px}
  .lang-switch{margin-top:10px}
  .content, .sidebar{padding:22px}
  .metric-card{flex:1 1 100%}
}

@media (prefers-reduced-motion: reduce){
  *{scroll-behavior:auto!important}
}

footer{padding:22px 30px; border-top:1px solid var(--line); text-align:center; font-size:13px; color:var(--muted)}
.is-hidden{display:none!important}
