/* homade.ru — страницы городов v2 (06.10.2026). Токены берутся из site.css. */
.cv-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1px;margin:28px auto 0;max-width:880px;border:1px solid color-mix(in srgb,var(--line) 70%,transparent);border-radius:20px;overflow:hidden;background:color-mix(in srgb,var(--line) 70%,transparent);text-align:left}
.cv-facts div{background:color-mix(in srgb,var(--surface) 82%,transparent);padding:14px 18px;backdrop-filter:blur(8px)}
.cv-facts dt{font-size:12px;color:var(--muted);font-weight:600;letter-spacing:.02em}
.cv-facts dd{margin:4px 0 0;font-size:15px;font-weight:700;color:var(--ink);line-height:1.35}

.cv-h2{font-family:var(--fd);font-weight:600;font-size:clamp(26px,3.4vw,38px);line-height:1.14;color:var(--ink);margin:14px 0 0;max-width:24ch;text-wrap:balance}
.cv-sub{font-size:17px;line-height:1.7;color:var(--ink-2);max-width:68ch;margin-top:14px}

/* Рынок: заголовок слева, текст справа / либо колонка с врезкой */
.cv-split{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:56px;align-items:start}
.cv-split>.cv-side{position:sticky;top:96px}
.cv-text p{font-size:17px;line-height:1.8;color:var(--ink-2);margin:0 0 18px}
.cv-text .cv-pull{font-family:var(--fb);font-weight:500;font-size:clamp(18px,2vw,20px);line-height:1.7;color:var(--ink);border-left:3px solid var(--brass);padding:2px 0 2px 22px;margin:0 0 26px}
.cv-narrow{max-width:760px;margin:0 auto}

/* Аудитория */
.cv-aud{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-top:36px}
.cv-aud .card h3{margin-top:0;font-size:19px}
.cv-aud .cv-num{font-family:var(--fd);font-size:34px;color:color-mix(in srgb,var(--brass) 70%,transparent);line-height:1}

/* Сезонность */
.cv-season{margin-top:36px;padding:26px;border-radius:26px;border:1px solid var(--line);background:color-mix(in srgb,var(--surface-2) 40%,var(--surface))}
.cv-bars{display:flex;align-items:flex-end;gap:10px;height:170px}
.cv-bar{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:8px;height:100%}
.cv-bar i{display:block;width:100%;border-radius:10px 10px 4px 4px;background:var(--heather)}
.cv-bar.l1 i{height:30%;opacity:.25}.cv-bar.l2 i{height:60%;opacity:.55}.cv-bar.l3 i{height:92%;background:linear-gradient(180deg,var(--brass),var(--heather))}
.cv-bar span{font-size:11.5px;color:var(--muted);font-weight:600}
.cv-legend{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:18px;font-size:13px;color:var(--muted)}
.cv-legend b{display:inline-block;width:12px;height:12px;border-radius:4px;background:var(--heather);vertical-align:-1px;margin-right:6px}
.cv-legend .k1 b{opacity:.25}.cv-legend .k2 b{opacity:.55}.cv-legend .k3 b{background:var(--brass)}

/* Запуск */
.cv-steps{list-style:none;margin:36px 0 0;padding:0;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.cv-steps.cv-rows{grid-template-columns:1fr}
.cv-steps li{position:relative;padding:26px;border-radius:22px;border:1px solid var(--line);background:var(--surface)}
.cv-steps.cv-rows li{display:grid;grid-template-columns:72px 1fr;gap:6px 18px;align-items:start}
.cv-steps .cv-n{font-family:var(--fd);font-size:30px;color:var(--brass-deep);line-height:1}
.cv-steps h3{font-family:var(--fb);font-size:17px;font-weight:700;color:var(--ink);margin:10px 0 6px;line-height:1.35}
.cv-steps.cv-rows h3{margin-top:2px}
.cv-steps p{font-size:15px;line-height:1.7;color:var(--ink-2);margin:0}
.cv-steps.cv-rows p{grid-column:2}

/* Ошибки → решение */
.cv-risks{margin-top:36px;display:grid;gap:14px}
.cv-risk{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:22px;overflow:hidden;background:var(--line);gap:1px}
.cv-risk>div{background:var(--surface);padding:22px 24px;font-size:15.5px;line-height:1.7}
.cv-risk .cv-r{color:var(--ink)}
.cv-risk .cv-f{color:var(--ink-2)}
.cv-risk small{display:block;font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px}
.cv-risk .cv-r small{color:#B4534A}.cv-risk .cv-f small{color:var(--sage)}

@media(max-width:860px){
  .cv-split{grid-template-columns:1fr;gap:20px}.cv-split>.cv-side{position:static}
  .cv-risk{grid-template-columns:1fr}
  .cv-bars{gap:4px;height:140px}.cv-bar span{font-size:10px}
  .cv-steps.cv-rows li{grid-template-columns:1fr}.cv-steps.cv-rows p{grid-column:auto}
}
