:root{
  --blue:#11467d; --blue-d:#0d3762; --ink:#1c2430; --mut:#6b7683;
  --line:#e3e8ef; --bg:#f4f6f9; --accent:#c8102e;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);
  font:16px/1.6 -apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif}
a{color:inherit;text-decoration:none}
a:hover{color:var(--accent)}
img{max-width:100%;display:block}
.wrap{max-width:1180px;margin:0 auto;padding:0 16px}

/* шапка */
.top{background:var(--blue)}
.toprow{display:flex;align-items:center;justify-content:space-between;gap:16px;
  min-height:66px;flex-wrap:wrap}
.logo img{max-height:44px;width:auto;filter:drop-shadow(0 1px 2px rgba(0,0,0,.25))}
.util{display:flex;gap:22px;align-items:center;color:#fff;font-size:13.5px;flex-wrap:wrap;min-width:0}
.util a{color:#fff;font-weight:600}
.util .links{display:flex;flex-wrap:wrap;gap:12px;min-width:0}
.util .links a{margin-left:0;letter-spacing:.03em;font-weight:600}
.util .acct a{font-weight:500;opacity:.95}
.card h3,.article h1,.card p,.latest a{overflow-wrap:anywhere}
.mainnav{background:var(--blue-d);border-bottom:3px solid #0a2c50}
.mainnav .wrap{display:flex;flex-wrap:wrap;gap:2px}
.mainnav a{color:#fff;font-size:14px;font-weight:700;letter-spacing:.04em;
  padding:12px 14px;border-radius:3px 3px 0 0}
.mainnav a:hover{background:#0a2c50;color:#fff}
.mainnav a.active{background:var(--accent)}

/* сетка страницы */
.layout{display:grid;grid-template-columns:1fr 300px;gap:26px;padding:22px 16px 40px;align-items:start}
.main-col{min-width:0}

/* карточки */
.hero{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:16px;margin-bottom:26px}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.card{background:#fff;border:1px solid var(--line);border-radius:6px;overflow:hidden;
  display:flex;flex-direction:column;transition:box-shadow .15s}
.card:hover{box-shadow:0 6px 18px rgba(17,70,125,.12)}
.card-img{display:block;aspect-ratio:16/10;background:#dde3ea;overflow:hidden}
.card-img img{width:100%;height:100%;object-fit:cover}
.card-b{padding:11px 13px 14px;display:flex;flex-direction:column;gap:6px}
.rub{font-size:11px;font-weight:800;letter-spacing:.06em;color:var(--accent)}
.card h3{margin:0;font-size:15.5px;line-height:1.32;font-weight:700}
.card p{margin:0;font-size:13.5px;color:var(--mut);
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.card.big .card-img{aspect-ratio:16/9}
.card.big h3{font-size:20px}

.sect{margin:0 0 28px}
.rub-h{margin:0 0 12px;padding:8px 12px;background:var(--blue);color:#fff;font-size:14px;
  letter-spacing:.06em;border-radius:4px;font-weight:800}
.page-h{margin:0 0 18px;padding:10px 14px;background:var(--blue);color:#fff;font-size:19px;
  letter-spacing:.05em;border-radius:4px}

/* статья */
.article{background:#fff;border:1px solid var(--line);border-radius:6px;padding:20px 22px 26px}
.article h1{margin:6px 0 10px;font-size:29px;line-height:1.24}
.article .lead{font-size:17px;color:#3a4553;font-weight:600;margin:0 0 14px}
.arthero{margin:0 0 18px;border-radius:6px;overflow:hidden;background:#dde3ea}
.arthero img{width:100%;max-height:470px;object-fit:cover}
.artfig{margin:18px 0;border-radius:6px;overflow:hidden;background:#dde3ea}
.artfig img{width:100%;max-height:430px;object-fit:cover}
.article .body p{margin:0 0 14px;font-size:16.5px;line-height:1.68}
.rel{margin:0;padding-left:20px}
.rel li{margin-bottom:7px}

/* сайдбар */
.side{position:sticky;top:14px}
.side-h{margin:0 0 10px;padding:8px 11px;background:var(--blue-d);color:#fff;font-size:13px;
  letter-spacing:.05em;border-radius:4px}
.side .ban{display:block;margin-bottom:12px;border-radius:6px;overflow:hidden;
  border:1px solid var(--line);background:#fff}
.side .ban img{width:100%;height:112px;object-fit:cover}
.latest{margin:0 0 20px;padding-left:18px;font-size:14.5px}
.latest li{margin-bottom:8px}

/* подвал */
.foot{margin-top:10px;background:var(--blue);color:#fff;padding:24px 0}
.foot .wrap{display:flex;gap:26px;flex-wrap:wrap;align-items:center;justify-content:space-between}
.foot .fcol{display:flex;gap:12px;flex-wrap:wrap;font-size:13.5px;font-weight:600}
.foot .muted{opacity:.8;font-weight:400}

@media(max-width:1000px){
  .layout{grid-template-columns:1fr}
  .side{position:static}
  .hero{grid-template-columns:1fr 1fr}
  .cards{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:640px){
  html,body{overflow-x:hidden}
  .hero,.cards{grid-template-columns:1fr}
  .article h1{font-size:22px}
  .toprow{justify-content:center;text-align:center;min-height:auto;padding:10px 0}
  .util{gap:10px;font-size:12px;justify-content:center;width:100%}
  .util .links a{margin-left:8px}
  .mainnav .wrap{justify-content:center;gap:0}
  .mainnav a{padding:10px 8px;font-size:12.5px;letter-spacing:.02em}
  .side .ban img{height:96px}
  .wrap{padding:0 12px}
}
@media(max-width:900px){
  .util{font-size:13px}
  .mainnav a{padding:10px 10px;font-size:13px}
}

/* ==== мобильная шапка: гарантированная укладка (правила в конце файла) ==== */
@media(max-width:760px){
  .toprow{display:block;text-align:center;min-height:auto;padding:8px 0 0}
  .logo{display:inline-block}
  .logo img{max-height:40px}
  .util{display:block;padding:6px 0 10px}
  .util .acct{display:block;font-size:13px;margin-bottom:6px}
  .util .links{display:flex;justify-content:center;gap:14px;flex-wrap:wrap}
  .util .links a{margin:0;font-size:13px}
  .mainnav .wrap{display:flex;justify-content:center;flex-wrap:wrap;gap:0}
  .mainnav a{padding:9px 9px;font-size:12.5px}
  .side .ban img{height:100px}
}
