/* news.css v3 — «Новости и аналитика» (/news/ и /news/<slug>/). Шрифты: vcp-fonts.css (Literata / Golos Text), кнопки: vcp-buttons.css (вариант A).
   Шкала 8 px; межгрупповые отступы ≥ 2× внутригрупповых; строки текста 45–75 знаков. Шапка и подвал общие. */
html .nw{
  --nw-navy:#142033; --nw-ink:#3a342c; --nw-muted:#6b665c; --nw-gold:#c6a15b; --nw-line:#e3d6be; --nw-card:#fffdf8; --nw-bg:#f6f2ea; --nw-chip-line:#d8c6a2;
  display:block; padding:61px 0 0; background:var(--nw-bg); color:var(--nw-navy);
}
.nw-wrap{width:100%; max-width:1280px; margin-inline:auto; padding-inline:32px; box-sizing:border-box}
.nw-preview{margin:0; padding:10px 32px; background:#efe2c8; color:var(--nw-navy); font-size:14px; line-height:1.45; text-align:center}

/* ---------- шапка раздела ---------- */
.nw-head{padding-top:48px}
html .nw-head h1{margin:0; font-family:var(--font-display); font-weight:400; font-size:clamp(44px,5vw,72px); line-height:1.06; letter-spacing:-0.02em; color:var(--nw-navy)}
.nw-sub{margin:16px 0 0; max-width:40em; font-size:18px; line-height:1.55; color:var(--nw-ink)}
.nw-chips{display:flex; flex-wrap:wrap; gap:12px; margin:32px 0 0}
html .nw-chip{box-sizing:border-box; display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:var(--btn-h-m,48px); padding:0 20px;
  border:var(--btn-border,1.5px) solid var(--nw-chip-line); border-radius:var(--btn-radius,12px); background:#fffdf8; color:var(--nw-navy);
  font-family:var(--btn-font,var(--font-text)); font-size:var(--btn-fs-m,15px); font-weight:var(--btn-fw-2,500); line-height:1.2; letter-spacing:var(--btn-ls,.01em);
  cursor:pointer; -webkit-tap-highlight-color:transparent; transition:background-color var(--btn-ease,160ms),border-color var(--btn-ease,160ms),color var(--btn-ease,160ms)}
html .nw-chip:hover{border-color:var(--btn-navy,#1a2744)}
html .nw-chip[aria-pressed="true"]{background:var(--btn-navy,#1a2744); border-color:var(--btn-navy,#1a2744); color:#fff}
html .nw-chip:focus-visible{outline:none; box-shadow:var(--btn-ring,0 0 0 2px #fff,0 0 0 4px #1a2744)}
.nw-chip__n{font-size:13px; color:var(--nw-muted); font-variant-numeric:tabular-nums}
.nw-chip[aria-pressed="true"] .nw-chip__n{color:rgba(255,255,255,.72)}

/* ---------- общие части карточек ---------- */
.nw-badge{position:absolute; left:16px; bottom:16px; display:inline-flex; align-items:center; min-height:28px; padding:0 12px; border-radius:8px; box-shadow:0 0 0 1px rgba(255,255,255,.7),0 2px 8px rgba(8,16,31,.28);
  background:var(--nw-navy); color:#fff; font-size:12px; font-weight:600; letter-spacing:.08em; line-height:1; text-transform:uppercase}
.nw-badge--flat{position:static; box-shadow:none}
.nw-meta{margin:0; font-size:14px; line-height:1.45; color:var(--nw-muted); font-variant-numeric:lining-nums}
.nw-more{display:inline-flex; align-items:center; gap:8px; min-height:44px; font-size:15px; font-weight:600; line-height:1.2; color:var(--nw-navy); white-space:nowrap}
.nw-more svg{width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; transition:transform 160ms ease}
.nw-card picture, .nw-row__thumb picture{display:block; width:100%; height:100%}
.nw-card img, .nw-row__thumb img{display:block; width:100%; height:100%; object-fit:cover}

.nw-card{position:relative; display:flex; flex-direction:column; min-width:0; overflow:hidden; background:var(--nw-card); border:1px solid var(--nw-line); border-radius:16px;
  transition:border-color 160ms ease, box-shadow 160ms ease}
.nw-card:hover, .nw-card:focus-within{border-color:var(--nw-gold); box-shadow:0 10px 32px rgba(20,32,51,.08)}
.nw-card:hover .nw-more svg, .nw-row:hover .nw-more svg{transform:translateX(3px)}
.nw-card__media{position:relative; aspect-ratio:16/9; background:#e9e1d2; overflow:hidden}
.nw-card__body{display:flex; flex-direction:column; flex:1; min-width:0; padding:24px 24px 12px}
html .nw-card__title{margin:8px 0 0; font-family:var(--font-display); font-weight:500; font-size:22px; line-height:1.3; letter-spacing:-0.005em; color:var(--nw-navy); overflow-wrap:break-word}
.nw-card__title a{color:inherit; text-decoration:none}
.nw-card__title a::after{content:""; position:absolute; inset:0; border-radius:16px}
.nw-card__title a:focus-visible{outline:none}
.nw-card__title a:focus-visible::after{box-shadow:inset 0 0 0 2px var(--nw-navy)}
.nw-card__lead{margin:12px 0 0; font-size:16px; line-height:1.55; color:var(--nw-ink); display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; line-clamp:3; overflow:hidden}
.nw-card .nw-more{margin-top:auto; padding-top:8px}

/* главная карточка + две боковые */
.nw-top{display:grid; grid-template-columns:minmax(0,1.12fr) minmax(0,1fr); gap:24px; margin-top:40px}
.nw-top__side{display:grid; grid-template-rows:1fr 1fr; gap:24px; min-width:0}
html .nw-card--feat .nw-card__title{font-size:clamp(24px,2.2vw,30px); line-height:1.25}
.nw-card--feat .nw-card__body{padding:24px 28px 16px}
.nw-card--side{flex-direction:row}
.nw-card--side .nw-card__media{flex:0 0 46%; aspect-ratio:auto; min-height:200px}
.nw-card--side .nw-card__body{padding:20px 24px 8px}
html .nw-card--side .nw-card__title{font-size:20px}
.nw-card--side .nw-card__lead{-webkit-line-clamp:2; line-clamp:2; font-size:15px}

/* ---------- последние новости ---------- */
.nw-latest{padding-top:56px; padding-bottom:72px}
html .nw-h2{margin:0; padding-bottom:16px; border-bottom:1px solid var(--nw-line); font-family:var(--font-display); font-weight:400; font-size:clamp(26px,2.4vw,32px); line-height:1.2; color:var(--nw-navy)}
.nw-rows{display:grid; gap:12px; margin:24px 0 0; padding:0; list-style:none}
.nw-row{position:relative; display:grid; grid-template-columns:136px 232px minmax(0,1fr) auto; align-items:center; gap:24px; padding:12px 24px 12px 24px;
  background:var(--nw-card); border:1px solid var(--nw-line); border-radius:14px; transition:border-color 160ms ease, box-shadow 160ms ease}
.nw-row:hover, .nw-row:focus-within{border-color:var(--nw-gold); box-shadow:0 8px 24px rgba(20,32,51,.07)}
.nw-row__date{font-size:15px; line-height:1.4; color:var(--nw-muted); font-variant-numeric:lining-nums}
.nw-row__thumb{position:relative; height:104px; border-radius:10px; overflow:hidden; background:#e9e1d2}
.nw-row__thumb .nw-badge{left:10px; bottom:10px; min-height:24px; padding:0 10px; font-size:11px}
html .nw-row__title{margin:0; font-family:var(--font-display); font-weight:500; font-size:19px; line-height:1.35; color:var(--nw-navy)}
.nw-row__title a{color:inherit; text-decoration:none}
.nw-row__title a::after{content:""; position:absolute; inset:0; border-radius:14px}
.nw-row__title a:focus-visible{outline:none}
.nw-row__title a:focus-visible::after{box-shadow:inset 0 0 0 2px var(--nw-navy)}
.nw-row__lead{margin:6px 0 0; font-size:15px; line-height:1.5; color:var(--nw-ink); display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; line-clamp:2; overflow:hidden}
.nw-empty{margin:24px 0 0; font-size:16px; line-height:1.6; color:var(--nw-muted)}
.nw-empty a{color:var(--nw-navy); text-decoration:underline; text-underline-offset:3px}
.nw-moreb{display:flex; justify-content:center}
html .nw-moreb .sg-btn{margin-top:32px; min-width:220px}
html .nw-moreb .sg-btn[hidden]{display:none}

/* пустой раздел */
.nw-void{max-width:40em; margin:40px 0 0; padding:40px; background:var(--nw-card); border:1px solid var(--nw-line); border-radius:16px}
html .nw-void__h{margin:0; font-family:var(--font-display); font-size:26px; line-height:1.3; color:var(--nw-navy)}
.nw-void__t{margin:12px 0 24px; font-size:16px; line-height:1.6; color:var(--nw-ink)}

/* ---------- полоса подписки ---------- */
.nw-strip{background:#16264a; color:#ededf3; border-bottom:1px solid rgba(237,237,243,.12)}
.nw-strip__in{display:flex; align-items:center; gap:16px 24px; padding-block:24px}
.nw-strip__ico{flex:0 0 28px; width:28px; height:28px; fill:none; stroke:#c6a15b; stroke-width:1.5; stroke-linecap:round}
.nw-strip__text{flex:1; min-width:0; margin:0; max-width:62em; font-size:16px; line-height:1.55}
html .nw-strip__btn{flex:none; gap:10px}
html .nw-strip__btn svg{width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linejoin:round; stroke-linecap:round}

/* ---------- статья ---------- */
.nwa-head{padding-top:40px}
.nwa-crumbs{display:flex; flex-wrap:wrap; gap:8px; font-size:14px; line-height:1.5; color:var(--nw-muted)}
.nwa-crumbs a{display:inline-flex; align-items:center; min-height:44px; margin-block:-12px; color:var(--nw-navy); text-decoration:underline; text-decoration-color:var(--nw-gold); text-underline-offset:4px}
.nwa-meta{display:flex; align-items:center; flex-wrap:wrap; gap:12px 16px; margin:24px 0 0; font-size:15px; color:var(--nw-muted)}
html .nwa-head h1{max-width:22em; margin:16px 0 0; font-family:var(--font-display); font-weight:400; font-size:clamp(34px,3.8vw,52px); line-height:1.15; letter-spacing:-0.015em; color:var(--nw-navy)}
.nwa-lead{max-width:40em; margin:20px 0 0; font-size:19px; line-height:1.6; color:var(--nw-ink)}
.nwa-cover{margin-top:40px; margin-bottom:0}
.nwa-cover picture{display:block; max-width:960px; aspect-ratio:16/9; border-radius:16px; overflow:hidden; background:#e9e1d2}
.nwa-cover img{display:block; width:100%; height:100%; object-fit:cover}
.nwa-cover figcaption{max-width:960px; margin-top:8px; font-size:13px; color:var(--nw-muted)}
.nwa-body{max-width:38em; padding:40px 0 56px; font-size:18px; line-height:1.7; color:var(--nw-ink)}
.nwa-body p{margin:0 0 20px}
.nwa-body > :first-child{margin-top:0}
html .nwa-body h2{margin:40px 0 16px; font-family:var(--font-display); font-weight:500; font-size:26px; line-height:1.3; color:var(--nw-navy)}
.nwa-body strong{color:var(--nw-navy); font-weight:600}
.nwa-body ul{margin:0 0 20px; padding-left:24px}
.nwa-body li{margin:0 0 8px}
.nwa-body li::marker{color:var(--nw-gold)}
.nwa-body blockquote{margin:32px 0; padding:24px 28px; border-left:3px solid var(--nw-gold); background:var(--nw-card); border-radius:0 14px 14px 0}
html .nwa-body blockquote p{margin:0; font-family:var(--font-display); font-size:20px; line-height:1.55; color:var(--nw-navy)}
.nwa-body blockquote footer{margin-top:12px; font-size:15px; color:var(--nw-muted)}
.nwa-src{margin-top:32px!important; padding-top:20px; border-top:1px solid var(--nw-line); font-size:15px; color:var(--nw-muted)}
.nwa-src a{color:var(--nw-navy); text-decoration:underline; text-decoration-color:var(--nw-gold); text-underline-offset:4px}
.nwa-back{margin:32px 0 0!important}
.nwa-also{padding-bottom:72px}
.nwa-rel__grid{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin-top:24px}
.nwa-also .nw-card--side{flex-direction:column}
.nwa-also .nw-card--side .nw-card__media{flex:none; aspect-ratio:16/9; min-height:0}

/* ---------- типы: «Аналитика» и «Коротко» ---------- */
.nw-meta{display:flex; flex-wrap:wrap; align-items:center; gap:0 8px}
.nw-meta__tag::before{content:"·"; margin-right:8px; color:var(--nw-gold)}
html .nw-badge--brief{background:#fffdf8; color:var(--nw-navy); box-shadow:0 0 0 1.5px var(--nw-gold),0 2px 8px rgba(8,16,31,.18)}
html .nw-badge--flat.nw-badge--brief{box-shadow:inset 0 0 0 1.5px var(--nw-gold)}
.nw-card--t-brief{background:#faf6ef}
.nw-card--t-brief:hover, .nw-card--t-brief:focus-within{box-shadow:0 6px 20px rgba(20,32,51,.05)}
html .nw-card--feat.nw-card--t-brief .nw-card__title{font-size:clamp(22px,2vw,26px)}
.nw-card--nocover .nw-card__body > .nw-badge{align-self:flex-start; margin-bottom:12px}
.nw-card--nocover{border-left:3px solid var(--nw-gold)}
.nw-row--t-brief{background:#faf6ef}
.nw-row__thumb--none{display:flex; align-items:center; height:auto; min-height:40px; background:none; border-radius:0; overflow:visible}
.nw-row__thumb--none .nw-badge{position:static}

/* ---------- материал: «Читайте также» + CTA страны ---------- */
.nwa-also .nwa-rel__grid{margin-top:24px}
.nwa-cta{display:flex; align-items:center; justify-content:space-between; gap:16px 32px; margin-top:40px; padding:28px 32px;
  background:#fffdf8; border:1px solid var(--nw-line); border-left:3px solid var(--nw-gold); border-radius:16px}
.nwa-cta__text{min-width:0; max-width:40em}
html .nwa-cta__h{margin:0; font-family:var(--font-display); font-weight:500; font-size:24px; line-height:1.3; color:var(--nw-navy)}
.nwa-cta__t{margin:8px 0 0; font-size:16px; line-height:1.55; color:var(--nw-ink)}
html .nwa-cta__btn{flex:none}
html .nwa-cta__btn::before{content:none; display:none} /* навигационная кнопка: стрелка, без «самолётика» (правило vcp-buttons v2) */
.nwa-also .nwa-back{margin:32px 0 0}
@media (max-width:767px){
  .nwa-cta{flex-direction:column; align-items:stretch; padding:24px 20px}
  html .nwa-cta__h{font-size:22px}
  html .nwa-cta__btn{width:100%}
  .nwa-also{padding-bottom:56px}
}

/* ---------- адаптив ---------- */
@media (max-width:1180px){
  .nw-row{grid-template-columns:120px 200px minmax(0,1fr); gap:20px}
  .nw-row > .nw-more{display:none}
}
@media (max-width:1023px){
  .nw-top{grid-template-columns:minmax(0,1fr)}
  .nw-top__side{grid-template-columns:1fr 1fr; grid-template-rows:auto}
  .nw-card--side{flex-direction:column}
  .nw-card--side .nw-card__media{flex:none; aspect-ratio:16/9; min-height:0}
  .nwa-rel__grid{grid-template-columns:1fr 1fr}
  .nwa-rel__grid > :nth-child(3){display:none}
}
@media (max-width:767px){
  .nw-wrap{padding-inline:24px}
  .nw-head{padding-top:32px}
  .nw-sub{font-size:17px}
  .nw-chips{margin-top:24px}
  .nw-top{margin-top:32px; gap:16px}
  .nw-top__side{grid-template-columns:minmax(0,1fr); gap:16px}
  .nw-card--side{flex-direction:row}
  .nw-card--side .nw-card__media{flex:0 0 38%; aspect-ratio:auto; min-height:0}
  .nw-card--side .nw-card__lead{display:none}
  .nw-card__body, .nw-card--feat .nw-card__body, .nw-card--side .nw-card__body{padding:16px 16px 8px}
  html .nw-card--side .nw-card__title{font-size:18px}
  .nw-latest{padding-top:48px; padding-bottom:56px}
  .nw-row{grid-template-columns:112px minmax(0,1fr); grid-template-areas:"thumb date" "thumb text"; align-items:start; gap:4px 16px; padding:12px}
  .nw-row__thumb{grid-area:thumb; height:auto; aspect-ratio:1/1}
  .nw-row__thumb .nw-badge{left:6px; bottom:6px; min-height:22px; padding:0 8px; font-size:10px; letter-spacing:.06em}
  .nw-row__date{grid-area:date; font-size:14px}
  .nw-row__text{grid-area:text}
  html .nw-row__title{font-size:17px}
  .nw-row__lead{display:none}
  .nw-strip__in{flex-wrap:wrap; padding-block:28px}
  .nw-strip__text{flex-basis:calc(100% - 52px)}
  html .nw-strip__btn{width:100%}
  .nw-void{padding:28px 24px}
  .nwa-lead{font-size:18px}
  .nwa-body{font-size:17px; padding:32px 0 56px}
  .nwa-body blockquote{padding:20px}
  html .nwa-body blockquote p{font-size:18px}
  .nwa-rel__grid{grid-template-columns:minmax(0,1fr); gap:16px}
  .nwa-rel__grid > :nth-child(3){display:flex}
  .nwa-also .nw-card--side{flex-direction:row}
  .nwa-also .nw-card--side .nw-card__media{flex:0 0 38%; aspect-ratio:auto}
}
@media (max-width:520px){
  .nw-chips{display:grid; grid-template-columns:1fr 1fr; gap:8px}
  .nw-chips .nw-chip:first-child{grid-column:1 / 3}
  html .nw-chip{width:100%; padding:0 12px}
  .nw-card--side, .nwa-also .nw-card--side{flex-direction:column}
  .nw-card--side .nw-card__media, .nwa-also .nw-card--side .nw-card__media{flex:none; aspect-ratio:16/9}
  .nw-card--side .nw-card__lead{display:-webkit-box}
  .nw-row{grid-template-columns:96px minmax(0,1fr)}
}
@media (max-width:360px){
  .nw-wrap{padding-inline:20px}
  html .nw-head h1{font-size:40px}
}
@media (prefers-reduced-motion:reduce){.nw-card, .nw-row, .nw-more svg, html .nw-chip{transition:none}}
