/*
Theme Name: Batumi Expert Child
Theme URI: https://batumi-expert.ru
Author: batumi.expert team
Description: Премиум child theme для Astra. Палитра Глубокая ночь + Песок + Малахит + Янтарь. Шрифты Source Serif 4, Manrope, JetBrains Mono. Эстетика Sotheby's International Realty адаптированная под русскоязычную аудиторию.
Template: astra
Version: 1.0.6
Text Domain: batumi-expert-child
*/

/* ========================================
   DESIGN TOKENS (БРЕНДБУК v1.0)
   ======================================== */
:root {
  /* ---------- COLOR - Black Sea palette (mockup values) ---------- */
  --green-700:      #1F5A40;
  --green-600:      #2C7A57; /* Основной цвет действия */
  --green-500:      #3B8A66;
  --green-100:      #E2EFE7;
  --terra:          #B4512E; /* Цвет цен / срочности. a11y 2026-07-10: был #C15A3C (4.37 на белом < 4.5), затемнён на полтона */
  --terra-soft:     #F0E0D6;
  --navy-900:       #10303A; /* Темные секции */
  --navy-800:       #173E49;
  --cream:          #EFE6D7; /* Песочный фон */
  --cream-light:    #F7F2E9; /* Альтернативный фон секций */
  --paper:          #FFFFFF; /* Белый фон */
  --ink:            #1C2A2E; /* Цвет основного текста */
  --slate:          #5C6A6E; /* Вспомогательный текст */
  --mist:           #8A9598;
  --line:           #E6DDCE;

  /* Legacy mappings to maintain compatibility with other pages */
  --be-dark:        var(--ink);
  --be-sand:        var(--cream-light);
  --be-paper:       var(--paper);
  --be-mist:        var(--slate);
  --be-malachite:   var(--green-600);
  --be-primary:     var(--green-600);
  --be-accent:      var(--green-600);
  --be-text-secondary: #3B4754;
  --be-text-muted:  #5A6572;
  --be-amber:       var(--terra);
  --be-sea:         var(--green-700);
  --be-white:       #FFFFFF;
  --be-border:      var(--line);
  --be-shadow:      0 2px 8px rgba(16, 48, 58, 0.06);
  --be-shadow-hover: 0 10px 30px rgba(16, 48, 58, 0.10);

  /* Типографика */
  --be-font-display: 'Lora', Georgia, serif;
  --be-font-heading: 'Golos Text', system-ui, sans-serif;
  --be-font-body:    'Golos Text', system-ui, sans-serif;
  --be-font-mono:    'Golos Text', system-ui, sans-serif; /* Отключение моноширинного */

  /* Mockup specific typography variables */
  --font-head:      'Lora', Georgia, serif;
  --font-body:      'Golos Text', system-ui, sans-serif;

  /* Скругления по макету */
  --r-md:           14px;
  --r-lg:           20px;
  --r-xl:           28px;
  --r-pill:         999px;

  /* Spacing scale (8px base) */
  --be-space-1: 8px;
  --be-space-2: 16px;
  --be-space-3: 24px;
  --be-space-4: 32px;
  --be-space-5: 48px;
  --be-space-6: 64px;
  --be-space-7: 96px;
  --be-space-8: 128px;

  /* Layout */
  --be-max-width: 1440px;
  --be-content-width: 1200px;
  --be-radius-sm: 4px;
  --be-radius-md: 8px;
  --be-radius-lg: 16px;

  /* Анимационные токены (единый источник для плавных переходов) */
  --be-ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --be-ease-spring: cubic-bezier(0.22, 0.61, 0.36, 1);
}

/* ========================================
   GLOBAL OVERRIDES
   ======================================== */
html {
  box-sizing: border-box;
  -webkit-text-size-adjust: 100%;
}
*, *::before, *::after {
  box-sizing: inherit;
}
body {
  margin: 0;
  font-family: var(--be-font-body) !important;
  color: var(--be-dark) !important;
  background-color: var(--be-sand) !important;
  font-size: 18px;
  line-height: 1.6;
  letter-spacing: 0.01em;
}

/* Заголовки - серифом, как у Sotheby's */
h1, h2, h3, h4, h5, h6,
.elementor-heading-title {
  font-family: var(--be-font-display) !important;
  color: var(--be-dark) !important;
  font-weight: 600;
  letter-spacing: -0.02em;
  line-height: 1.15;
}

h1 {
  font-size: clamp(40px, 6vw, 72px);
  margin-bottom: var(--be-space-3);
}

h2 {
  font-size: clamp(32px, 4vw, 48px);
  margin-bottom: var(--be-space-3);
}

h3 {
  font-size: clamp(24px, 3vw, 32px);
  margin-bottom: var(--be-space-2);
}

/* Цифры - моноширинный шрифт */
.numbers, .price, .stat, .calculator-result {
  font-family: var(--be-font-mono);
  font-feature-settings: 'tnum';
}

/* ========================================
   HEADER (Sotheby's-style)
   ======================================== */
.site-header {
  background-color: var(--be-dark) !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
  position: sticky;
  top: 0;
  z-index: 999;
}
/* Размер лого-изображения */
.site-header .custom-logo,
.ast-site-identity img.custom-logo {
  max-height: 46px !important;
  width: auto !important;
}
@media (max-width: 921px) {
  .site-header .custom-logo { max-height: 36px !important; }
}
/* Скрыть текстовый site-title когда есть custom-logo (wp-custom-logo на body) */
.wp-custom-logo .ast-site-title-wrap .site-title,
.wp-custom-logo .ast-site-title-wrap .site-description,
.wp-custom-logo .site-header .site-title,
.wp-custom-logo .site-header .site-description {
  display: none !important;
}
/* Astra ставит белый фон на внутренние bar-элементы - перебиваем */
.ast-primary-header-bar,
.site-primary-header-wrap,
.ast-mobile-header-wrap,
.ast-mobile-header-wrap .ast-mobile-header-content,
.ast-desktop-header-content,
#masthead .ast-main-header-wrap {
  background-color: var(--be-dark) !important;
}

/* ── Логотип (текстовый / изображение) ── */
.site-header .site-title a,
.site-header .site-title,
.site-header .site-logo-img {
  color: var(--be-white) !important;
  font-family: var(--be-font-heading) !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  letter-spacing: -0.03em !important;
  text-decoration: none !important;
}

/* ── Меню Astra Header Builder (десктоп) ── */
/* Таргет по реальным классам, которые генерирует Astra */
.site-header .ast-nav-menu .menu-link,
.site-header #ast-hf-menu-1 .menu-link,
.site-header .main-header-menu .menu-link,
.site-header .main-navigation a {
  color: var(--be-white) !important;
  font-family: var(--be-font-heading) !important;
  font-weight: 500 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  font-size: 13px !important;
}

.site-header .ast-nav-menu .menu-link:hover,
.site-header #ast-hf-menu-1 .menu-link:hover,
.site-header .main-navigation a:hover {
  color: var(--be-amber) !important;
}

/* ── Hamburger / mobile toggle - белый на тёмном фоне ── */
.site-header .menu-toggle,
.site-header .ast-mobile-menu-trigger-minimal,
.site-header .ast-button-wrap .menu-toggle {
  color: var(--be-white) !important;
  fill: var(--be-white) !important;
}
.site-header .menu-toggle .mobile-menu-toggle-icon,
.site-header .menu-toggle svg,
.site-header .ast-mobile-svg {
  fill: var(--be-white) !important;
  color: var(--be-white) !important;
  stroke: var(--be-white) !important;
}

/* ── Мобильное popup-меню ── */
.ast-mobile-popup-drawer .ast-primary-header-bar {
  background: var(--be-dark) !important;
}
.ast-mobile-popup-content .menu-link {
  color: var(--be-white) !important;
  font-family: var(--be-font-heading) !important;
  font-weight: 500 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  font-size: 14px !important;
}
.ast-mobile-popup-content .menu-link:hover {
  color: var(--be-amber) !important;
}

/* ========================================
   КНОПКИ
   ======================================== */
.wp-block-button__link,
.elementor-button,
button[type="submit"],
.btn-primary {
  background-color: var(--be-malachite) !important;
  color: var(--be-white) !important;
  font-family: var(--be-font-heading) !important;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 13px;
  padding: 16px 32px;
  border-radius: var(--be-radius-sm);
  border: none;
  transition: transform .16s cubic-bezier(0.23,1,0.32,1), background-color .25s ease, box-shadow .25s ease;
  cursor: pointer;
}

.wp-block-button__link:hover,
.elementor-button:hover,
button[type="submit"]:hover {
  background-color: #16634D !important;  /* Малахит темнее */
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(30, 122, 95, 0.25);
}

/* Янтарный CTA для срочности */
.btn-urgent,
.elementor-button.urgent {
  background-color: var(--be-amber) !important;
}

.btn-urgent:hover {
  background-color: #A84A2E !important;
}

/* Ghost-кнопка (Sotheby's-style outline) */
.btn-ghost {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-family: var(--be-font-heading) !important;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 13px;
  padding: 14px 26px;
  border-radius: var(--be-radius-sm);
  text-decoration: none;
  background-color: transparent !important;
  color: var(--be-dark) !important;
  border: 1.5px solid var(--be-dark) !important;
  transition: transform .16s cubic-bezier(0.23,1,0.32,1), background-color .25s ease, color .25s ease, box-shadow .25s ease;
}

.btn-ghost:hover {
  background-color: var(--be-dark) !important;
  color: var(--be-white) !important;
  transform: translateY(-2px);
  box-shadow: 0 6px 18px rgba(15,31,46,0.15);
}

/* Тактильный отклик нажатия (Emil: интерфейс «слышит» клик) */
.btn-primary:active,
.btn-ghost:active,
.btn-urgent:active,
button[type="submit"]:active,
.wp-block-button__link:active,
.elementor-button:active,
.bx-hero-cta .btn-primary:active,
.bx-hero-cta .btn-ghost:active {
  transform: scale(0.97) !important;
}

/* Ghost-кнопка в hero поверх фото - повышенный контраст (#0028) */
.hero-section .btn-ghost {
  border: 2px solid var(--be-white) !important;
  color: var(--be-white) !important;
  background: rgba(0,0,0,0.3) !important;
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
}
.hero-section .btn-ghost:hover {
  background: rgba(0,0,0,0.55) !important;
  border-color: var(--be-white) !important;
  color: var(--be-white) !important;
}

/* Стрелочные ссылки (Sotheby's: "SEE DETAILS ->") */
.arrow-link {
  font-family: var(--be-font-heading);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 13px;
  color: var(--be-dark);
  text-decoration: none;
  border-bottom: 1px solid var(--be-dark);
  padding-bottom: 4px;
  transition: color 0.25s ease, border-color 0.25s ease;
}

.arrow-link::after {
  content: '  ->';
  transition: transform 0.3s ease;
  display: inline-block;
}

.arrow-link:hover::after {
  transform: translateX(8px);
}

/* ========================================
   HERO (главная страница)
   ======================================== */
.hero-section {
  min-height: 80vh;
  background-color: var(--be-dark);
  background-size: cover;
  background-position: center;
  display: flex;
  align-items: center;
  position: relative;
  color: var(--be-white);
  padding: 4vh 0 !important;
}

.hero-section::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    rgba(15, 31, 46, 0.4) 0%,
    rgba(15, 31, 46, 0.7) 100%
  );
  z-index: 1;
}

.hero-content {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 var(--be-space-4);
}

@media (min-width: 992px) {
  .hero-content {
    display: grid;
    grid-template-columns: 1.15fr 0.85fr;
    gap: 48px;
    align-items: center;
    max-width: 1400px;
  }
  .hero-widget-col {
    display: block;
  }
}

@media (max-width: 991px) {
  .hero-content {
    display: flex;
    flex-direction: column;
    gap: 24px;
  }
  .hero-widget-col {
    display: block;
    width: 100%;
  }
}

.bx-hero-split__trust {
  margin-bottom: 24px !important;
}

.hero-title {
  color: var(--be-white) !important;
  font-size: clamp(34px, 3.8vw, 48px) !important;
  font-weight: 600 !important;
  margin-bottom: 16px !important;
  max-width: 900px;
  line-height: 1.15 !important;
}

/* Акцент ключевых цифр-выгод в заголовках (cro-118 №11 «крупные фактоиды») */
.be-num { color: var(--green-600); font-variant-numeric: tabular-nums; }               /* на светлом фоне */
.hero-title .be-num { color: #8FD9B0 !important; }  /* на тёмном hero — светло-зелёный для контраста */

.hero-subtitle {
  color: rgba(255, 255, 255, 0.85);
  font-size: clamp(15px, 1.2vw, 17px) !important;
  max-width: 700px;
  margin-bottom: 24px !important;
  font-family: var(--be-font-body);
  line-height: 1.55 !important;
}

/* ============ DYNAMIC HERO BUTTONS (PROPORTIONAL & Glassmorphic) ============ */
.bx-hero-cta {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin-bottom: 32px;
  align-items: center;
}

.bx-hero-cta .btn-primary,
.bx-hero-cta .btn-ghost {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 52px !important;
  padding: 0 32px !important;
  font-family: var(--be-font-heading) !important;
  font-weight: 600 !important;
  font-size: 15px !important;
  border-radius: var(--r-md) !important;
  text-decoration: none !important;
  transition: background-color 0.25s cubic-bezier(0.22, 0.61, 0.36, 1), border-color 0.25s cubic-bezier(0.22, 0.61, 0.36, 1), transform 0.25s cubic-bezier(0.22, 0.61, 0.36, 1), box-shadow 0.25s cubic-bezier(0.22, 0.61, 0.36, 1) !important;
  box-sizing: border-box !important;
  white-space: nowrap !important;
  cursor: pointer !important;
  line-height: 1 !important;
  text-transform: none !important;
}

.bx-hero-cta .btn-primary {
  background-color: var(--green-600) !important;
  color: #ffffff !important;
  border: none !important;
}

.bx-hero-cta .btn-primary:hover {
  background-color: var(--green-700) !important;
  transform: translateY(-2px) !important;
  box-shadow: var(--shadow-md) !important;
}

.bx-hero-cta .btn-ghost {
  background-color: rgba(255, 255, 255, 0.12) !important;
  color: #ffffff !important;
  border: 1.5px solid rgba(255, 255, 255, 0.6) !important;
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
}

.bx-hero-cta .btn-ghost:hover {
  background-color: #ffffff !important;
  border-color: #ffffff !important;
  color: var(--ink) !important;
  transform: translateY(-2px) !important;
  box-shadow: var(--shadow-md) !important;
}

/* ============ T-06 HERO NAVIGATION PILLS ============ */
.bx-hero-pills {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-bottom: 20px;
}

.bx-hero-pills__label {
  font-size: 12px;
  color: rgba(255, 255, 255, 0.7);
  font-family: var(--be-font-heading);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  font-weight: 600;
  margin-right: 4px;
}

.bx-hero-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 6px 14px;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.28);
  border-radius: 20px;
  font-family: var(--be-font-heading);
  font-size: 13px;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.95);
  text-decoration: none;
  transition: background-color 0.2s cubic-bezier(0.22, 0.61, 0.36, 1), border-color 0.2s cubic-bezier(0.22, 0.61, 0.36, 1), color 0.2s ease, transform 0.2s cubic-bezier(0.22, 0.61, 0.36, 1);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  cursor: pointer;
  white-space: nowrap;
}

.bx-hero-pill:hover,
.bx-hero-pill:focus {
  background: rgba(255, 255, 255, 0.25);
  border-color: rgba(255, 255, 255, 0.6);
  color: #ffffff;
  transform: translateY(-1px);
}

@media (max-width: 600px) {
  .bx-hero-pills {
    gap: 6px;
    margin-bottom: 18px;
  }
  .bx-hero-pill {
    padding: 6px 12px;
    font-size: 12.5px;
    min-height: 34px;
  }
}

/* ========================================
   КАРТОЧКИ (комплексы, услуги, кейсы)
   ======================================== */
.bx-card {
  background-color: var(--paper);
  border-radius: var(--r-lg);
  border: 1px solid var(--line);
  box-shadow: var(--shadow-sm);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: transform .22s cubic-bezier(.22,.61,.36,1), box-shadow .22s cubic-bezier(.22,.61,.36,1), border-color .22s cubic-bezier(.22,.61,.36,1);
}

@media (hover: hover) and (pointer: fine) {
  .bx-card:hover {
    transform: translateY(-3px);
    box-shadow: var(--shadow-md);
  }
}

.bx-card__media-wrap {
  height: 200px;
  position: relative;
  overflow: hidden;
  background-color: var(--navy-900);
}

.bx-card__media-wrap--placeholder {
  background: linear-gradient(150deg, var(--green-500), var(--green-700));
  display: flex;
  align-items: center;
  justify-content: center;
}

.bx-card__media-wrap--placeholder span {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  color: rgba(255, 255, 255, 0.85);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .04em;
}

.bx-card__media-wrap--placeholder svg.bx-icon-placeholder {
  width: 34px;
  height: 34px;
  color: rgba(255, 255, 255, 0.85);
}

.bx-card__watermark {
  position: absolute;
  bottom: 12px;
  right: 14px;
  font-family: var(--font-head);
  font-weight: 700;
  font-size: 13px;
  color: rgba(255, 255, 255, 0.8);
}

.bx-card__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.bx-card__score {
  position: absolute;
  top: 14px;
  left: 14px;
  display: flex;
  gap: 7px;
  z-index: 2;
}

.bx-card__score b {
  background: rgba(255, 255, 255, 0.92);
  backdrop-filter: blur(4px);
  color: var(--green-700);
  font-size: 11.5px;
  font-weight: 700;
  padding: 5px 10px;
  border-radius: var(--r-pill);
}

.bx-card__yield-badge {
  position: absolute;
  top: 14px;
  right: 14px;
  background: var(--green-600);
  color: #fff;
  font-weight: 600;
  font-size: 13px;
  padding: 6px 13px;
  border-radius: var(--r-pill);
  display: inline-flex;
  align-items: center;
  gap: 6px;
  z-index: 2;
}

.bx-card__yield-badge svg {
  width: 14px;
  height: 14px;
}

.bx-card__body {
  padding: 22px 24px;
  display: flex;
  flex-direction: column;
  flex: 1;
}

.bx-card__location {
  font-family: var(--be-font-heading);
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: .07em;
  text-transform: uppercase;
  color: var(--slate); /* 2026-07-10 a11y: было var(--mist) #8A9598, контраст 3.07 на белом < 4.5 WCAG */
  margin-bottom: 7px;
}

.bx-card__title {
  font-family: var(--be-font-display);
  font-size: 22px;
  margin: 7px 0 12px;
  color: var(--ink);
  line-height: 1.25;
}

.bx-card__price {
  font-family: var(--be-font-body);
  font-size: 27px;
  color: var(--terra);
  font-weight: 700;
  letter-spacing: -.01em;
  margin-bottom: 8px;
}

.bx-card__specs {
  color: var(--slate);
  font-family: var(--be-font-body);
  font-size: 14px;
  margin: 8px 0 0;
  line-height: 1.5;
}

.bx-card__foot {
  margin-top: auto;
  padding-top: 16px;
  border-top: 1px solid var(--line);
  margin-top: 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.bx-card__trust-line {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12.5px;
  font-weight: 600;
  color: var(--green-700);
}

.bx-card__trust-line svg {
  width: 14px;
  height: 14px;
}

.bx-card__link-arrow {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-weight: 600;
  color: var(--green-700);
  font-size: 14px;
  text-decoration: none;
}

.bx-card__link-arrow svg {
  width: 17px;
  height: 17px;
}

/* ========================================
   ФОРМЫ (Forminator)
   ======================================== */
.forminator-input,
.forminator-textarea,
.forminator-select select,
input[type="text"], input[type="email"], input[type="tel"],
textarea {
  background-color: var(--be-white) !important;
  border: 1px solid var(--be-border) !important;
  border-radius: var(--be-radius-sm) !important;
  padding: 14px 18px !important;
  font-family: var(--be-font-body) !important;
  font-size: 16px !important;
  color: var(--be-dark) !important;
  transition: border-color 0.3s ease;
}

.forminator-input:focus,
.forminator-textarea:focus,
input:focus, textarea:focus {
  border-color: var(--be-malachite) !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(30, 122, 95, 0.1) !important;
}

label {
  font-family: var(--be-font-heading) !important;
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--be-dark);
  font-weight: 600;
  margin-bottom: 8px !important;
}

/* ========================================
   СЕКЦИИ
   ======================================== */
.section-light {
  background-color: var(--be-sand);
  padding: var(--be-space-7) var(--be-space-4);
}

.section-dark {
  background-color: var(--be-dark);
  color: var(--be-white);
  padding: var(--be-space-7) var(--be-space-4);
}

.section-paper {
  background-color: var(--be-paper);
  padding: var(--be-space-7) var(--be-space-4);
}

.section-dark h1,
.section-dark h2,
.section-dark h3 {
  color: var(--be-white) !important;
}

/* ========================================
   FOOTER
   ======================================== */
.site-footer {
  background-color: var(--be-dark);
  color: rgba(255, 255, 255, 0.7);
  padding: var(--be-space-7) var(--be-space-4) var(--be-space-4);
}

.site-footer a {
  color: rgba(255, 255, 255, 0.7);
  text-decoration: none;
  transition: color 0.3s ease;
}

.site-footer a:hover {
  color: var(--be-amber);
}

/* ========================================
   MOBILE
   ======================================== */
@media (max-width: 768px) {
  .hero-section {
    min-height: 70vh;
    padding: 60px 0 !important;
  }

  .section-light, .section-dark, .section-paper {
    padding: var(--be-space-5) var(--be-space-3);
  }

  .bx-card__media-wrap {
    height: 180px;
  }
}

/* ========================================
   АНИМАЦИИ (минимальные, премиум)
   ======================================== */
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.fade-in {
  animation: fadeInUp 0.8s ease forwards;
}

/* Smooth scroll */
html {
  scroll-behavior: smooth;
}

/* ========================================
   ГЛАВНАЯ СТРАНИЦА (front-page.php)
   ======================================== */
.bx-wrap { max-width: 1200px; margin: 0 auto; padding: 0 24px; }
@media (min-width: 1440px) {
  .bx-wrap { max-width: 1400px; }
}

/* Hero дополнения */
.bx-hero-cta { display: flex; gap: 16px; flex-wrap: wrap; margin-top: 8px; }
.bx-hero-note { margin-top: 20px; color: rgba(255,255,255,0.8); font-size: 16px; }
.bx-hero-note strong { color: #fff; }

/* Секции */
.bx-section { padding: 64px 0; }
.bx-section--paper { background: var(--be-paper); }
.bx-section--dark { background: var(--be-dark); color: var(--be-white); }
.bx-section__title { text-align: center; font-size: clamp(32px,4vw,48px); font-weight: 400; margin-bottom: 12px; }
.bx-section__title--light { color: var(--be-white) !important; }
.bx-section__lead { text-align: center; max-width: 640px; margin: 0 auto 32px; opacity: .85; }

/* Сетка преимуществ */
.bx-grid { display: grid; gap: 28px; }
.bx-grid--2 { grid-template-columns: repeat(2, 1fr); }
.bx-grid--4 { grid-template-columns: repeat(4, 1fr); }

/* Сплит-секции (фото + текст) */
.bx-split { display: grid; grid-template-columns: 1fr 1fr; min-height: 480px; }
.bx-split--reverse .bx-split__media { order: 2; }
.bx-split__media { background-size: cover; background-position: center; min-height: 380px; }
.bx-split__text { display: flex; flex-direction: column; justify-content: center; padding: 64px 7%; gap: 20px; background: var(--be-sand); }
.bx-split__text h2 { font-size: clamp(28px,3.5vw,40px); font-weight: 400; }
.bx-split__text p { font-size: 17px; line-height: 1.7; color: var(--be-dark); opacity: .85; }
.bx-split__text .btn-primary, .bx-split__text .btn-ghost { align-self: flex-start; }
.btn-ghost--dark { border-color: var(--be-dark) !important; color: var(--be-dark) !important; }

/* Калькулятор */
.bx-calc-holder { max-width: 720px; margin: 0 auto; background: var(--be-white); border-radius: 16px; padding: 32px; color: var(--be-dark); }

/* Финальный CTA */
.bx-cta-final { background: var(--be-malachite); color: #fff; text-align: center; padding: 80px 0; }
.bx-cta-final h2 { color: #fff !important; /* a11y: перебивался тёмным h2-правилом, контраст 2.83 на зелёном */ font-size: clamp(28px,3.5vw,42px); font-weight:400; margin-bottom: 12px; }
.bx-cta-final p { font-size: 18px; opacity: .92; margin-bottom: 28px; }
.bx-cta-final .btn-primary { background: #fff !important; color: var(--be-malachite) !important; }
.btn-lg { padding: 16px 40px !important; font-size: 17px !important; }

/* Адаптив главной */
@media (max-width: 900px) {
  .bx-grid--4 { grid-template-columns: repeat(2, 1fr); }
  .bx-split { grid-template-columns: 1fr; }
  .bx-split--reverse .bx-split__media { order: 0; }
  .bx-split__media { min-height: 280px; }
}
@media (max-width: 560px) {
  .bx-grid--4 { grid-template-columns: 1fr; }
  .bx-section { padding: 56px 0; }
}

/* ========================================
   ПРОЗА (контент страниц + SEO-блок главной)
   ======================================== */
.bx-prose { max-width: 820px; }
.bx-prose h2 { font-size: clamp(26px,3vw,36px); font-weight: 400; margin: 40px 0 16px; color: var(--be-dark); }
.bx-prose h3 { font-size: clamp(20px,2.2vw,26px); font-weight: 600; margin: 28px 0 12px; color: var(--be-dark); }
.bx-prose p { font-size: 17px; line-height: 1.75; margin-bottom: 16px; color: var(--be-dark); }
.bx-prose ul, .bx-prose ol { margin: 0 0 20px 22px; line-height: 1.7; }
.bx-prose li { margin-bottom: 8px; font-size: 17px; }
.bx-prose strong { color: var(--be-dark); font-weight: 600; }
.bx-prose a { color: var(--be-malachite); }
.bx-prose table { width: 100%; border-collapse: collapse; margin: 20px 0; }
.bx-prose th, .bx-prose td { border: 1px solid var(--be-paper); padding: 10px 14px; text-align: left; font-size: 15px; }
.bx-prose th { background: var(--be-paper); }
.bx-page-content { background: var(--be-white); }

/* Контент обычных страниц (не главная) - Astra .entry-content */
.entry-content { max-width: 820px; margin: 0 auto; }
.entry-content h2 { font-size: clamp(26px,3vw,36px); font-weight: 400; margin: 40px 0 16px; }
.entry-content h3 { font-size: clamp(20px,2.2vw,26px); font-weight: 600; margin: 28px 0 12px; }
.entry-content p, .entry-content li { font-size: 17px; line-height: 1.75; }

/* Блог: длинные статьи не должны схлопываться в узкую колонку Astra.
   На мобильном сохраняем боковые поля и читаемую длину строки. */
@media (min-width: 921px) {
  body.single-post.ast-narrow-container .site-content > .ast-container {
    display: block !important;
    width: calc(100% - 48px) !important;
    max-width: 1240px !important;
  }
  body.single-post #primary { width: 100% !important; max-width: 100% !important; }
  body.single-post .ast-separate-container .ast-article-single {
    padding-left: 48px;
    padding-right: 48px;
  }
  body.single-post .entry-content { max-width: 1100px; }
}
@media (max-width: 920px) {
  .single-post .entry-content { max-width: 100%; }
}

/* ========================================
   FIX: главная - секции на всю ширину
   Astra .ast-container = flex-row душит full-width секции.
   На главной делаем контейнер блочным и снимаем ограничения.
   ======================================== */
.home #content > .ast-container,
.page-template-front-page #content > .ast-container,
.page-template-page-batumi #content > .ast-container {
  display: block !important;
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.home #primary, .home .ast-container > #primary,
.page-template-page-batumi #primary { width: 100% !important; max-width: 100% !important; padding: 0 !important; }
/* секции главной и лендинга о городе - на всю ширину вьюпорта */
.home .hero-section, .home .bx-section, .home .bx-split, .home .bx-cta-final,
.page-template-page-batumi .hero-section, .page-template-page-batumi .bx-section, .page-template-page-batumi .bx-cta-final { width: 100%; }

/* ========================================
   ЛЕНДИНГИ (page-kupit и др.) - компоненты #0029
   ======================================== */

/* Eyebrow - надстрочник в стиле Sotheby's */
.bx-eyebrow {
  display: inline-block;
  font-family: var(--be-font-heading);
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: var(--be-amber);
  margin-bottom: var(--be-space-2);
}
.bx-section--dark .bx-eyebrow { color: #E89B7D; }

/* Чередование секций */
.bx-section--cream { background-color: #FAFAF7; }

/* Лендинг-hero (наследует hero-section, но компактнее) */
.bx-lp-hero { min-height: 72vh; }
.bx-lp-hero::before {
  background: linear-gradient(105deg,
    rgba(15,31,46,0.82) 0%, rgba(15,31,46,0.55) 45%, rgba(15,31,46,0.25) 100%);
}
.bx-lp-hero .hero-title { font-size: clamp(34px, 5vw, 60px); }
.bx-hero-trust {
  margin-top: var(--be-space-4);
  display: flex; flex-wrap: wrap; gap: var(--be-space-3);
  font-family: var(--be-font-heading);
  font-size: 14px; color: rgba(255,255,255,0.75);
}
.bx-hero-trust > span { display: inline-block; }
.bx-hero-trust > span::before {
  content: ''; display: inline-block; width: 6px; height: 6px; border-radius: 50%;
  background: var(--be-malachite); margin-right: 8px; vertical-align: middle;
}

/* feature: тень + hover (P1) + SVG-иконка вместо эмодзи */
.bx-feature {
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  padding: 32px 30px;
  box-shadow: var(--shadow-sm);
  display: flex;
  flex-direction: column;
  height: 100%;
  box-sizing: border-box;
  transition: transform 0.22s cubic-bezier(0.22, 0.61, 0.36, 1), box-shadow 0.22s cubic-bezier(0.22, 0.61, 0.36, 1);
}
.bx-feature:hover {
  transform: translateY(-3px);
  box-shadow: var(--shadow-md);
}
.bx-feature__icon {
  width: 54px;
  height: 54px;
  border-radius: 15px;
  background: var(--green-100);
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 20px;
  flex-shrink: 0;
}
.bx-feature[style*="text-align: left"] .bx-feature__icon,
.bx-feature[style*="text-align:left"] .bx-feature__icon {
  margin: 0 0 20px 0;
}
.bx-feature__icon svg {
  width: 27px;
  height: 27px;
  color: var(--green-600) !important;
  stroke: var(--green-600) !important;
  stroke-width: 1.9;
  display: block;
}
.bx-feature h3 {
  font-size: 23px;
  line-height: 1.2;
  margin: 0 0 10px 0;
  font-family: var(--font-head);
  font-weight: 600;
  color: var(--ink);
}
.bx-grid--5 .bx-feature h3 {
  font-size: 18px;
}
.bx-feature p {
  font-size: 15.5px;
  line-height: 1.55;
  color: var(--slate);
  margin: 0;
}
.bx-grid--5 .bx-feature p {
  font-size: 14px;
}
.bx-feature .bx-price {
  font-family: var(--font-body);
  color: var(--terra);
  font-weight: 700;
  font-size: 20px;
  display: block;
  margin-bottom: 12px;
  font-variant-numeric: tabular-nums;
}
.bx-feature .bx-tag,
.bx-tag {
  align-self: flex-start;
  font-family: var(--font-body);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--green-700);
  background: var(--green-100);
  padding: 5px 11px;
  border-radius: var(--r-pill);
  margin-bottom: 12px;
  display: inline-block;
}
.bx-feature__footer {
  margin-top: auto;
  padding-top: 18px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.bx-feature__link {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-weight: 600;
  font-size: 14px;
  color: var(--green-700);
  text-decoration: none;
  transition: color 0.2s ease;
}
.bx-feature__link:hover {
  color: var(--green-600);
}
.bx-feature__step-label {
  font-family: var(--font-body);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--terra);
  margin-bottom: 8px;
}
.bx-feature__highlight {
  font-family: var(--font-body);
  font-size: 13px;
  font-weight: 700;
  color: var(--green-700);
}

/* Районы */
.bx-districts { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px,1fr)); gap: var(--be-space-3); align-items: start; }
.bx-district {
  display: block; text-decoration: none; color: inherit;
  background: var(--be-white); border: 1px solid var(--be-border);
  border-left: 3px solid var(--be-malachite);
  border-radius: var(--be-radius-md); padding: var(--be-space-3);
  transition: box-shadow .3s ease, transform .2s ease, border-left-color .2s ease;
}
.bx-district:hover { box-shadow: var(--be-shadow); transform: translateY(-2px); }
.bx-district h3 { font-size: 19px; margin-bottom: 6px; color: var(--be-dark); }
.bx-district .bx-tag {
  display: inline-block; font-family: var(--be-font-heading); font-size: 11px;
  text-transform: uppercase; letter-spacing: .07em; color: #A84A2E; /* a11y 2026-07-10: amber 3.69 на зелёном фоне карточки */ margin-bottom: 10px;
}
.bx-district p { font-size: 16px; color: #44525e; margin: 0; }
.bx-district__more {
  display: inline-block; margin-top: 12px; font-family: var(--be-font-heading);
  font-size: 13px; font-weight: 700; color: var(--be-malachite);
  opacity: 0; transition: opacity .2s ease;
}
.bx-district:hover .bx-district__more { opacity: 1; }
@media (hover: none) { .bx-district__more { opacity: 1; } }

/* District - фото-вариант */
.bx-district--photo { padding: 0; overflow: hidden; }
.bx-district__img { width: 100%; height: 160px; object-fit: cover; display: block; border-radius: calc(var(--be-radius-md) - 1px) calc(var(--be-radius-md) - 1px) 0 0; }
.bx-district--photo .bx-district__body { padding: var(--be-space-3); }

/* Feature card - фото-вариант */
.bx-feature--photo { padding: 0; overflow: hidden; }
.bx-feature__img { width: 100%; height: 180px; object-fit: cover; display: block; }
.bx-feature--photo .bx-feature__body { padding: 24px 24px 28px; display: flex; flex-direction: column; }
.bx-feature--photo .bx-feature__icon { margin: 0 auto 16px; }

/* Шаги (нумерованные) */
.bx-steps { display: grid; gap: var(--be-space-3); max-width: 860px; margin: 0 auto; }
.bx-step { display: flex; gap: var(--be-space-3); align-items: flex-start; }
.bx-step__num {
  flex: 0 0 48px; width: 48px; height: 48px; border-radius: 50%;
  background: var(--be-malachite); color: #fff;
  font-family: var(--be-font-heading); font-weight: 700; font-size: 20px;
  display: flex; align-items: center; justify-content: center;
}
.bx-section--dark .bx-step__num { background: #E89B7D; color: var(--be-dark); }
.bx-step__body h3 { font-size: 19px; margin-bottom: 6px; }
.bx-step__body p { font-size: 16px; margin: 0; opacity: .9; }

/* FAQ + риски - нативный аккордеон <details> (без JS) */
.bx-faq { max-width: 820px; margin: 0 auto; }
.bx-faq details {
  background: var(--be-white); border: 1px solid var(--be-border);
  border-radius: var(--be-radius-md); margin-bottom: 12px; overflow: hidden;
}
.bx-faq summary {
  list-style: none; cursor: pointer; padding: var(--be-space-3);
  font-family: var(--be-font-display); font-size: 18px; font-weight: 600;
  display: flex; justify-content: space-between; align-items: center; gap: 16px;
}
.bx-faq summary::-webkit-details-marker { display: none; }
.bx-faq summary::after {
  content: '+'; font-family: var(--be-font-heading); font-size: 26px;
  color: var(--be-malachite); transition: transform .3s ease; line-height: 1;
}
.bx-faq details[open] summary::after { transform: rotate(45deg); }
.bx-faq__a { padding: 0 var(--be-space-3) var(--be-space-3); font-size: 16px; color: #44525e; }
.bx-faq__a strong { color: var(--be-dark); }

/* Мобайл 380px */
@media (max-width: 480px) {
  .bx-hero-trust { gap: 10px; font-size: 13px; }
  .bx-step { gap: 14px; }
  .bx-step__num { flex-basis: 40px; width: 40px; height: 40px; font-size: 17px; }
}

/* Фикс #0029: заголовки на тёмных секциях белые (перебить глобальный !important) */
.bx-section--dark h2,
.bx-section--dark h3,
.bx-section--dark .bx-step__body h3 { color: #fff !important; }
.bx-section--dark .bx-section__lead { color: rgba(255,255,255,0.8) !important; }

/* Лого-марка шапки (#0029 P1): компактная batumi.expert вместо крупного site-title */
.site-title {
  font-family: var(--be-font-heading) !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em !important;
  line-height: 1.1 !important;
  margin: 0 !important;
}
/* ФИКС: убран color:dark - логотип должен быть белым на тёмном хедере */
.site-title a { text-transform: none !important; }
.site-header .site-description {
  font-family: var(--be-font-heading) !important;
  font-size: 11px !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase;
  color: var(--be-mist) !important;
}

/* Фикс #0029: лендинги (page-builder) - контент-контейнер блочный, секции на всю ширину.
   Astra по умолчанию делает .ast-container flex (контент+сайдбар) -> секции схлопывались в колонки. */
.ast-page-builder-template .site-content > .ast-container {
  display: block !important;
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.ast-page-builder-template #primary,
.ast-page-builder-template .entry-content { max-width: 100% !important; margin: 0 !important; }

/* ========================================
   ВИТРИНА ЛОТОВ + ФИЛЬТР + УСЛУГИ + КЕЙСЫ + ФУТЕР (#0029 P0)
   ======================================== */

/* сетки */
.bx-grid--3 { display:grid; grid-template-columns: repeat(3,1fr); gap: var(--be-space-3); }
.bx-grid--4 { display:grid; grid-template-columns: repeat(4,1fr); gap: var(--be-space-3); }
@media (max-width: 900px){ .bx-grid--3, .bx-grid--4 { grid-template-columns: repeat(2,1fr);} }
@media (max-width: 560px){ .bx-grid--2{grid-template-columns:1fr}.bx-grid--3, .bx-grid--4 { grid-template-columns: 1fr;} .bx-grid>*{min-width:0} .page-template-page-kupit .bxp-scta{display:none} }
.bx-decision-readiness button:not(.is-active),.bx-decision-options button:not(.is-active){color:#1f2b2f}

/* Фильтр-chips */
.bx-filter { display:flex; flex-wrap:wrap; gap:10px; margin-bottom: var(--be-space-4); }
.bx-chip {
  font-family: var(--be-font-heading); font-size:14px; font-weight:600;
  padding:9px 20px; border-radius:999px; border:1px solid var(--be-border);
  background:#fff; color: var(--be-dark); cursor:pointer;
  transition: background-color .2s ease, border-color .2s ease, color .2s ease, transform .15s ease;
}
@media (hover: hover) and (pointer: fine) {
  .bx-chip:hover { border-color: var(--be-malachite); }
}
.bx-chip:active { transform: scale(0.96); }
.bx-chip:focus-visible { outline: 2px solid var(--be-malachite); outline-offset: 2px; }
.bx-chip.is-active { background: var(--be-malachite); color:#fff; border-color: var(--be-malachite); }

/* Карточки лотов */
.bx-lots { display:grid; grid-template-columns: repeat(auto-fit, minmax(280px,1fr)); gap: var(--be-space-3); }
.bx-lot { background:#fff; border-radius: var(--be-radius-md); overflow:hidden; box-shadow: var(--be-shadow); transition: transform .35s ease, box-shadow .35s ease; }
.bx-lot:hover { transform: translateY(-5px); box-shadow: var(--be-shadow-hover); }
.bx-lot__ph {
  aspect-ratio: 4/3; position:relative;
  background: linear-gradient(135deg, var(--be-sea), var(--be-malachite));
  display:flex; align-items:center; justify-content:center; color: rgba(255,255,255,.55);
}
.bx-lot__ph svg { width:46px; height:46px; stroke: rgba(255,255,255,.7); }
.bx-lot__phnote { position:absolute; bottom:10px; font-family: var(--be-font-heading); font-size:11px; letter-spacing:.05em; text-transform:uppercase; }
.bx-lot__badge { position:absolute; top:12px; right:12px; background: var(--be-malachite); color:#fff; font-family: var(--be-font-heading); font-size:11px; font-weight:600; padding:5px 10px; border-radius:4px; }
.bx-lot__body { padding: var(--be-space-3); }
.bx-lot__loc { font-family: var(--be-font-heading); font-size:12px; text-transform:uppercase; letter-spacing:.08em; color: var(--be-mist); margin-bottom:6px; }
.bx-lot__title { font-family: var(--be-font-display); font-size:21px; margin:0 0 8px; }
.bx-lot__price { font-family: var(--be-font-mono); font-size:22px; font-weight:600; color: var(--be-amber); margin-bottom:6px; }
.bx-lot__note { font-size:14px; color:#44525e; margin-bottom: var(--be-space-2); }
.bx-lots__demo { text-align:center; color: var(--be-mist); font-size:13px; font-style:italic; margin-top: var(--be-space-3); }

/* Кейсы */
.bx-cases { display:grid; grid-template-columns: repeat(auto-fit, minmax(280px,1fr)); gap: var(--be-space-3); }
.bx-case { background:#fff; border:1px solid var(--be-border); border-top:3px solid var(--be-sea); border-radius: var(--be-radius-md); padding: var(--be-space-4); }
.bx-case__head .bx-tag { display:inline-block; font-family: var(--be-font-heading); font-size:11px; text-transform:uppercase; letter-spacing:.07em; color: #A84A2E; /* a11y 2026-07-10: amber 4.26 на green-100 */ margin-bottom:8px; }
.bx-case h3 { font-size:19px; margin:0 0 10px; }
.bx-case p { font-size:16px; color:#44525e; }
.bx-case__res { margin-top: var(--be-space-3); padding-top: var(--be-space-2); border-top:1px solid var(--be-border); font-family: var(--be-font-heading); font-size:13px; font-weight:600; color: var(--be-malachite); }

/* FAQ chevron - малахитовый, rotate (#0029 P1, заменяет '+') */
.bx-faq summary::after {
  content: ''; width:10px; height:10px; border:0;
  border-right:2px solid var(--be-malachite); border-bottom:2px solid var(--be-malachite);
  transform: rotate(45deg); transition: transform .3s ease; flex:0 0 auto; margin-top:-4px;
}
.bx-faq details[open] summary::after { transform: rotate(-135deg); margin-top:4px; }

/* ========================================
   КАСТОМНЫЙ ФУТЕР (тёмный, 3 колонки)
   ======================================== */
.bx-footer { background: var(--be-dark); color: rgba(255,255,255,.78); }
.bx-footer__grid { display:grid; grid-template-columns: 1.6fr 1fr 1fr; gap: var(--be-space-5); padding: var(--be-space-6) 0 var(--be-space-5); }
.bx-footer__logo { font-family: var(--be-font-heading); font-size:22px; font-weight:700; color:#fff; margin-bottom: var(--be-space-2); letter-spacing:-.02em; }
.bx-footer__brand p { font-size:15px; line-height:1.6; max-width:380px; }
.bx-footer__partner { color: var(--mist) !important; /* a11y: slate #5C6A6E на тёмном 2.63, mist #8A9598 = 4.66 */ font-size:13px !important; margin-top: var(--be-space-2); }
.bx-footer__col-title { color:#fff !important; font-family: var(--be-font-heading) !important; font-size:13px !important; font-weight:600; text-transform:uppercase; letter-spacing:.08em; margin-bottom: var(--be-space-2); }
.bx-footer ul { list-style:none; margin:0; padding:0; }
.bx-footer li { margin-bottom:10px; }
.bx-footer a { color: rgba(255,255,255,.72); text-decoration:none; font-size:15px; transition: color .2s ease; }
.bx-footer a:hover { color: #5BC9A4; }
.bx-footer__cta { margin-top: var(--be-space-3); }
.bx-footer__cta .btn-primary { display:inline-block; }
.bx-footer__bottom { border-top:1px solid rgba(255,255,255,.12); }
.bx-footer__bottom .bx-wrap { display:flex; justify-content:space-between; align-items:center; gap: var(--be-space-3); padding: var(--be-space-3) var(--be-space-4); flex-wrap:wrap; }
.bx-footer__bottom span { font-size:13px; color: var(--mist); /* a11y: см. bx-footer__partner */ }
.bx-footer__disclaimer { max-width:520px; }
@media (max-width: 768px){
  .bx-footer__grid { grid-template-columns: 1fr; gap: var(--be-space-4); padding: var(--be-space-5) 0 var(--be-space-4); }
  .bx-footer__bottom .bx-wrap { flex-direction:column; align-items:flex-start; }
}

/* Лот: класс-тег + доходность */
.bx-lot__tag { display:inline-block; font-family: var(--be-font-heading); font-size:11px; text-transform:uppercase; letter-spacing:.07em; color: var(--be-sea); margin-bottom:6px; }
.bx-lot__yield { font-family: var(--be-font-heading); font-size:14px; font-weight:600; color: var(--be-malachite); margin-bottom:6px; }

/* ========================================
   СРАВНИТЕЛЬНЫЙ КАЛЬКУЛЯТОР банк vs квартира (#0032)
   ======================================== */
.bx-cmp { background:#fff; border:1px solid var(--be-border); border-radius: var(--be-radius-lg); padding: var(--be-space-5); max-width:880px; margin:0 auto; box-shadow: var(--be-shadow); }
.bx-cmp__title { font-size:24px; margin:0 0 var(--be-space-4); }
.bx-cmp__capital { display:flex; flex-wrap:wrap; gap: var(--be-space-3); align-items:flex-end; justify-content:space-between; margin-bottom: var(--be-space-4); }
.bx-cmp__capital label { font-family: var(--be-font-heading); font-size:14px; font-weight:600; display:flex; flex-direction:column; gap:6px; }
.bx-cmp__capital input[type=number] { font-family: var(--be-font-mono); font-size:20px; padding:10px 14px; border:1px solid var(--be-border); border-radius: var(--be-radius-sm); width:200px; }
.bx-cmp__toggle { display:flex; align-items:center; gap:8px; }
.bx-cmp__toggle > span { font-family: var(--be-font-heading); font-size:14px; }
.bx-cmp__tab,
.bx-cmp__tab:hover,
.bx-cmp__tab:focus { font-family: var(--be-font-heading); font-size:13px; padding:8px 14px; border:1px solid var(--be-border); background:#fff !important; color: var(--be-dark) !important; border-radius:999px; cursor:pointer; transition:.2s; }
.bx-cmp__tab.is-active,
.bx-cmp__tab.is-active:hover,
.bx-cmp__tab.is-active:focus { background: var(--be-malachite) !important; color:#fff !important; border-color: var(--be-malachite) !important; }
.bx-cmp__sliders { display:grid; gap: var(--be-space-3); margin-bottom: var(--be-space-4); }
.bx-cmp__row label { display:flex; align-items:center; gap:8px; font-family: var(--be-font-heading); font-size:14px; font-weight:600; margin-bottom:4px; }
.bx-cmp__row output { margin-left:auto; font-family: var(--be-font-mono); color: var(--be-amber); font-size:15px; }
.bx-cmp__row input[type=range],
.bx-slider-touch {
  touch-action: none !important;
  -webkit-appearance: none !important;
  appearance: none !important;
  width: 100% !important;
  height: 28px !important;
  background: transparent;
  cursor: pointer;
}
.bx-cmp__row input[type=range]::-webkit-slider-runnable-track,
.bx-cmp__row input[type=range]:focus::-webkit-slider-runnable-track,
input[type=range].bx-slider-touch::-webkit-slider-runnable-track,
input[type=range].bx-slider-touch:focus::-webkit-slider-runnable-track {
  width: 100% !important;
  height: 8px !important;
  border-radius: 999px !important;
  background: linear-gradient(to right, #1E7A5F 0%, #1E7A5F var(--bx-fill, 0%), #E2E8F0 var(--bx-fill, 0%), #E2E8F0 100%) !important;
  border: none !important;
  box-shadow: none !important;
}
.bx-cmp__row input[type=range]::-moz-range-track,
input[type=range].bx-slider-touch::-moz-range-track {
  width: 100% !important;
  height: 8px !important;
  border-radius: 999px !important;
  background: linear-gradient(to right, #1E7A5F 0%, #1E7A5F var(--bx-fill, 0%), #E2E8F0 var(--bx-fill, 0%), #E2E8F0 100%) !important;
  border: none !important;
  box-shadow: none !important;
}
.bx-cmp__row input[type=range]::-webkit-slider-thumb,
.bx-slider-touch::-webkit-slider-thumb {
  -webkit-appearance: none !important;
  appearance: none !important;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #FFFFFF;
  border: 3px solid #1E7A5F;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.22);
  cursor: pointer;
  margin-top: -10px;
  transition: transform 0.12s ease, box-shadow 0.12s ease;
}
.bx-cmp__row input[type=range]::-moz-range-thumb,
.bx-slider-touch::-moz-range-thumb {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #FFFFFF;
  border: 3px solid #1E7A5F;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.22);
  cursor: pointer;
  transition: transform 0.12s ease, box-shadow 0.12s ease;
}
.bx-cmp__row input[type=range]:active::-webkit-slider-thumb,
.bx-slider-touch:active::-webkit-slider-thumb {
  transform: scale(1.15);
  box-shadow: 0 0 0 8px rgba(30, 122, 95, 0.18), 0 3px 10px rgba(0, 0, 0, 0.25);
}
.bx-cmp__row input[type=range]:active::-moz-range-thumb,
.bx-slider-touch:active::-moz-range-thumb {
  transform: scale(1.15);
  box-shadow: 0 0 0 8px rgba(30, 122, 95, 0.18), 0 3px 10px rgba(0, 0, 0, 0.25);
}
.bx-cmp__tip { color: var(--be-mist); cursor:help; font-size:15px; }
.bx-cmp__src { font-size:12px; color: var(--be-mist); }
.bx-cmp__results { display:grid; grid-template-columns:1fr 1fr; gap: var(--be-space-3); margin-bottom: var(--be-space-3); }
.bx-cmp__card { border-radius: var(--be-radius-md); padding: var(--be-space-3); text-align:center; }
.bx-cmp__card--bank { background: #F1EEE7; }
.bx-cmp__card--flat { background: linear-gradient(135deg, rgba(30,122,95,.10), rgba(44,95,124,.10)); border:1px solid rgba(30,122,95,.25); }
.bx-cmp__cap { font-family: var(--be-font-heading); font-size:12px; text-transform:uppercase; letter-spacing:.06em; color: var(--be-mist); margin-bottom:8px; }
.bx-cmp__big { font-family: var(--be-font-mono); font-size:30px; font-weight:600; color: var(--be-dark); }
.bx-cmp__card--flat .bx-cmp__big { color: var(--be-malachite); }
.bx-cmp__sub { font-size:12px; color: var(--be-mist); margin-top:6px; }
.bx-cmp__diff { text-align:center; font-family: var(--be-font-heading); font-size:18px; margin: var(--be-space-3) 0; }
.bx-cmp__diff strong { font-family: var(--be-font-mono); font-size:28px; color: var(--be-malachite); }
.bx-cmp__bonus { list-style:none; display:flex; flex-wrap:wrap; gap: var(--be-space-2) var(--be-space-4); justify-content:center; padding:0; margin: var(--be-space-3) 0 0; }
.bx-cmp__bonus li { font-family: var(--be-font-heading); font-size:14px; padding-left:22px; position:relative; }
.bx-cmp__bonus li::before { content:''; position:absolute; left:0; top:3px; width:12px; height:7px; border-left:2px solid var(--be-malachite); border-bottom:2px solid var(--be-malachite); transform:rotate(-45deg); }
.bx-cmp__disclaimer { font-size:12px; color: var(--be-mist); margin-top: var(--be-space-4); line-height:1.5; }
@media (max-width:600px){ .bx-cmp { padding: var(--be-space-4) var(--be-space-3); } .bx-cmp__results { grid-template-columns:1fr; } .bx-cmp__big { font-size:26px; } }

/* Калькулятор: реальная покупательная + примечание разницы (#0032 усиление) */
.bx-cmp__real { margin-top:8px; font-family: var(--be-font-mono); font-size:15px; color: var(--be-amber); font-weight:600; }
.bx-cmp__diff-note { font-family: var(--be-font-body); font-size:13px; color: var(--be-mist); font-weight:400; margin-top:8px; line-height:1.5; max-width:620px; margin-left:auto; margin-right:auto; }

/* Сетка 5 карточек (блок "5 причин", #0032) */
.bx-grid--5 { display:grid; grid-template-columns: repeat(5,1fr); gap: var(--be-space-3); }
.bx-grid--5 .bx-feature h3 { font-size:17px; }
.bx-grid--5 .bx-feature p { font-size:14px; }
@media (max-width:1100px){ .bx-grid--5 { grid-template-columns: repeat(3,1fr);} }
@media (max-width:680px){ .bx-grid--5 { grid-template-columns: repeat(2,1fr);} }
@media (max-width:440px){ .bx-grid--5 { grid-template-columns:1fr;} }

/* Cookie-баннер (#0033, 152-ФЗ) */
.bx-cookie { position:fixed; left:16px; right:16px; bottom:16px; z-index:9998; max-width:900px; margin:0 auto; background: var(--be-dark); color:rgba(255,255,255,.9); padding:14px 20px; border-radius: var(--be-radius-md); box-shadow:0 8px 30px rgba(0,0,0,.3); display:flex; align-items:center; gap:16px; flex-wrap:wrap; justify-content:center; font-family: var(--be-font-heading); font-size:14px; }
.bx-cookie a { color:#5BC9A4; }
.bx-cookie .btn-primary { padding:8px 22px; font-size:14px; flex:0 0 auto; }
@media (max-width:600px){ .bx-cookie { flex-direction:column; left:8px; right:8px; bottom:8px; text-align:center; gap:10px; } }

/* Фото в карточке лота (#0034 Фаза 1.4) */
.bx-lot__ph--photo { background: #0F1F2E !important; }
.bx-lot__ph img { width:100%; height:100%; object-fit:cover; object-position:center 25%; display:block; }

/* ========================================
   ХЕДЕР - ID-специфичные фиксы (высший приоритет над Astra inline)
   Исправляют невидимый логотип и hamburger на мобильном хедере.
   ======================================== */
/* Логотип - принудительно белый на обоих хедерах */
#masthead .site-title a,
#ast-mobile-header .site-title a,
#ast-desktop-header .site-title a {
  color: #F5EFE3 !important;
  text-decoration: none !important;
}
/* Hamburger (SVG fill='currentColor' наследует color родителя)
   Astra inline: [data-section="..."] .ast-mobile-menu-trigger-minimal { color: #1E7A5F }
   Перебиваем через attribute+ID */
#ast-mobile-header .menu-toggle,
#ast-mobile-header .ast-mobile-menu-trigger-minimal,
[data-section="section-header-mobile-trigger"] .menu-toggle,
[data-section="section-header-mobile-trigger"] .ast-mobile-menu-trigger-minimal {
  color: #F5EFE3 !important;
  background: transparent !important;
  border: none !important;
}
#ast-mobile-header .menu-toggle svg,
#ast-mobile-header .ast-mobile-svg,
#ast-mobile-header .ahfb-svg-iconset svg {
  fill: #F5EFE3 !important;
  color: #F5EFE3 !important;
}
/* Десктоп-меню */
#ast-desktop-header .menu-link,
#ast-desktop-header .ast-nav-menu a {
  color: #F5EFE3 !important;
}
#ast-desktop-header .menu-link:hover,
#ast-desktop-header .ast-nav-menu a:hover {
  color: #D4A843 !important;
}

/* ========================================
   ФИКС "ПОПЛЫВШИХ" СТРАНИЦ (#0035)
   Astra ставит .ast-container { display:flex; flex-direction:row } - для контент+сайдбар.
   На наших page-template страницах (ast-plain) без сайдбара секции становятся
   flex-колонками с неправильной шириной.
   Решение: в #content перебиваем flex -> block только для наших шаблонов.
   Хедер использует свой .ast-container с display:grid - он остаётся нетронутым.
   ======================================== */
#content > .ast-container,
.site-content > .ast-container,
[class*="page-template-page-"] #content .ast-container,
[class*="page-template-front-page"] #content .ast-container,
.ast-plain #content .ast-container {
  display: block !important;
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.bx-air-grid-5-7 > *,
.bx-air-steps-grid > *,
.dhx-2col > *,
.bx-sm-trust__panel > * {
  min-width: 0;
  max-width: 100%;
}
@media (max-width: 374px) {
  .bx-air-grid-5-7,
  .bx-air-steps-grid,
  .dhx-2col,
  .bx-sm-trust__panel,
  [style*="minmax(3"] {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  .bx-cmp {
    padding: 20px 14px !important;
  }
  .bx-cmp .btn-lg {
    padding: 12px 12px !important;
    font-size: 13px !important;
    white-space: normal !important;
    width: 100% !important;
  }
  .bx-sm-trust__actions {
    flex-wrap: wrap !important;
  }
  .bx-sm-trust__actions .btn-primary,
  .bx-sm-trust__actions .btn-ghost {
    width: 100% !important;
    white-space: normal !important;
  }
}
[class*="page-template-page-"] #primary,
[class*="page-template-page-"] .entry-content,
[class*="page-template-front-page"] #primary,
[class*="page-template-front-page"] .entry-content,
.ast-plain #primary,
.ast-plain .entry-content {
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* ========================================
   HERO SPLIT-SCREEN (главная, #0036)
   Левая - тёмная колонка с текстом,
   правая - фотография Батуми.
   ======================================== */
.bx-hero-split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 100vh;
  width: 100%;
}

/* Левая колонка */
.bx-hero-split__left {
  background: var(--be-dark);
  display: flex;
  align-items: center;
  padding: clamp(48px, 7vw, 100px) clamp(32px, 5vw, 72px);
}
.bx-hero-split__inner {
  max-width: 540px;
  width: 100%;
}

/* Микро-траст */
.bx-hero-split__trust {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: var(--be-font-mono);
  font-size: 11px;
  color: var(--be-mist);
  text-transform: uppercase;
  letter-spacing: .1em;
  margin-bottom: var(--be-space-3);
}
.bx-hero-split__dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--be-malachite);
  flex-shrink: 0;
}

/* H1 */
.bx-hero-split__h1 {
  font-family: var(--be-font-heading) !important;
  font-weight: 800 !important;
  font-size: clamp(26px, 2.8vw, 46px) !important;
  color: #F5EFE3 !important;
  line-height: 1.12 !important;
  margin: 0 0 var(--be-space-3) !important;
  letter-spacing: -.02em !important;
}

/* Лид */
.bx-hero-split__lead {
  font-family: var(--be-font-body) !important;
  font-size: clamp(15px, 1.1vw, 17px) !important;
  color: #F5EFE3 !important;
  opacity: .88;
  line-height: 1.65 !important;
  margin: 0 0 var(--be-space-4) !important;
}

/* CTA-блок */
.bx-hero-split__cta {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: var(--be-space-3);
}
.bx-hero-split__btn-primary {
  display: inline-block;
  background: var(--be-malachite);
  color: #fff;
  font-family: var(--be-font-heading);
  font-weight: 600;
  font-size: 15px;
  padding: 15px 28px;
  border-radius: 2px;
  text-decoration: none;
  transition: background .25s ease, transform .2s ease;
  white-space: nowrap;
}
.bx-hero-split__btn-primary:hover {
  background: #165F4A;
  color: #fff;
  transform: translateY(-1px);
}
.bx-hero-split__btn-ghost {
  display: inline-block;
  color: var(--be-mist);
  font-family: var(--be-font-heading);
  font-weight: 500;
  font-size: 14px;
  text-decoration: underline;
  text-underline-offset: 4px;
  text-decoration-color: rgba(139,150,163,.4);
  padding: 4px 0;
  transition: color .2s ease;
}
.bx-hero-split__btn-ghost:hover { color: var(--be-sand); }

/* Подвал */
.bx-hero-split__footnote {
  font-family: var(--be-font-body);
  font-size: 12px;
  color: var(--be-mist);
  margin: 0;
  line-height: 1.6;
}

/* Правая колонка - фото */
.bx-hero-split__right {
  position: relative;
  overflow: hidden;
  min-height: 560px;
}
/* LCP: <picture><img> вместо CSS background - браузер видит img в HTML без парсинга CSS */
.bx-hero-split__right picture {
  display: block;
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.bx-hero-split__right picture img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

/* Мобильный breakpoint */
@media (max-width: 900px) {
  .bx-hero-split {
    grid-template-columns: 1fr;
    min-height: auto;
  }
  .bx-hero-split__right {
    min-height: 280px;
    order: -1;
  }
  .bx-hero-split__left {
    padding: 40px 24px 48px;
  }
  .bx-hero-split__cta { flex-direction: column; }
  .bx-hero-split__btn-primary { white-space: normal; }
}

/* ========================================
   КАСТОМНАЯ ШАПКА И МОДАЛЬНЫЕ ОКНА (P0)
   ======================================== */

/* /o-nas - адаптивная сетка био (фикс мобильного наложения) */
.bx-onas-grid { display: grid; grid-template-columns: 200px 1fr; gap: 40px; align-items: start; }
@media (max-width: 600px) {
  .bx-onas-grid { grid-template-columns: 1fr; gap: 24px; }
  .bx-onas-grid > div:first-child { display: flex; justify-content: center; }
}

.bx-header-main {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 80px;
  background: #FFFFFF !important;
  z-index: 1000;
  transition: box-shadow 0.3s cubic-bezier(0.16, 1, 0.3, 1);
  font-family: var(--be-font-heading);
  border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}

/* Удалена верхняя утилити-строка */
.bx-header__utility {
  display: none !important;
}

/* Главная плашка шапки */
.bx-header__main {
  height: 100%;
  background: transparent;
  padding: 0;
  transition: background-color 0.25s ease, box-shadow 0.25s ease;
}
.bx-header__main-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 24px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 100%;
}

/* Логотип */
.bx-header__logo a {
  font-family: var(--be-font-heading);
  font-weight: 800;
  font-size: 22px;
  letter-spacing: -0.03em;
  color: #000000 !important;
  text-decoration: none;
  transition: color 0.3s ease;
}
.bx-header__logo span {
  color: #0F1F2E;
}

/* Блок контактов сразу после логотипа */
.bx-header__contacts {
  display: flex;
  align-items: center;
  gap: 24px;
  margin-left: 28px;
}
.bx-header__contact-link {
  font-size: 14px;
  font-weight: 500;
  color: #000000 !important;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition: color 0.2s ease;
}
.bx-header__contact-link:hover {
  color: var(--be-malachite) !important;
}
.bx-header__contact-icon { display: inline-flex; align-items: center; flex-shrink: 0; }
.bx-header__contact-icon svg { stroke: currentColor; }

/* Десктоп-меню */
.bx-header__nav {
  margin-left: auto;
}
.bx-header__menu {
  display: flex;
  list-style: none;
  margin: 0;
  padding: 0;
  gap: 28px;
  align-items: center;
}
@media (min-width: 1025px) and (max-width: 1240px) {
  .bx-header__menu {
    gap: 16px;
  }
  .bx-header__contacts {
    gap: 16px;
    margin-left: 16px;
  }
}
.bx-header__menu-item {
  position: relative;
}
.bx-header__menu-item > a {
  font-size: 14px !important;
  font-weight: 600 !important;
  text-transform: none;
  letter-spacing: 0.03em;
  color: #000000 !important;
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 10px 0;
  transition: color 0.2s ease;
}
.bx-header__menu-item:hover > a {
  color: var(--be-malachite) !important;
}
.bx-header__arrow {
  font-size: 10px;
  opacity: 0.7;
  transition: transform 0.2s ease;
  display: inline-block;
}
.bx-header__menu-item--has-children:hover .bx-header__arrow {
  transform: rotate(180deg);
}

/* Выпадающие меню (Dropdowns с Glassmorphism) */
.bx-header__dropdown {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%) translateY(10px);
  background: #FFFFFF;
  border: 1px solid rgba(15, 31, 46, 0.08);
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
  border-radius: var(--be-radius-md);
  padding: 12px 0;
  min-width: 220px;
  list-style: none;
  margin: 0;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.25s cubic-bezier(0.16, 1, 0.3, 1), transform 0.25s cubic-bezier(0.16, 1, 0.3, 1);
  z-index: 1001;
}
.bx-header__menu-item--has-children:hover .bx-header__dropdown {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateX(-50%) translateY(0);
}
.bx-header__dropdown a {
  display: block;
  padding: 10px 20px;
  color: var(--be-dark) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  transition: background 0.2s ease, color 0.2s ease;
}
.bx-header__dropdown a:hover {
  background: rgba(30, 122, 95, 0.06);
  color: var(--be-malachite) !important;
}

/* Кнопка "Заказать звонок" */
.bx-header__btn {
  background: var(--green-600);
  color: #FFFFFF !important;
  border: none;
  border-radius: 4px;
  padding: 10px 20px;
  font-family: var(--be-font-heading);
  font-weight: 600;
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  cursor: pointer;
  transition: background 0.2s ease, transform 0.2s ease;
  margin-left: 28px;
  white-space: nowrap;
}
.bx-header__btn:hover {
  background: var(--green-700);
  transform: translateY(-1px);
}
.bx-header__btn:active {
  transform: translateY(0);
}

/* Мобильный бургер-переключатель */
.bx-header__burger {
  display: none;
  background: transparent;
  border: none;
  cursor: pointer;
  flex-direction: column;
  gap: 6px;
  padding: 8px;
  z-index: 1010;
  outline: none;
}
.bx-header__burger-line {
  width: 24px;
  height: 2px;
  background-color: #000000;
  transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}
.bx-header__burger.is-active .bx-header__burger-line:nth-child(1) {
  transform: translateY(8px) rotate(45deg);
}
.bx-header__burger.is-active .bx-header__burger-line:nth-child(2) {
  opacity: 0;
}
.bx-header__burger.is-active .bx-header__burger-line:nth-child(3) {
  transform: translateY(-8px) rotate(-45deg);
}

/* Прокрученное состояние шапки */
.bx-header-main.is-scrolled {
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

/* Компенсирующий отступ для шапки на всех страницах */
#content {
  padding-top: 80px !important;
}

/* Мобильный выезжающий контейнер (Drawer) */
.bx-drawer {
  position: fixed;
  inset: 0;
  z-index: 9999;
  visibility: hidden;
  overflow: hidden; /* 2026-07-10 аудит: припаркованный translateX(100%) drawer создавал горизонтальный скролл на мобиле */
  transition: visibility 0.4s ease;
}
.bx-drawer:not(.is-open) {
  display: none;
}
.bx-drawer.is-open {
  display: block;
}
.bx-drawer.is-open {
  visibility: visible;
}
.bx-drawer__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(15, 31, 46, 0.5);
  backdrop-filter: blur(4px);
  opacity: 0;
  transition: opacity 0.4s ease;
}
.bx-drawer.is-open .bx-drawer__backdrop {
  opacity: 1;
}
.bx-drawer__content {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  max-width: 320px;
  height: 100%;
  background: #FFFFFF;
  color: #000000;
  display: flex;
  flex-direction: column;
  box-shadow: -4px 0 30px rgba(0,0,0,0.1);
  transform: translateX(100%);
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}
.bx-drawer.is-open .bx-drawer__content {
  transform: translateX(0);
}
.bx-drawer__header {
  padding: 24px;
  border-bottom: 1px solid rgba(0,0,0,0.08);
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.bx-drawer__logo {
  font-family: var(--be-font-heading);
  font-weight: 800;
  font-size: 20px;
  color: #000000;
  display: inline-flex;
  align-items: center;
  gap: 10px;
}
.bx-drawer__logo-img {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
}
.bx-drawer__logo span {
  color: var(--be-malachite);
}
.bx-drawer__close {
  background: transparent;
  border: none;
  color: #000000;
  font-size: 24px;
  cursor: pointer;
}
.bx-drawer__body {
  flex: 1;
  overflow-y: auto;
  padding: 24px;
}
.bx-drawer__menu {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.bx-drawer__menu a,
.bx-drawer__submenu-header {
  color: #000000;
  text-decoration: none;
  font-family: var(--be-font-heading);
  font-size: 15px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  display: block;
  padding: 8px 0;
}
.bx-drawer__submenu-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  cursor: pointer;
}
.bx-drawer__submenu-header a {
  padding: 0;
}
.bx-drawer__arrow {
  font-size: 12px;
  color: var(--be-dark);
  transition: transform 0.25s ease;
}
.bx-drawer__submenu {
  list-style: none;
  margin: 0;
  padding: 0 0 0 16px;
  display: none;
  flex-direction: column;
  gap: 6px;
  border-left: 1px solid rgba(0,0,0,0.08);
  margin-top: 6px;
}
.bx-drawer__submenu a {
  font-size: 14px;
  font-weight: 500;
  text-transform: none;
  letter-spacing: 0;
  color: #555555;
  padding: 6px 0;
}
.bx-drawer__menu-item--has-children.is-active .bx-drawer__submenu {
  display: flex;
}
.bx-drawer__menu-item--has-children.is-active .bx-drawer__arrow {
  transform: rotate(180deg);
}
.bx-drawer__footer {
  padding: 24px;
  border-top: 1px solid rgba(0,0,0,0.08);
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.bx-drawer__contact-link {
  color: #000000;
  text-decoration: none;
  font-size: 14px;
  display: flex;
  align-items: center;
  gap: 8px;
}
.bx-drawer__btn {
  background: var(--green-600);
  color: #ffffff;
  border: none;
  border-radius: 4px;
  padding: 12px;
  font-family: var(--be-font-heading);
  font-weight: 600;
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  cursor: pointer;
  width: 100%;
  text-align: center;
  transition: background 0.2s ease;
  margin-top: 6px;
}

/* Модальное окно (Modal Lightbox) */
.bx-modal {
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 16px;
  visibility: hidden;
  opacity: 0;
}
.bx-modal.is-active {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
}
.bx-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(15, 31, 46, 0.65);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}
.bx-modal__content {
  position: relative;
  background: var(--be-sand);
  border: 1px solid var(--be-border);
  border-radius: var(--be-radius-lg);
  width: 100%;
  max-width: 480px;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.3);
  z-index: 10001;
  overflow: hidden;
}
.bx-modal.is-active .bx-modal__content {
  animation: bxModalPop 0.25s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}
@keyframes bxModalPop {
  from { opacity: 0; transform: scale(0.95); }
  to { opacity: 1; transform: scale(1); }
}
.bx-modal__close {
  position: absolute;
  top: 16px;
  right: 16px;
  background: transparent;
  border: none;
  font-size: 18px;
  color: var(--be-dark);
  cursor: pointer;
  z-index: 10;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  transition: background 0.2s ease;
}
.bx-modal__close:hover {
  background: rgba(15, 31, 46, 0.05);
}
.bx-modal__body {
  padding: 40px 32px;
}
.bx-modal__title {
  font-size: 26px;
  margin: 0 0 8px;
  font-family: var(--be-font-display);
  color: var(--be-dark);
}
.bx-modal__subtitle {
  font-size: 14px;
  color: var(--be-mist);
  line-height: 1.5;
  margin: 0 0 24px;
  font-family: var(--be-font-body);
}
.bx-modal__form {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.bx-modal__field {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.bx-modal__field label {
  font-family: var(--be-font-heading) !important;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--be-dark);
  margin-bottom: 0 !important;
}
.bx-modal__field input[type=text],
.bx-modal__field input[type=tel],
.bx-modal__field textarea {
  background: #FFF !important;
  border: 1px solid var(--be-border) !important;
  border-radius: var(--be-radius-sm) !important;
  padding: 12px 16px !important;
  font-family: var(--be-font-body) !important;
  font-size: 16px !important; /* Prevents auto-zoom on iOS Safari */
  color: var(--be-dark) !important;
  width: 100%;
  box-sizing: border-box;
}
.bx-modal__messengers {
  display: flex;
  gap: 8px;
}
.bx-modal__messenger-option {
  flex: 1;
  cursor: pointer;
  margin-bottom: 0 !important;
}
.bx-modal__messenger-option input[type=radio] {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}
.bx-modal__messenger-box {
  display: block;
  text-align: center;
  padding: 10px;
  background: #fff;
  border: 1px solid var(--be-border);
  border-radius: var(--be-radius-sm);
  font-family: var(--be-font-heading);
  font-size: 13px;
  font-weight: 600;
  color: var(--be-dark);
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease, transform 0.15s ease;
  user-select: none;
}
.bx-modal__messenger-box:active {
  transform: scale(0.96);
}
.bx-modal__messenger-option input[type=radio]:checked + .bx-modal__messenger-box {
  background: var(--be-malachite);
  color: #fff;
  border-color: var(--be-malachite);
}
.bx-modal__submit-btn {
  background: var(--be-malachite);
  color: #fff;
  border: none;
  border-radius: var(--be-radius-sm);
  padding: 14px;
  font-family: var(--be-font-heading);
  font-weight: 600;
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  cursor: pointer;
  transition: background 0.2s ease;
  margin-top: 8px;
}
.bx-modal__submit-btn:hover {
  background: #165F4A;
}
.bx-modal__submit-btn:disabled {
  background: var(--be-mist);
  cursor: not-allowed;
}
.bx-modal__privacy {
  font-size: 11px;
  color: var(--be-mist);
  line-height: 1.4;
  margin: 8px 0 0;
  text-align: center;
}
.bx-modal__privacy a {
  color: var(--be-malachite);
  text-decoration: underline;
}
.bx-modal__success {
  text-align: center;
  padding: 20px 0;
}
.bx-modal__success-icon {
  width: 64px;
  height: 64px;
  background: rgba(30, 122, 95, 0.1);
  color: var(--be-malachite);
  font-size: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  margin: 0 auto 16px;
}
.bx-modal__success h4 {
  font-family: var(--be-font-display);
  font-size: 22px;
  margin: 0 0 8px;
}
.bx-modal__success p {
  font-size: 14px;
  color: var(--be-mist);
  margin: 0;
  line-height: 1.5;
}

/* Ограничения/стили новой Hero секции */
.bx-hero-split__btn-ghost-alt {
  display: inline-block;
  border: 1px solid rgba(245, 239, 227, 0.4);
  color: #F5EFE3;
  font-family: var(--be-font-heading);
  font-weight: 600;
  font-size: 15px;
  padding: 15px 28px;
  border-radius: 2px;
  text-decoration: none;
  transition: border-color 0.25s ease, background-color 0.25s ease, color 0.25s ease, transform 0.15s ease;
  text-align: center;
}
.bx-hero-split__btn-ghost-alt:active {
  transform: scale(0.97);
}
.bx-hero-split__btn-ghost-alt:hover {
  border-color: #F5EFE3;
  background: rgba(255, 255, 255, 0.05);
  color: #F5EFE3;
}
.bx-hero-split__cta {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  gap: 16px;
  margin-bottom: var(--be-space-4);
}
.bx-hero-split__cta button {
  border: none;
  cursor: pointer;
}
.bx-hero-split__bullets {
  font-family: var(--be-font-body);
  font-size: 13px;
  color: var(--be-mist);
  line-height: 1.6;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: var(--be-space-2);
}
.bx-hero-split__bullet {
  white-space: nowrap;
}
.bx-hero-split__bullet-sep {
  color: rgba(139, 150, 163, 0.4);
}
/* Chips (trust bar) */
.bx-hero-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: var(--be-space-2);
}
.bx-hero-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: var(--be-font-body);
  font-size: 12px;
  font-weight: 500;
  color: var(--be-mist);
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.15);
  border-radius: 20px;
  padding: 5px 12px;
  white-space: nowrap;
  line-height: 1;
}
.bx-hero-chip svg {
  flex-shrink: 0;
  opacity: 0.7;
}

/* ========================================
   АДАПТИВНОСТЬ
   ======================================== */

@media (max-width: 1024px) {
  /* Шапка на мобильных */
  .bx-header-main {
    height: 70px;
  }
  .bx-header__utility {
    display: none !important;
  }
  .bx-header__contacts {
    display: none !important;
  }
  .bx-header__nav {
    display: none !important;
  }
  .bx-header__btn {
    display: none !important;
  }
  .bx-header__burger {
    display: flex;
  }
  .bx-header__main {
    height: 100%;
    background: transparent;
    padding: 0;
    border-bottom: none;
  }
  #content {
    padding-top: 70px !important;
  }
  
  /* Hero-секция */
  .bx-hero-split__cta {
    flex-direction: column;
    align-items: stretch;
  }
  .bx-hero-split__btn-primary,
  .bx-hero-split__btn-ghost-alt {
    width: 100%;
    box-sizing: border-box;
    min-height: 72px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
  }
  .bx-hero-split__bullets {
    flex-direction: column;
    gap: 6px;
  }
  .bx-hero-split__bullet-sep {
    display: none;
  }
}

/* ==========================================================================
   РАЙОНЫ БАТУМИ & СКОРИНГ (Gemini-Maps Framework)
   ========================================================================== */

/* Бейджи оценок */
.bx-score-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px;
  border-radius: 4px;
  font-family: var(--be-font-heading);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.2;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  border: 1px solid transparent;
}
.bx-badge--invest {
  background-color: rgba(30, 122, 95, 0.07);
  border-color: rgba(30, 122, 95, 0.18);
  color: var(--be-malachite);
}
.bx-badge--live {
  background-color: rgba(44, 95, 124, 0.07);
  border-color: rgba(44, 95, 124, 0.18);
  color: var(--be-sea);
}
.bx-score-badge__label {
  font-weight: 500;
  opacity: 1; /* a11y 2026-07-10: 0.85 разбавлял малахит до 3.59 на светлом */
}
.bx-score-badge__val {
  font-size: 13px;
  font-weight: 800;
}

/* Бейджи в карточках лотов */
.bx-lot__district-badges {
  display: flex;
  gap: 6px;
  margin-top: 6px;
  flex-wrap: wrap;
}
.bx-lot__district-badges .bx-score-badge {
  padding: 3px 8px;
  font-size: 11px;
}
.bx-lot__district-badges .bx-score-badge__val {
  font-size: 12px;
}

/* Карточка района */
.bx-district-card {
  background: var(--be-white);
  border: 1px solid var(--be-border);
  border-radius: var(--be-radius-md);
  padding: var(--be-space-3);
  box-shadow: var(--be-shadow);
  display: flex;
  flex-direction: column;
  height: 100%;
  box-sizing: border-box;
  transition: transform 0.25s cubic-bezier(0.25, 0.8, 0.25, 1), box-shadow 0.25s cubic-bezier(0.25, 0.8, 0.25, 1), border-color 0.25s ease;
}
@media (hover: hover) and (pointer: fine) {
  .bx-district-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--be-shadow-hover);
    border-color: rgba(15, 31, 46, 0.15);
  }
}

/* Header */
.bx-district-card__header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
  margin-bottom: var(--be-space-2);
}
.bx-district-card__title {
  font-family: var(--be-font-display);
  font-size: 24px;
  color: var(--be-dark);
  margin: 0;
  font-weight: 700;
  line-height: 1.2;
}
.bx-district-card__scores {
  display: flex;
  gap: 8px;
  flex-shrink: 0;
}

/* Summary */
.bx-district-card__summary {
  font-family: var(--be-font-body);
  font-size: 15px;
  line-height: 1.6;
  color: var(--be-dark);
  opacity: 0.9;
  margin: 0 0 var(--be-space-3) 0;
}

/* Meta Grid */
.bx-district-card__meta-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
  background-color: var(--be-sand);
  border-radius: var(--be-radius-sm);
  padding: 14px 16px;
  margin-bottom: var(--be-space-3);
  border: 1px solid rgba(15, 31, 46, 0.03);
}
.bx-district-card__meta-item {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.bx-district-card__meta-label {
  font-family: var(--be-font-heading);
  font-size: 11px;
  text-transform: uppercase;
  color: var(--be-mist);
  font-weight: 600;
  letter-spacing: 0.02em;
}
.bx-district-card__meta-val {
  font-family: var(--be-font-heading);
  font-size: 14px;
  font-weight: 700;
  color: var(--be-dark);
}
.bx-district-card__meta-val.price {
  color: var(--be-malachite);
}

/* Myth check */
.bx-district-card__myth {
  background-color: rgba(199, 91, 59, 0.06);
  border-left: 3px solid var(--be-amber);
  border-radius: 0 var(--be-radius-sm) var(--be-radius-sm) 0;
  padding: 12px 16px;
  margin-bottom: var(--be-space-3);
}
.bx-district-card__myth-title {
  display: block;
  font-family: var(--be-font-heading);
  font-size: 12px;
  font-weight: 700;
  color: var(--be-amber);
  text-transform: uppercase;
  margin-bottom: 4px;
}
.bx-district-card__myth-desc {
  font-family: var(--be-font-body);
  font-size: 14px;
  line-height: 1.5;
  color: var(--be-dark);
  margin: 0;
}

/* Infrastructure and details block */
.bx-district-card__details {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--be-space-2);
  margin-bottom: var(--be-space-3);
  flex-grow: 1;
}
.bx-district-card__infra {
  border-top: 1px solid var(--be-border);
  padding-top: var(--be-space-2);
}
.bx-district-card__infra h4 {
  font-family: var(--be-font-heading);
  font-size: 14px;
  font-weight: 700;
  margin: 0 0 10px 0;
  color: var(--be-dark);
}
.bx-district-card__infra ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
}
.bx-district-card__infra li {
  font-size: 13.5px;
  line-height: 1.4;
  color: var(--be-dark);
  display: flex;
  flex-direction: column;
}
.bx-district-card__infra li strong {
  font-size: 11px;
  text-transform: uppercase;
  color: var(--be-mist);
  font-weight: 600;
  margin-bottom: 1px;
}

/* Pros / Cons */
.bx-district-card__proscons {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
  border-top: 1px solid var(--be-border);
  padding-top: var(--be-space-2);
}
.bx-district-card__pros, .bx-district-card__cons {
  display: flex;
  flex-direction: column;
}
.bx-district-card__pc-title {
  font-family: var(--be-font-heading);
  font-size: 13px;
  font-weight: 700;
  margin-bottom: 8px;
  display: block;
}
.bx-district-card__pros .bx-district-card__pc-title {
  color: var(--be-malachite);
}
.bx-district-card__cons .bx-district-card__pc-title {
  color: var(--be-amber);
}
.bx-district-card__pros ul, .bx-district-card__cons ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.bx-district-card__pros li, .bx-district-card__cons li {
  font-size: 13px;
  line-height: 1.4;
  color: var(--be-dark);
  position: relative;
  padding-left: 14px;
}
.bx-district-card__pros li::before {
  content: "-";
  color: var(--be-malachite);
  position: absolute;
  left: 0;
  font-weight: bold;
}
.bx-district-card__cons li::before {
  content: "-";
  color: var(--be-amber);
  position: absolute;
  left: 0;
  font-weight: bold;
}

/* CTA Footer */
.bx-district-card__footer {
  margin-top: auto;
  padding-top: var(--be-space-2);
  border-top: 1px solid var(--be-border);
}
.bx-district-card__cta-btn {
  display: block;
  text-align: center;
  padding: 12px 16px;
  background-color: transparent;
  color: var(--be-sea) !important;
  border: 1.5px solid var(--be-sea);
  font-family: var(--be-font-heading);
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
  border-radius: var(--be-radius-sm);
  transition: background-color 0.2s ease, color 0.2s ease, transform 0.15s ease;
}
.bx-district-card__cta-btn:hover {
  background-color: var(--be-sea);
  color: var(--be-white) !important;
}
.bx-district-card__cta-btn:active {
  transform: scale(0.97);
}

/* Responsive adjustments */
@media (max-width: 640px) {
  .bx-district-card {
    padding: var(--be-space-2);
  }
  .bx-district-card__header {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }
  .bx-district-card__meta-grid {
    grid-template-columns: 1fr;
  }
  .bx-district-card__proscons {
    grid-template-columns: 1fr;
    gap: 12px;
  }
}

/* Оценки по осям параметров в карточках районов */
.bx-district-card__axes {
  border-top: 1px solid var(--be-border);
  padding-top: var(--be-space-2);
  margin-bottom: var(--be-space-2);
}
.bx-district-card__axes h4 {
  font-family: var(--be-font-heading);
  font-size: 14px;
  font-weight: 700;
  margin: 0 0 12px 0;
  color: var(--be-dark);
}
.bx-axis-bar {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 8px;
  font-family: var(--be-font-heading);
  font-size: 13px;
}
.bx-axis-bar__label {
  width: 140px;
  font-weight: 500;
  color: var(--be-dark);
  white-space: nowrap;
}
.bx-axis-bar__track {
  flex-grow: 1;
  height: 6px;
  background-color: rgba(15, 31, 46, 0.06);
  border-radius: 3px;
  overflow: hidden;
  position: relative;
}
.bx-axis-bar__fill {
  height: 100%;
  width: 0;
  border-radius: 3px;
  transition: width 0.6s cubic-bezier(0.25, 0.8, 0.25, 1);
}
.bx-district-card.is-visible .bx-axis-bar__fill {
  width: var(--fill-width);
}
.bx-axis-bar__val {
  width: 28px;
  font-weight: 700;
  text-align: right;
  color: var(--be-dark);
}

/* Анимации при наведении на лоты */
.bx-lot {
  transition: transform 0.3s cubic-bezier(0.25, 0.8, 0.25, 1), box-shadow 0.3s cubic-bezier(0.25, 0.8, 0.25, 1) !important;
}
.bx-lot:hover {
  transform: translateY(-4px) !important;
  box-shadow: var(--be-shadow-hover) !important;
}
.bx-lot__ph img {
  transition: transform 0.4s ease !important;
}
.bx-lot:hover .bx-lot__ph img {
  transform: scale(1.03) !important;
}

/* Поддержка count-up */
.bx-count-up {
  font-variant-numeric: tabular-nums;
  display: inline-block;
}

/* Анимация поочередного появления (stagger slide-in) - безопасный дефолт */
.bx-step-fade {
  opacity: 1;
  transform: none;
  transition: opacity 0.6s cubic-bezier(0.25, 0.8, 0.25, 1), transform 0.6s cubic-bezier(0.25, 0.8, 0.25, 1);
}
.bx-step-fade.is-visible {
  opacity: 1;
  transform: none;
}
@media (prefers-reduced-motion: reduce) {
  .bx-step-fade {
    opacity: 1;
    transform: none;
    transition: none;
  }
}

/* Проекты и ЖК в районе */
.bx-district-card__complexes {
  margin-top: var(--be-space-3);
  margin-bottom: var(--be-space-3);
  padding-top: var(--be-space-3);
  border-top: 1px solid var(--be-border);
}
.bx-district-card__complexes-title {
  font-family: var(--be-font-heading);
  font-size: 15px;
  font-weight: 700;
  color: var(--be-dark);
  margin: 0 0 12px;
}
.bx-district-card__complexes-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.bx-district-complex-item {
  display: grid;
  grid-template-columns: 1.5fr 1fr auto;
  align-items: center;
  gap: 12px;
  background-color: var(--be-paper);
  border: 1px solid var(--be-border);
  padding: 8px 12px;
  border-radius: var(--be-radius-sm);
  transition: background-color 0.2s ease, border-color 0.2s ease;
}
.bx-district-complex-item:hover {
  background-color: var(--be-white);
  border-color: var(--be-malachite);
}
.bx-district-complex-item__main {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.bx-district-complex-item__name {
  font-size: 14px;
  font-weight: 700;
  color: var(--be-dark);
}
.bx-district-complex-item__dev {
  font-size: 11px;
  color: var(--be-text-secondary);
}
.bx-district-complex-item__meta {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 2px;
  text-align: right;
}
.bx-district-complex-item__price {
  font-family: var(--be-font-mono);
  font-size: 13px;
  font-weight: 700;
  color: var(--be-dark);
}
.bx-district-complex-item__type {
  font-size: 10px;
  background: var(--be-border);
  color: var(--be-dark);
  padding: 1px 4px;
  border-radius: 3px;
  text-transform: uppercase;
  font-weight: 600;
}
.bx-district-complex-item__link {
  display: inline-block;
  padding: 4px 8px;
  background-color: var(--be-dark);
  color: var(--be-white) !important;
  font-size: 12px;
  font-weight: 700;
  text-decoration: none;
  border-radius: var(--be-radius-sm);
  transition: background-color 0.2s ease;
  white-space: nowrap;
}
.bx-district-complex-item__link:hover {
  background-color: var(--be-malachite);
}
@media (max-width: 640px) {
  .bx-district-complex-item {
    grid-template-columns: 1fr auto;
    gap: 8px;
  }
  .bx-district-complex-item__meta {
    grid-column: 1;
    align-items: flex-start;
    text-align: left;
    flex-direction: row;
    gap: 8px;
    margin-top: 4px;
  }
  .bx-district-complex-item__link {
    grid-column: 2;
    grid-row: 1 / span 2;
    align-self: center;
  }
}

/* ========================================
   VISUAL INFOGRAPHICS & COMPONENTS (v1.1)
   ======================================== */

/* Horizontal Score Bars */
.bx-score-bar {
  margin-bottom: var(--be-space-2);
}
.bx-score-bar__label-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 4px;
  font-family: var(--be-font-heading);
  font-size: 14px;
  font-weight: 600;
  color: var(--be-dark);
}
.bx-score-bar__track {
  width: 100%;
  height: 8px;
  background-color: rgba(15, 31, 46, 0.08);
  border-radius: 4px;
  overflow: hidden;
}
.bx-score-bar__fill {
  height: 100%;
  border-radius: 4px;
  transition: width 0.6s ease-out;
}
.bx-score-bar__fill--invest {
  background-color: var(--be-malachite);
}
.bx-score-bar__fill--live {
  background-color: var(--be-sea);
}

/* Comparison Bar Charts */
.bx-compare-chart {
  display: grid;
  grid-template-columns: 1.2fr 1fr 1fr;
  align-items: center;
  gap: 16px;
  padding: 12px 0;
  border-bottom: 1px solid var(--be-border);
  font-family: var(--be-font-heading);
  font-size: 14px;
}
@media (max-width: 640px) {
  .bx-compare-chart {
    grid-template-columns: 1fr;
    gap: 8px;
    padding: 16px 0;
  }
}
.bx-compare-chart__axis {
  font-weight: 700;
  color: var(--be-dark);
}
.bx-compare-chart__bar-wrapper {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.bx-compare-chart__bar-label {
  display: flex;
  justify-content: space-between;
  font-size: 12px;
  font-weight: 500;
  color: var(--be-mist);
}
.bx-compare-chart__bar-val {
  font-family: var(--be-font-mono);
  font-weight: 700;
  color: var(--be-dark);
}

/* Waterfall Yield Infographic */
.bx-waterfall {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin: var(--be-space-3) 0;
}
.bx-waterfall-item {
  display: grid;
  grid-template-columns: 48px 2.5fr 1.5fr;
  align-items: center;
  gap: 16px;
  background: var(--be-paper);
  padding: 16px 20px;
  border-radius: var(--be-radius-md);
  border: 1px solid var(--be-border);
  position: relative;
  transition: transform 0.2s ease;
}
.bx-waterfall-item:hover {
  transform: translateY(-2px);
  border-color: var(--be-malachite);
}
.bx-waterfall-item__icon {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: rgba(15, 31, 46, 0.04);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--be-dark);
  font-weight: 700;
  font-family: var(--be-font-mono);
}
.bx-waterfall-item__icon--start {
  background: rgba(30, 122, 95, 0.1);
  color: var(--be-malachite);
}
.bx-waterfall-item__icon--end {
  background: rgba(199, 91, 59, 0.1);
  color: var(--be-amber);
}
.bx-waterfall-item__content {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.bx-waterfall-item__title {
  font-family: var(--be-font-display);
  font-size: 16px;
  font-weight: 600;
  color: var(--be-dark);
  margin: 0;
}
.bx-waterfall-item__desc {
  font-family: var(--be-font-heading);
  font-size: 13px;
  color: var(--be-mist);
  margin: 0;
}
.bx-waterfall-item__visual {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 6px;
}
.bx-waterfall-item__amount {
  font-family: var(--be-font-mono);
  font-weight: 700;
  font-size: 15px;
  color: var(--be-dark);
}
.bx-waterfall-item__amount--green {
  color: var(--be-malachite);
}
.bx-waterfall-item__amount--amber {
  color: var(--be-amber);
}
.bx-waterfall-item__bar-track {
  width: 100%;
  height: 6px;
  background: rgba(15, 31, 46, 0.05);
  border-radius: 3px;
  overflow: hidden;
}
.bx-waterfall-item__bar-fill {
  height: 100%;
  background: var(--be-dark);
  border-radius: 3px;
}
.bx-waterfall-item__bar-fill--green {
  background: var(--be-malachite);
}
.bx-waterfall-item__bar-fill--amber {
  background: var(--be-amber);
}
@media (max-width: 640px) {
  .bx-waterfall-item {
    grid-template-columns: 40px 1fr;
    gap: 12px;
    padding: 12px 16px;
  }
  .bx-waterfall-item__visual {
    grid-column: 1 / span 2;
    align-items: flex-start;
    margin-top: 8px;
  }
}

/* Timeline Layout */
.bx-timeline {
  display: flex;
  flex-direction: column;
  position: relative;
  margin: var(--be-space-3) 0;
  padding-left: 32px;
}
.bx-timeline::before {
  content: '';
  position: absolute;
  left: 11px;
  top: 8px;
  bottom: 8px;
  width: 2px;
  background: var(--be-border);
}
.bx-timeline-item {
  position: relative;
  margin-bottom: var(--be-space-3);
}
.bx-timeline-item:last-child {
  margin-bottom: 0;
}
.bx-timeline-item__dot {
  position: absolute;
  left: -32px;
  top: 4px;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: var(--be-sand);
  border: 2px solid var(--be-malachite);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2;
}
.bx-timeline-item__dot-inner {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--be-malachite);
}
.bx-timeline-item__content {
  background: var(--be-paper);
  padding: 16px 20px;
  border-radius: var(--be-radius-md);
  border: 1px solid var(--be-border);
}
.bx-timeline-item__step {
  font-family: var(--be-font-heading);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--be-amber);
  font-weight: 700;
  display: block;
  margin-bottom: 4px;
}
.bx-timeline-item__title {
  font-family: var(--be-font-display);
  font-size: 18px;
  font-weight: 600;
  color: var(--be-dark);
  margin: 0 0 8px 0;
}
.bx-timeline-item__desc {
  font-size: 14px;
  line-height: 1.5;
  color: var(--be-dark);
  margin: 0;
}

/* Seasonal Occupancy Chart */
.bx-occupancy-chart {
  background: var(--be-paper);
  border: 1px solid var(--be-border);
  border-radius: var(--be-radius-lg);
  padding: var(--be-space-3);
  margin: var(--be-space-3) 0;
}
.bx-occupancy-chart__title {
  font-family: var(--be-font-display);
  font-size: 20px;
  font-weight: 600;
  color: var(--be-dark);
  margin: 0 0 4px 0;
  text-align: center;
}
.bx-occupancy-chart__subtitle {
  font-family: var(--be-font-heading);
  font-size: 13px;
  color: var(--be-mist);
  margin: 0 0 var(--be-space-3) 0;
  text-align: center;
}
.bx-occupancy-chart__container {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  height: 180px;
  padding: 10px 10px 0 10px;
  border-bottom: 2px solid var(--be-border);
  gap: 4px;
}
.bx-occupancy-chart__bar {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  height: 100%;
  justify-content: flex-end;
}
.bx-occupancy-chart__bar-fill {
  width: 80%;
  max-width: 32px;
  border-radius: 4px 4px 0 0;
  background: linear-gradient(to top, var(--be-sea), var(--be-malachite));
  display: flex;
  align-items: flex-start;
  justify-content: center;
  position: relative;
  transition: height 0.8s ease-out;
}
.bx-occupancy-chart__bar-fill:hover {
  background: var(--be-amber);
}
.bx-occupancy-chart__bar-val {
  font-family: var(--be-font-mono);
  font-size: 10px;
  font-weight: 700;
  color: var(--be-white);
  position: absolute;
  top: -20px;
  color: var(--be-dark);
  white-space: nowrap;
}
.bx-occupancy-chart__labels {
  display: flex;
  justify-content: space-between;
  padding: 8px 10px 0 10px;
  gap: 4px;
}
.bx-occupancy-chart__label {
  flex: 1;
  text-align: center;
  font-family: var(--be-font-heading);
  font-size: 11px;
  font-weight: 600;
  color: var(--be-dark);
}
@media (max-width: 640px) {
  .bx-occupancy-chart__container {
    height: 140px;
  }
  .bx-occupancy-chart__label {
    font-size: 9px;
  }
  .bx-occupancy-chart__bar-val {
    font-size: 9px;
    top: -18px;
  }
}

/* Inline SVG Icon Helper */
.bx-icon {
  display: inline-block;
  vertical-align: -0.125em;
  stroke: currentColor;
  fill: none;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
  width: 1.15em;
  height: 1.15em;
  margin-right: 6px;
  flex-shrink: 0;
}
.bx-district-card__axes .bx-icon {
  margin-right: 8px;
}

/* Hero с фото-фоном (Fable 2026-06-12): тёмный overlay + белый текст для читаемости */
.bx-lp-hero--photo{position:relative;overflow:hidden;border-radius:0;}
.bx-lp-hero--photo::before{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(105deg,rgba(12,30,38,0.92) 0%,rgba(12,30,38,0.75) 45%,rgba(12,30,38,0.38) 100%),linear-gradient(180deg,rgba(10,24,32,0.05) 0%,rgba(10,24,32,0.35) 50%,rgba(10,24,32,0.85) 100%);}
.bx-lp-hero--photo .hero-content{position:relative;z-index:2;}
.bx-hero-bg-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:0;}
.bx-lp-hero--photo .hero-title,.bx-lp-hero--photo .bx-eyebrow{color:#fff!important;text-shadow:0 2px 12px rgba(0,0,0,.35);text-wrap:balance;}
.bx-lp-hero--photo .hero-subtitle{color:rgba(255,255,255,.92)!important;}

/* Стеклянный виджет (Glassmorphism) */
.bx-glass-card {
  background: rgba(15, 31, 46, 0.45);
  backdrop-filter: blur(12px) saturate(180%);
  -webkit-backdrop-filter: blur(12px) saturate(180%);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 8px;
  padding: 28px;
  color: #fff;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.25);
  font-family: var(--be-font-heading);
}

.bx-glass-card h2, .bx-glass-card h3 {
  font-size: 18px;
  font-weight: 700;
  margin: 0 0 8px;
  color: #fff !important;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.bx-glass-card p {
  font-size: 13px;
  color: rgba(255, 255, 255, 0.8);
  margin: 0 0 20px;
  line-height: 1.5;
}

.bx-glass-form {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.bx-glass-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.bx-glass-field label {
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: rgba(255, 255, 255, 0.6);
}

.bx-glass-input {
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 4px;
  padding: 10px 12px;
  color: #ffffff !important; /* Гарантируем белый цвет текста */
  font-size: 16px; /* Prevents auto-zoom on iOS Safari */
  outline: none;
  transition: border-color 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;
  font-family: inherit;
}

select.bx-glass-input {
  color: #ffffff !important;
  background: rgba(255, 255, 255, 0.12) !important; /* Чуть плотнее фон для селектов */
}

.bx-glass-input:focus {
  border-color: var(--be-malachite);
  background: rgba(255, 255, 255, 0.15);
  box-shadow: 0 0 0 2px rgba(30, 122, 95, 0.2);
}

.bx-glass-input option {
  background: #0F1F2E !important;
  color: #ffffff !important;
}

.bx-glass-submit {
  background: var(--be-malachite);
  color: #fff;
  border: none;
  border-radius: 4px;
  padding: 12px;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  transition: background 0.3s ease;
  margin-top: 8px;
  text-align: center;
  font-family: inherit;
}

.bx-glass-submit:hover {
  background: #155542;
}

/* Скрыть автора и дату на страницах одиночных записей блога */
.single .entry-meta {
  display: none !important;
}

/* Чипы-ссылки услуг (компактная плашка вместо грид-карточек) */
.bx-chip-link {
  display: inline-block;
  padding: 10px 18px;
  background: #fff;
  border: 1px solid var(--be-border);
  border-radius: 999px;
  font-size: 15px;
  font-weight: 600;
  color: var(--be-dark);
  text-decoration: none;
  transition: border-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
}
.bx-chip-link:hover {
  border-color: var(--be-malachite);
  color: var(--be-malachite);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}


/* ============================================================
   PILOT V2 (2026-07-05, канон Александра): карточки способов,
   медиа-лента, видео-баннер, калькулятор 2 колонки, sticky CTA,
   reveal-анимации. Namespace: bx-way* (фикс P0) + bxp-*.
   ============================================================ */

/* --- 5 способов: CSS для .bx-way* (классов не было вообще) --- */
.bx-ways{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:24px;margin-top:var(--be-space-4)}
.bx-way{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);padding:32px;display:flex;flex-direction:column;box-shadow:var(--be-shadow);transition:transform .25s cubic-bezier(.22,1,.36,1),box-shadow .25s cubic-bezier(.22,1,.36,1)}
.bx-way:hover{transform:translateY(-4px);box-shadow:var(--be-shadow-hover)}
.bx-way--hl{border:2px solid var(--green-600);background:linear-gradient(180deg,var(--green-100) 0,var(--paper) 140px)}
.bx-way__head{display:flex;align-items:center;gap:16px;margin-bottom:24px}
.bx-way__head .bx-feature__icon{margin:0;width:44px;height:44px}
.bx-way__num{font-family:var(--font-head);font-size:34px;font-weight:600;color:var(--green-600);line-height:1}
.bx-way--hl .bx-way__num{color:var(--green-700)}
.bx-way__head .bx-tag,.bx-way__head .bx-tag--warn,.bx-way__head .bx-tag--green{margin-left:auto;font-size:13px;font-weight:600;padding:6px 12px;border-radius:999px;background:var(--green-100);color:var(--green-700);white-space:nowrap}
.bx-way__head .bx-tag--warn{background:var(--terra-soft);color:var(--terra)}
.bx-way h3{font-size:22px;margin:0 0 16px}
.bx-way__who{font-size:15px;color:var(--slate);margin:0 0 24px}
.bx-way__who em{font-style:normal;font-weight:600;color:var(--ink)}
.bx-way__steps{margin:0 0 24px;padding:0;list-style:none;counter-reset:bxst}
.bx-way__steps li{counter-increment:bxst;position:relative;padding:10px 0 10px 40px;font-size:15px;line-height:1.5}
.bx-way__steps li+li{border-top:1px solid var(--line)}
.bx-way__steps li::before{content:counter(bxst);position:absolute;left:0;top:10px;width:26px;height:26px;border-radius:50%;background:var(--green-100);color:var(--green-700);font-weight:700;font-size:13px;display:flex;align-items:center;justify-content:center}
.bx-way__note{margin-top:auto;font-size:14px;line-height:1.55;color:var(--slate);background:var(--cream-light);border-radius:var(--r-md);padding:16px}
.bx-way--hl .bx-way__note{background:var(--green-100);color:var(--green-700)}

/* --- Медиа-лента объектов --- */
.bxp-gtrack{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 24px 24px;margin:0 -24px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
@media (max-width: 768px) {
  .bxp-gtrack { margin: 0 -16px; padding: 4px 16px 24px; }
}
.bxp-gtrack::-webkit-scrollbar{display:none}
.bxp-gcard{flex:0 0 380px;scroll-snap-align:start;border-radius:var(--r-lg);overflow:hidden;position:relative;background:var(--navy-900);box-shadow:var(--be-shadow);text-decoration:none;transition:transform .3s cubic-bezier(.22,1,.36,1),box-shadow .3s cubic-bezier(.22,1,.36,1)}
.bxp-gcard:hover{transform:translateY(-5px);box-shadow:var(--be-shadow-hover)}
.bxp-gcard img{width:100%;height:300px;object-fit:cover;object-position:center 25%;transition:transform .8s cubic-bezier(.22,1,.36,1)}
.bxp-gcard:hover img{transform:scale(1.06)}
.bxp-gcard figcaption{position:absolute;inset:auto 0 0 0;padding:44px 24px 24px;background:linear-gradient(180deg,transparent,rgba(16,48,58,.92));color:#fff}
.bxp-gcard figcaption strong{display:block;font-family:var(--font-head);font-size:20px;font-weight:500;margin-bottom:2px}
.bxp-gcard figcaption span{font-size:14px;color:rgba(255,255,255,.8)}
.bxp-gnav{display:flex;gap:10px;justify-content:center;margin-top:16px}
.bxp-gnav button{width:44px;height:44px;border-radius:50%;border:1.5px solid var(--line);background:var(--paper);font-size:20px;color:var(--ink);cursor:pointer;transition:background-color .2s ease, color .2s ease, border-color .2s ease, transform .15s ease}
@media (hover: hover) and (pointer: fine) {
  .bxp-gnav button:hover{background:var(--green-600);color:#fff;border-color:var(--green-600)}
}
.bxp-gnav button:active{transform:scale(0.93)}
.bxp-gnav button:focus-visible{outline:2px solid var(--green-600);outline-offset:2px}

/* --- Видео-баннер --- */
.bxp-video{position:relative;border-radius:var(--r-lg);overflow:hidden;min-height:420px;display:flex;align-items:flex-end;background-size:cover;background-position:center;box-shadow:var(--be-shadow-hover);margin-top:48px}
.bxp-video::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(16,48,58,.1) 30%,rgba(16,48,58,.85))}
.bxp-video>div{position:relative;z-index:2;padding:48px;color:#fff;width:100%;display:flex;align-items:center;gap:32px;flex-wrap:wrap}
.bxp-play{width:78px;height:78px;border-radius:50%;background:rgba(255,255,255,.14);backdrop-filter:blur(6px);border:1.5px solid rgba(255,255,255,.5);display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:transform .25s,background .25s}
.bxp-play:hover{transform:scale(1.08);background:var(--green-600)}
.bxp-play svg{width:26px;height:26px;fill:#fff;margin-left:4px}
.bxp-video h3{font-size:clamp(22px,2.6vw,32px);color:#fff;margin:0 0 6px}
.bxp-video p{color:rgba(255,255,255,.8);max-width:56ch;font-size:15px;margin:0}

/* --- Split: факт-строка --- */
.bxp-splitfacts{display:flex;gap:32px;margin-bottom:32px;flex-wrap:wrap}
.bxp-splitfacts strong{display:block;font-family:var(--font-head);font-size:24px;font-weight:500}
.bxp-splitfacts span{font-size:13px;opacity:.65}

/* --- Калькулятор: 2 колонки --- */
.bxp-budget{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:stretch;margin-top:var(--be-space-4)}
.bxp-bcard{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);padding:32px;box-shadow:var(--be-shadow)}
.bxp-bcard h3{font-size:22px;margin:0 0 16px}
.bxp-bfacts{background:var(--navy-900);color:#fff}
.bxp-bfacts h3{color:#fff}
.bxp-bfacts ul{list-style:none;margin:24px 0 0;padding:0}
.bxp-bfacts li{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:baseline;padding:16px 0;border-top:1px solid rgba(255,255,255,.15)}
.bxp-bfacts strong{font-family:var(--font-head);font-size:24px;font-weight:500;color:#9fd4bc;white-space:nowrap}
.bxp-bfacts span{font-size:15px;color:rgba(255,255,255,.8)}

/* --- Hero: факт-полоса со счётчиками --- */
.bxp-herofacts{display:flex;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.25);margin-top:32px}
.bxp-herofacts>div{padding:24px 32px 0 0;margin-right:32px}
.bxp-herofacts strong{display:block;font-family:var(--font-head);font-size:28px;font-weight:500;font-variant-numeric:tabular-nums;color:#fff}
.bxp-herofacts span{font-size:14px;color:rgba(255,255,255,.7)}

/* --- Sticky CTA + прогресс --- */
#bxp-progress{position:fixed;top:0;left:0;height:3px;background:var(--terra);width:100%;transform:scaleX(0);transform-origin:left;z-index:60}
.bxp-scta{position:fixed;left:0;right:0;bottom:0;z-index:50;background:var(--navy-900);color:#fff;transform:translateY(110%);transition:transform .35s cubic-bezier(.22,1,.36,1);box-shadow:0 -6px 30px rgba(16,48,58,.25)}
.bxp-scta.show{transform:none}
.bxp-scta__in{max-width:1200px;margin:0 auto;display:flex;align-items:center;gap:24px;padding:14px 24px;flex-wrap:wrap}
.bxp-scta strong{font-family:var(--font-head);font-size:18px;font-weight:500}
.bxp-scta small{font-size:13px;color:rgba(255,255,255,.65)}
.bxp-scta .btn-primary{margin-left:auto;padding:11px 22px}
.bxp-scta .bxp-x{background:none;border:none;color:rgba(255,255,255,.5);font-size:22px;cursor:pointer;padding:4px 8px}

/* --- Reveal on scroll (JS вешает bxp-js на html; без JS всё видно) --- */
.bxp-js .bxp-rv{opacity:0;transform:translateY(26px);transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1)}
.bxp-js .bxp-rv.bxp-in{opacity:1;transform:none}

@media(max-width:900px){
  .bxp-budget{grid-template-columns:1fr}
  .bxp-gcard{flex-basis:300px}
  .bxp-gcard img{height:240px}
}
@media(prefers-reduced-motion:reduce){
  .bxp-js .bxp-rv{opacity:1;transform:none;transition:none}
  .bx-way,.bxp-gcard,.bxp-gcard img,.bxp-scta{transition:none}
}

/* --- PILOT V2: дуэт-карточки (Вы/Мы) и чипы районов --- */
.bxp-duo{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:var(--be-space-4)}
.bxp-duo>div{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);padding:32px;box-shadow:var(--be-shadow)}
.bxp-duo>div.bxp-duo--us{background:var(--navy-900);color:#fff;border-color:var(--navy-800)}
.bxp-duo h3{font-size:22px;margin:0 0 16px}
.bxp-duo--us h3{color:#fff}
.bxp-duo ul{list-style:none;margin:0;padding:0}
.bxp-duo li{position:relative;padding:10px 0 10px 34px;font-size:15px;line-height:1.5}
.bxp-duo li+li{border-top:1px solid var(--line)}
.bxp-duo--us li+li{border-top-color:rgba(255,255,255,.14)}
.bxp-duo li::before{content:'';position:absolute;left:0;top:14px;width:20px;height:20px;border-radius:50%;background:var(--green-100) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231F5A40' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/12px no-repeat}
.bxp-duo--us li::before{background-color:rgba(159,212,188,.25)}
@media(max-width:900px){.bxp-duo{grid-template-columns:1fr}}

.bxp-chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:var(--be-space-3)}
.bxp-chips a{display:inline-flex;align-items:center;gap:6px;padding:10px 18px;border:1.5px solid var(--line);border-radius:999px;background:var(--paper);color:var(--ink);text-decoration:none;font-size:15px;font-weight:500;transition:border-color .2s ease, color .2s ease, background-color .2s ease, transform .15s ease}
@media (hover: hover) and (pointer: fine) {
  .bxp-chips a:hover{border-color:var(--green-600);color:var(--green-700);background:var(--green-100)}
}
.bxp-chips a:active{transform:scale(0.96)}
.bxp-chips a:focus-visible{outline:2px solid var(--green-600);outline-offset:2px}

/* фикс тёмной карточки duo: тема перебивает h3, галочка нужна светлая */
.bxp-duo > div.bxp-duo--us h3{color:#fff !important}
.bxp-duo--us li::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239fd4bc' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E")}
.bxp-duo--us li{color:rgba(255,255,255,.88)}

/* --- PILOT V2: Ken Burns для фото-hero --- */
@keyframes bxpKen{from{transform:scale(1.09)}to{transform:scale(1.02)}}
.bxp-ken{animation:bxpKen 16s cubic-bezier(.22,1,.36,1) forwards;will-change:transform}
@media(prefers-reduced-motion:reduce){.bxp-ken{animation:none;transform:none}}

/* --- 2026-07-10 аудит: мобильный горизонтальный скролл --- */
/* Ken Burns scale вылезал за hero-контейнер */
.hero-section{overflow:hidden;}
/* Кнопки hero с white-space:nowrap шире экрана 390px - на мобиле разрешаем перенос */
@media (max-width: 600px){
  .bx-hero-cta .btn-primary,
  .bx-hero-cta .btn-ghost{
    white-space:normal !important;
    height:auto !important;
    min-height:52px;
    max-width:100%;
    padding:14px 20px !important;
    text-align:center;
  }
}

/* --- SM Sale: канонический блок доверия партнёра --- */
.bx-sm-trust__panel{
  display:grid;
  grid-template-columns:minmax(0,1.55fr) minmax(280px,.75fr);
  gap:clamp(28px,5vw,64px);
  align-items:center;
  padding:clamp(28px,5vw,56px);
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:var(--r-lg);
  box-shadow:var(--shadow-md);
}
.bx-sm-trust__eyebrow{
  margin:0 0 10px;
  color:var(--green-700);
  font-family:var(--font-body);
  font-size:12px;
  font-weight:700;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.bx-sm-trust h2{
  margin:0 0 16px;
  color:var(--ink);
  font-family:var(--font-head);
  font-size:clamp(28px,3.4vw,44px);
  font-weight:500;
  line-height:1.12;
}
.bx-sm-trust__lead{
  max-width:720px;
  margin:0;
  color:var(--slate);
  font-size:17px;
  line-height:1.65;
}
.bx-sm-trust__steps{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:28px 0 20px;
  padding:0;
  list-style:none;
}
.bx-sm-trust__steps li{
  display:inline-flex;
  align-items:center;
  gap:7px;
  color:var(--ink);
  font-size:14px;
  font-weight:600;
}
.bx-sm-trust__steps li:not(:last-child)::after{
  content:'→';
  margin-left:3px;
  color:var(--terra);
}
.bx-sm-trust__steps span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:26px;
  height:26px;
  border-radius:50%;
  background:var(--green-100);
  color:var(--green-700);
  font-size:12px;
  font-variant-numeric:tabular-nums;
}
.bx-sm-trust__actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:28px;
}
.bx-sm-trust__actions .btn-primary,
.bx-sm-trust__actions .btn-ghost{
  min-height:48px;
}
.bx-sm-trust__proof{
  padding:28px;
  background:var(--navy-900);
  border-radius:var(--r-lg);
  color:#fff;
}
.bx-sm-trust__rating{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  padding-bottom:22px;
  border-bottom:1px solid rgba(255,255,255,.16);
}
.bx-sm-trust__score{
  font-family:var(--font-head);
  font-size:52px;
  font-weight:500;
  line-height:1;
  font-variant-numeric:tabular-nums;
}
.bx-sm-trust__stars{
  margin:7px 0 5px;
  color:var(--amber-400,#e6ae4b);
  font-size:18px;
  letter-spacing:.08em;
}
.bx-sm-trust__rating>span:last-child,
.bx-sm-trust__office span{
  color:rgba(255,255,255,.78);
  font-size:14px;
  line-height:1.5;
}
.bx-sm-trust__office{
  display:flex;
  flex-direction:column;
  gap:6px;
  padding-top:22px;
}
.bx-sm-trust__office strong{color:#fff;font-size:16px}
.bx-sm-trust__source{
  margin:20px 0 0;
  color:rgba(255,255,255,.58);
  font-size:12px;
  line-height:1.45;
}
.bx-sm-trust a:focus-visible,
.bx-sm-trust button:focus-visible{
  outline:3px solid var(--terra);
  outline-offset:3px;
}
@media(max-width:768px){
  .bx-sm-trust__panel{grid-template-columns:1fr;padding:24px 20px}
  .bx-sm-trust__proof{grid-row:2;padding:24px}
  .bx-sm-trust__steps{display:grid;grid-template-columns:1fr 1fr;margin-top:22px}
  .bx-sm-trust__steps li::after{display:none}
  .bx-sm-trust__actions{flex-direction:column}
  .bx-sm-trust__actions .btn-primary,
  .bx-sm-trust__actions .btn-ghost{width:100%;white-space:normal;text-align:center}
}
@media(max-width:420px){.bx-sm-trust__steps{grid-template-columns:1fr}}

.bx-sm-trust--compact .bx-sm-trust__panel{
  grid-template-columns:minmax(0,1fr) minmax(320px,.72fr);
  gap:32px;
  padding:28px 32px;
  box-shadow:none;
}
.bx-sm-trust--compact h2{font-size:clamp(24px,2.4vw,32px)}
.bx-sm-trust--compact .bx-sm-trust__proof{
  display:grid;
  grid-template-columns:auto 1fr;
  column-gap:22px;
  align-items:center;
  padding:22px 24px;
}
.bx-sm-trust--compact .bx-sm-trust__rating{padding:0 22px 0 0;border:0;border-right:1px solid rgba(255,255,255,.16)}
.bx-sm-trust--compact .bx-sm-trust__score{font-size:40px}
.bx-sm-trust--compact .bx-sm-trust__stars{font-size:14px}
.bx-sm-trust--compact .bx-sm-trust__office{padding:0}
.bx-sm-trust--compact .bx-sm-trust__source{grid-column:1/-1;margin:14px 0 0}
.bx-sm-trust__maps{grid-column:1/-1;margin-top:10px;color:#fff;text-decoration:underline;text-underline-offset:3px;font-size:14px}
@media(max-width:768px){
  .bx-sm-trust--compact .bx-sm-trust__panel{grid-template-columns:1fr;padding:24px 20px}
  .bx-sm-trust--compact .bx-sm-trust__proof{grid-template-columns:1fr}
  .bx-sm-trust--compact .bx-sm-trust__rating{padding:0 0 18px;border-right:0;border-bottom:1px solid rgba(255,255,255,.16)}
  .bx-sm-trust--compact .bx-sm-trust__office{padding-top:18px}
}

/* ==========================================================================
   GEO & CRO-118: Блоки прямого ответа (Direct Answer) и соответствия аудитории (Audience Fit)
   ========================================================================== */
.be-direct-answer {
  background: #F4FAF7;
  border-left: 4px solid var(--be-malachite, #1E7A5F);
  padding: 20px 24px;
  border-radius: 12px;
  margin-bottom: 24px;
  font-size: 15.5px;
  line-height: 1.6;
  color: var(--be-dark, #10303A);
}
.be-direct-answer__badge {
  display: inline-block;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--be-malachite, #1E7A5F);
  background: rgba(30, 122, 95, 0.1);
  padding: 4px 10px;
  border-radius: 4px;
  margin-bottom: 10px;
}
.be-audience-fit {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  margin-top: 24px;
}
.be-audience-fit__card {
  background: #ffffff;
  border-radius: 14px;
  padding: 24px 28px;
  border: 1px solid var(--be-border, #E2D9CC);
  box-shadow: 0 4px 14px rgba(16, 48, 58, 0.04);
  box-sizing: border-box;
}
.be-audience-fit__card--pro {
  border-top: 4px solid var(--be-malachite, #1E7A5F);
}
.be-audience-fit__card--contra {
  border-top: 4px solid var(--terra, #B4512E);
}
.be-audience-fit__title {
  font-size: 1.15rem;
  font-weight: 700;
  margin-top: 0;
  margin-bottom: 16px;
  line-height: 1.4;
}
.be-audience-fit__title--pro {
  color: var(--be-malachite, #1E7A5F);
}
.be-audience-fit__title--contra {
  color: var(--terra, #B4512E);
}
.be-audience-fit__list {
  margin: 0;
  padding-left: 20px;
  line-height: 1.65;
  color: var(--be-dark, #1C2A2E);
  font-size: 15px;
}
.be-audience-fit__list li {
  margin-bottom: 10px;
}
.be-audience-fit__list li:last-child {
  margin-bottom: 0;
}
@media (max-width: 768px) {
  .be-audience-fit {
    grid-template-columns: 1fr !important;
  }
}

/* ТЗ 2026-09-12: Lite YouTube Embed + тач-зоны меню (Apple HIG 44px) — глобально */
.bx-lty{position:relative;max-width:640px;aspect-ratio:16/9;margin:20px auto;cursor:pointer;border-radius:12px;overflow:hidden;background:#000}
.bx-lty img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.92}
.bx-lty__play{position:absolute;top:50%;left:50%;width:68px;height:48px;margin:-24px 0 0 -34px;border-radius:12px;background:rgba(23,23,23,.82);transition:background .2s}
.bx-lty:hover .bx-lty__play{background:#e62117}
.bx-lty__play::after{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);border-left:18px solid #fff;border-top:11px solid transparent;border-bottom:11px solid transparent}
.bx-header__burger,.bx-drawer__close{min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center}

/* BX-HEADER-3ZONES-2026-10-06: правило 3 зон.
   [Логотип слева] — [Меню строго по центру] — [Справа: телефон + круглые TG/WA/MAX + кнопка].
   Контакты больше НЕ стоят между логотипом и меню. */

/* --- Десктоп: 3 зоны через grid (см. V2 ниже) --- */
.bx-header__main-inner{position:relative;}
.bx-header__logo{flex-shrink:0;}
.bx-header__nav{display:flex;justify-content:center;margin-left:0;}
.bx-header__menu{justify-content:center;}
.bx-header__contacts{display:flex;align-items:center;gap:10px;margin-left:0;flex-shrink:0;}
.bx-header__btn{margin-left:16px;flex-shrink:0;}
.bx-header__mobile-msgs{display:none;}
.bx-header__burger{margin-left:auto;}

/* --- Круглые иконки мессенджеров 36x36, без текстовых подписей --- */
.bx-header__contacts .bx-header__msg-btn,
.bx-header__mobile-msgs .bx-header__msg-btn{
  width:36px;height:36px;min-width:36px;min-height:36px;
  padding:0;border-radius:50%;
  display:inline-flex;align-items:center;justify-content:center;
  gap:0;
  transition:transform .15s ease, background .15s ease;
}
.bx-header__contacts .bx-header__msg-btn svg,
.bx-header__mobile-msgs .bx-header__msg-btn svg{width:18px;height:18px;}
.bx-header__contacts .bx-header__msg-btn span,
.bx-header__mobile-msgs .bx-header__msg-btn span{display:none !important;}
.bx-header__contacts .bx-header__msg-btn--tg,
.bx-header__mobile-msgs .bx-header__msg-btn--tg{background:#2AABEE;color:#fff;}
.bx-header__contacts .bx-header__msg-btn--tg:hover,
.bx-header__mobile-msgs .bx-header__msg-btn--tg:hover{background:#1E9BDD;color:#fff;transform:translateY(-1px);}
.bx-header__contacts .bx-header__msg-btn--wa,
.bx-header__mobile-msgs .bx-header__msg-btn--wa{background:#25D366;color:#fff;}
.bx-header__contacts .bx-header__msg-btn--wa:hover,
.bx-header__mobile-msgs .bx-header__msg-btn--wa:hover{background:#1DA851;color:#fff;transform:translateY(-1px);}
.bx-header__contacts .bx-header__msg-btn--max,
.bx-header__mobile-msgs .bx-header__msg-btn--max{background:linear-gradient(135deg, #0077FF 0%, #6E39FD 60%, #9B51E0 100%);color:#fff;}
.bx-header__contacts .bx-header__msg-btn--max:hover,
.bx-header__mobile-msgs .bx-header__msg-btn--max:hover{background:linear-gradient(135deg, #0066DD 0%, #5B28EB 60%, #883ECF 100%);color:#fff;transform:translateY(-1px);}

/* BX-HEADER-3ZONES-V2-2026-10-06: строгое центрирование меню + actions-враппер. */
@media (min-width:1025px){
  .bx-header__main-inner{display:grid !important;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;column-gap:16px;position:relative;max-width:1280px !important;margin:0 auto !important;padding:0 24px !important;height:100%;}
  .bx-header__logo{grid-column:1;justify-self:start;}
  .bx-header__nav{grid-column:2;justify-self:center;margin:0 !important;display:flex !important;min-width:0;}
  .bx-header__menu{justify-content:center;gap:20px;flex-wrap:nowrap;}
  .bx-header__actions{grid-column:3;justify-self:end;display:flex;align-items:center;gap:8px;margin:0;flex-shrink:0;}
  .bx-header__contacts{margin:0;gap:8px !important;}
  .bx-header__contacts .bx-header__contact-link{white-space:nowrap;flex-shrink:0;}
  .bx-header__btn{margin:0;white-space:nowrap;flex-shrink:0;}
  .bx-header__burger{display:none !important;}
  .bx-header__mobile-msgs{display:none !important;}
}
/* <=1279: места впритык — прячем номер телефона (иконка трубки остаётся), меню компактнее. */
@media (min-width:1025px) and (max-width:1279px){
  .bx-header__contacts .bx-header__contact-link span:last-child{display:none;}
  .bx-header__menu{gap:14px;}
  .bx-header__menu-item > a{font-size:13px !important;}
  .bx-header__main-inner{column-gap:12px;}
}
/* Мобильные (<=1024px): flex — логотип слева, иконки TG/WA/MAX + бургер справа. */
@media (max-width:1024px){
  .bx-header__main-inner{display:flex !important;align-items:center;gap:10px;}
  .bx-header__logo{order:1;}
  .bx-header__actions{display:none !important;}
  .bx-header__mobile-msgs{display:flex !important;align-items:center;gap:8px;margin-left:auto;order:4;}
  .bx-header__burger{order:5;margin-left:0;display:flex !important;}
}
@media (max-width:480px){
  .bx-header__mobile-msgs{gap:6px;}
  .bx-header__mobile-msgs .bx-header__msg-btn{position:relative;width:32px;height:32px;min-width:32px;min-height:32px;}
  .bx-header__mobile-msgs .bx-header__msg-btn::after{content:'';position:absolute;top:-6px;bottom:-6px;left:-6px;right:-6px;min-width:44px;min-height:44px;}
  .bx-header__mobile-msgs .bx-header__msg-btn svg{width:16px;height:16px;}
}

/* BX-TABLE — таблицы в статьях блога (ТЗ автопилота 07.10.2026). */
table.bx-table{
  width:100%;
  border-collapse:collapse;
  margin:20px 0;
  background:#fff;
  border:1px solid var(--line);
  border-radius:12px;
  overflow:hidden;
}
.bx-table th,
.bx-table td{
  padding:11px 14px;
  text-align:left;
  border-bottom:1px solid var(--line);
  font-size:15px;
  line-height:1.45;
}
.bx-table th{
  background:var(--paper, #FAFAF7);
  font-weight:700;
  color:var(--be-dark);
}
.bx-table tr:last-child td{border-bottom:none}
@media (max-width:600px){
  .bx-table{display:block;overflow-x:auto}
}

/* ==========================================================================
   P1: HOMEPAGE CRO HERO (3 EQUAL ROUTES, SOFT LINK, COMPACT TRUST)
   ========================================================================== */
/* ==========================================================================
   HERO BENCHMARK DESIGN SYSTEM (P1 ELEVATION)
   ========================================================================== */
.hero-section.bx-hero-benchmark {
  position: relative;
  min-height: 84vh;
  display: flex;
  align-items: center;
  padding: 48px 0 !important;
  background-color: #0c1824;
}

/* Двойной виньеточный градиент для кристальной читаемости текста */
.hero-section.bx-hero-benchmark::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 20% 40%, rgba(12, 24, 36, 0.94) 0%, rgba(15, 31, 46, 0.82) 45%, rgba(15, 31, 46, 0.45) 100%),
              linear-gradient(180deg, rgba(12, 24, 36, 0.4) 0%, rgba(12, 24, 36, 0.8) 100%);
  z-index: 1;
}

.hero-content--benchmark {
  display: block !important;
  position: relative;
  z-index: 2;
  max-width: 1040px !important;
  margin: 0 auto !important;
  padding: 0 24px !important;
  box-sizing: border-box;
}

.hero-content--benchmark .hero-text-col {
  max-width: 100% !important;
  flex: none !important;
  width: 100% !important;
}

/* 1. Eyebrow Badge */
.bx-hero-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(255, 255, 255, 0.07);
  border: 1px solid rgba(255, 255, 255, 0.14);
  padding: 5px 12px;
  border-radius: 999px;
  margin-bottom: 18px;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

.bx-hero-eyebrow__pulse {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #22c55e;
  box-shadow: 0 0 8px #22c55e;
}

.bx-hero-eyebrow__text {
  font-family: var(--be-font-heading);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.08em;
  color: rgba(255, 255, 255, 0.85);
  text-transform: uppercase;
}

/* 2. H1 Typography */
.hero-title--benchmark {
  color: #ffffff !important;
  font-family: var(--be-font-heading);
  font-size: clamp(34px, 4.2vw, 52px) !important;
  font-weight: 750 !important;
  line-height: 1.18 !important;
  letter-spacing: -0.025em !important;
  margin-bottom: 16px !important;
  max-width: 900px;
}

.hero-title__highlight {
  display: inline;
  background: linear-gradient(135deg, #ffffff 30%, #F5D6A0 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

/* 3. Subtitle */
.hero-subtitle--benchmark {
  color: rgba(255, 255, 255, 0.82) !important;
  font-family: var(--be-font-body);
  font-size: clamp(16px, 1.35vw, 19px) !important;
  line-height: 1.58 !important;
  max-width: 740px;
  margin-bottom: 26px !important;
}

/* 4. Three Route Cards (Button-in-Button Architecture) */
.bx-hero-routes--benchmark {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  max-width: 820px;
  margin: 0 0 20px 0;
}

.bx-hero-route-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 14px 12px 18px;
  min-height: 60px;
  background: rgba(255, 255, 255, 0.07);
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 14px;
  box-shadow: inset 0 1px 1px rgba(255, 255, 255, 0.14), 0 4px 16px rgba(0, 0, 0, 0.15);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  text-decoration: none !important;
  transition: transform 0.22s cubic-bezier(0.16, 1, 0.3, 1),
              background 0.22s ease,
              border-color 0.22s ease,
              box-shadow 0.22s ease;
  box-sizing: border-box;
}

.bx-hero-route-card:hover,
.bx-hero-route-card:focus-visible {
  background: rgba(255, 255, 255, 0.14);
  border-color: rgba(255, 255, 255, 0.38);
  transform: translateY(-2px);
  box-shadow: inset 0 1px 1px rgba(255, 255, 255, 0.25), 0 10px 26px rgba(0, 0, 0, 0.25);
}

.bx-hero-route-card:active {
  transform: scale(0.98);
}

.bx-hero-route-content {
  display: flex;
  flex-direction: column;
  gap: 2px;
  text-align: left;
}

.bx-hero-route-name {
  font-family: var(--be-font-heading);
  font-size: 15.5px;
  font-weight: 700;
  color: #ffffff;
  letter-spacing: -0.01em;
  line-height: 1.2;
}

.bx-hero-route-tag {
  font-family: var(--be-font-body);
  font-size: 12px;
  font-weight: 400;
  color: rgba(255, 255, 255, 0.68);
  line-height: 1.2;
}

.bx-hero-route-arrow-circle {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.1);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #ffffff;
  flex-shrink: 0;
  transition: transform 0.2s cubic-bezier(0.16, 1, 0.3, 1),
              background 0.2s ease,
              color 0.2s ease;
}

.bx-hero-route-card:hover .bx-hero-route-arrow-circle {
  background: #ffffff;
  color: #0F1F2E;
  transform: translateX(2px);
}

/* 5. Soft Link */
.bx-hero-soft-link--benchmark {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 14.5px;
  font-family: var(--be-font-body);
  color: rgba(255, 255, 255, 0.85) !important;
  text-decoration: none !important;
  margin-bottom: 26px;
  transition: color 0.2s ease;
}

.bx-hero-soft-link--benchmark .bx-hero-soft-link__q {
  color: rgba(255, 255, 255, 0.78);
}

.bx-hero-soft-link--benchmark .bx-hero-soft-link__act {
  color: #F6D8A8;
  font-weight: 600;
  border-bottom: 1px dashed rgba(246, 216, 168, 0.55);
  padding-bottom: 1px;
  transition: border-color 0.2s ease, color 0.2s ease;
}

.bx-hero-soft-link--benchmark:hover .bx-hero-soft-link__act {
  color: #ffffff;
  border-bottom-color: #ffffff;
}

/* 6. Trust Chip Cluster */
.bx-hero-trust-cluster {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-bottom: 14px;
  max-width: 820px;
}

.bx-trust-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 13px;
  background: rgba(15, 31, 46, 0.65);
  border: 1px solid rgba(255, 255, 255, 0.13);
  border-radius: 999px;
  font-family: var(--be-font-body);
  font-size: 12.5px;
  color: rgba(255, 255, 255, 0.9);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  white-space: nowrap;
}

.bx-trust-chip--operator {
  border-color: rgba(34, 197, 94, 0.35);
  background: rgba(15, 31, 46, 0.8);
}

.bx-trust-chip--operator strong {
  color: #ffffff;
  font-weight: 600;
}

.bx-trust-chip--rating {
  border-color: rgba(251, 191, 36, 0.35);
}

/* 7. Privacy Note */
.bx-hero-privacy-note--benchmark {
  font-size: 12px !important;
  line-height: 1.5 !important;
  color: rgba(255, 255, 255, 0.62) !important;
  max-width: 680px;
  margin: 0 !important;
}

/* ==========================================================================
   LEGACY P1 COMPATIBILITY & MOBILE BREAKPOINTS
   ========================================================================== */
.hero-content--p1 {
  display: block !important;
  max-width: 980px !important;
  margin: 0 auto !important;
  padding: 0 var(--be-space-4) !important;
  box-sizing: border-box;
}

.hero-content--p1 .hero-text-col {
  max-width: 100% !important;
}

.hero-content--p1 .hero-title {
  color: #ffffff !important;
  font-size: clamp(32px, 4vw, 50px) !important;
  font-weight: 700 !important;
  line-height: 1.16 !important;
  letter-spacing: -0.02em;
  margin-bottom: 16px !important;
  max-width: 880px;
}

.hero-content--p1 .hero-subtitle {
  color: rgba(255, 255, 255, 0.9) !important;
  font-size: clamp(16px, 1.4vw, 19px) !important;
  line-height: 1.55 !important;
  font-family: var(--be-font-body);
  max-width: 780px;
  margin-bottom: 28px !important;
}

/* 3 Equal Routes */
.bx-hero-routes {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  max-width: 760px;
  margin: 0 0 20px 0;
}

.bx-hero-route-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 54px;
  padding: 12px 20px;
  background: rgba(255, 255, 255, 0.12);
  border: 1.5px solid rgba(255, 255, 255, 0.32);
  border-radius: 12px;
  color: #ffffff !important;
  font-family: var(--be-font-heading);
  font-size: 15.5px;
  font-weight: 600;
  text-decoration: none !important;
  transition: background-color 0.22s cubic-bezier(0.22, 0.61, 0.36, 1), border-color 0.22s cubic-bezier(0.22, 0.61, 0.36, 1), color 0.22s cubic-bezier(0.22, 0.61, 0.36, 1), transform 0.22s cubic-bezier(0.22, 0.61, 0.36, 1), box-shadow 0.22s cubic-bezier(0.22, 0.61, 0.36, 1);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  box-sizing: border-box;
  text-align: center;
  white-space: nowrap;
}
.bx-hero-route-btn:active {
  transform: translateY(0) scale(0.97);
}

.bx-hero-route-btn:hover,
.bx-hero-route-btn:focus-visible {
  background: #ffffff;
  border-color: #ffffff;
  color: #0F1F2E !important;
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.28);
}

.bx-hero-route-btn:hover .bx-hero-route-arrow {
  transform: translateX(3px);
  stroke: #0F1F2E;
}

.bx-hero-route-arrow {
  flex-shrink: 0;
  transition: transform 0.2s ease;
  stroke: currentColor;
}

/* Secondary Action: Soft Link for Undecided */
.bx-hero-secondary-action {
  margin: 0 0 28px 0;
}

.bx-hero-soft-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 14.5px;
  font-family: var(--be-font-body);
  color: rgba(255, 255, 255, 0.88) !important;
  text-decoration: none !important;
  transition: color 0.2s ease;
}

.bx-hero-soft-link span {
  color: #F3C68F;
  text-decoration: underline;
  text-underline-offset: 3px;
  font-weight: 600;
  transition: color 0.2s ease;
}

.bx-hero-soft-link:hover {
  color: #ffffff !important;
}

.bx-hero-soft-link:hover span {
  color: #ffffff;
}

/* Compact Trust Badge */
.bx-hero-trust-compact {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  padding: 10px 16px;
  background: rgba(15, 31, 46, 0.6);
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 8px;
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  font-size: 13px;
  color: rgba(255, 255, 255, 0.92);
  font-family: var(--be-font-body);
  max-width: 100%;
  box-sizing: border-box;
}

.bx-hero-trust-item {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.bx-hero-trust-item strong {
  color: #ffffff;
  font-weight: 600;
}

.bx-hero-trust-sep {
  opacity: 0.35;
}

.bx-hero-privacy-note {
  margin: 12px 0 0 0 !important;
  font-size: 12.5px !important;
  line-height: 1.5 !important;
  color: rgba(255, 255, 255, 0.72) !important;
  font-family: var(--be-font-body);
  max-width: 680px;
}

/* Mobile Responsiveness */
@media (max-width: 768px) {
  .hero-section.bx-hero-benchmark {
    min-height: auto;
    padding: 32px 0 28px !important;
  }

  .hero-content--benchmark {
    padding: 0 18px !important;
  }

  .bx-hero-eyebrow {
    margin-bottom: 14px;
    padding: 4px 10px;
  }

  .bx-hero-eyebrow__text {
    font-size: 10px;
  }

  .hero-title--benchmark {
    font-size: 28px !important;
    line-height: 1.2 !important;
    margin-bottom: 12px !important;
  }

  .hero-subtitle--benchmark {
    font-size: 15px !important;
    line-height: 1.5 !important;
    margin-bottom: 18px !important;
  }

  .bx-hero-routes--benchmark {
    grid-template-columns: 1fr;
    gap: 9px;
    margin-bottom: 16px;
  }

  .bx-hero-route-card {
    min-height: 52px;
    padding: 10px 14px 10px 16px;
  }

  .bx-hero-route-name {
    font-size: 15px;
  }

  .bx-hero-route-tag {
    font-size: 11.5px;
  }

  .bx-hero-soft-link--benchmark {
    font-size: 13.5px;
    margin-bottom: 18px;
    flex-wrap: wrap;
    gap: 4px;
  }

  .bx-hero-trust-cluster {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 12px;
  }

  .bx-trust-chip {
    padding: 5px 10px;
    font-size: 11.5px;
  }

  .bx-hero-privacy-note--benchmark {
    font-size: 11px !important;
    line-height: 1.45 !important;
  }

  .bx-hero-routes {
    grid-template-columns: 1fr;
    gap: 10px;
    max-width: 100%;
  }

  .bx-hero-route-btn {
    min-height: 50px;
    padding: 12px 18px;
    font-size: 15px;
    width: 100%;
    justify-content: space-between;
  }

  .bx-hero-trust-compact {
    font-size: 12px;
    padding: 10px 14px;
    gap: 8px;
  }

  .bx-hero-secondary-action {
    margin: 0 0 20px 0;
  }

  /* P1 Guard: на первом экране главной мобильный sticky-бар скрыт и не конкурирует с Hero */
  body.home .bx-mcta {
    transform: translate3d(0, 115%, 0);
    opacity: 0;
    pointer-events: none;
    transition: transform 0.28s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.2s ease;
  }

  body.home .bx-mcta.is-visible {
    transform: translate3d(0, 0, 0);
    opacity: 1;
    pointer-events: auto;
  }
}

/* ── Externalized inline styles (Cookie Consent, Mobile CTA, Footer Priority Links) ── */
#bx-cookie-banner {
  bottom: var(--bx-mcta-h, 0px);
  transition: bottom 0.2s ease, opacity 0.2s ease;
}
body.bx-cookie-visible {
  padding-bottom: calc(120px + var(--bx-mcta-h, 0px));
}
.bx-mcta {
  display: none;
}
@media (max-width: 768px) {
  .bx-mcta {
    display: flex;
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 9000;
    background: #0F1F2E;
    border-top: 1px solid rgba(255, 255, 255, 0.12);
    padding: 8px 10px calc(8px + env(safe-area-inset-bottom));
    gap: 8px;
    transition: transform 0.25s ease, opacity 0.2s ease;
  }
  .bx-mcta__item {
    flex: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 44px;
    border-radius: 6px;
    border: 1px solid rgba(255, 255, 255, 0.25);
    background: transparent;
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    cursor: pointer;
    font-family: inherit;
  }
  .bx-mcta__item--primary {
    background: #1E7A5F;
    border-color: #1E7A5F;
  }
  @media (max-width: 390px) {
    .bx-mcta {
      gap: 6px;
      padding: 8px 10px calc(8px + env(safe-area-inset-bottom));
    }
    .bx-mcta__item {
      gap: 5px;
      font-size: 13px;
      padding: 0 4px;
    }
  }
  body {
    padding-bottom: 64px;
  }
  #bx-cookie-banner {
    bottom: var(--bx-mcta-h, 60px);
    padding: 10px 14px !important;
  }
  body.page-template-page-podbor #bx-cookie-banner {
    bottom: 0px !important;
  }
  .bx-cookie-container {
    gap: 8px !important;
    flex-direction: column !important;
    align-items: stretch !important;
  }
  .bx-cookie-text {
    font-size: 11.5px !important;
    line-height: 1.35 !important;
    margin: 0 !important;
    color: #E6DFD0;
  }
  .bx-cookie-actions {
    display: flex !important;
    gap: 8px !important;
    width: 100% !important;
  }
  .bx-cookie-actions button {
    flex: 1 !important;
    padding: 8px 10px !important;
    font-size: 12px !important;
    min-height: 38px !important;
    border-radius: 6px !important;
    cursor: pointer;
  }
  body.bx-cookie-visible {
    padding-bottom: 232px;
  }
  body.page-template-page-podbor.bx-cookie-visible .quiz {
    margin-bottom: 160px;
  }
  .bx-floating-tg,
  .bx-floating-wa,
  .bxp-scta {
    display: none !important;
  }
}
@media (min-width: 769px) {
  body.bx-cookie-visible {
    padding-bottom: 90px;
  }
  body.bx-cookie-visible .bxp-scta {
    bottom: 105px !important;
  }
}
.bx-priority-links {
  padding: 18px 0;
  background: #f4f0e8;
  border-top: 1px solid rgba(20, 49, 42, 0.08);
}
.bx-priority-links__inner {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
}
.bx-priority-links__label {
  font-weight: 700;
  color: var(--be-dark, #14312a);
}
.bx-priority-links a {
  color: var(--be-malachite, #1E7A5F);
  font-weight: 600;
  text-decoration: none;
}
.bx-priority-links a:hover {
  text-decoration: underline;
}
.bx-footer__social {
  margin-top: 18px;
}
.bx-footer__social-label {
  display: block;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  opacity: 0.7;
  margin-bottom: 8px;
}
.bx-footer__social-icons {
  display: flex;
  gap: 10px;
}
.bx-footer__social-icons a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
  transition: background 0.2s, transform 0.2s;
}
.bx-footer__social-icons a:hover {
  background: var(--be-malachite, #1E7A5F);
  transform: translateY(-2px);
}

/* ==========================================================================
   ТОЧЕЧНАЯ ДОВОДКА МИКРОДИЗАЙНА (STAGE 4.2 / EMIL AUDIT)
   --------------------------------------------------------------------------
   Замена неточечных transition: all, добавление тактильного отклика :active,
   устранение залипания ховеров на сенсорных устройствах (@media hover).
   ========================================================================== */

/* 1. Специфичные transitions для компонентов дизайн-системы (html body гарантирует приоритет над design-system.css) */
html body .bx-quick-tag {
  transition: background-color .2s ease, border-color .2s ease, color .2s ease, transform .15s ease !important;
}
html body .bx-mcta__item, html body .bx-mobile-cta .btn-primary {
  transition: background-color .2s ease, color .2s ease, transform .15s ease !important;
}
html body .bx-filter-group select, html body .bx-secondary-filters select {
  transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}
html body .bx-secondary-reset {
  transition: color 0.2s ease, background-color 0.2s ease, transform 0.15s ease !important;
}
html body .bx-obj-card__cta-btn {
  transition: background 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease !important;
}
html body .bx-catalog__more-btn, html body .bx-secondary-more a {
  transition: background 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease !important;
}
html body .bx-secondary-decision-grid article, html body .bx-secondary-context-card {
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease !important;
}
html body .bx-proj-nav a {
  transition: color 0.2s ease, border-bottom-color 0.2s ease !important;
}
html body .bx-pricing-row {
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease !important;
}

/* 2. Тактильный :active отклик */
html body .bx-quick-tag:active {
  transform: translateY(0) scale(0.96) !important;
}
html body .bx-obj-card__cta-btn:active,
html body .bx-catalog__more-btn:active,
html body .bx-secondary-more a:active,
html body .bx-secondary-reset:active {
  transform: translateY(0) scale(0.98) !important;
}

/* 3. Устранение залипания hover на сенсорных устройствах для карточек каталога */
@media (hover: hover) and (pointer: fine) {
  html body .bx-secondary-decision-grid article:hover,
  html body .bx-secondary-context-card:hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 10px 24px rgba(15, 31, 46, 0.08) !important;
    border-color: rgba(44, 122, 87, 0.25) !important;
  }
  html body .bx-pricing-row:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 18px rgba(15, 31, 46, 0.07) !important;
    border-color: rgba(44, 122, 87, 0.25) !important;
  }
}

/* 4. Защита prefers-reduced-motion: отключаем движение адресно */
@media (prefers-reduced-motion: reduce) {
  .bx-chip,
  .bxp-chips a,
  .bx-quick-tag,
  .bxp-gnav button,
  .bx-district-card__cta-btn,
  .bx-hero-split__btn-ghost-alt,
  .bx-hero-route-btn {
    transition: none !important;
    animation: none !important;
  }
  .bx-chip:active,
  .bxp-chips a:active,
  .bx-quick-tag:active,
  .bxp-gnav button:active,
  .bx-district-card__cta-btn:active,
  .bx-hero-split__btn-ghost-alt:active,
  .bx-hero-route-btn:active {
    transform: none !important;
  }
}

/* ==========================================================================
   GLOBAL COLOR CONTRAST & INTERACTIVE STATE ISOLATION (OpenSpec)
   Изоляция кнопок, таблиц и бейджей от глобального Astra button:hover / :focus
   ========================================================================== */
html body .bx-faq summary,
html body .bx-faq .bx-faq__q,
html body .bx-faq .bx-faq__q:hover,
html body .bx-faq .bx-faq__q:focus,
html body .bx-faq .bx-faq__q:active {
  background: #FFFFFF !important;
  background-color: #FFFFFF !important;
  color: #0F1F2E !important;
  border-color: transparent !important;
  box-shadow: none !important;
}

html body .bx-faq .bx-faq__item.is-open .bx-faq__q,
html body .bx-faq .bx-faq__item.is-open .bx-faq__q:hover,
html body .bx-faq .bx-faq__item.is-open .bx-faq__q:focus {
  background: #F8FAFC !important;
  background-color: #F8FAFC !important;
  color: #0F1F2E !important;
}

html body .bx-air-jk-card__calc-btn,
html body .bx-air-jk-card__calc-btn:hover,
html body .bx-air-jk-card__calc-btn:focus,
html body .bx-air-jk-card__calc-btn:active {
  background: rgba(31, 110, 88, 0.10) !important;
  background-color: rgba(31, 110, 88, 0.10) !important;
  color: #1F6E58 !important;
  border: 1px solid rgba(31, 110, 88, 0.24) !important;
}

html body .bx-scenario-card__filter-link,
html body .bx-scenario-card__filter-link:hover,
html body .bx-scenario-card__filter-link:focus,
html body .bx-scenario-card__filter-link:active {
  background: transparent !important;
  background-color: transparent !important;
  color: #1F6E58 !important;
  border: none !important;
  box-shadow: none !important;
}

html body .bx-proj-metric {
  background: #F7F8FA !important;
  border: 1px solid #DCE2E8 !important;
}

html body .bx-proj-metric__val {
  color: #102028 !important;
  -webkit-text-fill-color: #102028 !important;
}

html body .bx-proj-metric__label {
  color: #3B4754 !important;
  opacity: 1 !important;
}

html body .bx-hero-master .bx-proj-status {
  background: #DCFCE7 !important;
  border: 1px solid #86EFAC !important;
  color: #166534 !important;
}

html body .bx-hero-master .bx-proj-status--building {
  background: #FEF3C7 !important;
  border: 1px solid #FCD34D !important;
  color: #92400E !important;
}

html body .bx-table-wrapper table thead tr,
html body .bx-table-wrap table thead tr,
html body .table-scroll table thead tr {
  background: #F4F7F9 !important;
}

html body .bx-table-wrapper table th,
html body .bx-table-wrap table th,
html body .table-scroll table th {
  color: #3B4754 !important;
  background: #F4F7F9 !important;
}

html body .bx-table-wrapper table td,
html body .bx-table-wrap table td,
html body .table-scroll table td,
html body .bx-table-wrapper table td strong,
html body .bx-table-wrap table td strong,
html body .table-scroll table td strong {
  color: #102028 !important;
  background: #FFFFFF !important;
}

html body .bx-table-wrapper table th.bx-col--hl,
html body .bx-table-wrap table th.bx-col--hl,
html body .table-scroll table th.bx-col--hl,
html body .bx-table-wrapper table td.bx-col--hl,
html body .bx-table-wrap table td.bx-col--hl,
html body .table-scroll table td.bx-col--hl {
  background: #F0F7F4 !important;
  color: #102028 !important;
}

html body .quiz__head .quiz__head-t {
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
}

html body .bx-occupancy-chart__bar-val {
  color: #102028 !important;
  background: rgba(255, 255, 255, 0.94) !important;
  padding: 1px 4px !important;
  border-radius: 4px !important;
}

html body .mvb-donut .center {
  inset: 17px !important;
  background: #FFFFFF !important;
  border-radius: 50% !important;
}

html body .mvb-donut .center span {
  color: #3B4754 !important;
}

html body a[href*="wa.me"][style*="#25D366"] {
  background: #1E7A5F !important;
  color: #FFFFFF !important;
}






