/* pdp_v2 базовые стили. Вынесены из header.php 14.08.2026 (минус ~117 КБ инлайна
   с каждой карточки ЖК; подключение с ?v=filemtime). НЕ синхронизирован с city-base.css
   (копии разошлись ещё до выноса) — правки вносить сюда. */
:root{
  --navy:#13374f;
  --navy-2:#0a2237;
  --teal:#17b7bf;
  --teal-soft:#e6f7f8;
  --green:#a3d977;
  --green-dark:#163d10;
  --green-press:#8cc55f;
  --bg:#fafafa;
  --bg-cream:#f5f1ea;
  --bg-mint:#eef7f1;
  --bg-sky:#eef5fb;
  --card:#ffffff;
  --ink:#1a2330;
  --ink-2:#3a4754;
  --muted:#6c7785;
  --line:#e6e8ec;
  --shadow: 0 1px 2px rgba(19,55,79,.04), 0 8px 24px rgba(19,55,79,.06);
  --shadow-lg: 0 8px 24px rgba(19,55,79,.08), 0 24px 48px rgba(19,55,79,.10);
  --r-sm:8px; --r-md:14px; --r-lg:20px; --r-xl:28px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;overflow-x:clip;overscroll-behavior:none}
body{
  font-family:'Manrope',system-ui,-apple-system,'Segoe UI',sans-serif;
  font-size:16px; line-height:1.5;
  color:var(--ink); background:var(--bg);
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%; display:block}
a{color:var(--navy); text-decoration:none}
button{font:inherit; cursor:pointer; border:0; background:none}
.container{max-width:1280px; margin:0 auto; padding:0 32px}

/* ===== TOP BAR — синий фирменный, всегда в цвете ===== */
.topbar{
  background:var(--navy);
  color:#fff; font-size:13px; padding:8px 0; position:relative; z-index:51;
}
.topbar .row{display:flex; justify-content:space-between; align-items:center; gap:24px}
.topbar a{color:#fff}
/* V2 NEW: единый слот «Войти / ЛК» в topbar */
.topbar .auth-slot{
  display:inline-flex; align-items:center; gap:6px;
  padding:4px 10px; border-radius:6px;
  background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.14);
  font-weight:500; transition:background .15s, border-color .15s;
}
.topbar .auth-slot:hover{background:rgba(255,255,255,.16); border-color:rgba(255,255,255,.28)}
.topbar .auth-slot svg{flex-shrink:0}

/* V2 13.05: соцссылки на видеоплощадки в topbar */
.topbar .tb-socials{display:inline-flex; gap:6px; margin-right:4px}
.topbar .tb-soc{
  display:inline-flex; align-items:center; justify-content:center;
  width:28px; height:28px; border-radius:6px;
  background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.16);
  color:#fff; transition:background .15s, border-color .15s, transform .15s;
}
.topbar .tb-soc svg{width:14px; height:14px}
.topbar .tb-soc:hover{transform:translateY(-1px)}
/* Все иконки монохромные белые. При hover — фон окрашивается в брендовый цвет каждой площадки */
.topbar .tb-soc.tb-yt:hover{background:#FF0000; border-color:#FF0000}
.topbar .tb-soc.tb-vk:hover{background:#0077FF; border-color:#0077FF}
.topbar .tb-soc.tb-dz:hover{background:#000; border-color:#000}
.topbar .tb-soc.tb-max:hover{background:#3B6BFC; border-color:#3B6BFC}

/* V2 NEW: выделенный телефон в topbar — call-icon + bold + sub «бесплатно» */
.topbar .phone-call{
  display:inline-flex; align-items:center; gap:8px;
  color:#fff; line-height:1.15;
}
.topbar .phone-call .ph-ic{
  width:28px; height:28px; border-radius:50%;
  background:rgba(255,255,255,.16); border:1px solid rgba(255,255,255,.32);
  display:inline-flex; align-items:center; justify-content:center;
  flex-shrink:0; position:relative;
}
.topbar .phone-call .ph-ic svg{width:14px; height:14px; color:#fff}
/* pulse-кольцо вокруг иконки трубки (вариант C) */
.topbar .phone-call .ph-ic::before{
  content:''; position:absolute; inset:-3px; border-radius:50%;
  border:2px solid rgba(255,255,255,.55);
  animation:phone-pulse 2.6s ease-out infinite;
  pointer-events:none;
}
@keyframes phone-pulse{
  0%   {transform:scale(.85); opacity:.0}
  20%  {opacity:.85}
  100% {transform:scale(1.65); opacity:0}
}
.topbar .phone-call .ph-txt{display:flex; flex-direction:column}
.topbar .phone-call .ph-num{font-size:14px; font-weight:800; color:#fff; letter-spacing:.01em}
.topbar .phone-call .ph-sub{font-size:10.5px; font-weight:400; color:rgba(255,255,255,.7); letter-spacing:.02em; margin-top:1px}

/* Pill-телефон в шапке, когда topbar уехал */
body.topbar-hidden .header-meta .phone{
  display:inline-flex; align-items:center; gap:8px;
  padding:8px 14px; border-radius:999px;
  background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.28);
  backdrop-filter:blur(8px);
  font-weight:700; color:#fff; text-shadow:none;
  position:relative;
}
body.topbar-hidden .header-meta .phone svg{width:14px; height:14px; flex-shrink:0; color:#17b7bf}
body.topbar-hidden .header-meta .phone::after{
  content:''; position:absolute; left:7px; top:50%; transform:translateY(-50%);
  width:24px; height:24px; border-radius:50%;
  border:2px solid rgba(23,183,191,.5);
  animation:phone-pulse 2.6s ease-out infinite;
  pointer-events:none;
}
/* Селектор «мой город» в topbar — кликабельный dropdown с тёмно-синим фоном */
.topbar .city-pick{
  position:relative;
  display:inline-flex; align-items:center;
  padding:6px 10px; margin-left:-10px;
  border-radius:8px;
  cursor:pointer;
  transition:background .15s ease;
  outline:none;
}
.topbar .city-pick:hover,
.topbar .city-pick:focus-visible{background:rgba(255,255,255,.08)}
.topbar .city-pick-trigger{display:inline-flex; align-items:center; gap:6px; user-select:none}
.topbar .city-pick svg{width:14px;height:14px}
.topbar .city-pick-caret{width:10px; height:10px; transition:transform .25s ease}
.topbar .city-pick:hover .city-pick-caret,
.topbar .city-pick.open .city-pick-caret,
.topbar .city-pick:focus-within .city-pick-caret{transform:rotate(180deg)}
/* Dropdown в стиле topbar — тёмно-синий фон, белые тексты, плавный open */
.topbar .city-pick-dd{
  position:absolute; top:calc(100% + 6px); left:0;
  min-width:280px;
  background:linear-gradient(180deg, rgba(19,55,79,.98) 0%, rgba(13,42,62,.98) 100%);
  backdrop-filter:blur(14px) saturate(140%);
  -webkit-backdrop-filter:blur(14px) saturate(140%);
  border:1px solid rgba(255,255,255,.08);
  border-radius:14px; padding:8px 0;
  box-shadow:0 16px 48px rgba(0,0,0,.32), 0 4px 12px rgba(0,0,0,.18);
  opacity:0; visibility:hidden; transform:translateY(-6px);
  transition:opacity .22s ease, transform .22s ease, visibility 0s linear .22s;
  z-index:300;
}
.topbar .city-pick:hover .city-pick-dd,
.topbar .city-pick.open .city-pick-dd,
.topbar .city-pick:focus-within .city-pick-dd{
  opacity:1; visibility:visible; transform:translateY(0);
  transition:opacity .22s ease, transform .22s ease, visibility 0s linear 0s;
}
/* «висячий» хитбокс — чтобы при движении мыши вниз dropdown не закрывался */
.topbar .city-pick-dd::before{content:''; position:absolute; left:0; right:0; top:-8px; height:8px}
.topbar .city-pick-item{
  display:flex; justify-content:space-between; align-items:center; gap:16px;
  padding:9px 18px; color:rgba(255,255,255,.92); font-size:14px; font-weight:500;
  transition:background .15s ease, color .15s ease;
}
.topbar .city-pick-item:hover{background:rgba(255,255,255,.08); color:#fff}
.topbar .city-pick-item.is-current{color:#a3d977}
.topbar .city-pick-item-cnt{color:rgba(255,255,255,.55); font-size:12.5px; font-weight:500}
.topbar .city-pick-item.is-current .city-pick-item-cnt{color:rgba(163,217,119,.7)}
.topbar .right{display:flex; gap:24px; align-items:center}
.topbar .phone{font-weight:700; color:#fff}

/* ===== HEADER — прозрачный на старте, синий при scroll ===== */
.header{
  position:sticky; top:0; left:0; right:0; z-index:50;
  background:transparent;
  box-shadow:none;
  transition:background-color .3s ease, box-shadow .3s ease;
}
.header .row{display:flex; align-items:center; gap:32px; padding-top:14px; padding-bottom:14px}
.logo{display:flex; align-items:center; gap:10px}
.logo img{height:30px; width:auto; filter:brightness(0) invert(1) drop-shadow(0 2px 6px rgba(0,0,0,.35)); transition:filter .3s ease}
.nav{display:flex; gap:22px; flex:1; align-items:center; flex-wrap:nowrap}
.nav a{font-weight:500; color:#fff; font-size:15px; opacity:.95; text-shadow:0 1px 4px rgba(0,0,0,.45); transition:text-shadow .3s ease; white-space:nowrap}
.nav a:hover{opacity:1}
/* Выпадающее меню «Города» — появляется в шапке ТОЛЬКО когда topbar уехал (sticky-режим). */
.nav-item.has-dropdown{display:none; position:relative; align-items:center}
body.topbar-hidden .nav-item.has-dropdown{display:inline-flex}
.nav-trigger{
  background:none; border:0; padding:0; cursor:pointer;
  font:inherit; color:#fff; font-weight:500; font-size:15px; opacity:.95;
  text-shadow:0 1px 4px rgba(0,0,0,.45);
  display:inline-flex; align-items:center; gap:4px;
}
body.topbar-hidden .nav-trigger{text-shadow:none}
.nav-trigger:hover{opacity:1}
.nav-caret{width:12px; height:12px; transition:transform .25s ease}
.nav-item.open .nav-caret,
.nav-item:hover .nav-caret,
.nav-item:focus-within .nav-caret{transform:rotate(180deg)}
.nav .nav-dropdown{
  position:absolute; top:calc(100% + 14px); left:-12px;
  min-width:280px;
  background:linear-gradient(180deg, rgba(19,55,79,.98) 0%, rgba(13,42,62,.98) 100%);
  backdrop-filter:blur(14px) saturate(140%);
  -webkit-backdrop-filter:blur(14px) saturate(140%);
  border:1px solid rgba(255,255,255,.08);
  border-radius:14px; padding:8px 0;
  box-shadow:0 16px 48px rgba(0,0,0,.32), 0 4px 12px rgba(0,0,0,.18);
  opacity:0; visibility:hidden; transform:translateY(-6px);
  transition:opacity .22s ease, transform .22s ease, visibility 0s linear .22s;
  z-index:200;
}
.nav-item:hover > .nav-dropdown,
.nav-item.open > .nav-dropdown,
.nav-item:focus-within > .nav-dropdown{
  opacity:1; visibility:visible; transform:translateY(0);
  transition:opacity .22s ease, transform .22s ease, visibility 0s linear 0s;
}
.nav .nav-dropdown::before{content:''; position:absolute; left:0; right:0; top:-14px; height:14px}
.nav .nav-city{
  display:flex; justify-content:space-between; align-items:center; gap:16px;
  padding:9px 18px; color:rgba(255,255,255,.92); font-weight:500; font-size:14px;
  text-shadow:none; opacity:1; transition:background .15s ease, color .15s ease;
}
.nav .nav-city:hover{background:rgba(255,255,255,.08); color:#fff; opacity:1}
.nav .nav-city.is-current{color:#a3d977}
.nav .nav-city-name{color:inherit; text-shadow:none}
.nav .nav-city-cnt{color:rgba(255,255,255,.55); font-size:12.5px; font-weight:500; text-shadow:none}
.nav .nav-city.is-current .nav-city-cnt{color:rgba(163,217,119,.7)}
body.topbar-hidden .nav .nav-trigger{text-shadow:none}
/* V2 NEW: пункт «Аналитика» с замочком (платный раздел) */
.nav .nav-premium{position:relative; display:inline-flex; align-items:center; gap:5px}
/* Tooltip «Скоро станет платным» при наведении на «Аналитика» */
.nav .nav-tip{
  position:absolute; top:calc(100% + 12px); left:50%; transform:translate(-50%, -6px);
  white-space:nowrap;
  background:linear-gradient(180deg, rgba(19,55,79,.98) 0%, rgba(13,42,62,.98) 100%);
  backdrop-filter:blur(14px) saturate(140%);
  -webkit-backdrop-filter:blur(14px) saturate(140%);
  border:1px solid rgba(255,255,255,.08);
  color:#fff; font-size:13px; font-weight:500; text-shadow:none;
  padding:8px 14px; border-radius:10px;
  box-shadow:0 12px 32px rgba(0,0,0,.28), 0 2px 8px rgba(0,0,0,.16);
  opacity:0; visibility:hidden; pointer-events:none;
  transition:opacity .22s ease, transform .22s ease, visibility 0s linear .22s;
  z-index:200;
}
.nav .nav-tip::before{
  content:''; position:absolute; left:50%; top:-5px; transform:translateX(-50%) rotate(45deg);
  width:10px; height:10px;
  background:rgba(19,55,79,.98);
  border-left:1px solid rgba(255,255,255,.08); border-top:1px solid rgba(255,255,255,.08);
}
.nav .nav-premium:hover .nav-tip,
.nav .nav-premium:focus-visible .nav-tip{
  opacity:1; visibility:visible; transform:translate(-50%, 0);
  transition:opacity .22s ease, transform .22s ease, visibility 0s linear 0s;
}
.nav .nav-premium .nav-lock{
  width:12px; height:12px; flex-shrink:0;
  color:#f5b942; opacity:.95;
  filter:drop-shadow(0 1px 2px rgba(0,0,0,.4));
}
body.topbar-hidden .nav .nav-premium .nav-lock{filter:none}
.header .btn-ghost{background:rgba(255,255,255,.12); color:#fff; border-color:rgba(255,255,255,.3); backdrop-filter:blur(8px); text-shadow:0 1px 3px rgba(0,0,0,.3)}
.header .btn-ghost:hover{background:rgba(255,255,255,.2); border-color:rgba(255,255,255,.5)}

/* Когда topbar ушёл — шапка темнеет до синего (слегка прозрачная «плёнка») */
body.topbar-hidden .header{
  background:linear-gradient(180deg, rgba(19,55,79,.88) 0%, rgba(10,34,55,.86) 100%);
  backdrop-filter:blur(14px) saturate(140%);
  -webkit-backdrop-filter:blur(14px) saturate(140%);
  box-shadow:0 4px 16px rgba(0,0,0,.18);
}
body.topbar-hidden .header .logo img{filter:brightness(0) invert(1)}
/* AP-R V2 26.05: sticky header — компактный gap; распределение по всей ширине (как незалипшая шапка, UPD 01.06) */
body.topbar-hidden .header .row{ gap:14px }
body.topbar-hidden .header .nav a{text-shadow:none}
body.topbar-hidden .header .btn-ghost{background:rgba(255,255,255,.08); border-color:rgba(255,255,255,.25); backdrop-filter:none; text-shadow:none}



/* DARK-HEADER-START 2026-05-28 — логотип в фирменных цветах, разделы синие #13374f */
/* Базовое состояние шапки (когда topbar виден): логотип цветной, разделы синие */
.header .logo img{ filter:none !important; }
.header .nav a{ color:#13374f !important; text-shadow:none !important; }
.header .nav a:hover{ color:#0a1d2a !important; opacity:1; }
.header .nav .nav-premium .nav-lock{ filter:none !important; opacity:.7; }
/* Sticky-режим (topbar ушёл): возвращаем белый логотип + белые ссылки */
body.topbar-hidden .header .logo img{ filter:brightness(0) invert(1) !important; }
body.topbar-hidden .header .nav a{ color:#fff !important; }
body.topbar-hidden .header .nav .nav-premium .nav-lock{ filter:brightness(0) invert(1) !important; opacity:.85; }
/* DARK-HEADER-END */

/* === Header-meta — появляется в шапке когда topbar уехал === */
.header-meta{
  display:flex; align-items:center; gap:20px; font-size:13px;
  max-width:0; overflow:hidden; opacity:0;
  transition:max-width .35s ease, opacity .25s ease, margin-right .25s ease;
  margin-right:0;
}
body.topbar-hidden .header-meta{
  max-width:600px; opacity:1; margin-right:8px;
}
.header-meta .city-pick{
  display:inline-flex; align-items:center; gap:6px; cursor:pointer;
  color:rgba(255,255,255,.92); white-space:nowrap;
}
.header-meta .city-pick:hover{color:#fff}
.header-meta .city-pick svg{width:14px; height:14px; flex-shrink:0}
.header-meta .city-pick svg.chev{width:10px; height:10px}
.header-meta .meta-link{color:rgba(255,255,255,.85); white-space:nowrap}
.header-meta .meta-link:hover{color:#fff}
.header-meta .phone{
  display:inline-flex; align-items:center; gap:6px;
  font-weight:700; color:#fff; white-space:nowrap;
}
.header-meta .phone svg{width:14px; height:14px}
.header-meta .divider{width:1px; height:14px; background:rgba(255,255,255,.18)}

/* ===== STICKY FILTER-BAR — плавающий остров с переливом и тенью ===== */
.filter-bar{
  position:fixed; left:0; right:0; top:-200px;
  padding:10px 0; z-index:49;
  transition:top .3s cubic-bezier(.4,0,.2,1);
  pointer-events:none;
}
body.scrolled .filter-bar{top:72px}
.filter-bar .row{
  display:grid; grid-template-columns:1fr 0.85fr 0.65fr 1.05fr 1.05fr 0.95fr auto; gap:6px; align-items:stretch;
  background:linear-gradient(135deg, rgba(247,249,251,.92) 0%, rgba(232,238,244,.88) 50%, rgba(240,244,248,.92) 100%);
  backdrop-filter:blur(18px) saturate(160%);
  -webkit-backdrop-filter:blur(18px) saturate(160%);
  border:1px solid rgba(19,55,79,.08);
  border-radius:14px;
  padding:6px;
  box-shadow:0 12px 32px rgba(19,55,79,.18), 0 2px 8px rgba(19,55,79,.10);
  pointer-events:auto;
}
.filter-cell{
  background:#fff; border:1px solid rgba(19,55,79,.06); border-radius:9px;
  padding:6px 11px 7px; font-size:13px; display:flex; flex-direction:column; justify-content:space-between; gap:2px; min-width:0;
  transition:.15s;
}
.filter-cell.active{background:rgba(163,217,119,.22); box-shadow:inset 0 0 0 1px var(--green); border-color:transparent}
.filter-cell.active .lbl{color:#163d10}
.filter-cell .lbl{font-size:9px; color:var(--muted); text-transform:uppercase; letter-spacing:.04em; font-weight:700; line-height:1.2}
.filter-cell .val{font-weight:700; color:var(--ink); font-size:12.5px; display:flex; align-items:center; justify-content:space-between; gap:6px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; line-height:1.2}
.filter-cell .val svg{width:10px; height:10px; color:var(--muted); flex-shrink:0}
.filter-cell.range{padding:6px 11px 4px; gap:0}
.filter-cell.range .slider{position:relative; height:14px; margin-top:0}
.filter-cell.range .track{position:absolute; left:0; right:0; top:6px; height:3px; background:#dde3ea; border-radius:2px}
.filter-cell.range .track .fill{position:absolute; height:100%; background:var(--green); border-radius:2px}
.filter-cell.range .knob{position:absolute; top:1px; width:11px; height:11px; border-radius:50%; background:#fff; border:2px solid var(--green); box-shadow:0 2px 4px rgba(19,55,79,.18); cursor:grab}
.filter-cell.range .vals{display:flex; justify-content:space-between; font-size:10.5px; color:var(--ink); font-weight:700; line-height:1.1}
.filter-cell.range .vals .sep{color:var(--muted); font-weight:500; margin:0 4px}
.filter-bar .btn-find{
  display:flex; flex-direction:column; justify-content:space-between; align-items:flex-start;
  background:var(--green); color:var(--green-dark);
  border-radius:9px; padding:6px 18px 7px;
  font-weight:800; cursor:pointer; transition:.15s;
  box-shadow:0 4px 12px rgba(163,217,119,.4);
  border:0; font-family:inherit;
}
.filter-bar .btn-find:hover{background:#8cc55f; transform:translateY(-1px)}
.filter-bar .btn-find .l1{font-size:11px; font-weight:700; opacity:.75; line-height:1.1; margin-bottom:1px; letter-spacing:.01em}
.filter-bar .btn-find .l2{font-size:14px; font-weight:800; line-height:1.1; display:flex; align-items:center; gap:5px}
.filter-bar .btn-find .l2 .arrow{transition:transform .15s}
.filter-bar .btn-find:hover .l2 .arrow{transform:translateX(2px)}

/* ===== Mobile/Tablet sticky filter-bar — горизонтальный скролл компактных пилюль ===== */
@media (max-width:1023px){
  .filter-bar{padding:6px 0; top:-160px; background:#fff; border-bottom:1px solid var(--line); pointer-events:auto}
  body.scrolled .filter-bar{top:62px}
  .filter-bar .row{
    display:flex !important; gap:6px !important;
    flex-wrap:nowrap !important;
    grid-template-columns:none !important;
    overflow-x:auto; overflow-y:hidden;
    -webkit-overflow-scrolling:touch; scrollbar-width:none;
    padding:6px 10px;
    border-radius:0; border-left:0; border-right:0;
    box-shadow:0 6px 18px rgba(19,55,79,.14);
  }
  .filter-bar .row::-webkit-scrollbar{display:none}
  .filter-bar .filter-cell, .filter-bar .hfb-cell{
    flex:0 0 auto !important;
    min-width:0; max-width:none;
    padding:6px 12px !important; height:38px !important;
    flex-direction:row !important; align-items:center !important; gap:8px !important;
    border-radius:999px !important;
  }
  .filter-bar .filter-cell .lbl, .filter-bar .hfb-cell .lbl{
    font-size:9.5px; line-height:1.1; margin:0;
    text-transform:uppercase; letter-spacing:.04em;
  }
  .filter-bar .filter-cell .val, .filter-bar .hfb-cell .val{
    font-size:13px; line-height:1.1; gap:4px;
  }
  .filter-bar .filter-cell .val svg, .filter-bar .hfb-cell .val svg{width:9px; height:9px}
  .filter-bar .filter-cell.range, .filter-bar .hfb-cell.range{padding:6px 12px !important; gap:8px !important; flex-direction:row !important}
  .filter-bar .filter-cell.range .slider, .filter-bar .hfb-cell.range .slider{display:none !important}
  .filter-bar .filter-cell.range .vals, .filter-bar .hfb-cell.range .vals{display:flex; gap:2px; font-size:13px; font-weight:700}
  .filter-bar .filter-cell.range .vals .sep, .filter-bar .hfb-cell.range .vals .sep{margin:0 2px}
  .filter-bar .btn-find, .filter-bar .hfb-cta{
    flex:0 0 auto !important;
    padding:0 12px !important; height:32px !important;
    flex-direction:row !important; align-items:center !important; gap:5px !important;
    border-radius:999px !important;
    box-shadow:0 2px 6px rgba(163,217,119,.45);
  }
  .filter-bar .btn-find .l1, .filter-bar .hfb-cta .l1{display:none !important}
  /* На мобиле числа НЕ показываем — только «Найти 🔍» */
  .filter-bar .btn-find .l2, .filter-bar .hfb-cta .l2{
    font-size:0 !important; line-height:0 !important;
    display:inline-flex !important; align-items:center !important; gap:5px !important;
  }
  .filter-bar .btn-find .l2 .arrow, .filter-bar .hfb-cta .l2 .arrow,
  .filter-bar .btn-find .l2 .cta-zhk, .filter-bar .hfb-cta  .l2 .cta-zhk,
  .filter-bar .btn-find .l2 .cta-flats, .filter-bar .hfb-cta  .l2 .cta-flats,
  .filter-bar .hfb-cta  .l2 .loading{display:none !important}
  .filter-bar .btn-find .l2::before, .filter-bar .hfb-cta .l2::before{
    content:'Найти'; font-size:13px; font-weight:800; line-height:1; color:var(--green-dark);
    letter-spacing:.01em;
  }
  .filter-bar .btn-find::after, .filter-bar .hfb-cta::after{
    content:''; width:13px; height:13px; flex-shrink:0; margin-left:2px;
    background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23163d10' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><circle cx='11' cy='11' r='8'/><path d='m21 21-4.3-4.3'/></svg>");
    background-size:contain; background-repeat:no-repeat;
  }
}
/* ====== /Mobile/Tablet sticky filter-bar ====== */

/* ===== Desktop sticky filter-bar — кнопка в 2 строки «Найти N ЖК / M квартир 🔍» ===== */
@media (min-width:1024px){
  .filter-bar .btn-find, .filter-bar .hfb-cta{
    flex-direction:row !important;
    align-items:center !important;
    gap:10px !important;
    padding:6px 18px !important;
    min-height:0; height:auto !important;
  }
  .filter-bar .btn-find .l1, .filter-bar .hfb-cta .l1{display:none !important}
  .filter-bar .btn-find .l2, .filter-bar .hfb-cta .l2{
    display:inline-flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    gap:1px !important;
    font-size:0 !important;
    line-height:1 !important;
  }
  .filter-bar .btn-find .l2 .arrow, .filter-bar .hfb-cta .l2 .arrow{display:none !important}
  .filter-bar .btn-find .l2 .cta-zhk,
  .filter-bar .hfb-cta  .l2 .cta-zhk,
  .filter-bar .hfb-cta  .l2 .loading{
    font-size:15px; font-weight:800; line-height:1.1; color:var(--green-dark);
    white-space:nowrap;
  }
  .filter-bar .btn-find .l2 .cta-zhk::before,
  .filter-bar .hfb-cta  .l2 .cta-zhk::before,
  .filter-bar .hfb-cta  .l2 .loading::before{content:'Найти '; font-weight:800}
  .filter-bar .btn-find .l2 .cta-flats,
  .filter-bar .hfb-cta  .l2 .cta-flats{
    font-size:11.5px; font-weight:600; opacity:.65; line-height:1;
    color:var(--green-dark); white-space:nowrap;
  }
  .filter-bar .btn-find::after, .filter-bar .hfb-cta::after{
    content:''; width:15px; height:15px; flex-shrink:0; margin-left:4px;
    background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23163d10' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><circle cx='11' cy='11' r='8'/><path d='m21 21-4.3-4.3'/></svg>");
    background-size:contain; background-repeat:no-repeat;
  }
}
/* ====== /Desktop sticky filter-bar two-line ====== */

/* ===== Tablet landscape (1024..1199): sticky filter в 1 строку, отменяем wrap кнопки ===== */
@media (min-width:1024px) and (max-width:1199px){
  .filter-bar .row{
    grid-template-columns:0.95fr 0.78fr 0.55fr 1fr 1fr 0.85fr auto !important;
    gap:5px !important;
  }
  .filter-bar .hfb-cta, .filter-bar .btn-find{
    grid-column:auto !important;
    padding:6px 14px !important;
    min-width:0 !important;
    width:auto !important;
  }
  .filter-bar .hfb-cell, .filter-bar .filter-cell{padding:5px 9px 6px}
  .filter-bar .hfb-cell .lbl, .filter-bar .filter-cell .lbl{font-size:9px}
  .filter-bar .hfb-cell .val, .filter-bar .filter-cell .val{font-size:12px}
  .filter-bar .hfb-cell.range, .filter-bar .filter-cell.range{padding:5px 9px 4px}
  .filter-bar .hfb-cell.range .vals,
  .filter-bar .filter-cell.range .vals{font-size:10px}
  /* Кнопка в 1 строку, без второй мелкой подписи */
  .filter-bar .hfb-cta .l2 .cta-flats,
  .filter-bar .btn-find .l2 .cta-flats{display:none}
  .filter-bar .hfb-cta .l2 .cta-zhk,
  .filter-bar .btn-find .l2 .cta-zhk{font-size:13.5px}
  .filter-bar .hfb-cta::after,
  .filter-bar .btn-find::after{width:13px; height:13px}
}
/* ====== /Tablet landscape sticky filter ====== */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  padding:12px 22px; border-radius:12px; font-weight:600; font-size:15px;
  border:1px solid transparent; transition:.15s; cursor:pointer;
  white-space:nowrap;
}
.btn-primary{background:var(--green); color:var(--green-dark); border-color:var(--green)}
.btn-primary:hover{background:var(--green-press); border-color:var(--green-press)}
.btn-ghost{background:transparent; color:#fff; border-color:rgba(255,255,255,.4)}
.btn-ghost:hover{border-color:#fff; background:rgba(255,255,255,.08)}
.btn-ghost-dark{background:#fff; color:var(--navy); border-color:var(--line)}
.btn-ghost-dark:hover{border-color:var(--navy)}
.btn-navy{background:var(--navy); color:#fff}
.btn-navy:hover{background:var(--navy-2)}
.btn-lg{padding:16px 28px; font-size:16px}

/* ===== HERO — наезжает под шапку, фото видно сквозь прозрачную шапку ===== */
.hero{
  position:relative;
  min-height:720px;
  background:#0a2237 url('/bitrix/templates/main_v2/assets/forma.jpg') center 40% / cover no-repeat;
  color:#fff;
  display:flex; flex-direction:column; justify-content:flex-end;
  margin-top:-96px;       /* поднимаем под topbar+header (~96px) */
  padding-top:140px;       /* возвращаем content вниз */
  padding-bottom:48px;
  overflow:hidden;
}
.hero::before{
  content:''; position:absolute; inset:0;
  /* V2 усилен: больше тёмного в зоне H1 (top 25-55%) — текст контрастнее */
  background:linear-gradient(180deg, rgba(10,34,55,.45) 0%, rgba(10,34,55,.55) 22%, rgba(10,34,55,.65) 48%, rgba(10,34,55,.78) 72%, rgba(10,34,55,.95) 100%);
}
.hero::after{
  content:''; position:absolute; inset:0;
  /* V2 усилен левый затемнитель — фокус на тексте слева */
  background:linear-gradient(90deg, rgba(10,34,55,.62) 0%, rgba(10,34,55,.42) 35%, rgba(10,34,55,.18) 65%, transparent 90%);
  pointer-events:none;
}
.hero .container{position:relative; z-index:2; width:100%}
.hero-eyebrow{
  display:inline-flex; align-items:center; gap:8px;
  background:rgba(10,34,55,.72); backdrop-filter:blur(16px);
  padding:9px 18px; border-radius:999px;
  font-size:13px; font-weight:600; letter-spacing:.02em;
  border:1px solid rgba(255,255,255,.22); color:#fff;
  box-shadow:0 4px 16px rgba(0,0,0,.25);
}
.hero-eyebrow .dot{width:8px; height:8px; border-radius:50%; background:var(--green); box-shadow:0 0 0 4px rgba(163,217,119,.35)}
.hero h1{
  font-size:60px; line-height:1.06; font-weight:800;
  margin:18px 0 14px; max-width:1200px; letter-spacing:-.02em;
  text-shadow:0 4px 24px rgba(0,0,0,.75), 0 2px 6px rgba(0,0,0,.55);
}
.hero h1 em{color:var(--green); font-style:normal; text-shadow:0 4px 24px rgba(0,0,0,.75), 0 2px 6px rgba(0,0,0,.55)}
.hero-sub{
  font-size:18px; font-weight:500; color:rgba(255,255,255,.96); max-width:720px; margin-bottom:28px; line-height:1.45;
  text-shadow:0 2px 12px rgba(0,0,0,.65);
}

/* ===== HERO FILTER (glass card) ===== */
.hero-filter{
  background:rgba(255,255,255,.96);
  backdrop-filter:blur(20px);
  border-radius:20px;
  padding:20px;
  display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr auto; gap:12px;
  box-shadow:0 24px 60px rgba(0,0,0,.25);
  max-width:1080px;
  align-items:end;
}
.hf-cell{display:flex; flex-direction:column; gap:6px; padding:8px 14px}
.hf-cell .lbl{font-size:11px; color:var(--muted); text-transform:uppercase; letter-spacing:.05em; font-weight:600}
.hf-cell select, .hf-cell .val{
  background:transparent; border:0; font:inherit; font-size:15px; font-weight:600; color:var(--ink);
  cursor:pointer; appearance:none;
  display:flex; align-items:center; justify-content:space-between; gap:8px;
}
.hf-cell .val svg{width:14px; height:14px; color:var(--muted)}
.hf-cell + .hf-cell{border-left:1px solid var(--line)}
.hero-filter .btn{padding:18px 28px; font-size:16px}
.hero-secondary{
  margin-top:20px; display:flex; align-items:center; gap:18px; font-size:14px; color:rgba(255,255,255,.95);
  text-shadow:0 2px 8px rgba(0,0,0,.5);
}
.hero-secondary a{color:#fff; text-decoration:underline; text-underline-offset:3px; font-weight:500}
.hero-secondary .div{width:1px; height:14px; background:rgba(255,255,255,.4)}
.hero-stats{
  display:flex; gap:36px; margin-top:auto; padding-top:24px;
  border-top:1px solid rgba(255,255,255,.28);
  align-items:center;
}
.hero-stats .s .n{font-size:28px; font-weight:800; color:#fff; letter-spacing:-.01em; text-shadow:0 2px 12px rgba(0,0,0,.55)}
.hero-stats .s .l{font-size:13px; color:rgba(255,255,255,.85); text-shadow:0 1px 6px rgba(0,0,0,.4)}

/* V2 NEW: Social-proof ribbon в hero (фото менеджеров + Я.Карты) */
.hero-social{
  margin-left:auto; display:flex; align-items:center; gap:16px;
  color:#fff; text-shadow:0 1px 6px rgba(0,0,0,.45);
}
.hero-social .avas{display:flex; align-items:center}
.hero-social .avas span{
  width:44px; height:44px; border-radius:50%; border:2px solid #fff; margin-left:-12px;
  background-size:cover; background-position:center top;
  box-shadow:0 2px 8px rgba(0,0,0,.35);
}
.hero-social .avas span:first-child{margin-left:0}
.hero-social .avas .more{
  width:44px; height:44px; border-radius:50%; border:2px solid #fff; margin-left:-12px;
  background:rgba(255,255,255,.18); backdrop-filter:blur(8px);
  display:inline-flex; align-items:center; justify-content:center;
  color:#fff; font-size:12px; font-weight:700; letter-spacing:.02em;
  text-shadow:none; box-shadow:0 2px 8px rgba(0,0,0,.35);
}
.hero-social .txt{display:flex; flex-direction:column; line-height:1.3; gap:2px}
.hero-social .txt .top{
  font-size:13.5px; font-weight:600; color:#fff;
  display:inline-flex; align-items:center; gap:6px; flex-wrap:wrap;
}
.hero-social .txt .top .src-logo{width:14px; height:14px; flex-shrink:0; filter:drop-shadow(0 1px 2px rgba(0,0,0,.4))}
.hero-social .txt .top .src-name{font-size:12.5px; font-weight:600; color:rgba(255,255,255,.88); letter-spacing:.01em}
.hero-social .txt .top .stars{color:#f5b942; font-size:15px; line-height:1; margin-left:2px}
.hero-social .txt .top b{font-size:14px; font-weight:800; color:#fff; letter-spacing:.01em}
.hero-social .txt .top .dot-sep{color:rgba(255,255,255,.5); margin:0 1px}
.hero-social .txt .top .rev-count{font-size:13px; font-weight:500; color:rgba(255,255,255,.92)}
.hero-social .txt .bot{font-size:11.5px; color:rgba(255,255,255,.72); font-weight:400; letter-spacing:.01em}

/* ===== HERO FILTER B — пресеты + расширяемый ===== */
.hfb-wrap{position:relative}
.hfb-presets{display:flex; flex-wrap:wrap; gap:8px; margin-bottom:14px}
.hfb-preset{
  background:rgba(255,255,255,.10); border:1px solid rgba(255,255,255,.22);
  backdrop-filter:blur(10px);
  color:#fff; padding:9px 16px; border-radius:999px;
  font-size:13px; font-weight:600; cursor:pointer; transition:.15s;
  display:inline-flex; align-items:center; gap:8px;
  font-family:inherit; text-shadow:0 1px 3px rgba(0,0,0,.3);
}
.hfb-preset:hover{background:rgba(255,255,255,.18); border-color:rgba(255,255,255,.32)}
.hfb-preset.active{background:var(--green); color:var(--green-dark); border-color:var(--green); font-weight:700; text-shadow:none}
.hfb-preset .ic{width:14px; height:14px; opacity:.85; display:inline-flex; flex-shrink:0}
.hfb-preset .ic svg{width:100%; height:100%}
.hfb-preset .ct{
  font-size:11px; font-weight:700; opacity:.7;
  background:rgba(255,255,255,.18); padding:2px 7px; border-radius:6px;
}
.hfb-preset.active .ct{background:rgba(22,61,16,.18); color:var(--green-dark); opacity:1}

.hfb-main{
  background:rgba(255,255,255,.98);
  backdrop-filter:blur(20px);
  border-radius:16px; padding:8px;
  display:grid;
  grid-template-columns:0.95fr 0.85fr 0.65fr 1.05fr 1.05fr 0.95fr auto;
  gap:8px; align-items:stretch;
  box-shadow:0 1px 2px rgba(19,55,79,.06), 0 22px 48px rgba(0,0,0,.30);
}
.hfb-cell{
  padding:7px 12px 8px; background:#f4f7fa; border-radius:10px;
  display:flex; flex-direction:column; justify-content:space-between; gap:2px; min-width:0;
  transition:.15s;
}
.hfb-cell.active{background:rgba(163,217,119,.22); box-shadow:inset 0 0 0 1px var(--green)}
.hfb-cell.active .lbl{color:#163d10}
.hfb-cell .lbl{font-size:10px; color:var(--muted); text-transform:uppercase; letter-spacing:.05em; font-weight:700; line-height:1.2}
.hfb-cell .val{
  font-weight:700; color:var(--ink); font-size:13.5px; line-height:1.2;
  display:flex; align-items:center; justify-content:space-between; gap:6px;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.hfb-cell .val svg{width:11px; height:11px; color:var(--muted); flex-shrink:0}

.hfb-cell.range{padding:7px 12px 5px; gap:0}
.hfb-cell.range .slider{position:relative; height:16px; margin-top:0}
.hfb-cell.range .track{position:absolute; left:0; right:0; top:7px; height:3px; background:#dde3ea; border-radius:2px}
.hfb-cell.range .track .fill{position:absolute; height:100%; background:var(--green); border-radius:2px}
.hfb-cell.range .knob{
  position:absolute; top:2px; width:12px; height:12px; border-radius:50%;
  background:#fff; border:2px solid var(--green);
  box-shadow:0 2px 6px rgba(19,55,79,.18); cursor:grab;
}
.hfb-cell.range .vals{display:flex; justify-content:space-between; font-size:11.5px; color:var(--ink); font-weight:700; line-height:1.1}
.hfb-cell.range .vals .sep{color:var(--muted); font-weight:500; margin:0 4px}

.hfb-cta{
  display:flex; flex-direction:column; justify-content:space-between; align-items:flex-start;
  background:var(--green); color:var(--green-dark);
  border-radius:10px; padding:7px 20px 8px;
  font-weight:800; cursor:pointer; transition:.15s;
  box-shadow:0 6px 16px rgba(163,217,119,.45);
  border:0; font-family:inherit; min-width:140px;
}
.hfb-cta:hover{background:#8cc55f; transform:translateY(-1px); box-shadow:0 10px 22px rgba(163,217,119,.55)}
.hfb-cta .l1{font-size:11px; font-weight:700; opacity:.75; line-height:1.2; margin-bottom:1px; letter-spacing:.01em}
.hfb-cta .l2{font-size:15px; font-weight:800; line-height:1.2; display:flex; align-items:center; gap:6px}
.hfb-cta .l2 .arrow{transition:transform .15s}
.hfb-cta:hover .l2 .arrow{transform:translateX(3px)}

.hfb-actions{margin-top:10px}
.hfb-map-btn{
  width:100%;
  display:flex; align-items:center; gap:10px;
  background:rgba(255,255,255,.10); border:1px solid rgba(255,255,255,.24);
  backdrop-filter:blur(10px);
  color:#fff; padding:12px 18px; border-radius:12px;
  font-family:inherit; font-weight:700; font-size:14px;
  cursor:pointer; transition:.15s; text-align:left;
  text-shadow:0 1px 3px rgba(0,0,0,.3);
}
.hfb-map-btn:hover{background:rgba(255,255,255,.18); border-color:rgba(255,255,255,.36); transform:translateY(-1px)}
.hfb-map-btn .map-ic{
  width:36px; height:36px; border-radius:9px; flex-shrink:0;
  background:linear-gradient(135deg, var(--teal) 0%, #1a5290 100%);
  display:flex; align-items:center; justify-content:center; color:#fff;
  box-shadow:0 4px 10px rgba(23,183,191,.4);
}
.hfb-map-btn .map-ic svg{width:18px; height:18px}
.hfb-map-btn .copy{display:flex; flex-direction:column; gap:1px; min-width:0}
.hfb-map-btn .copy .t{font-size:14px; font-weight:800; line-height:1.1; text-shadow:none}
.hfb-map-btn .copy .s{font-size:11.5px; color:rgba(255,255,255,.72); font-weight:500; line-height:1.2}
.hfb-map-btn .arrow{margin-left:auto; opacity:.6; transition:.15s}
.hfb-map-btn .arrow svg{width:14px; height:14px}
.hfb-map-btn:hover .arrow{opacity:1; transform:translateX(3px)}

.hfb-foot{
  margin-top:14px; display:flex; gap:16px; flex-wrap:wrap; align-items:center;
  color:rgba(255,255,255,.78); font-size:12.5px;
  text-shadow:0 1px 3px rgba(0,0,0,.3);
}
.hfb-foot .live{display:inline-flex; align-items:center; gap:6px; color:#a3d977; font-weight:700}
.hfb-foot .live::before{content:''; width:8px; height:8px; border-radius:50%; background:var(--green); box-shadow:0 0 0 4px rgba(163,217,119,.25); animation:pulse 1.8s infinite}
.hfb-foot .sep{opacity:.4}
.hfb-foot a{color:rgba(255,255,255,.95); text-decoration:underline; text-decoration-color:rgba(255,255,255,.35); text-underline-offset:3px}
.hfb-foot a:hover{text-decoration-color:rgba(255,255,255,.85)}
@keyframes pulse{0%,100%{transform:scale(1); opacity:1} 50%{transform:scale(1.3); opacity:.6}}

@media (max-width:1199px){
  .hfb-main{grid-template-columns:repeat(6, 1fr); gap:8px}
  .hfb-cta{grid-column:1 / -1; padding:10px 18px; min-width:auto; flex-direction:row; align-items:center; justify-content:center; gap:8px}
  .hfb-cta .l1{display:inline; margin-bottom:0}
  .hfb-cta .l2{display:inline}
}
@media (max-width:1023px){
  .hfb-main{grid-template-columns:1fr 1fr 1fr; gap:8px; padding:12px}
  .hfb-cell.range{grid-column:span 1}
}
@media (max-width:760px){
  .hfb-preset{font-size:12px; padding:7px 12px}
  .hfb-main{grid-template-columns:1fr 1fr; padding:10px; gap:6px}
  .hfb-cell{padding:8px 10px}
  .hfb-cell .val{font-size:12.5px}
  .hfb-cell.range{grid-column:1 / -1}
  .hfb-cta{padding:14px; flex-direction:row; align-items:center; justify-content:center; gap:6px}
  .hfb-cta .l1{font-size:12px; opacity:.85}
  .hfb-cta .l2{font-size:14px}
  .hfb-map-btn{padding:10px 14px}
  .hfb-map-btn .copy .t{font-size:13px}
  .hfb-map-btn .copy .s{font-size:10.5px}
}

/* ===== SECTIONS ===== */
section{padding:84px 0}
section.tone-cream{background:var(--bg-cream)}
section.tone-mint{background:var(--bg-mint)}
section.tone-sky{background:var(--bg-sky)}
section.tone-white{background:#fff}
section.tone-navy{background:var(--navy); color:#fff}
section.tone-navy h2, section.tone-navy h3{color:#fff}
.section-head{display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:36px; gap:24px; flex-wrap:wrap}
h2{font-size:42px; font-weight:700; color:var(--navy); margin:0; letter-spacing:-.015em; line-height:1.1}
.section-head .sub{color:var(--muted); margin-top:8px; font-size:16px; max-width:640px}
.section-head .right{color:var(--muted); font-size:14px}
.section-eyebrow{
  display:inline-block; font-size:13px; font-weight:700; color:var(--teal);
  text-transform:uppercase; letter-spacing:.08em; margin-bottom:10px;
}

/* ===== CITIES TILES ===== */
.cities{display:grid; grid-template-columns:repeat(4,1fr); gap:18px}
.city{
  position:relative; aspect-ratio:5/6; border-radius:var(--r-lg); overflow:hidden;
  cursor:pointer; transition:.25s; box-shadow:var(--shadow);
  background:#cfd5dc;
}
.city:hover{transform:translateY(-4px); box-shadow:var(--shadow-lg)}
.city img{width:100%; height:100%; object-fit:cover; transition:.4s}
.city:hover img{transform:scale(1.05)}
.city.placeholder{display:block}
.city.placeholder svg.silhouette{
  position:absolute; left:0; right:0; bottom:0; width:100%; height:55%;
  fill:rgba(255,255,255,.18); pointer-events:none;
}
.city.placeholder .photo-soon{
  position:absolute; right:14px; top:14px; z-index:3;
  background:rgba(255,255,255,.92); color:var(--ink-2);
  padding:5px 11px; border-radius:6px; font-size:11px; font-weight:600;
}
.city.sochi{background:linear-gradient(160deg, #ffc187 0%, #ed7e3a 60%, #b04d1f 100%)}
.city.gelendzhik{background:linear-gradient(160deg, #a4d8d9 0%, #4d9ea0 55%, #205e60 100%)}
.city.tuapse{background:linear-gradient(160deg, #b0d3a0 0%, #6e9a5a 55%, #2f5b25 100%)}
.city-overlay{
  position:absolute; left:0; right:0; bottom:0;
  padding:22px 22px 20px; color:#fff;
  background:linear-gradient(180deg, transparent 0%, rgba(10,34,55,.92) 100%);
  z-index:2;
}
.city-name{font-size:24px; font-weight:700; letter-spacing:-.005em; margin:0}
.city-meta{display:flex; justify-content:space-between; align-items:flex-end; margin-top:10px; font-size:13px; opacity:.92}
.city-meta .price{font-weight:700; font-size:15px}
.city-arrow{
  position:absolute; right:16px; top:16px; z-index:3;
  width:36px; height:36px; border-radius:50%;
  background:rgba(255,255,255,.95); color:var(--navy);
  display:flex; align-items:center; justify-content:center;
  transition:.2s; opacity:0; transform:translateX(-6px);
}
.city:hover .city-arrow{opacity:1; transform:translateX(0)}
.city-arrow svg{width:16px; height:16px}
.city-soon{
  position:absolute; right:14px; top:14px; z-index:3;
  background:var(--green); color:var(--green-dark); padding:6px 12px; border-radius:999px;
  font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.05em;
}
/* V2 NEW: плитка «+5 городов» */
.city.city-more{
  background:linear-gradient(135deg, var(--navy) 0%, #0f2a3d 100%);
  display:flex; align-items:center; justify-content:center;
  position:relative; overflow:hidden;
  border:1px solid rgba(255,255,255,.08);
}
.city.city-more::before{
  content:''; position:absolute; inset:0;
  background:radial-gradient(circle at 20% 30%, rgba(23,183,191,.18), transparent 60%);
  pointer-events:none;
}
.city.city-more .city-more-inner{
  position:relative; text-align:center; padding:24px;
  display:flex; flex-direction:column; align-items:center; gap:6px;
}
.city.city-more .city-more-num{
  font-size:64px; font-weight:800; line-height:1; color:#fff; letter-spacing:-.02em;
  text-shadow:0 2px 12px rgba(0,0,0,.4);
}
.city.city-more .city-more-label{
  font-size:14px; font-weight:600; color:rgba(255,255,255,.92); letter-spacing:.02em;
}
.city.city-more .city-more-sub{
  margin-top:8px; font-size:12.5px; color:#17b7bf; font-weight:600; letter-spacing:.01em;
}
.city.city-more:hover{transform:translateY(-2px); transition:transform .25s}
.city.city-more:hover .city-more-sub{color:#fff}
.city.city-more .city-arrow,
.city.city-more .city-overlay{display:none}

.cities-aux{
  margin-top:18px; padding:18px 24px; border-radius:var(--r-md);
  background:#fff; border:1px dashed var(--line);
  display:flex; justify-content:space-between; align-items:center; gap:18px;
}
.cities-aux .t{font-size:14px; color:var(--ink-2)}
.cities-aux .t b{color:var(--navy)}

/* ===== ANALYTICS PROMO ===== */
.analytics-promo .section-head .sub b{color:var(--navy); font-weight:700}
.an-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px}
.an-card{
  background:#fff; border:1px solid rgba(19,55,79,.10); border-radius:var(--r-lg);
  padding:24px 24px 22px; text-align:left; cursor:pointer;
  transition:.2s; box-shadow:0 1px 2px rgba(19,55,79,.04), 0 10px 28px rgba(19,55,79,.10);
  display:flex; flex-direction:column; gap:14px; font:inherit;
  position:relative; overflow:hidden;
}
.an-card::after{
  content:''; position:absolute; inset:auto 0 0 0; height:3px;
  background:linear-gradient(90deg, var(--teal) 0%, var(--green) 100%);
  transform:scaleX(0); transform-origin:left; transition:transform .3s ease;
}
.an-card:hover{transform:translateY(-3px); box-shadow:0 1px 2px rgba(19,55,79,.04), 0 20px 44px rgba(19,55,79,.18); border-color:rgba(23,183,191,.4)}
.an-card:hover::after{transform:scaleX(1)}
.an-eyebrow{
  font-size:11px; color:var(--teal); font-weight:700;
  text-transform:uppercase; letter-spacing:.07em;
}
.an-title{font-size:20px; font-weight:700; color:var(--navy); line-height:1.2; letter-spacing:-.005em}
.an-chart{height:148px; background:linear-gradient(180deg, var(--bg) 0%, #fff 100%); border-radius:12px; padding:14px; position:relative; overflow:hidden}
.an-chart svg{width:100%; height:100%; display:block}
.an-meta{font-size:12px; color:var(--muted); display:flex; align-items:center; gap:7px}
.an-pulse{
  display:inline-block; width:7px; height:7px; border-radius:50%;
  background:var(--green); box-shadow:0 0 0 3px rgba(163,217,119,.35);
  animation:anpulse 2s ease-in-out infinite;
}
@keyframes anpulse{
  0%, 100%{box-shadow:0 0 0 3px rgba(163,217,119,.35)}
  50%{box-shadow:0 0 0 6px rgba(163,217,119,.18)}
}
.an-cta{
  font-size:14px; font-weight:600; color:var(--teal);
  margin-top:auto; padding-top:6px; border-top:1px dashed var(--line);
  display:flex; flex-direction:column; gap:2px;
}
.an-cta-sub{font-size:12px; font-weight:500; color:var(--muted)}
.an-foot{
  margin-top:28px; padding:18px 24px; border-radius:var(--r-md);
  background:#fff; border:1px solid var(--line);
  display:flex; justify-content:space-between; align-items:center; gap:24px; flex-wrap:wrap;
}
.an-foot-stats{display:flex; align-items:center; gap:18px; flex-wrap:wrap; font-size:13px; color:var(--ink-2)}
.an-foot-stats b{color:var(--navy); font-size:18px; font-weight:800; letter-spacing:-.01em; margin-right:4px; transition:opacity .35s ease, transform .35s ease}
.an-foot-stats em{font-style:normal; color:var(--muted)}
.an-foot-stats .dv{width:1px; height:18px; background:var(--line)}
.an-foot-stats.is-swapping b{opacity:0; transform:translateY(-3px)}
.an-foot-stats .an-city-pill{display:inline-flex; align-items:center; gap:8px; padding:6px 12px; background:linear-gradient(135deg, rgba(23,183,191,.10), rgba(163,217,119,.12)); border:1px solid rgba(23,183,191,.25); border-radius:999px}
.an-foot-stats .an-city-pill em{font-style:normal; color:var(--muted); font-size:12px}
.an-foot-stats .an-city-pill b{margin-right:0; font-size:14px}
.an-foot-stats .an-city-pill .dot-live{width:8px; height:8px; border-radius:50%; background:var(--green); box-shadow:0 0 0 3px rgba(163,217,119,.35); animation:anpulse 2s ease-in-out infinite}
.an-foot-note{font-size:12px; color:var(--muted)}
.an-foot-note .dot-live{
  display:inline-block; width:7px; height:7px; border-radius:50%;
  background:var(--green); box-shadow:0 0 0 3px rgba(163,217,119,.35);
  margin-right:6px; vertical-align:middle;
}

/* ===== AUTH MODAL ===== */
.auth-modal{
  position:fixed; inset:0; z-index:200; display:none;
  align-items:center; justify-content:center; padding:20px;
}
.auth-modal.open{display:flex; animation:authIn .2s ease-out}
@keyframes authIn{from{opacity:0} to{opacity:1}}
.auth-backdrop{
  position:absolute; inset:0; background:rgba(10,34,55,.55);
  backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px);
}
.auth-window{
  position:relative; background:#fff; border-radius:20px;
  padding:36px 32px 28px; max-width:460px; width:100%;
  box-shadow:0 30px 80px rgba(0,0,0,.35);
  animation:authPop .25s cubic-bezier(.4,0,.2,1);
}
@keyframes authPop{from{transform:translateY(20px) scale(.96); opacity:0} to{transform:translateY(0) scale(1); opacity:1}}
.auth-close{
  position:absolute; right:14px; top:14px; width:32px; height:32px;
  border-radius:50%; background:var(--bg); font-size:20px; color:var(--muted);
  display:flex; align-items:center; justify-content:center; line-height:1;
}
.auth-close:hover{background:var(--line); color:var(--ink)}
.auth-eyebrow{
  font-size:11px; color:var(--teal); font-weight:700;
  text-transform:uppercase; letter-spacing:.07em; margin-bottom:8px;
}
.auth-window h3{
  font-size:24px; font-weight:700; color:var(--navy);
  margin:0 0 10px; letter-spacing:-.012em; line-height:1.2;
}
.auth-sub{font-size:14px; color:var(--ink-2); margin:0 0 22px; line-height:1.5}
.auth-sub b{color:var(--navy)}
.auth-field{
  display:flex; align-items:center; background:var(--bg);
  border:1px solid var(--line); border-radius:12px; padding:0 14px;
  margin-bottom:12px; transition:.15s;
}
.auth-field:focus-within{border-color:var(--teal); background:#fff}
.auth-prefix{font-weight:700; color:var(--ink); padding-right:10px; border-right:1px solid var(--line); margin-right:12px; font-size:16px}
.auth-field input{flex:1; border:0; background:transparent; padding:14px 0; font-size:16px; color:var(--ink); outline:none; min-width:0}
.auth-form .btn{width:100%; margin-bottom:10px}
.auth-legal{font-size:11px; color:var(--muted); text-align:center; line-height:1.5}
.auth-legal a{color:var(--muted); text-decoration:underline; text-underline-offset:2px}
.auth-bonus{margin-top:22px; padding-top:18px; border-top:1px solid var(--line); display:flex; flex-direction:column; gap:8px}
.auth-bonus-row{display:flex; align-items:center; gap:10px; font-size:13px; color:var(--ink-2)}
.auth-bonus-row svg{width:16px; height:16px; color:var(--green-dark); flex-shrink:0}

/* tablet */
@media (max-width:1023px){
  .an-grid{grid-template-columns:1fr 1fr; gap:14px}
  .an-grid .an-card:nth-child(3){grid-column:1/-1}
  .an-foot{flex-direction:column; align-items:flex-start}
}
/* mobile */
@media (max-width:760px){
  .an-grid{grid-template-columns:1fr}
  .an-grid .an-card:nth-child(3){grid-column:auto}
  .an-foot-stats{font-size:12px; gap:12px}
  .an-foot-stats b{font-size:15px}
  .an-foot-stats .dv{display:none}
  .auth-window{padding:28px 22px 22px}
  .auth-window h3{font-size:20px}
}

/* ===== HOW WE WORK — секция удалена в V2 ===== */

/* ===== V2: CEO MESSAGE (видео-плашка гендира под менеджерами) ===== */
.ceo-msg{
  margin-top:36px; padding:32px 36px;
  background:#fff; border-radius:24px;
  border:1px solid rgba(19,55,79,.08);
  box-shadow:0 1px 2px rgba(19,55,79,.04), 0 14px 36px rgba(19,55,79,.08);
  display:grid; grid-template-columns:auto 1fr; gap:32px; align-items:center;
}
.ceo-video{
  position:relative; width:200px; height:200px; flex-shrink:0;
  border-radius:18px; overflow:hidden; cursor:pointer;
  box-shadow:0 8px 24px rgba(19,55,79,.20);
  background:#13374f;
}
.ceo-video img{
  width:100%; height:100%; object-fit:cover; display:block;
  transition:.4s; filter:brightness(.85);
}
.ceo-video:hover img{transform:scale(1.05); filter:brightness(.95)}
.ceo-play{
  position:absolute; left:50%; top:50%; transform:translate(-50%,-50%);
  width:60px; height:60px; border-radius:50%;
  background:rgba(255,255,255,.95); color:var(--navy);
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 8px 24px rgba(0,0,0,.30);
  transition:.18s;
}
.ceo-video:hover .ceo-play{transform:translate(-50%,-50%) scale(1.1); background:#fff}
.ceo-play svg{width:22px; height:22px; margin-left:3px}
.ceo-duration{
  position:absolute; right:10px; bottom:10px;
  background:rgba(0,0,0,.65); color:#fff;
  padding:3px 10px; border-radius:6px;
  font-size:11.5px; font-weight:700;
}
.ceo-text{display:flex; flex-direction:column; gap:8px}
.ceo-eyebrow{
  font-size:11.5px; font-weight:700; letter-spacing:.10em; text-transform:uppercase;
  color:var(--teal);
}
.ceo-text h3{margin:0; font-size:24px; line-height:1.2; color:var(--navy); font-weight:800; letter-spacing:-.01em}
.ceo-text p{margin:0; font-size:14.5px; line-height:1.55; color:var(--ink-2)}
.ceo-author{margin-top:6px}
.ceo-author strong{display:block; font-size:14px; color:var(--navy); font-weight:800}
.ceo-author span{display:block; font-size:12.5px; color:var(--muted); margin-top:2px}
@media (max-width:760px){
  .ceo-msg{grid-template-columns:1fr; padding:24px 22px; gap:20px}
  .ceo-video{width:100%; height:240px; margin:0 auto}
  .ceo-text h3{font-size:20px}
}

/* ===== V2: URGENCY BAR (final CTA) ===== */
.urgency-bar{
  display:inline-flex; align-items:center; gap:10px;
  background:rgba(245,160,46,.12); color:#9a5800;
  border:1px solid rgba(245,160,46,.30);
  padding:8px 16px; border-radius:999px;
  font-size:13.5px; margin:0 auto 18px;
  font-weight:600;
}
.urgency-bar .ub-dot{
  width:8px; height:8px; border-radius:50%; background:#f5a02e;
  box-shadow:0 0 0 4px rgba(245,160,46,.20);
  animation:ub-pulse 1.6s ease-in-out infinite;
}
@keyframes ub-pulse{0%,100%{box-shadow:0 0 0 4px rgba(245,160,46,.18)} 50%{box-shadow:0 0 0 8px rgba(245,160,46,.08)}}
.urgency-bar .ub-text strong{color:#7a3e00; font-weight:800}

/* ===== V2: COMPARATOR ENTRY-POINT ===== */
.compare-cta-section{padding:72px 0; background:#fff}
.compare-cta{
  display:grid; grid-template-columns:1.1fr 1fr; gap:48px; align-items:center;
  background:linear-gradient(135deg, var(--navy) 0%, #1d4b6c 100%);
  border-radius:28px; padding:56px 56px; color:#fff;
  position:relative; overflow:hidden;
  box-shadow:0 1px 2px rgba(19,55,79,.08), 0 24px 56px rgba(19,55,79,.20);
}
.compare-cta::before{
  content:''; position:absolute; right:-100px; top:-100px;
  width:340px; height:340px; border-radius:50%;
  background:radial-gradient(circle, var(--teal) 0%, transparent 70%); opacity:.20;
  pointer-events:none;
}
.compare-eyebrow{
  display:inline-flex; align-items:center; gap:8px;
  background:rgba(23,183,191,.20); color:var(--teal);
  padding:7px 14px; border-radius:999px;
  font-size:12px; font-weight:700; letter-spacing:.06em; text-transform:uppercase;
  margin-bottom:18px;
}
.compare-eyebrow svg{width:14px; height:14px}
.compare-cta h2{
  margin:0 0 14px; font-size:36px; line-height:1.1; letter-spacing:-.02em;
  color:#fff; font-weight:800;
}
.compare-cta h2 em{font-style:normal; color:var(--teal)}
.compare-cta p{margin:0 0 22px; font-size:15.5px; line-height:1.55; color:rgba(255,255,255,.85); max-width:480px}
.compare-features{display:flex; gap:18px; flex-wrap:wrap; margin-bottom:28px}
.compare-features span{
  font-size:13px; color:rgba(255,255,255,.85); font-weight:600;
}
.compare-actions{display:flex; align-items:center; gap:18px; flex-wrap:wrap}
.btn-cmp-primary{
  display:inline-flex; align-items:center; gap:10px;
  padding:15px 26px; border-radius:14px;
  background:var(--teal); color:#fff;
  font:inherit; font-weight:800; font-size:14.5px; text-decoration:none;
  transition:.18s;
  box-shadow:0 8px 24px rgba(23,183,191,.35);
}
.btn-cmp-primary:hover{background:#0f7e87; transform:translateY(-2px); box-shadow:0 12px 32px rgba(23,183,191,.45)}
.btn-cmp-primary svg{width:18px; height:18px}
.compare-meta{font-size:13px; color:rgba(255,255,255,.65)}

/* Визуальный стек из 3 карточек ЖК */
.compare-cta-visual{position:relative; z-index:1; min-height:240px}
.cmp-stack{position:relative; width:100%; max-width:380px; margin-left:auto}
.cmp-card{
  position:relative; padding:16px 18px; border-radius:14px;
  background:#fff; color:var(--navy);
  display:flex; flex-direction:column; gap:4px;
  box-shadow:0 1px 2px rgba(19,55,79,.05), 0 16px 36px rgba(0,0,0,.30);
  border:1px solid rgba(255,255,255,.20);
}
.cmp-card .cmp-tag{
  position:absolute; top:-9px; left:14px;
  background:var(--teal); color:#fff;
  padding:3px 10px; border-radius:999px;
  font-size:10.5px; font-weight:800; letter-spacing:.06em; text-transform:uppercase;
}
.cmp-card .cmp-name{font-size:15px; font-weight:800; line-height:1.1}
.cmp-card .cmp-price{font-size:12.5px; color:var(--ink-2); font-weight:600}
.cmp-1{margin-bottom:-22px; transform:translateX(-30px) rotate(-5deg); z-index:3; border-color:rgba(23,183,191,.35)}
.cmp-2{margin-bottom:-22px; transform:translateX(12px) rotate(2deg); z-index:2}
.cmp-3{transform:translateX(-8px) rotate(-3deg); z-index:1; opacity:.95}

@media (max-width:1023px){
  .compare-cta{grid-template-columns:1fr; padding:36px 28px; gap:28px}
  .compare-cta h2{font-size:28px}
  .compare-cta-visual{display:none}
}

/* ===== V2: Reveal-on-scroll ===== */
.reveal{opacity:0; transform:translateY(24px); transition:opacity .7s cubic-bezier(.16,1,.3,1), transform .7s cubic-bezier(.16,1,.3,1)}
.reveal.is-visible{opacity:1; transform:translateY(0)}
.reveal.reveal-delay-1{transition-delay:.08s}
.reveal.reveal-delay-2{transition-delay:.16s}
.reveal.reveal-delay-3{transition-delay:.24s}
@media (prefers-reduced-motion: reduce){
  .reveal{opacity:1; transform:none; transition:none}
}

/* ===== TRUST STRIP — две раздельные карточки (V2 13.05) ===== */
.trust-strip{
  padding:48px 0; background:#f5f7fa;
  border-top:1px solid var(--line); border-bottom:1px solid var(--line);
}
.trust-strip .trust-card{
  background:#fff; border-radius:var(--r-lg);
  padding:28px 32px;
  box-shadow:0 4px 18px rgba(19,55,79,.06), 0 1px 3px rgba(19,55,79,.04);
  border:1px solid rgba(19,55,79,.06);
}
.trust-strip .trust-card + .trust-card{margin-top:20px}
.trust-card .trust-card-head{display:flex; align-items:baseline; gap:14px; margin-bottom:18px}
.trust-card .trust-card-head .lbl{
  font-size:12px; font-weight:800; letter-spacing:.08em; text-transform:uppercase;
  color:var(--teal); display:inline-flex; align-items:center; gap:7px;
}
.trust-card .trust-card-head .lbl::before{
  content:''; width:6px; height:6px; border-radius:50%; background:var(--teal);
}
.trust-card .trust-card-head .meta{font-size:13px; color:var(--muted)}

/* 1-я карточка: банки */
.trust-row{
  display:grid; grid-template-columns:auto 1fr; gap:36px; align-items:center;
}
.trust-label{display:flex; flex-direction:column; gap:4px}
.trust-label .lbl{
  font-size:12px; font-weight:800; letter-spacing:.08em; text-transform:uppercase;
  color:var(--teal); display:inline-flex; align-items:center; gap:7px;
}
.trust-label .lbl::before{
  content:''; width:6px; height:6px; border-radius:50%; background:var(--teal);
}
.trust-label .meta{font-size:13px; color:var(--muted)}
.trust-logos{
  display:flex; align-items:center; gap:32px; flex-wrap:wrap;
  justify-content:flex-end;
}
.trust-logos .logo{
  font-size:17px; font-weight:800; letter-spacing:-.01em;
  color:var(--ink-2); opacity:.85; transition:.15s;
  font-family:'Manrope', sans-serif;
}
.trust-logos .logo:hover{opacity:1; color:var(--navy)}
.trust-logos .logo-sber{color:#21A038}
.trust-logos .logo-vtb{color:#0a2973}
.trust-logos .logo-alfa{color:#ef3124}
.trust-logos .logo-rsh{color:#00563f}
.trust-logos .logo-dom{color:#0066cc}
.trust-logos .logo-gpb{color:#003366}

/* 2-я карточка: гарантии */
.trust-facts{
  display:grid; grid-template-columns:repeat(4, 1fr); gap:24px;
}
.tf-item{display:flex; gap:12px; align-items:flex-start}
.tf-ic{
  flex-shrink:0; width:36px; height:36px; border-radius:10px;
  background:rgba(23,183,191,.10); color:var(--teal);
  display:flex; align-items:center; justify-content:center;
}
.tf-ic svg{width:20px; height:20px}
.tf-item strong{display:block; font-size:14px; font-weight:700; color:var(--navy); line-height:1.3; margin-bottom:3px}
.tf-item span{font-size:12.5px; color:var(--muted); line-height:1.4}
@media (max-width: 980px){ .trust-facts{grid-template-columns:1fr 1fr; gap:16px} }
@media (max-width: 560px){ .trust-facts{grid-template-columns:1fr; gap:14px} }

/* ===== REVIEWS — карусель с ротацией каждые 12 сек (V2 13.05) ===== */
.reviews-section{padding:72px 0; background:var(--bg)}
.rev-rotator{position:relative; margin-bottom:32px}
.rev-grid{display:grid; grid-template-columns:1fr 1fr 1fr; gap:20px}
.rev-card{transition:opacity .45s ease, transform .45s ease}
.rev-card.is-out{opacity:0; transform:translateX(-12px)}
.rev-card.is-in{opacity:1; transform:translateX(0)}
.rev-progress{
  position:absolute; bottom:-18px; left:0; right:0; height:2px;
  background:rgba(19,55,79,.08); border-radius:2px; overflow:hidden;
}
.rev-progress-bar{
  height:100%; width:0%; background:var(--teal);
  transition:width .25s linear;
}
.rev-meta-bar{
  display:flex; justify-content:space-between; align-items:center;
  margin-top:24px; padding-top:18px; border-top:1px dashed rgba(19,55,79,.12);
  font-size:13px; color:var(--muted);
}
.rev-meta-bar .count{display:inline-flex; align-items:center; gap:8px}
.rev-meta-bar .count strong{color:var(--navy); font-weight:800; font-size:14px}
.rev-meta-bar .dot-anim{
  width:7px; height:7px; border-radius:50%; background:#22c55e;
  box-shadow:0 0 0 0 rgba(34,197,94,.55); animation:rev-pulse 1.8s ease-out infinite;
}
@keyframes rev-pulse{
  0%{box-shadow:0 0 0 0 rgba(34,197,94,.55)}
  70%{box-shadow:0 0 0 8px rgba(34,197,94,0)}
  100%{box-shadow:0 0 0 0 rgba(34,197,94,0)}
}
.rev-card{
  background:#fff; border-radius:var(--r-lg); overflow:hidden;
  border:1px solid rgba(19,55,79,.08);
  box-shadow:0 1px 2px rgba(19,55,79,.04), 0 10px 28px rgba(19,55,79,.08);
  display:flex; flex-direction:column;
  transition:.2s;
}
.rev-card:hover{transform:translateY(-4px); box-shadow:0 1px 2px rgba(19,55,79,.04), 0 18px 44px rgba(19,55,79,.14); border-color:rgba(23,183,191,.30)}
.rev-video-thumb{
  position:relative; height:200px;
  background:
    linear-gradient(135deg, rgba(19,55,79,.55) 0%, rgba(19,55,79,.20) 100%),
    linear-gradient(45deg, #2d80a8, #5ba7c8);
  display:flex; align-items:center; justify-content:center;
}
.rev-video-thumb .play-btn{
  width:64px; height:64px; border-radius:50%;
  background:rgba(255,255,255,.95); color:var(--navy);
  display:flex; align-items:center; justify-content:center;
  cursor:pointer; transition:.18s;
  box-shadow:0 8px 24px rgba(0,0,0,.30);
}
.rev-video-thumb .play-btn svg{width:24px; height:24px; margin-left:3px}
.rev-card:hover .play-btn{transform:scale(1.1); background:#fff}
.rev-video-thumb .rev-city{
  position:absolute; left:16px; bottom:14px;
  color:#fff; font-size:12px; font-weight:700;
  background:rgba(0,0,0,.40); padding:6px 12px; border-radius:8px;
  letter-spacing:.02em;
}
.rev-content{padding:24px 24px 22px; display:flex; flex-direction:column; flex:1}
.rev-stars{color:#f5b942; font-size:14px; letter-spacing:1.5px; margin-bottom:12px; line-height:1}
.rev-content h3{
  margin:0 0 10px; font-size:17px; line-height:1.3;
  color:var(--navy); font-weight:700; letter-spacing:-.005em;
}
.rev-content p{
  margin:0 0 18px; font-size:14px; line-height:1.5; color:var(--ink-2);
  flex:1;
}
.rev-author{display:flex; align-items:center; gap:12px; margin-top:auto}
.rev-author .ava{
  width:40px; height:40px; border-radius:50%; flex-shrink:0;
  background-size:cover; background-position:center;
}
.rev-author .ava-1{background:linear-gradient(135deg, #f5c469, #d49642)}
.rev-author .ava-2{background:linear-gradient(135deg, #6bb39d, #2d7c66)}
.rev-author .ava-3{background:linear-gradient(135deg, #a8c5e0, #547fa6)}
.rev-author .name{display:block; font-weight:700; font-size:14px; color:var(--navy)}
.rev-author .meta{display:block; font-size:12.5px; color:var(--muted); margin-top:1px}

/* Live социалка под отзывами */
.live-strip{
  display:flex; align-items:center; gap:18px;
  background:#fff; border:1px solid rgba(23,183,191,.30);
  border-radius:14px; padding:16px 24px;
  box-shadow:0 4px 14px rgba(23,183,191,.10);
}
.live-strip .live-dot{
  width:10px; height:10px; border-radius:50%; background:#22c55e;
  box-shadow:0 0 0 4px rgba(34,197,94,.18); flex-shrink:0;
  animation:live-pulse 2s ease-in-out infinite;
}
@keyframes live-pulse{0%,100%{box-shadow:0 0 0 4px rgba(34,197,94,.18)} 50%{box-shadow:0 0 0 8px rgba(34,197,94,.08)}}
.live-strip .live-text{flex:1; font-size:14.5px; color:var(--ink); font-weight:500}
.live-strip .live-text strong{color:var(--navy); font-weight:800}
.live-strip .live-cta{
  color:var(--teal); font-weight:700; font-size:14px; cursor:pointer; white-space:nowrap;
  transition:.15s;
}
.live-strip .live-cta:hover{color:#0f7e87}

@media (max-width:1023px){
  .trust-row{grid-template-columns:1fr; gap:20px}
  .trust-logos{justify-content:flex-start; gap:24px}
  .trust-logos .logo{font-size:15px}
  .rev-grid{grid-template-columns:1fr 1fr; gap:14px}
  .rev-video{grid-column:1 / -1}
  .rev-video-thumb{height:240px}
  .live-strip{flex-direction:column; align-items:flex-start; gap:12px; text-align:left}
}
@media (max-width:640px){
  .trust-logos{gap:16px}
  .trust-logos .logo{font-size:13px}
  .rev-grid{grid-template-columns:1fr}
  .rev-video{grid-column:1}
  .rev-video-thumb{height:200px}
  .reviews-section{padding:48px 0}
}

/* ===== TOP ZK CAROUSEL ===== */
.zk-tabs{display:flex; gap:8px; margin-bottom:24px; flex-wrap:wrap}
.zk-tab{
  padding:12px 22px; border-radius:999px; font-weight:600; font-size:15px;
  background:#fff; color:var(--ink-2); border:1px solid var(--line); cursor:pointer;
  display:inline-flex; align-items:center; gap:8px; transition:.15s;
}
.zk-tab:hover{border-color:var(--navy); color:var(--navy)}
.zk-tab.active{background:var(--navy); color:#fff; border-color:var(--navy)}
.zk-tab .count{font-size:13px; opacity:.7; font-weight:500}
.zk-tab.active .count{opacity:.85}
.zk-pane{display:none}
.zk-pane.active{display:block}
.zk-empty{padding:48px 16px; text-align:center; color:var(--muted); font-size:15px; background:#fafafa; border-radius:12px}
.zk-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:18px}
.zk-aux{
  margin-top:32px; padding:18px 24px; background:var(--bg);
  border-radius:var(--r-md); display:flex; justify-content:space-between; align-items:center;
  flex-wrap:wrap; gap:18px;
}
.zk-aux-cities{display:flex; gap:14px; flex-wrap:wrap; font-size:14px}
.zk-aux-cities a{color:var(--navy); font-weight:600; text-decoration:underline; text-underline-offset:3px; text-decoration-style:dotted}
.zk-aux-cities a:hover{text-decoration-style:solid}
.zk-aux-cities .div{color:var(--line)}
.zk-card{display:block; text-decoration:none; color:inherit; background:#fff; border-radius:var(--r-lg); overflow:hidden; box-shadow:var(--shadow); transition:.2s; cursor:pointer}
.zk-card:hover{transform:translateY(-3px); box-shadow:var(--shadow-lg)}
.zk-card:focus-visible{outline:3px solid var(--green); outline-offset:2px}
.zk-img{aspect-ratio:5/4; position:relative; overflow:hidden; background:#cfd5dc}
.zk-img img{width:100%; height:100%; object-fit:cover; transition:.4s}
.zk-card:hover .zk-img img{transform:scale(1.04)}
.zk-img .pill{position:absolute; left:14px; top:14px}
.zk-img .badge{position:absolute; right:14px; top:14px}
.pill{
  background:rgba(255,255,255,.96); color:var(--ink);
  padding:6px 12px; border-radius:999px; font-size:12px; font-weight:600;
  display:inline-flex; align-items:center; gap:5px;
  backdrop-filter:blur(6px);
}
.pill.green{background:var(--green); color:var(--green-dark)}
.pill.navy{background:var(--navy); color:#fff}
.pill.amber{background:#f3a14b; color:#5b370a}
.zk-body{padding:18px 20px 20px}
.zk-name{font-size:18px; font-weight:700; color:var(--navy); margin:0 0 4px; letter-spacing:-.005em}
.zk-loc{font-size:13px; color:var(--muted); display:flex; align-items:center; gap:5px}
.zk-loc svg{width:12px; height:12px}
.zk-meta{display:flex; flex-direction:column; align-items:flex-start; gap:4px; margin-top:14px; padding-top:14px; border-top:1px solid var(--line)}
.zk-meta .delivery, .zk-meta > span{font-size:12px; color:var(--muted)}
.zk-price{font-size:20px; font-weight:800; color:var(--ink); letter-spacing:-.005em; line-height:1.1; display:inline-flex; align-items:baseline; gap:6px}
.zk-price .from{font-size:11px; color:var(--muted); font-weight:500; letter-spacing:.04em; text-transform:lowercase}
.zk-tags{display:flex; gap:6px; flex-wrap:wrap; margin-top:10px}
.tag-sm{background:var(--bg); padding:4px 10px; border-radius:999px; font-size:11px; color:var(--ink-2); font-weight:500}

/* ===== ARTICLES (Дзен / блог) ===== */
.art-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:18px}
.art-card{
  background:#fff; border-radius:var(--r-lg); overflow:hidden;
  box-shadow:var(--shadow); transition:.2s; cursor:pointer;
  display:flex; flex-direction:column;
}
.art-card:hover{transform:translateY(-3px); box-shadow:var(--shadow-lg)}
.art-img{aspect-ratio:5/3; position:relative; overflow:hidden; background:#cfd5dc}
.art-img img{width:100%; height:100%; object-fit:cover; transition:.4s}
.art-card:hover .art-img img{transform:scale(1.05)}
.art-date{
  position:absolute; left:14px; top:14px;
  background:var(--navy); color:#fff;
  width:60px; padding:8px 4px; border-radius:8px; text-align:center;
  font-weight:700; box-shadow:0 4px 12px rgba(0,0,0,.2);
}
.art-date .d{font-size:22px; line-height:1; letter-spacing:-.02em}
.art-date .m{font-size:10px; text-transform:uppercase; opacity:.85; letter-spacing:.05em; margin-top:2px}
.art-source{
  position:absolute; right:14px; top:14px;
  background:rgba(255,255,255,.95); color:var(--ink-2);
  padding:5px 10px; border-radius:6px; font-size:11px; font-weight:600;
  display:inline-flex; align-items:center; gap:4px;
}
.art-source.dzen{background:#000; color:#fff}
.art-body{padding:18px 20px 22px; display:flex; flex-direction:column; flex:1}
.art-cat{font-size:11px; font-weight:700; color:var(--teal); text-transform:uppercase; letter-spacing:.05em; margin-bottom:8px}
.art-title{font-size:16px; font-weight:700; color:var(--navy); margin:0 0 8px; line-height:1.35; letter-spacing:-.005em}
.art-excerpt{font-size:13px; color:var(--ink-2); line-height:1.55; margin:0 0 14px; flex:1}
.art-meta{font-size:12px; color:var(--muted); display:flex; justify-content:space-between; align-items:center; padding-top:12px; border-top:1px solid var(--line)}
.art-meta .views{display:inline-flex; align-items:center; gap:4px}
.art-meta .views svg{width:12px; height:12px}

/* ===== MANAGERS ===== */
/* V2 NEW: фильтр городов */
.mgr-filter{display:flex; flex-wrap:wrap; gap:8px; justify-content:center; margin:0 0 22px}
.mgr-chip{
  padding:9px 16px; font-size:13px; font-weight:600; line-height:1;
  background:#fff; color:var(--ink); border:1px solid var(--line); border-radius:99px;
  cursor:pointer; transition:.18s;
}
.mgr-chip:hover{border-color:var(--teal); color:var(--teal-dark)}
.mgr-chip.active{background:var(--teal); color:#fff; border-color:var(--teal)}
.mgr-empty{
  margin:0 auto 24px; max-width:680px; padding:14px 18px;
  background:rgba(23,183,191,.08); border:1px dashed rgba(23,183,191,.45);
  border-radius:12px; color:var(--ink); font-size:14px; text-align:center;
}
.mgr.is-hidden{display:none}

.mgr-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:18px}
.mgr{
  background:#fff; border-radius:var(--r-lg); padding:24px; text-align:center;
  border:1px solid var(--line); transition:.2s;
}
.mgr:hover{border-color:var(--teal); transform:translateY(-2px); box-shadow:var(--shadow)}
.mgr-av{
  width:120px; height:120px; border-radius:50%; margin:0 auto 16px;
  background:linear-gradient(135deg, var(--teal-soft), #c8e8eb);
  color:var(--navy); display:flex; align-items:center; justify-content:center;
  font-size:42px; font-weight:700; letter-spacing:-.01em;
  box-shadow:inset 0 -8px 20px rgba(19,55,79,.08);
}
.mgr-name{font-size:18px; font-weight:700; color:var(--navy); margin:0 0 4px}
.mgr-city{font-size:13px; color:var(--muted); margin-bottom:14px}
.mgr-q{
  font-size:13px; color:var(--ink-2); line-height:1.55; min-height:60px;
  font-style:italic; padding:0 6px;
}
.mgr-cta{
  display:flex; gap:6px; justify-content:center; margin-top:14px;
}
.mgr-cta a{
  width:36px; height:36px; border-radius:10px; background:var(--bg); color:var(--navy);
  display:flex; align-items:center; justify-content:center; transition:.15s;
}
.mgr-cta a:hover{background:var(--teal-soft); color:var(--teal)}
.mgr-cta a svg{width:16px; height:16px}
.ic-mx{width:30px; height:30px; border-radius:7px; display:block; object-fit:contain}
.mgr-cta a:has(.ic-mx), .acts a:has(.ic-mx), .channels .channel.max{background:transparent !important; padding:0; border:0}
.mgr-cta a:has(.ic-mx){width:36px; height:36px}
.acts a:has(.ic-mx){width:32px; height:32px}
.acts a:has(.ic-mx) .ic-mx{width:26px; height:26px}
.float-mgr .acts a:has(.ic-mx) .ic-mx{width:24px; height:24px; border-radius:6px}
.channels .channel.max .ic-mx{width:22px; height:22px; border-radius:5px}
.mgr-cta a.tg{background:#229ED9; color:#fff}
.mgr-cta a.tg:hover{background:#1e8ec0}
.mgr-cta a.gn{background:var(--green); color:var(--green-dark)}
.mgr-cta a.gn:hover{background:var(--green-press)}

/* ===== SOCIAL PROOF ===== */
.proof-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:24px; margin-bottom:48px}
.proof{text-align:center; padding:28px 18px; background:#fff; border-radius:var(--r-lg); border:1px solid var(--line); position:relative}
.proof .n{font-size:48px; font-weight:800; color:var(--navy); letter-spacing:-.02em; line-height:1}
.proof .n .u{font-size:24px; color:var(--teal)}
.proof .l{font-size:14px; color:var(--ink-2); margin-top:8px; font-weight:500}
.proof .proof-eyebrow{position:absolute; top:14px; left:0; right:0; font-size:12px; letter-spacing:.08em; color:var(--teal); font-weight:700; text-transform:uppercase; display:flex; align-items:center; justify-content:center; gap:6px}
.proof .proof-star{color:#d4a93b; font-size:14px; line-height:1; font-weight:400}
.partners{
  display:grid; grid-template-columns:repeat(6,1fr); gap:16px;
  padding:32px; background:#fff; border-radius:var(--r-lg); border:1px solid var(--line);
}
.partners-scroll{display:none}
.partner{
  display:flex; align-items:center; justify-content:center;
  height:60px; background:var(--bg); border-radius:10px;
  font-size:13px; font-weight:700; color:var(--muted); letter-spacing:.02em;
  filter:grayscale(1); opacity:.7; transition:.2s;
  text-align:center; padding:0 12px;
}
.partner:hover{filter:none; opacity:1; color:var(--navy)}

/* ===== SERVICES ===== */
.svc-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:18px}
.svc{
  border-radius:var(--r-xl); padding:36px; min-height:280px;
  text-decoration:none; color:inherit;
  display:flex; flex-direction:column; position:relative; overflow:hidden;
  cursor:pointer; transition:.25s;
  box-shadow:0 1px 2px rgba(19,55,79,.05), 0 14px 36px rgba(19,55,79,.12);
}
.svc:hover{transform:translateY(-4px); box-shadow:0 1px 2px rgba(19,55,79,.05), 0 24px 52px rgba(19,55,79,.20)}
.svc.s-mortgage{background:linear-gradient(135deg, var(--bg-sky) 0%, #d9e7f3 100%); color:var(--navy)}
.svc.s-remont{background:linear-gradient(135deg, var(--bg-mint) 0%, #c8e1cd 100%); color:var(--green-dark)}
.svc.s-analytics{background:linear-gradient(135deg, var(--navy) 0%, var(--navy-2) 100%); color:#fff}
.svc-icon{
  width:56px; height:56px; border-radius:14px;
  background:rgba(255,255,255,.5); color:inherit;
  display:flex; align-items:center; justify-content:center; margin-bottom:auto;
}
.svc.s-analytics .svc-icon{background:rgba(255,255,255,.12)}
.svc-icon svg{width:26px; height:26px}
.svc h3{font-size:26px; margin:24px 0 8px; color:inherit; letter-spacing:-.01em}
.svc p{font-size:15px; opacity:.78; margin:0; line-height:1.5}
.svc-cta{
  margin-top:20px; display:inline-flex; align-items:center; gap:8px; font-weight:700; font-size:15px;
}
.svc-cta svg{width:14px; height:14px; transition:.2s}
.svc:hover .svc-cta svg{transform:translateX(4px)}

/* ===== FAQ — 2 колонки + search (V2) ===== */
.faq-search{
  position:relative; max-width:560px; margin:0 0 24px;
}
.faq-search input{
  width:100%; padding:14px 18px 14px 46px; border-radius:12px;
  border:1px solid var(--line); font:inherit; font-size:14.5px;
  background:#fff; color:var(--ink);
  outline:none; transition:.18s;
  box-shadow:0 1px 2px rgba(19,55,79,.04), 0 6px 18px rgba(19,55,79,.06);
}
.faq-search input::placeholder{color:var(--muted)}
.faq-search input:focus{border-color:var(--teal); box-shadow:0 0 0 4px rgba(23,183,191,.15), 0 6px 18px rgba(19,55,79,.06)}
.faq-search svg{
  position:absolute; left:16px; top:50%; transform:translateY(-50%);
  width:18px; height:18px; color:var(--muted); pointer-events:none;
}
.faq-empty{
  display:none; padding:32px 24px; text-align:center; color:var(--muted);
  background:#fff; border:1px dashed var(--line); border-radius:14px;
  font-size:14px;
}
.faq.is-empty .faq-empty{display:block}
.faq.is-empty .faq-item{display:none}

.faq{display:grid; grid-template-columns:1fr 1fr; gap:10px 16px; max-width:none; align-items:start}
.faq-item{
  background:#fff; border:1px solid var(--line); border-radius:var(--r-md);
  padding:20px 26px; transition:.15s;
}
.faq-item.hidden{display:none}
.faq-item:hover{border-color:#cad3da}
.faq-item.open{border-color:var(--green); box-shadow:var(--shadow); grid-column:1 / -1}
.faq-q{display:flex; justify-content:space-between; align-items:flex-start; cursor:pointer; gap:18px; margin:0}
.faq-q h3{font-size:16px; font-weight:700; color:var(--navy); margin:0; line-height:1.4; letter-spacing:-.005em}
.faq-q .ico{width:28px; height:28px; border-radius:50%; background:var(--bg); display:flex; align-items:center; justify-content:center; flex-shrink:0; font-size:20px; color:var(--ink-2); font-weight:300; margin-top:2px}
.faq-item.open .faq-q .ico{background:var(--green); color:var(--green-dark)}
.faq-a{color:var(--ink-2); font-size:14.5px; margin-top:14px; line-height:1.7; padding-right:48px}
.faq-a p{margin:0 0 12px}
.faq-a p:last-child{margin-bottom:0}
.faq-item:not(.open) .faq-a{display:none}
@media (max-width:880px){
  .faq{grid-template-columns:1fr}
  .faq-item.open{grid-column:1}
}

/* ===== FINAL CTA ===== */
.final{
  background:var(--navy) url('/bitrix/templates/main_v2/assets/morenuar.jpg') center / cover no-repeat;
  background-blend-mode:multiply;
  border-radius:var(--r-xl); padding:64px 56px;
  position:relative; overflow:hidden; color:#fff;
}
.final::before{
  content:''; position:absolute; inset:0;
  background:linear-gradient(135deg, rgba(19,55,79,.92) 0%, rgba(10,34,55,.78) 100%);
}
.final > *{position:relative; z-index:1}
.final h2{color:#fff; font-size:42px; max-width:740px; line-height:1.1; margin:0 0 14px}
.final .sub{color:#bccad6; font-size:17px; max-width:600px; margin-bottom:32px}
.final-form{display:flex; gap:10px; max-width:560px}
.final-form input{
  flex:1; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.18);
  border-radius:14px; padding:18px 22px; font:inherit; color:#fff; font-size:16px;
  outline:none;
}
.final-form input::placeholder{color:#8da4b6}
.final-form input:focus{border-color:var(--green)}
.final-form .btn{padding:18px 32px}
.final .legal{font-size:12px; color:#8da4b6; margin-top:14px; max-width:520px}

/* ===== FOOTER ===== */
/* V2 13.05: компактный подвал — −35% высоты без потери SEO-ценности */
footer{background:var(--navy-2); color:#bccad6; padding:32px 0 20px}
footer .grid{display:grid; grid-template-columns:1.7fr 1.4fr 1fr 1fr 1.1fr; gap:26px; align-items:start}
footer h4{color:#fff; font-size:13px; text-transform:uppercase; letter-spacing:.05em; margin:0 0 10px; font-weight:700}
footer ul{list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:6px}
footer li{font-size:13.5px; line-height:1.45}
/* Города в 2 колонки внутри ячейки — высота урезается ровно в 2 раза */
footer ul.foot-cities{display:grid; grid-template-columns:1fr 1fr; gap:6px 18px}
footer a{color:#bccad6; transition:.15s}
footer a:hover{color:#fff}
footer .legal-row{margin-top:24px; padding-top:16px; border-top:1px solid rgba(255,255,255,.08); font-size:12px; color:#6c7d8d; display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px}

/* ===== FLOATING MGR ===== */
.float-mgr{
  position:fixed; right:24px; bottom:24px; width:300px; z-index:60;
  background:#fff; border-radius:var(--r-lg); box-shadow:0 16px 40px rgba(19,55,79,.18); padding:18px;
  display:flex; gap:12px; align-items:center;
  transition:opacity .25s ease, transform .25s ease;
}
.float-mgr.dimmed{opacity:0; transform:translateY(20px); pointer-events:none}
.float-mgr .av{
  width:48px; height:48px; border-radius:50%; background:var(--teal-soft); color:var(--navy);
  display:flex; align-items:center; justify-content:center; font-weight:700; flex-shrink:0;
}
.float-mgr .nm{font-size:14px; font-weight:700; color:var(--navy)}
.float-mgr .rl{font-size:12px; color:var(--muted)}
.float-mgr .acts{display:flex; gap:6px; margin-top:8px}
.float-mgr .acts a{
  width:28px; height:28px; border-radius:7px; display:flex; align-items:center; justify-content:center;
  background:var(--bg); color:var(--navy);
}
.float-mgr .acts a svg{width:14px; height:14px}
.float-mgr .acts a.tg{background:#229ED9; color:#fff}
.float-mgr .acts a.gn{background:var(--green); color:var(--green-dark)}

/* ===== TABLET 761-1023 ===== */
@media (min-width:761px) and (max-width:1023px){
  .container{padding:0 24px}
  .nav{display:none}
  .header .btn{padding:10px 16px; font-size:14px}
  .header .row{gap:14px; padding:14px 0}
  .hero{min-height:640px; padding-top:120px}
  .hero h1{font-size:48px}
  .hero-sub{font-size:18px}
  .hero-filter{grid-template-columns:1fr 1fr 1fr; padding:16px}
  .hero-filter .btn{grid-column:span 3; width:100%}
  .hf-cell + .hf-cell:nth-child(3n+1){border-left:0}
  .hero-stats{display:grid; grid-template-columns:repeat(4,1fr); gap:18px}
  .hero-stats .s{padding-right:0}
  .hero-stats .s .n{font-size:24px}
  .cities{grid-template-columns:repeat(3,1fr); gap:14px}
  /* P1 #7: на планшете 3 услуги/блока остаются 3 в ряд, чтобы не висел одиноко */
  .how-grid, .svc-grid{grid-template-columns:repeat(3,1fr); gap:12px}
  .how-card, .svc{padding:24px 22px}
  .how-card h3, .svc h3{font-size:18px}
  .how-card p, .svc p{font-size:13px; line-height:1.5}
  .zk-grid{grid-template-columns:repeat(3,1fr); gap:14px}
  .zk-grid > :nth-child(n+10){display:none}
  .art-grid{grid-template-columns:1fr 1fr; gap:14px}
  .mgr-grid{grid-template-columns:1fr 1fr; gap:14px}
  .proof-grid{grid-template-columns:1fr 1fr 1fr 1fr; gap:14px}
  /* Партнёры horizontal scroll на tablet (P1 #5) */
  .partners{display:none}
  .partners-scroll{
    display:flex; gap:14px; overflow-x:auto; scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch; padding:24px 24px 28px;
    background:#fff; border-radius:var(--r-lg); border:1px solid var(--line);
    margin:0 -24px;
  }
  .partners-scroll .partner{flex:0 0 160px; height:64px; scroll-snap-align:start; font-size:12px}
  .float-mgr{display:none}
  .final{padding:42px 32px}
  .final h2{font-size:30px}
  section{padding:56px 0}
  h2{font-size:32px}
  footer .grid{grid-template-columns:1fr 1fr; gap:24px}
}

/* ===== MOBILE ===== */
@media (max-width:760px){
  .container{padding:0 16px}
  .topbar .right .lbl-hide{display:none}
  .header{top:32px}
  .header .row{padding:14px 0; gap:12px}
  .nav{display:none}
  .header .btn{padding:10px 16px; font-size:14px}
  .hero{min-height:620px; padding-top:120px}
  .hero h1{font-size:32px}
  .hero-sub{font-size:15px; margin-bottom:24px}
  .hero-eyebrow{font-size:11px; padding:6px 10px}
  .hero-filter{grid-template-columns:1fr 1fr; padding:12px; gap:8px}
  .hero-filter .btn{grid-column:span 2; width:100%}
  .hf-cell + .hf-cell{border-left:0}
  .hf-cell{padding:6px 10px}
  .hero-stats{display:grid; grid-template-columns:1fr 1fr; gap:18px 24px; padding-top:24px}
  .hero-stats .s{padding-right:0}
  .hero-stats .s .n{font-size:22px}
  .hero-stats .s .l{font-size:11px; margin-top:2px}
  .hero-secondary{flex-direction:column; align-items:flex-start; gap:8px}
  .hero-secondary .div{display:none}
  .header .row{padding:12px 0}
  .header .btn{padding:9px 14px; font-size:13px}
  .topbar{padding:6px 0; font-size:12px}
  .city .city-name{font-size:18px}
  .city-meta{font-size:12px}
  .city-meta .price{font-size:13px}
  .zk-tabs{flex-wrap:nowrap; overflow-x:auto; padding-bottom:6px; -webkit-overflow-scrolling:touch}
  .zk-tab{flex-shrink:0; padding:10px 16px; font-size:13px}
  .zk-aux{flex-direction:column; align-items:flex-start; gap:14px}
  .zk-aux-cities{font-size:13px}
  section{padding:48px 0}
  h2{font-size:28px}
  .cities, .how-grid, .zk-grid, .mgr-grid, .proof-grid, .svc-grid, .art-grid{grid-template-columns:1fr 1fr; gap:14px}
  .zk-tabs{flex-wrap:nowrap; overflow-x:auto; padding-bottom:6px}
  .zk-tab{flex-shrink:0}
  /* Партнёры horizontal scroll-snap (P1 #5) */
  .partners{display:none}
  .partners-scroll{
    display:flex; gap:10px; overflow-x:auto; scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch; padding:18px 16px 22px;
    background:#fff; border-radius:var(--r-md); border:1px solid var(--line);
    margin:0 -16px;
  }
  .partners-scroll .partner{flex:0 0 130px; height:54px; scroll-snap-align:start; font-size:11px}
  .final{padding:36px 24px}
  .final h2{font-size:26px}
  .final-form{flex-direction:column}
  .float-mgr{display:none}
  footer .grid{grid-template-columns:1fr 1fr; gap:24px}

  /* ===== V2 mobile-compact fixes 14.05.2026 =====
     Аудит mobile-вёрстки (Сергей, 14.05.2026): на 390-viewport были горизонтальный
     overflow 99px в topbar (соцссылки + длинный сабтекст телефона + текст «Войти»),
     пустая правая ячейка в .svc-grid (3 карточки в 1fr 1fr → analytics одна),
     обрезанные тексты hero-stats, узкая текстовая колонка в «Республика Крым».
     Здесь — точечная компактизация + страховка от overflow без ломки sticky. */

  /* Topbar: убираем соцссылки, сабтекст телефона, текст «Войти» */
  .topbar{padding:5px 0; font-size:11px}
  .topbar .container.row{gap:8px}
  .topbar .right{gap:10px; min-width:0}
  .topbar .tb-socials{display:none}
  .topbar .phone .ph-sub{display:none}
  .topbar .phone .ph-num{font-size:12px}
  .topbar .phone .ph-ic{flex-shrink:0}
  .topbar .phone{gap:6px; min-width:0}
  .topbar .auth-slot span{display:none}
  .topbar .auth-slot{padding:4px 6px}
  .topbar .city-pick{font-size:11px; min-width:0}

  /* Header: лого не сжимается, кнопка компактнее */
  .header .row{gap:10px; min-width:0}
  .header .row .logo{flex-shrink:0}
  .header .row .btn{padding:8px 12px; font-size:12px; flex-shrink:0}

  /* svc-grid: 3 карточки одна-под-другой (была пустая правая ячейка) */
  .svc-grid{grid-template-columns:1fr; gap:16px}

  /* hero-stats: 4 ячейки 2×2 без обрезки текста справа */
  .hero-stats{gap:14px 12px; padding-top:20px}
  .hero-stats .s{min-width:0}
  .hero-stats .s .n{font-size:21px}
  .hero-stats .s .l{font-size:10.5px; line-height:1.25; word-break:normal; hyphens:auto}

  /* .cities-aux (блок «Республика Крым …»): на mobile column вместо row */
  .cities-aux{flex-direction:column; align-items:stretch; padding:16px 18px; gap:12px}
  .cities-aux .btn{width:100%}

  /* Страховка от overflow — overflow-x:clip НЕ ломает position:sticky */
  html, body{overflow-x:clip}
  .container{box-sizing:border-box; max-width:100%}
  html{scroll-padding-top:110px}
}
@media (max-width:1023px){
  body{padding-bottom:72px}
  .m-stickybar{
    position:fixed; left:0; right:0; bottom:0; z-index:60;
    background:#fff; border-top:1px solid var(--line);
    padding:10px 12px; display:grid; grid-template-columns:repeat(3,1fr); gap:6px;
  }
  .m-stickybar a{
    display:flex; flex-direction:column; align-items:center; gap:2px;
    padding:8px 4px; border-radius:8px; font-size:11px; font-weight:600; color:var(--ink-2);
  }
  .m-stickybar a.cta{background:var(--green); color:var(--green-dark)}
  .m-stickybar a svg{width:18px; height:18px}
}
@media (min-width:1024px){
  .m-stickybar{display:none}
}

/* ===== Mobile landscape (короткий экран): компактим UI и убираем m-stickybar =====
   Условие: ширина <=1023 (мобильный/планшет в landscape) И высота <=500 (= телефон в горизонтали).
   На iPad landscape (1024+ ширина) этот блок не сработает. */
@media (max-width:1023px) and (orientation:landscape) and (max-height:500px){
  body{padding-bottom:0}
  .m-stickybar{display:none !important}
  /* Шапка компактнее по высоте */
  .header .row{padding:6px 12px !important; gap:6px !important}
  .logo img{height:24px !important}
  .m-cities-trigger{height:30px; padding:5px 9px 5px 7px; font-size:12.5px}
  .m-search, .m-burger{width:32px; height:32px}
  .m-search > svg{width:16px; height:16px}
  /* Sticky-фильтр меньше */
  .filter-bar .row{padding:4px 8px !important}
  .filter-bar .filter-cell, .filter-bar .hfb-cell{height:32px !important; padding:4px 10px !important}
  .filter-bar .btn-find, .filter-bar .hfb-cta{height:28px !important; padding:0 10px !important}
  /* Hero города — меньше отступы */
  .hero-city{padding:18px 0 !important}
  .hero-city h1{font-size:22px !important; margin-bottom:6px !important}
  .hero-city .lead{font-size:13px !important; margin-bottom:10px !important}
  .hero-stats{gap:8px 16px !important; padding-top:10px !important}
  .hero-stats .s .n{font-size:18px !important}
  .hero-stats .s .l{font-size:10.5px !important}
}
/* ====== /Mobile landscape ====== */

/* === MOBILE refinements: proof-grid и hero-stats — мельче шрифты, чтобы влезало === */
@media (max-width:760px){
  .proof{padding:18px 12px}
  .proof .n{font-size:30px; letter-spacing:-.015em}
  .proof .n .u{font-size:16px}
  .proof .l{font-size:11.5px; margin-top:6px; line-height:1.35}
  .proof .proof-eyebrow{position:static; font-size:10.5px; margin-bottom:4px}
  .proof .proof-star{font-size:12px}
  .hero-stats .s .n{font-size:20px}
  .hero-stats .s .l{font-size:11.5px; line-height:1.35; margin-top:3px}
}

/* dropdown emulation in hero filter */
.hf-cell .ic-down{margin-left:auto; opacity:.5}

/* Photo inside avatar circles — universal rule for /_team-photos/ images */
.av img, .avatar img, .mgr-av img, .float-mgr .av img, .m-stickybar a img.av-img{
  width:100%; height:100%; object-fit:cover; object-position:center top; border-radius:50%;
}
.av, .avatar, .mgr-av, .float-mgr .av{overflow:hidden}

/* ====================== V11 LEAD MAGNETS ====================== */

/* C1 — Квиз «Какой город юга подходит» */
.lm-quiz-section{padding:72px 0; background:linear-gradient(180deg, #fff 0%, #eef3f8 100%)}
.lm-quiz-wrap{
  background:#fff; border-radius:28px; padding:48px 56px;
  box-shadow:0 1px 2px rgba(19,55,79,.04), 0 12px 36px rgba(19,55,79,.07);
  display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:center;
  position:relative; overflow:hidden;
}
.lm-quiz-wrap::before{
  content:''; position:absolute; right:-80px; top:-80px;
  width:280px; height:280px; border-radius:50%;
  background:radial-gradient(circle, var(--teal) 0%, transparent 70%); opacity:.18;
}
.lm-quiz-eyebrow{
  display:inline-flex; align-items:center; gap:8px;
  background:#e3edf5; color:var(--navy); padding:6px 14px; border-radius:999px;
  font-size:13px; font-weight:600; margin-bottom:18px; position:relative; z-index:1;
  max-width:100%; line-height:1.2;
}
.lm-quiz-eyebrow svg, .lm-quiz-eyebrow .ico{width:14px; height:14px; flex-shrink:0}
.lm-quiz-wrap > div{position:relative; z-index:1}
.lm-quiz-wrap h2{margin:0 0 14px; color:var(--navy); font-size:34px; line-height:1.1; letter-spacing:-.015em}
.lm-quiz-wrap .lead{color:var(--ink-2); font-size:16px; line-height:1.55; margin-bottom:24px; max-width:480px}
.lm-quiz-features{display:flex; flex-direction:column; gap:10px; margin:0 0 28px; padding:0}
.lm-quiz-features li{
  display:flex; align-items:flex-start; gap:10px;
  font-size:14px; color:var(--ink-2); list-style:none;
}
.lm-quiz-features li::before{content:'✓'; color:var(--teal); font-weight:800; flex-shrink:0; margin-top:1px}
.lm-quiz-cta-row{display:flex; gap:12px; align-items:center; flex-wrap:wrap}
.lm-quiz-cta-row .lm-meta{font-size:12px; color:var(--muted)}
.lm-quiz-stage{
  background:
    radial-gradient(ellipse at top right, rgba(23,183,191,.35) 0%, transparent 55%),
    radial-gradient(ellipse at bottom left, rgba(15,126,135,.28) 0%, transparent 60%),
    linear-gradient(135deg, #0a2333 0%, #13374f 45%, #1a4664 100%);
  border-radius:20px; padding:36px 32px; color:#fff;
  min-height:360px; display:flex; flex-direction:column; justify-content:space-between;
  position:relative; z-index:1; overflow:hidden;
  box-shadow:0 1px 0 rgba(255,255,255,.08) inset, 0 16px 40px rgba(10,35,51,.40);
}
.lm-quiz-stage::after{
  content:''; position:absolute; inset:0; pointer-events:none; border-radius:inherit;
  background:linear-gradient(180deg, rgba(255,255,255,.06) 0%, transparent 30%);
}
.lm-quiz-stage > *{position:relative; z-index:1}
.lm-quiz-stage .pgrs{display:flex; gap:6px; margin-bottom:24px}
.lm-quiz-stage .pgrs .p{flex:1; height:4px; border-radius:2px; background:rgba(255,255,255,.18); transition:.2s}
.lm-quiz-stage .pgrs .p.on{background:var(--teal)}
.lm-quiz-step{display:none}
.lm-quiz-step.active{display:block}
.lm-quiz-step .num{font-size:13px; color:rgba(255,255,255,.6); letter-spacing:.08em; text-transform:uppercase; font-weight:600; margin-bottom:10px}
.lm-quiz-step h3{margin:0 0 22px; font-size:22px; line-height:1.25; font-weight:700}
.lm-q-chips{display:grid; grid-template-columns:1fr 1fr; gap:10px}
.lm-q-chip{
  background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.18);
  border-radius:14px; padding:14px 16px; cursor:pointer; transition:.15s;
  font-size:14px; color:#fff; font-weight:500; text-align:left;
}
.lm-q-chip:hover{background:rgba(23,183,191,.18); border-color:var(--teal)}
.lm-q-chip.active{background:var(--teal); color:#fff; border-color:var(--teal); font-weight:700}
.lm-quiz-step .meta{font-size:12px; color:rgba(255,255,255,.55); margin-top:18px}
.lm-quiz-result{display:none}
.lm-quiz-result.active{display:block}
.lm-result-cities{display:flex; flex-direction:column; gap:8px; margin-bottom:16px}
.lm-result-city{
  display:flex; align-items:center; gap:12px;
  background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.18);
  border-radius:12px; padding:12px 16px;
}
.lm-result-city .rank{
  width:30px; height:30px; border-radius:50%; background:var(--teal); color:#fff;
  display:flex; align-items:center; justify-content:center; font-weight:800; font-size:14px;
  flex-shrink:0;
}
.lm-quiz-section .lm-btn-primary{background:var(--teal); color:#fff}
.lm-quiz-section .lm-btn-primary:hover{background:#13a3aa}
.lm-result-city .info{flex:1; min-width:0}
.lm-result-city .name{font-weight:700; font-size:15px}
.lm-result-city .why{font-size:12px; color:rgba(255,255,255,.7); margin-top:2px; line-height:1.3}
.lm-result-form{
  background:rgba(255,255,255,.95); color:var(--ink); border-radius:12px;
  padding:10px; display:flex; gap:8px; align-items:center; flex-wrap:wrap;
}
.lm-result-form input{
  flex:1 1 130px; min-width:120px; border:1px solid var(--line); border-radius:8px;
  padding:10px 12px; font:inherit; font-size:13px; color:var(--ink); background:#fff;
}
.lm-result-form .lm-btn{padding:10px 14px; font-size:13px}
.lm-result-tg{
  margin-top:12px; display:flex; gap:10px; align-items:center;
  font-size:12px; color:rgba(255,255,255,.7);
}
.lm-result-tg .tg-link{
  display:inline-flex; align-items:center; gap:6px;
  background:#229ED9; color:#fff; padding:8px 14px; border-radius:10px;
  font-weight:600; font-size:13px;
}
.lm-result-tg .tg-link svg{width:14px; height:14px}

/* V2 NEW: счётчик скачиваний под кнопками A4 */
.lm-guide-proof{
  margin-top:18px; padding-top:14px;
  border-top:1px dashed rgba(19,55,79,.18);
  display:inline-flex; align-items:center; gap:10px;
  font-size:13px; color:var(--ink-2);
}
.lm-guide-proof svg{width:16px; height:16px; color:var(--brand)}
.lm-guide-proof strong{color:var(--navy); font-weight:800; font-size:14px}
.lm-guide-proof .ago{color:var(--muted); font-size:12px; margin-left:4px}

/* A4 — Гайд «8 городов» (ручная сборка с реальным буклетом, 12.05.2026) */
.lm-guide-section{
  padding:80px 32px; background:#fff;
  position:relative; overflow:hidden;
}
/* Cream-блок как floating-card: всех 4 углах скругление, отступы от секции, тень — чтобы отделить от верхних блоков */
.lm-guide-section::before{
  content:''; position:absolute; right:32px; top:48px; bottom:48px;
  width:calc(58% - 32px);
  background:linear-gradient(180deg, #faf6ec 0%, #f3ecd9 100%);
  border-radius:28px;
  box-shadow:
    0 1px 2px rgba(19,55,79,.04),
    0 14px 44px rgba(19,55,79,.08);
  z-index:0;
}
.lm-guide-wrap{
  display:grid; grid-template-columns:1.45fr 1fr; gap:36px; align-items:center;
  position:relative; z-index:1;
  min-height:560px;
}
.lm-guide-photo{
  position:relative;
  margin-left:-10%;
  width:130%;
  transition:transform .5s cubic-bezier(.16,1,.3,1);
}
.lm-guide-photo:hover{transform:translateY(-6px)}
.lm-guide-photo img{
  width:100%; height:auto; display:block;
  filter:
    drop-shadow(0 50px 70px rgba(19,55,79,.20))
    drop-shadow(0 18px 28px rgba(19,55,79,.12));
}
.lm-guide-body{position:relative; z-index:1}
.lm-guide-eyebrow{
  display:inline-flex; align-items:center; gap:8px;
  background:#fff; color:var(--navy);
  border:1px solid rgba(19,55,79,.08);
  padding:9px 18px; border-radius:999px;
  font-size:13px; font-weight:700; letter-spacing:.01em;
  margin-bottom:24px;
  box-shadow:0 4px 16px rgba(19,55,79,.05);
}
.lm-guide-eyebrow .star{color:var(--teal); width:14px; height:14px; flex-shrink:0}
.lm-guide-body h2{
  margin:0 0 18px; color:var(--navy);
  font-size:32px; line-height:1.12; letter-spacing:-.02em; font-weight:800;
}
.lm-guide-body h2 em{font-style:normal; color:var(--teal)}
.lm-guide-body .lead{
  color:var(--ink-2); font-size:15px; line-height:1.55;
  margin:0 0 26px;
}
.lm-guide-incl{
  display:grid; grid-template-columns:1fr 1fr;
  gap:10px 20px; margin:0 0 28px;
}
.lm-guide-incl span{
  display:flex; align-items:flex-start; gap:9px;
  font-size:13.5px; color:var(--ink); line-height:1.4;
}
.lm-guide-incl span::before{
  content:''; flex-shrink:0; margin-top:5px;
  width:14px; height:14px; border-radius:50%;
  background:#e8f7f8;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14' fill='none' stroke='%2317b7bf' stroke-width='2.5'><polyline points='3.5 7.5 6 10 10.5 5'/></svg>");
  background-repeat:no-repeat; background-position:center;
}
.lm-guide-cta{display:flex; gap:12px; align-items:center; flex-wrap:wrap}
.lm-guide-cta .meta{
  display:block; flex:1 1 100%; margin-top:14px;
  font-size:13px; color:var(--muted); line-height:1.5;
}
.lm-guide-cta .meta strong{color:var(--ink-2); font-weight:700}
/* Локальные размеры кнопок A4 (компактнее общих .lm-btn-lg) */
.lm-guide-cta .lm-btn{padding:13px 18px; font-size:13.5px; gap:8px; white-space:nowrap}
.lm-guide-cta .lm-btn svg{width:16px; height:16px}

/* Универсальные кнопки магнитов */
.lm-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  padding:14px 24px; border-radius:14px; font-weight:700; font-size:14px;
  border:0; cursor:pointer; transition:.15s; white-space:nowrap;
}
.lm-btn-primary{background:#a3d977; color:#163d10}
.lm-btn-primary:hover{background:#8cc55f}
.lm-btn-tg{background:#229ED9; color:#fff}
.lm-btn-tg:hover{background:#1d8dc4}
.lm-btn-light{background:#fff; color:var(--navy); border:1px solid var(--line)}
.lm-btn-light:hover{border-color:var(--navy)}
.lm-btn-lg{padding:16px 28px; font-size:15px}
.lm-btn svg{width:16px; height:16px}

/* Адаптив магнитов */
@media (max-width:1023px){
  .lm-quiz-wrap{grid-template-columns:1fr; padding:36px 32px; gap:32px}
  .lm-quiz-stage{min-height:340px}
  /* A4: буклет крупнее и "торчит" над бежевой плашкой — 1/3 буклета над, 2/3 внутри */
  .lm-guide-section{padding:32px 0 48px}
  .lm-guide-section::before{
    top:24vw; bottom:24px; left:8px; right:8px;
    width:auto; border-radius:28px;
    background:linear-gradient(180deg, #f4ead2 0%, #e9dcb7 100%);
    box-shadow:0 2px 6px rgba(19,55,79,.05), 0 18px 50px rgba(19,55,79,.10);
  }
  .lm-guide-wrap{grid-template-columns:1fr; gap:8px; min-height:auto; padding:0 16px}
  .lm-guide-photo{
    margin:0 -24px; width:calc(100% + 48px); max-width:none;
    position:relative; z-index:2;
  }
  .lm-guide-body{padding:0 4px}
  .lm-guide-body h2{font-size:26px}
  .lm-guide-incl{grid-template-columns:1fr}
}
@media (max-width:760px){
  .lm-quiz-section{padding:48px 0}
  .lm-quiz-wrap{padding:28px 22px}
  .lm-quiz-wrap h2{font-size:26px}
  .lm-quiz-stage{padding:24px 20px; min-height:auto}
  .lm-q-chips{grid-template-columns:1fr}
  .lm-guide-body h2{font-size:24px}
  .lm-guide-cta .lm-btn{flex:1 1 100%; justify-content:center}
}

/* ===================================================================== */
/* ====== MOBILE / TABLET HEADER OVERHAUL (<= 1023px) ===================== */
@media (max-width:1023px){
  .topbar{display:none !important}
  .header .nav, .header .header-meta, .header .btn-primary{display:none !important}
  body{padding-top:0}

  .header{
    top:0 !important;
    background:linear-gradient(180deg, rgba(19,55,79,.94) 0%, rgba(10,34,55,.92) 100%);
    backdrop-filter:blur(14px) saturate(140%);
    -webkit-backdrop-filter:blur(14px) saturate(140%);
    box-shadow:0 4px 16px rgba(0,0,0,.18);
  }
  .header .row{
    display:flex !important; align-items:center;
    gap:8px; padding:10px 16px;
  }
  .header .logo{flex-shrink:0}
  .header .logo img{height:30px !important; filter:brightness(0) invert(1) !important}

  .m-cities-trigger{
    display:inline-flex !important; align-items:center; gap:6px;
    background:rgba(255,255,255,.10); border:1px solid rgba(255,255,255,.18);
    color:#fff; font-weight:600; font-size:13.5px;
    padding:7px 11px 7px 9px; border-radius:999px;
    cursor:pointer; transition:background .15s, border-color .15s; white-space:nowrap;
    max-width:170px; font-family:inherit;
  }
  .m-cities-trigger > .m-cities-lbl{overflow:hidden; text-overflow:ellipsis}
  .m-cities-trigger:hover, .m-cities-trigger:focus-visible{background:rgba(255,255,255,.18); outline:none}
  .m-cities-trigger > svg.m-pin{width:13px; height:13px; flex-shrink:0; opacity:.85}
  .m-cities-trigger > svg.m-caret{width:10px; height:10px; transition:transform .2s; opacity:.85}
  .m-cities-trigger[aria-expanded="true"] > svg.m-caret{transform:rotate(180deg)}

  .m-search{margin-left:auto}
  .m-search, .m-burger{
    display:inline-flex !important; align-items:center; justify-content:center;
    width:38px; height:38px; border-radius:10px;
    background:rgba(255,255,255,.10); border:1px solid rgba(255,255,255,.18);
    color:#fff; flex-shrink:0;
    transition:background .15s, border-color .15s; cursor:pointer; font-family:inherit;
  }
  .m-search:hover, .m-burger:hover, .m-search:focus-visible, .m-burger:focus-visible{background:rgba(255,255,255,.18); outline:none}
  .m-search > svg{width:18px; height:18px}
  .m-burger{padding:0; gap:4px; flex-direction:column}
  .m-burger > span{
    display:block; width:18px; height:2px; background:#fff; border-radius:2px;
    transition:transform .2s, opacity .2s;
  }
  .m-burger[aria-expanded="true"] > span:nth-child(1){transform:translateY(6px) rotate(45deg)}
  .m-burger[aria-expanded="true"] > span:nth-child(2){opacity:0}
  .m-burger[aria-expanded="true"] > span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

  .m-cities-dd{
    position:fixed; left:8px; right:8px; top:64px; z-index:55;
    background:var(--navy); border:1px solid rgba(255,255,255,.12);
    border-radius:16px; padding:8px;
    box-shadow:0 24px 60px rgba(0,0,0,.45);
    display:none; flex-direction:column; gap:1px;
    max-height:74vh; overflow-y:auto; -webkit-overflow-scrolling:touch;
  }
  .m-cities-dd.is-open{display:flex; animation:m-fade-down .22s ease-out}
  .m-cities-item{
    display:flex; justify-content:space-between; align-items:center; gap:12px;
    padding:11px 14px; border-radius:10px;
    color:rgba(255,255,255,.92); font-size:14.5px; font-weight:500;
    text-decoration:none;
  }
  .m-cities-item:hover, .m-cities-item:active{background:rgba(255,255,255,.08); color:#fff}
  .m-cities-item.is-current{color:#a3d977; background:rgba(163,217,119,.10)}
  .m-cities-cnt{color:rgba(255,255,255,.45); font-size:12.5px; font-weight:500}
  .m-cities-item.is-current .m-cities-cnt{color:rgba(163,217,119,.7)}

  .m-backdrop{
    position:fixed; inset:0; background:rgba(10,28,46,.55);
    z-index:80; opacity:0; visibility:hidden; transition:opacity .25s ease;
    -webkit-tap-highlight-color:transparent;
  }
  .m-backdrop.is-open{opacity:1; visibility:visible}

  .m-drawer{
    position:fixed; right:0; top:0; bottom:0;
    width:min(360px, 88vw); z-index:90;
    background:#fff; color:var(--ink);
    transform:translateX(100%); transition:transform .3s cubic-bezier(.4,0,.2,1);
    display:flex; flex-direction:column;
    box-shadow:-12px 0 40px rgba(0,0,0,.20);
    overflow-y:auto; -webkit-overflow-scrolling:touch;
  }
  .m-drawer.is-open{transform:translateX(0)}
  .m-drawer-head{
    display:flex; align-items:center; justify-content:space-between;
    padding:18px 22px; border-bottom:1px solid var(--line);
    position:sticky; top:0; background:#fff; z-index:2;
  }
  .m-drawer-title{font-size:17px; font-weight:700; color:var(--navy); letter-spacing:-.005em}
  .m-drawer-close{
    width:36px; height:36px; border-radius:10px;
    background:var(--bg); color:var(--navy);
    display:flex; align-items:center; justify-content:center;
    transition:background .15s; font-family:inherit; border:0; cursor:pointer;
  }
  .m-drawer-close:hover{background:var(--line)}
  .m-drawer-close svg{width:18px; height:18px}
  .m-drawer-nav{display:flex; flex-direction:column; padding:8px 0}
  .m-drawer-nav a{
    display:flex; align-items:center; gap:14px;
    padding:13px 22px;
    color:var(--ink); font-size:15.5px; font-weight:600;
    text-decoration:none; transition:background .15s;
  }
  .m-drawer-nav a:hover, .m-drawer-nav a:active{background:var(--bg)}
  .m-drawer-nav a svg.ic{width:20px; height:20px; color:var(--navy); flex-shrink:0; opacity:.78}
  .m-drawer-nav a.m-premium{position:relative}
  .m-drawer-nav a.m-premium .m-premium-tag{
    margin-left:auto; padding:2px 8px; border-radius:6px;
    background:rgba(245,160,46,.18); color:#9a5800;
    font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.04em;
    display:inline-flex; align-items:center; gap:4px;
  }
  .m-drawer-nav a.m-premium .m-premium-tag svg{width:10px; height:10px}
  .m-drawer-divider{height:1px; background:var(--line); margin:6px 22px}

  .m-drawer-auth{
    display:flex; align-items:center; gap:12px;
    margin:8px 16px; padding:13px 18px;
    background:var(--bg); border:1px solid var(--line);
    border-radius:12px;
    color:var(--ink); font-size:14.5px; font-weight:600;
    text-decoration:none;
  }
  .m-drawer-auth svg{width:18px; height:18px; color:var(--navy)}

  .m-drawer-phone{padding:8px 16px 4px}
  .m-drawer-call{
    display:flex; align-items:center; gap:14px;
    padding:14px 18px;
    background:linear-gradient(135deg, var(--green) 0%, #8cc55f 100%);
    color:var(--green-dark); border-radius:14px;
    font-weight:700; text-decoration:none;
  }
  .m-drawer-call .ph-ic{
    width:38px; height:38px; border-radius:50%;
    background:rgba(255,255,255,.45); display:flex; align-items:center; justify-content:center;
    flex-shrink:0;
  }
  .m-drawer-call .ph-ic svg{width:16px; height:16px; color:var(--green-dark)}
  .m-drawer-call .ph-txt{display:flex; flex-direction:column}
  .m-drawer-call .ph-num{font-size:16.5px; font-weight:800; letter-spacing:.01em}
  .m-drawer-call .ph-sub{font-size:11.5px; font-weight:500; opacity:.78; margin-top:1px}

  .m-drawer-socials{
    display:flex; gap:8px; padding:14px 22px 22px;
    border-top:1px solid var(--line); margin-top:8px;
  }
  .m-drawer-socials a{
    width:42px; height:42px; border-radius:10px;
    background:var(--bg); color:var(--navy);
    display:flex; align-items:center; justify-content:center;
    transition:background .15s, color .15s;
  }
  .m-drawer-socials a svg{width:18px; height:18px}
  .m-drawer-socials a.tb-yt:hover{background:#FF0000; color:#fff}
  .m-drawer-socials a.tb-vk:hover{background:#0077FF; color:#fff}
  .m-drawer-socials a.tb-dz:hover{background:#000; color:#fff}
  .m-drawer-socials a.tb-max:hover{background:#3B6BFC; color:#fff}

  body.m-locked{overflow:hidden}

  @keyframes m-fade-down{
    from{opacity:0; transform:translateY(-8px)}
    to{opacity:1; transform:translateY(0)}
  }
}
@media (min-width:1024px){
  .m-cities-trigger, .m-search, .m-burger,
  .m-cities-dd, .m-backdrop, .m-drawer{display:none !important}
}
/* ====== /MOBILE/TABLET HEADER OVERHAUL ============================== */

/* ===== HERO REFINEMENTS на mobile/tablet =============================== */
@media (max-width:1023px){
  /* .hero-social — на всю ширину сетки, чтобы аватарки и 4.9 шли в одной строке */
  .hero-social{
    grid-column: 1 / -1;
    margin-left:0;
    margin-top:4px; padding-top:16px;
    border-top:1px solid rgba(255,255,255,.14);
    flex-wrap:nowrap; gap:12px;
  }
  .hero-social .avas span,
  .hero-social .avas .more{
    width:34px; height:34px; margin-left:-10px;
  }
  .hero-social .avas .more{font-size:11px}
  .hero-social .txt{flex:1; min-width:0}
  .hero-social .txt .top{font-size:12.5px; gap:5px; flex-wrap:wrap}
  .hero-social .txt .top .src-name{font-size:11.5px}
  .hero-social .txt .top b{font-size:13.5px}
  .hero-social .txt .top .rev-count{font-size:11.5px}
  .hero-social .txt .bot{font-size:11px; line-height:1.35}
  /* Hero-stats 2×2 — числа крупнее, подписи компактнее */
  .hero-stats{gap:14px 18px !important; padding-top:20px}
  .hero-stats .s .n{font-size:22px}
  .hero-stats .s .l{font-size:11.5px; line-height:1.3}
}
/* ====== /HERO REFINEMENTS =========================================== */

/* === AP-R V2: лупа поиска ЖК в шапке === */
.zhk-search-toggle{
  width:38px; height:38px; border-radius:50%;
  background:transparent; border:1.5px solid rgba(255,255,255,.28);
  color:#fff; cursor:pointer; padding:0;
  display:inline-flex; align-items:center; justify-content:center;
  transition:background .18s, border-color .18s, transform .18s;
  flex-shrink:0;
}
.zhk-search-toggle svg{width:16px; height:16px}
.zhk-search-toggle:hover{background:rgba(255,255,255,.12); border-color:rgba(255,255,255,.55)}
.zhk-search-toggle:active{transform:scale(.94)}
/* PDP 2026-05-31: шапка вверху БЕЛАЯ → лупа тёмная (navy); при scroll фон navy → лупа белая.
   Перенос городской логики из city_v2 (раньше было унаследовано белым из main_v2 → невидимо). */
.zhk-search-toggle{
  border-color:rgba(19,55,79,.22) !important;
  color:#13374f !important;
}
.zhk-search-toggle:hover{
  background:rgba(19,55,79,.06) !important;
  border-color:rgba(19,55,79,.45) !important;
}
body.topbar-hidden .zhk-search-toggle,
body.scrolled .zhk-search-toggle{
  border-color:rgba(255,255,255,.32) !important;
  color:#fff !important;
}
body.topbar-hidden .zhk-search-toggle:hover,
body.scrolled .zhk-search-toggle:hover{
  background:rgba(255,255,255,.14) !important;
  border-color:rgba(255,255,255,.6) !important;
}
.zhk-search-toggle[aria-expanded="true"]{
  background:#a3d977 !important;
  border-color:#8cc55f !important;
  color:#163d10 !important;
}

/* Сердце «Избранное» — адаптивный цвет/рамка как у лупы рядом (как в city_v2).
   a.topbar-fav повышает специфичность над базовым .topbar-fav (color:#fff) из apr-favorites.js.
   Белая шапка → тёмное (navy), при scroll фон navy → белое. PDP 2026-05-31 */
a.topbar-fav{ color:#13374f; border-color:rgba(19,55,79,.22); }
a.topbar-fav:hover{ background:rgba(19,55,79,.06); border-color:rgba(19,55,79,.45); }
body.topbar-hidden a.topbar-fav,
body.scrolled a.topbar-fav{ color:#fff; border-color:rgba(255,255,255,.28); }
body.topbar-hidden a.topbar-fav:hover,
body.scrolled a.topbar-fav:hover{ background:rgba(255,255,255,.14); border-color:rgba(255,255,255,.55); }

/* Панель поиска: desktop = dropdown под шапкой, mobile = full-screen overlay */
.zhk-search-panel{
  position:fixed; top:0; left:0; right:0; bottom:0;
  background:rgba(19,55,79,.55);
  z-index:1000;
  opacity:0; pointer-events:none;
  transition:opacity .2s ease;
  -webkit-backdrop-filter:blur(2px);
  backdrop-filter:blur(2px);
}
.zhk-search-panel.is-open{
  opacity:1; pointer-events:auto;
}
.zhk-search-panel__box{
  position:absolute;
  background:#fff;
  border-radius:0 0 16px 16px;
  box-shadow:0 16px 48px rgba(0,0,0,.18);
  padding:14px;
  max-width:560px;
  width:calc(100% - 32px);
  left:50%;
  transform:translateX(-50%) translateY(-12px);
  top:0;
  transition:transform .22s ease;
  max-height:calc(100vh - 24px);
  display:flex; flex-direction:column;
}
.zhk-search-panel.is-open .zhk-search-panel__box{
  transform:translateX(-50%) translateY(64px);
}
.zhk-search-close{
  position:absolute; top:10px; right:10px;
  width:34px; height:34px; border-radius:50%;
  border:none; background:#f0f3f7; cursor:pointer;
  display:inline-flex; align-items:center; justify-content:center;
  color:#5a6a7a; transition:background .15s;
}
.zhk-search-close svg{width:14px; height:14px}
.zhk-search-close:hover{background:#e3e8ee}

.zhk-search-input-wrap{
  display:flex; align-items:center; gap:10px;
  padding:12px 14px;
  background:#f4f7fa;
  border:1.5px solid transparent;
  border-radius:12px;
  margin-right:44px; /* место под крестик */
  transition:border-color .15s, background .15s;
}
.zhk-search-input-wrap:focus-within{
  background:#fff;
  border-color:#13374f;
}
.zhk-search-input-ic{width:18px; height:18px; color:#5a6a7a; flex-shrink:0}
.zhk-search-input{
  flex:1; min-width:0;
  border:none; background:transparent; outline:none;
  font:600 16px/1.4 inherit;
  color:#13374f;
  padding:0;
}
.zhk-search-input::placeholder{color:#8a99a8; font-weight:500}
.zhk-search-clear{
  width:24px; height:24px; border-radius:50%;
  border:none; background:#dfe5ec; cursor:pointer;
  display:none; align-items:center; justify-content:center;
  color:#5a6a7a; padding:0; flex-shrink:0;
}
.zhk-search-clear svg{width:10px; height:10px}
.zhk-search-clear:hover{background:#cfd6df}
.zhk-search-panel.has-value .zhk-search-clear{display:inline-flex}

.zhk-search-hint{
  padding:8px 4px 0;
  font-size:12px; color:#8a99a8;
}
.zhk-search-state{flex:1; min-height:0; overflow:hidden}
.zhk-search-state[hidden]{display:none}

.zhk-search-results{
  margin-top:10px;
  overflow-y:auto;
  max-height:calc(70vh - 100px);
  -webkit-overflow-scrolling:touch;
}
.zhk-search-row{
  display:flex; align-items:center; gap:12px;
  padding:10px;
  border-radius:10px;
  text-decoration:none; color:inherit;
  cursor:pointer;
  border:1px solid transparent;
  transition:background .12s, border-color .12s;
}
.zhk-search-row + .zhk-search-row{margin-top:2px}
.zhk-search-row:hover, .zhk-search-row.is-active{
  background:#f4f7fa;
  border-color:#e3e8ee;
}
.zhk-search-row__img{
  width:54px; height:54px; border-radius:9px;
  flex-shrink:0;
  background:#e9eef5 center/cover no-repeat;
}
.zhk-search-row__body{flex:1; min-width:0}
.zhk-search-row__name{
  font-weight:700; font-size:15px;
  color:#13374f; line-height:1.25;
  overflow:hidden; text-overflow:ellipsis;
  display:-webkit-box; -webkit-line-clamp:1; -webkit-box-orient:vertical;
}
.zhk-search-row__name b{color:#13374f; background:rgba(163,217,119,.4); padding:0 2px; border-radius:3px; font-weight:700}
.zhk-search-row__meta{
  display:flex; align-items:center; gap:8px;
  margin-top:3px;
  font-size:12.5px; color:#6b7785;
}
.zhk-search-row__city{display:inline-flex; align-items:center; gap:3px}
.zhk-search-row__city::before{content:''; width:3px; height:3px; background:#a3d977; border-radius:50%; display:inline-block}
.zhk-search-row__price{
  font-weight:700; font-size:14px;
  color:#13374f;
  flex-shrink:0; margin-left:8px;
  white-space:nowrap;
}
.zhk-search-row__price small{font-weight:500; color:#6b7785; font-size:10.5px; display:block; margin-bottom:-1px}

.zhk-search-state--empty{
  padding:38px 16px 24px;
  text-align:center;
  color:#6b7785;
}
.zhk-search-empty-ic{font-size:36px; margin-bottom:8px; opacity:.5}
.zhk-search-empty-title{font-weight:700; font-size:16px; color:#13374f; margin-bottom:4px}
.zhk-search-empty-sub{font-size:13px; color:#6b7785}

.zhk-search-state--loading{
  padding:32px 16px 24px;
  text-align:center;
  color:#8a99a8;
  font-size:13px;
}
.zhk-search-spinner{
  width:28px; height:28px;
  border:2.5px solid #e3e8ee; border-top-color:#17b7bf;
  border-radius:50%;
  margin:0 auto 10px;
  animation:zhk-search-spin .8s linear infinite;
}
@keyframes zhk-search-spin{to{transform:rotate(360deg)}}

@media (min-width:1024px){
  .zhk-search-panel__box{
    width:580px;
    max-width:calc(100% - 32px);
    left:auto;
    right:24px;
    transform:translateX(0) translateY(-12px);
    top:0;
    border-radius:0 0 18px 18px;
  }
  .zhk-search-panel.is-open .zhk-search-panel__box{
    transform:translateX(0) translateY(56px);
  }
}

@media (max-width:1023px){
  /* На mobile панель занимает всю высоту, без скруглений */
  .zhk-search-panel__box{
    border-radius:0;
    max-width:100%;
    width:100%;
    height:100dvh;
    max-height:100dvh;
    padding:12px;
  }
  .zhk-search-panel.is-open .zhk-search-panel__box{
    transform:translateX(-50%) translateY(0);
  }
  .zhk-search-results{
    max-height:calc(100dvh - 130px);
  }
  .zhk-search-row__img{width:48px; height:48px}
  .zhk-search-row__name{font-size:14px}
  .zhk-search-row__meta{font-size:12px}
  .zhk-search-row__price{font-size:13px}
}

@media (max-width:480px){
  .zhk-search-row__price small{display:none}
}

/* Когда панель открыта — блокируем скролл body */
body.zhk-search-open{overflow:hidden}

/* Mobile/tablet: используем родную .m-search вместо нашей кнопки */
@media (max-width:1023px){
  .zhk-search-toggle{display:none !important}
}

/* Компактный режим .btn-primary при scrolled — освобождает место под телефон + лупу */
@media (min-width:1024px){
  body.topbar-hidden .header .btn.btn-primary,
  body.scrolled .header .btn.btn-primary{
    padding:8px 14px !important;
    font-size:13px !important;
    gap:6px !important;
  }
  body.topbar-hidden .header .btn.btn-primary svg,
  body.scrolled .header .btn.btn-primary svg{
    width:14px !important; height:14px !important;
  }
}
/* На scrolled даём .header-meta компактнее — телефон-pill умещается полностью */
body.topbar-hidden .header-meta{ max-width:none; flex-shrink:0; }
body.topbar-hidden .header-meta .phone{ flex-shrink:0; }

/* === /AP-R V2: лупа поиска ЖК === */
  /* 03.08.2026 узкие экраны (iPhone 375-393px): ужать зазоры и кнопки шапки, чтобы бургер не срезало краем экрана */
  @media (max-width: 400px){
    .header > .container.row{gap:6px}
    .header .m-cities-trigger{padding:7px 8px 7px 7px}
    .header .m-search{width:34px}
    .header .m-fav{width:36px}
    .header .m-burger{width:36px}
  }
