:root{
  --bg:#0A1729;
  --bg-soft:#0F2138;
  --line:rgba(146,170,201,.16);
  --line-strong:rgba(146,170,201,.30);
  --fg:#E9EFF7;
  --fg-mid:#B9C9DD;
  --fg-dim:#8399B7;
  --red:#E23B44;
  --red-dim:#B32F37;
  --maxw:760px;
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}

body{
  margin:0;
  background:var(--bg);
  color:var(--fg);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  font-size:16px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}

body::before{
  content:"";
  position:fixed;
  inset:0 0 auto 0;
  height:420px;
  background:radial-gradient(60% 100% at 50% 0%, rgba(226,59,68,.10), transparent 70%);
  pointer-events:none;
  z-index:0;
}

.wrap{
  position:relative;
  z-index:1;
  max-width:var(--maxw);
  margin:0 auto;
  padding:36px 24px 88px;
}

a{color:var(--fg);text-decoration:none;border-bottom:1px solid var(--line-strong);transition:color .15s,border-color .15s}
a:hover{color:var(--red);border-bottom-color:var(--red)}

/* ---------- переключатель языка ---------- */

.lang{
  display:flex;
  justify-content:flex-end;
  margin-bottom:28px;
  font-size:13px;
  letter-spacing:.05em;
}
.lang a,.lang span{
  padding:4px 10px;
  border:1px solid var(--line);
  border-radius:6px;
  border-bottom-width:1px;
}
.lang .on{background:var(--bg-soft);color:var(--fg-dim);border-color:var(--line-strong)}
.lang a{margin-left:6px;color:var(--fg-dim)}
.lang a:hover{color:var(--red);border-color:var(--red)}

/* ---------- шапка ---------- */

.hero{padding-bottom:44px;border-bottom:1px solid var(--line)}

.rule{width:44px;height:3px;background:var(--red);border-radius:2px;margin-bottom:28px}

h1{
  margin:0 0 10px;
  font-size:clamp(30px,6.2vw,46px);
  line-height:1.12;
  letter-spacing:-.022em;
  font-weight:650;
  text-wrap:balance;
}

.field{
  margin:0 0 26px;
  color:var(--red);
  font-size:13px;
  font-weight:600;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.roles{list-style:none;margin:0 0 30px;padding:0;display:grid;gap:9px}
.roles li{position:relative;padding-left:18px;color:var(--fg-mid);font-size:16.5px}
.roles li::before{content:"";position:absolute;left:0;top:.72em;width:5px;height:5px;border-radius:50%;background:var(--red-dim)}
.roles b{color:var(--fg);font-weight:600}

.mail{
  display:inline-block;
  font-size:16px;
  padding:9px 16px;
  border:1px solid var(--line-strong);
  border-radius:7px;
  background:var(--bg-soft);
}
.mail:hover{border-color:var(--red);background:rgba(226,59,68,.08)}

/* ---------- секции ---------- */

section{padding-top:44px}

h2{
  margin:0 0 24px;
  font-size:12px;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--fg-dim);
}
h2::after{content:"";display:block;width:26px;height:2px;background:var(--red);margin-top:10px;border-radius:1px}

h3{
  margin:26px 0 14px;
  font-size:14px;
  font-weight:600;
  color:var(--fg-mid);
  letter-spacing:.01em;
}
h3:first-of-type{margin-top:0}

.lede{margin:0;color:var(--fg-mid);font-size:17.5px;line-height:1.7;text-wrap:pretty}

/* ---------- теги ---------- */

.tags{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.tags li{
  font-size:14px;
  color:var(--fg-mid);
  padding:5px 12px;
  border:1px solid var(--line);
  border-radius:20px;
  background:var(--bg-soft);
}

/* ---------- таймлайн ---------- */

.track{position:relative;padding-left:28px;margin:0}
.track::before{content:"";position:absolute;left:6px;top:8px;bottom:12px;width:1px;background:var(--line-strong)}

.item{position:relative;padding-bottom:28px}
.item:last-child{padding-bottom:0}
.item::before{
  content:"";position:absolute;left:-26px;top:7px;
  width:9px;height:9px;border-radius:50%;
  background:var(--bg);border:2px solid var(--line-strong);box-sizing:border-box;
}
.item.now::before{background:var(--red);border-color:var(--red);box-shadow:0 0 0 4px rgba(226,59,68,.18)}

.when{
  display:block;font-size:12.5px;font-weight:600;letter-spacing:.07em;
  color:var(--fg-dim);font-variant-numeric:tabular-nums;margin-bottom:3px;
}
.item.now .when{color:var(--red)}
.what{display:block;font-size:17px;font-weight:600;line-height:1.4;margin-bottom:2px}
.where{display:block;color:var(--fg-dim);font-size:15px}

/* ---------- публикации ---------- */

.pubs{list-style:none;margin:0;padding:0;display:grid;gap:18px;counter-reset:p}
.pubs li{
  position:relative;
  padding-left:30px;
  font-size:15.5px;
  line-height:1.55;
}
.pubs li::before{
  counter-increment:p;
  content:counter(p);
  position:absolute;left:0;top:1px;
  font-size:12px;font-weight:600;
  color:var(--red-dim);
  font-variant-numeric:tabular-nums;
}
.pub-t{display:block;color:var(--fg);margin-bottom:3px}
.pub-t a{border-bottom-color:var(--line)}
.pub-m{display:block;color:var(--fg-dim);font-size:14px;line-height:1.5}
.pub-m b{color:var(--fg-mid);font-weight:600}

details{margin-top:28px;border-top:1px solid var(--line);padding-top:20px}
summary{
  cursor:pointer;list-style:none;
  font-size:14px;color:var(--fg-dim);
  display:flex;align-items:center;gap:8px;
  user-select:none;
}
summary::-webkit-details-marker{display:none}
summary::before{
  content:"";
  width:6px;height:6px;
  border-right:1.5px solid var(--red);
  border-bottom:1.5px solid var(--red);
  transform:rotate(-45deg);
  transition:transform .2s;
}
details[open] summary::before{transform:rotate(45deg)}
summary:hover{color:var(--red)}
details .inner{padding-top:26px}

/* ---------- профили ---------- */

.profiles{display:flex;flex-wrap:wrap;gap:10px;margin:0;padding:0;list-style:none}
.profiles a{
  display:inline-block;font-size:14.5px;padding:7px 14px;
  border:1px solid var(--line-strong);border-radius:7px;
  background:var(--bg-soft);color:var(--fg-mid);
}
.profiles a:hover{border-color:var(--red);color:var(--red);background:rgba(226,59,68,.08)}

/* ---------- подвал ---------- */

footer{
  margin-top:56px;padding-top:26px;border-top:1px solid var(--line);
  color:var(--fg-dim);font-size:14px;
  display:flex;flex-wrap:wrap;gap:6px 18px;justify-content:space-between;
}

/* ---------- печать ---------- */

@media print{
  body{background:#fff;color:#111;font-size:11pt}
  body::before,.lang{display:none}
  .wrap{padding:0;max-width:none}
  a{color:#111;border:none}
  .field,.item.now .when,.pubs li::before{color:#B32F37}
  .rule,h2::after{background:#B32F37}
  h2,h3{color:#555}
  .lede,.roles li,.where,.when,.pub-m,.tags li{color:#333}
  .mail,.profiles a,.tags li{border-color:#bbb;background:none}
  .item.now::before{box-shadow:none;background:#B32F37;border-color:#B32F37}
  details{border-top-color:#ddd}
  details summary{display:none}
  details .inner{padding-top:0}
  section{page-break-inside:avoid}
  .pubs li{page-break-inside:avoid}
}
