/* =====================================================================
   GIGZAKAZ — премиальный слой оформления (пакет 2.25.0).

   Что это. Единая авторская дизайн-система поверх рабочей вёрстки:
   первый экран, направления, разделы, карточки, подвал, движение.
   Разметку и все опоры скриптов (id, классы) не меняет — только вид.

   Порядок подключения: этот файл идёт последним, поэтому местами нужен
   !important: предыдущий слой core-theme.css выставил свои правила тоже
   с !important (он «уплощал» сайт, убирал фон и картинки).

   Доступность: контраст текста на тёмном ≥ 7:1, фокус виден всегда,
   при «уменьшить движение» вся анимация выключается.
   ===================================================================== */

/* ---------------------------------------------------------------
   1. Токены дизайн-системы
   --------------------------------------------------------------- */
:root {
  /* Чернила: глубокий зелёно-графитовый, фирменный, не чёрный */
  --gzp-ink-0: #05100c;
  --gzp-ink-1: #071812;
  --gzp-ink-2: #0c2219;
  --gzp-ink-3: #133025;

  /* Бумага: тёплая, как в фирменном теме #F7F2E7 */
  --gzp-paper: #fbfaf6;
  --gzp-paper-2: #f3f5f2;
  --gzp-line: rgba(10, 40, 30, .10);
  --gzp-line-2: rgba(10, 40, 30, .16);

  /* Изумруд */
  --gzp-em: #00b06a;
  --gzp-em-lt: #00e58f;
  --gzp-em-dp: #067049;
  --gzp-em-glow: rgba(0, 229, 143, .32);

  /* Текст */
  --gzp-tx: #0a1f16;
  --gzp-tx-dim: #56695f;
  --gzp-on-dark: #f2fbf7;
  --gzp-on-dark-dim: rgba(226, 244, 236, .68);

  /* Геометрия */
  --gzp-r-xl: 26px;
  --gzp-r-lg: 18px;
  --gzp-r: 14px;
  --gzp-r-sm: 10px;

  /* Тени: мягкие, многослойные */
  --gzp-sh-1: 0 1px 2px rgba(8, 32, 22, .05), 0 6px 16px rgba(8, 32, 22, .05);
  --gzp-sh-2: 0 2px 4px rgba(8, 32, 22, .05), 0 14px 34px rgba(8, 32, 22, .09);
  --gzp-sh-3: 0 4px 10px rgba(8, 32, 22, .07), 0 30px 70px rgba(8, 32, 22, .16);

  /* Движение */
  --gzp-ease: cubic-bezier(.22, .68, .28, 1);
  --gzp-ease-out: cubic-bezier(.16, 1, .3, 1);
  --gzp-dur: .48s;

  /* Ритм: поля и вертикальные отступы «дышат» вместе с экраном */
  --gzp-gutter: clamp(18px, 4vw, 56px);
  --gzp-bleed: clamp(18px, 4vw, 56px);
  --gzp-sec-y: clamp(56px, 7vw, 116px);
  --gzp-max: 1320px;
}

/* ---------------------------------------------------------------
   2. Основа страницы
   --------------------------------------------------------------- */
body.home-page {
  background-color: var(--gzp-paper) !important;
  background-image: none !important;
  color: var(--gzp-tx);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

body.home-page .container {
  max-width: var(--gzp-max);
  padding-left: var(--gzp-gutter);
  padding-right: var(--gzp-gutter);
}

body.home-page .section {
  padding: var(--gzp-sec-y) 0 !important;
  border: 0 !important;
  background: transparent !important;
}

/* Чередование фона задаёт ритм разделов без линеек и рамок */
body.home-page #services,
body.home-page #faq {
  background: var(--gzp-paper-2) !important;
}

/* Заголовки разделов — по левому краю, с надзаголовком.
   Раньше всё было по центру: так страница читалась как «объявление». */
body.home-page .section-title {
  font-size: clamp(30px, 3.6vw, 52px) !important;
  line-height: 1.04 !important;
  letter-spacing: -.035em !important;
  font-weight: 800 !important;
  color: var(--gzp-tx) !important;
  text-align: left !important;
  margin: 0 0 10px !important;
  max-width: 20ch;
}

body.home-page .gzp-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 28px;
  margin-bottom: clamp(24px, 3vw, 44px);
  flex-wrap: wrap;
}

body.home-page .gzp-head > div {
  min-width: 0;
}

body.home-page .gzp-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--gzp-em-dp);
  margin-bottom: 14px;
}

body.home-page .gzp-kicker::before {
  content: "";
  width: 22px;
  height: 2px;
  border-radius: 2px;
  background: linear-gradient(90deg, var(--gzp-em-lt), var(--gzp-em));
}

body.home-page .gzp-lead {
  font-size: clamp(15px, 1.25vw, 18px);
  line-height: 1.6;
  color: var(--gzp-tx-dim);
  max-width: 62ch;
  text-align: left !important;
  margin: 0;
}

/* Центрирование из старого слоя выключаем точечно */
body.home-page .svc-card,
body.home-page .kpi,
body.home-page .stat,
body.home-page .faq-a,
body.home-page .index-chip {
  text-align: left !important;
}

/* ---------------------------------------------------------------
   3. Шапка: прозрачная над первым экраном, стеклянная при прокрутке
   --------------------------------------------------------------- */
body.home-page .site-header {
  position: sticky;
  top: 0;
  z-index: 60;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  transition: background var(--gzp-dur) var(--gzp-ease), box-shadow var(--gzp-dur) var(--gzp-ease), backdrop-filter var(--gzp-dur) var(--gzp-ease);
}

body.home-page .site-header .header-inner {
  max-width: var(--gzp-max);
  padding: 16px var(--gzp-gutter) !important;
  gap: 22px;
  transition: padding var(--gzp-dur) var(--gzp-ease);
}

body.home-page .site-header .logo {
  font-weight: 800 !important;
  letter-spacing: -.02em;
  font-size: 20px !important;
  color: var(--gzp-on-dark) !important;
  transition: color var(--gzp-dur) var(--gzp-ease);
}

body.home-page .site-header .header-nav a {
  color: var(--gzp-on-dark-dim) !important;
  font-weight: 600;
  font-size: 15px;
  position: relative;
  padding: 6px 2px;
  transition: color .22s var(--gzp-ease);
}

body.home-page .site-header .header-nav a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 2px;
  border-radius: 2px;
  background: var(--gzp-em-lt);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .3s var(--gzp-ease-out);
}

body.home-page .site-header .header-nav a:hover,
body.home-page .site-header .header-nav a:focus-visible {
  color: var(--gzp-on-dark) !important;
}

body.home-page .site-header .header-nav a:hover::after,
body.home-page .site-header .header-nav a:focus-visible::after {
  transform: scaleX(1);
}

/* Поиск в шапке над тёмным первым экраном не нужен — он дублирует
   главную строку поиска. Показываем, когда шапка «приземлилась». */
body.home-page .site-header .header-search {
  opacity: 0;
  pointer-events: none;
  transform: translateY(-4px);
  transition: opacity .3s var(--gzp-ease), transform .3s var(--gzp-ease);
}

body.home-page .site-header.is-stuck {
  background: rgba(251, 250, 246, .82) !important;
  -webkit-backdrop-filter: saturate(180%) blur(18px);
  backdrop-filter: saturate(180%) blur(18px);
  box-shadow: 0 1px 0 var(--gzp-line), 0 10px 30px rgba(8, 32, 22, .07) !important;
}

body.home-page .site-header.is-stuck .header-inner {
  padding-top: 10px !important;
  padding-bottom: 10px !important;
}

body.home-page .site-header.is-stuck .logo {
  color: var(--gzp-tx) !important;
}

body.home-page .site-header.is-stuck .header-nav a {
  color: var(--gzp-tx-dim) !important;
}

body.home-page .site-header.is-stuck .header-nav a:hover {
  color: var(--gzp-tx) !important;
}

body.home-page .site-header.is-stuck .header-search {
  opacity: 1;
  pointer-events: auto;
  transform: none;
}

/* Кнопки в шапке */
body.home-page .site-header .header-actions .lang-trigger,
body.home-page .site-header .header-actions a:not(.btn),
body.home-page .site-header .header-actions button:not(.btn-cta) {
  color: var(--gzp-on-dark-dim) !important;
  border-color: rgba(255, 255, 255, .18) !important;
  background: rgba(255, 255, 255, .07) !important;
}

body.home-page .site-header.is-stuck .header-actions .lang-trigger,
body.home-page .site-header.is-stuck .header-actions a:not(.btn),
body.home-page .site-header.is-stuck .header-actions button:not(.btn-cta) {
  color: var(--gzp-tx-dim) !important;
  border-color: var(--gzp-line-2) !important;
  background: #fff !important;
}

body.home-page .site-header .btn-cta {
  background: linear-gradient(135deg, var(--gzp-em-lt), var(--gzp-em)) !important;
  color: #04241a !important;
  font-weight: 800 !important;
  border-radius: 999px !important;
  padding: 10px 18px !important;
  box-shadow: 0 6px 20px rgba(0, 176, 106, .28) !important;
}

/* ---------------------------------------------------------------
   4. Первый экран
   --------------------------------------------------------------- */
body.home-page .hero {
  position: relative;
  isolation: isolate;
  margin-top: -76px;
  padding: clamp(140px, 12vw, 190px) 0 clamp(56px, 7vw, 96px) !important;
  min-height: clamp(640px, 58vw, 880px) !important;
  display: flex;
  align-items: center;
  background: radial-gradient(120% 90% at 12% 0%, var(--gzp-ink-3) 0%, var(--gzp-ink-1) 42%, var(--gzp-ink-0) 100%) !important;
  border: 0 !important;
  overflow: hidden;
}

/* Фотография сделки: приглушена и перекрашена под фирменный зелёный */
body.home-page .hero::before {
  content: "" !important;
  position: absolute;
  inset: 0;
  z-index: -2;
  background-image: url("../img/promo.jpg") !important;
  background-size: cover !important;
  background-position: 62% 46% !important;
  display: block !important;
  opacity: .48 !important;
  mix-blend-mode: luminosity;
  filter: contrast(1.06) brightness(.78) !important;
  transform: scale(1.06) translate3d(var(--gzp-par-x, 0px), var(--gzp-par-y, 0px), 0);
  transition: transform 1.1s var(--gzp-ease-out);
}

/* Затемнение слева направо, чтобы текст читался при любом фото */
body.home-page .hero::after {
  content: "" !important;
  position: absolute;
  inset: 0;
  z-index: -1;
  display: block !important;
  opacity: 1 !important;
  background:
    linear-gradient(100deg, var(--gzp-ink-0) 1%, rgba(5, 16, 12, .96) 26%, rgba(6, 20, 15, .78) 52%, rgba(5, 16, 12, .9) 100%),
    radial-gradient(60% 46% at 78% 26%, rgba(0, 229, 143, .18), transparent 70%);
}

body.home-page .hero-inner {
  position: relative;
  z-index: 2;
  max-width: var(--gzp-max);
  width: 100%;
  text-align: left !important;
  display: grid;
  /* minmax(0,1fr), а не 1fr: иначе бегущая строка в одну строку без переносов
     растягивает колонку по своей длине, и первый экран уезжает вправо. */
  grid-template-columns: minmax(0, 1fr);
  justify-items: start;
  gap: 0;
}

/* Бегущая строка приглашения — вернули, но как аккуратную строку-чип */
body.home-page .hero-eyebrow {
  display: inline-flex !important;
  align-items: center;
  gap: 10px;
  width: 100% !important;
  max-width: min(100%, 720px) !important;
  box-sizing: border-box;
  padding: 8px 16px 8px 12px;
  border-radius: 999px;
  border: 1px solid rgba(0, 229, 143, .3) !important;
  background: rgba(6, 20, 15, .55) !important;
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
  color: var(--gzp-on-dark-dim) !important;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .01em;
  overflow: hidden;
  margin: 0 0 26px !important;
  justify-self: start;
}

body.home-page .hero-eyebrow > i {
  color: var(--gzp-em-lt);
  flex: none;
}

body.home-page .hero-ticker-window {
  min-width: 0;
  flex: 1 1 auto;
  overflow: hidden;
  white-space: nowrap;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 22px, #000 88%, transparent);
  mask-image: linear-gradient(90deg, transparent, #000 22px, #000 88%, transparent);
}

/* Бегущая строка: в разметке две одинаковые копии текста, поэтому сдвиг
   ровно на половину даёт бесшовное повторение. Прежний слой отодвигал
   строку на всю ширину окна — из-за этого чип первые секунды был пустым. */
body.home-page .hero-ticker-track {
  display: inline-flex !important;
  gap: 0 !important;
  padding-left: 0 !important;
  animation: gzp-ticker 46s linear infinite !important;
  will-change: transform;
}

body.home-page .hero-ticker-track > span {
  padding-right: 42px;
  color: inherit !important;
  font-size: 13px !important;
  font-weight: 600 !important;
}

@keyframes gzp-ticker {
  from { transform: translate3d(0, 0, 0); }
  to { transform: translate3d(-50%, 0, 0); }
}

/* Заголовок: логотип-надпись и смысловая строка рядом */
body.home-page .hero-title {
  font-size: clamp(54px, 9.2vw, 132px) !important;
  line-height: .86 !important;
  letter-spacing: -.055em !important;
  font-weight: 800 !important;
  color: var(--gzp-on-dark) !important;
  text-shadow: none !important;
  text-align: left !important;
  margin: 0 !important;
  background: linear-gradient(174deg, #ffffff 8%, #d8f7e9 52%, #7fe9bd 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  position: relative;
}

body.home-page .hero-slogan {
  font-size: clamp(17px, 1.9vw, 26px) !important;
  font-weight: 600 !important;
  letter-spacing: .01em;
  color: var(--gzp-em-lt) !important;
  margin: 14px 0 0 !important;
  text-align: left !important;
}

/* Смысловая подпись: чем занимается площадка, фактами */
body.home-page .gzp-hero-sub {
  margin: 22px 0 0;
  max-width: 54ch;
  font-size: clamp(15px, 1.35vw, 19px);
  line-height: 1.62;
  color: var(--gzp-on-dark-dim);
}

body.home-page .gzp-hero-sub b {
  color: var(--gzp-on-dark);
  font-weight: 700;
}

/* Главное действие: поиск + создать */
body.home-page .premium-command-center {
  margin: clamp(28px, 3.4vw, 42px) 0 0 !important;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: stretch;
  width: 100%;
  max-width: 980px !important;
  justify-self: start;
}

body.home-page .premium-command-search {
  background: rgba(6, 20, 15, .55) !important;
  border: 1px solid rgba(255, 255, 255, .17) !important;
  -webkit-backdrop-filter: blur(18px);
  backdrop-filter: blur(16px);
  border-radius: 18px !important;
  padding: 8px 8px 8px 18px !important;
  display: flex;
  align-items: center;
  gap: 10px;
  box-shadow: 0 20px 60px rgba(3, 12, 9, .42);
  transition: border-color .25s var(--gzp-ease), background .25s var(--gzp-ease);
}

body.home-page .premium-command-search:focus-within {
  border-color: rgba(0, 229, 143, .5) !important;
  background: rgba(255, 255, 255, .11) !important;
}

body.home-page .premium-command-search > i {
  color: var(--gzp-em-lt);
  font-size: 20px;
}

body.home-page .premium-command-search input.field,
body.home-page .premium-command-search select.field {
  background: transparent !important;
  border: 0 !important;
  color: var(--gzp-on-dark) !important;
  font-size: 16px !important;
  font-weight: 600;
  height: 50px;
  min-width: 0;
}

body.home-page .premium-command-search input.field::placeholder {
  color: rgba(226, 244, 236, .5) !important;
  font-weight: 500;
}

body.home-page .premium-command-search select.field option {
  background: var(--gzp-ink-2);
  color: var(--gzp-on-dark);
}

body.home-page .premium-command-search .divider {
  width: 1px;
  height: 26px;
  background: rgba(255, 255, 255, .16);
  flex: none;
}

body.home-page .premium-command-search .btn-cta {
  border-radius: 13px !important;
  height: 50px;
  padding: 0 26px !important;
  font-weight: 800 !important;
  font-size: 15px !important;
  background: linear-gradient(135deg, var(--gzp-em-lt), var(--gzp-em)) !important;
  color: #04241a !important;
  box-shadow: 0 10px 30px rgba(0, 229, 143, .3) !important;
}

body.home-page .premium-create-action {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 0 24px !important;
  border-radius: 18px !important;
  border: 1px solid rgba(255, 255, 255, .17) !important;
  background: rgba(6, 20, 15, .55) !important;
  -webkit-backdrop-filter: blur(18px);
  backdrop-filter: blur(16px);
  color: var(--gzp-on-dark) !important;
  text-align: left;
  transition: transform .3s var(--gzp-ease-out), background .25s var(--gzp-ease), border-color .25s var(--gzp-ease);
}

body.home-page .premium-create-action:hover {
  transform: translateY(-2px);
  background: rgba(0, 229, 143, .14) !important;
  border-color: rgba(0, 229, 143, .42) !important;
}

body.home-page .premium-create-action i {
  font-size: 22px;
  color: var(--gzp-em-lt);
}

body.home-page .premium-create-action b {
  display: block;
  font-size: 15px;
  font-weight: 800;
}

body.home-page .premium-create-action small {
  display: block;
  font-size: 12px;
  color: var(--gzp-on-dark-dim);
}

/* Три быстрых перехода под строкой поиска */
body.home-page .premium-home-pulse {
  margin: 14px 0 0 !important;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  width: 100%;
  max-width: 980px !important;
  justify-self: start;
}

body.home-page .premium-pulse-card {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 16px;
  border-radius: var(--gzp-r-lg) !important;
  border: 1px solid rgba(255, 255, 255, .15) !important;
  background: rgba(6, 20, 15, .5) !important;
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
  color: var(--gzp-on-dark) !important;
  box-shadow: none !important;
  text-align: left;
  transition: transform .3s var(--gzp-ease-out), background .25s var(--gzp-ease), border-color .25s var(--gzp-ease);
}

body.home-page .premium-pulse-card:hover {
  transform: translateY(-3px);
  background: rgba(10, 32, 24, .72) !important;
  border-color: rgba(0, 229, 143, .34);
}

body.home-page .premium-pulse-card > span:not(.premium-pulse-icon) {
  min-width: 0;
  flex: 1;
}

body.home-page .premium-pulse-icon {
  width: 38px;
  height: 38px;
  flex: none;
  display: grid;
  place-items: center;
  border-radius: 12px;
  background: rgba(0, 229, 143, .14);
  color: var(--gzp-em-lt);
}

body.home-page .premium-pulse-card b {
  display: block;
  color: var(--gzp-on-dark) !important;
  font-size: 16px;
  font-weight: 800;
  line-height: 1.2;
}

body.home-page .premium-pulse-card small {
  display: block;
  font-size: 12px !important;
  color: var(--gzp-on-dark-dim);
  margin-top: 2px;
}

body.home-page .premium-pulse-card > i:last-child {
  color: rgba(226, 244, 236, .42);
  transition: transform .3s var(--gzp-ease-out);
}

body.home-page .premium-pulse-card:hover > i:last-child {
  transform: translateX(3px);
}

/* Быстрый заказ и дублирующие ссылки на первом экране прячем:
   одно главное действие вместо трёх соревнующихся. */
body.home-page .hero .quick-order,
body.home-page .hero .hero-cta {
  display: none !important;
}

/* Строка доверия: только то, что действительно работает */
body.home-page .gzp-trust {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 26px;
  margin: clamp(26px, 3vw, 38px) 0 0;
  padding: 0;
  list-style: none;
}

body.home-page .gzp-trust li {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  font-size: 13.5px;
  font-weight: 600;
  color: rgba(234, 250, 243, .88);
  text-shadow: 0 1px 10px rgba(4, 14, 10, .7);
}

body.home-page .gzp-trust i {
  color: var(--gzp-em-lt);
  font-size: 17px;
}

/* «Живой маршрут» — запоминающийся эффект первого экрана */
body.home-page .gzp-route {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  opacity: .9;
}

body.home-page .gzp-route path.gzp-route-line {
  fill: none;
  stroke: url(#gzpRouteGrad);
  stroke-width: 1.6;
  stroke-linecap: round;
  stroke-dasharray: 1400;
  stroke-dashoffset: 1400;
  animation: gzp-draw 3.4s var(--gzp-ease-out) .35s forwards;
}

body.home-page .gzp-route circle.gzp-route-pulse {
  fill: var(--gzp-em-lt);
  filter: drop-shadow(0 0 7px var(--gzp-em-glow));
  offset-path: path("M -40 520 C 320 470, 520 250, 840 268 C 1120 284, 1230 190, 1480 120");
  offset-distance: 0%;
  animation: gzp-travel 7.5s linear 1.6s infinite;
}

body.home-page .gzp-route .gzp-route-node {
  fill: rgba(0, 229, 143, .9);
  opacity: 0;
  animation: gzp-node .7s var(--gzp-ease-out) forwards;
}

@keyframes gzp-draw {
  to { stroke-dashoffset: 0; }
}

@keyframes gzp-travel {
  0% { offset-distance: 0%; opacity: 0; }
  6% { opacity: 1; }
  92% { opacity: 1; }
  100% { offset-distance: 100%; opacity: 0; }
}

@keyframes gzp-node {
  from { opacity: 0; transform: scale(.4); }
  to { opacity: .85; transform: scale(1); }
}

/* ---------------------------------------------------------------
   5. Направления: крупные фотоплитки со «светом» под курсором
   --------------------------------------------------------------- */
body.home-page #directions {
  position: relative;
}

body.home-page .dir-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: clamp(12px, 1.4vw, 20px) !important;
  position: relative;
}

body.home-page .dir-card {
  position: relative;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-end !important;
  align-items: stretch !important;
  min-height: clamp(210px, 21vw, 290px) !important;
  height: auto !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: var(--gzp-r-xl) !important;
  overflow: hidden;
  background: var(--gzp-ink-1) !important;
  box-shadow: var(--gzp-sh-1);
  isolation: isolate;
  transition: transform .5s var(--gzp-ease-out), box-shadow .5s var(--gzp-ease-out);
}

body.home-page .dir-card:hover,
body.home-page .dir-card:focus-visible {
  transform: translateY(-6px);
  box-shadow: var(--gzp-sh-3);
}

body.home-page .dir-card-img {
  position: absolute !important;
  inset: 0;
  z-index: -2;
  width: auto !important;
  height: auto !important;
  border-radius: 0 !important;
  margin: 0 !important;
}

body.home-page .dir-card-photo {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.02);
  transition: transform 1s var(--gzp-ease-out), filter .6s var(--gzp-ease);
  filter: saturate(.92) contrast(1.02);
}

body.home-page .dir-card:hover .dir-card-photo {
  transform: scale(1.09);
  filter: saturate(1.05) contrast(1.04);
}

/* Значок направления не нужен: фотография и подпись говорят сами за себя */
body.home-page .dir-card-img > i.ti {
  display: none !important;
}

/* Затемнение снизу: подпись читается на любой фотографии */
body.home-page .dir-card::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(to top, rgba(4, 14, 10, .96) 2%, rgba(4, 14, 10, .82) 26%, rgba(4, 14, 10, .3) 58%, rgba(4, 14, 10, .34) 100%);
  transition: opacity .5s var(--gzp-ease);
}

/* Свет под курсором — тот самый «живой» отклик плитки */
body.home-page .dir-card::after {
  content: "";
  position: absolute;
  inset: -1px;
  z-index: 1;
  pointer-events: none;
  border-radius: inherit;
  opacity: 0;
  background: radial-gradient(240px circle at var(--gzp-mx, 50%) var(--gzp-my, 50%), rgba(0, 229, 143, .26), transparent 62%);
  transition: opacity .35s var(--gzp-ease);
}

body.home-page .dir-card:hover::after {
  opacity: 1;
}

body.home-page .dir-card-body {
  position: relative;
  z-index: 2;
  width: auto !important;
  max-width: none !important;
  align-self: stretch !important;
  flex: 0 0 auto !important;
  justify-content: flex-end !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 20px !important;
  text-align: left !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 5px;
}

body.home-page .dir-title {
  font-size: clamp(17px, 1.5vw, 21px) !important;
  font-weight: 800 !important;
  letter-spacing: -.02em;
  color: #fff !important;
  line-height: 1.16;
}

body.home-page .dir-tagline {
  display: block !important;
  font-size: 13.5px !important;
  line-height: 1.45;
  color: rgba(238, 252, 246, .74) !important;
  max-width: 34ch;
}

body.home-page .dir-card-meta {
  display: block !important;
  margin-top: 10px;
}

body.home-page .dir-go {
  display: inline-flex !important;
  align-items: center;
  gap: 7px;
  font-size: 13px;
  font-weight: 800;
  color: var(--gzp-em-lt) !important;
  letter-spacing: .02em;
}

body.home-page .dir-go i {
  transition: transform .35s var(--gzp-ease-out);
}

body.home-page .dir-card:hover .dir-go i {
  transform: translateX(5px);
}

/* Запасной список без скриптов */
body.home-page .dir-fallback {
  display: flex;
  align-items: center;
  min-height: 100px;
  padding: 18px;
  border-radius: var(--gzp-r-lg);
  background: #fff;
  border: 1px solid var(--gzp-line);
  font-weight: 700;
}

/* ---------------------------------------------------------------
   6. «Как это работает» — четыре шага
   --------------------------------------------------------------- */
body.home-page .gzp-steps {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(12px, 1.4vw, 22px);
  counter-reset: gzp-step;
}

body.home-page .gzp-step {
  position: relative;
  padding: 26px 22px 24px;
  border-radius: var(--gzp-r-xl);
  background: #fff;
  border: 1px solid var(--gzp-line);
  box-shadow: var(--gzp-sh-1);
  transition: transform .45s var(--gzp-ease-out), box-shadow .45s var(--gzp-ease-out), border-color .3s var(--gzp-ease);
}

body.home-page .gzp-step:hover {
  transform: translateY(-4px);
  box-shadow: var(--gzp-sh-2);
  border-color: rgba(0, 176, 106, .3);
}

body.home-page .gzp-step-n {
  counter-increment: gzp-step;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--gzp-em-dp);
  margin-bottom: 16px;
}

body.home-page .gzp-step-n::before {
  content: counter(gzp-step, decimal-leading-zero);
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 11px;
  font-size: 14px;
  letter-spacing: 0;
  color: #04241a;
  background: linear-gradient(135deg, var(--gzp-em-lt), var(--gzp-em));
  box-shadow: 0 6px 18px rgba(0, 176, 106, .26);
}

body.home-page .gzp-step h3 {
  font-size: 19px;
  font-weight: 800;
  letter-spacing: -.02em;
  margin: 0 0 8px;
  color: var(--gzp-tx);
}

body.home-page .gzp-step p {
  margin: 0;
  font-size: 14.5px;
  line-height: 1.58;
  color: var(--gzp-tx-dim);
}

/* Линия, соединяющая шаги */
body.home-page .gzp-step:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 43px;
  right: -13px;
  width: 26px;
  height: 1px;
  background: linear-gradient(90deg, rgba(0, 176, 106, .45), rgba(0, 176, 106, 0));
}

/* ---------------------------------------------------------------
   7. Сервисы: спокойная сетка значков
   --------------------------------------------------------------- */
body.home-page .svc-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(188px, 1fr)) !important;
  gap: 12px !important;
}

body.home-page .svc-card {
  display: flex !important;
  flex-direction: row !important;
  align-items: center;
  gap: 14px;
  padding: 18px 20px !important;
  border-radius: var(--gzp-r-lg) !important;
  border: 1px solid var(--gzp-line) !important;
  background: #fff !important;
  box-shadow: none !important;
  transition: transform .4s var(--gzp-ease-out), border-color .3s var(--gzp-ease), box-shadow .4s var(--gzp-ease-out);
}

body.home-page .svc-card:hover {
  transform: translateY(-3px);
  border-color: rgba(0, 176, 106, .34) !important;
  box-shadow: var(--gzp-sh-2) !important;
}

body.home-page .svc-icon {
  width: 42px;
  height: 42px;
  flex: none;
  display: grid;
  place-items: center;
  font-size: 21px;
  border-radius: 13px;
  color: var(--gzp-em-dp) !important;
  background: linear-gradient(140deg, rgba(0, 229, 143, .17), rgba(0, 176, 106, .09)) !important;
  margin: 0 !important;
}

body.home-page .svc-title {
  font-size: 15px !important;
  font-weight: 700 !important;
  color: var(--gzp-tx) !important;
  line-height: 1.3;
}

/* ---------------------------------------------------------------
   8. Рынок и аналитика: карточки на бумаге
   --------------------------------------------------------------- */
body.home-page .market360-section {
  background: transparent !important;
}

body.home-page .market360-title {
  margin-bottom: 8px !important;
}

body.home-page .market360-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
  color: var(--gzp-em-dp) !important;
  margin-bottom: 12px;
}

body.home-page .market360-sub {
  color: var(--gzp-tx-dim) !important;
  font-size: 16px;
  line-height: 1.6;
  max-width: 62ch;
}

body.home-page .market-quick-btn {
  border-radius: 999px !important;
  border: 1px solid var(--gzp-line-2) !important;
  background: #fff !important;
  padding: 9px 16px !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  color: var(--gzp-tx-dim) !important;
  transition: all .25s var(--gzp-ease);
}

body.home-page .market-quick-btn:hover {
  border-color: rgba(0, 176, 106, .4) !important;
  color: var(--gzp-tx) !important;
}

body.home-page .market-quick-btn.is-active {
  background: var(--gzp-ink-1) !important;
  border-color: var(--gzp-ink-1) !important;
  color: #eafff5 !important;
}

/* Пустой рынок: вместо тысячи пикселей пустоты — понятное приглашение.
   Блок рисует app.js внутри горизонтальной ленты, поэтому он занимает
   всю её ширину и сам задаёт высоту — лента больше не «провисает». */
body.home-page .market360-empty {
  flex: 1 1 auto !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  box-sizing: border-box;
  display: grid !important;
  justify-items: center;
  align-content: center;
  gap: 12px;
  text-align: center;
  min-height: 0 !important;
  height: auto !important;
  padding: clamp(38px, 5vw, 64px) 28px !important;
  border-radius: var(--gzp-r-xl) !important;
  border: 1px dashed rgba(0, 176, 106, .34) !important;
  background:
    radial-gradient(70% 90% at 50% 0%, rgba(0, 229, 143, .09), transparent 70%),
    #fff !important;
  box-shadow: none !important;
}

body.home-page .market360-empty > i.ti {
  width: 58px;
  height: 58px;
  display: grid;
  place-items: center;
  border-radius: 18px;
  font-size: 26px;
  color: var(--gzp-em-dp) !important;
  background: linear-gradient(140deg, rgba(0, 229, 143, .2), rgba(0, 176, 106, .1));
  margin: 0 0 4px !important;
}

body.home-page .market360-empty b {
  font-size: clamp(19px, 2vw, 25px) !important;
  font-weight: 800 !important;
  letter-spacing: -.02em;
  color: var(--gzp-tx) !important;
  line-height: 1.2;
}

body.home-page .market360-empty span {
  max-width: 54ch;
  font-size: 15px !important;
  line-height: 1.6;
  color: var(--gzp-tx-dim) !important;
}

body.home-page .market360-empty .btn {
  margin-top: 6px;
  border-radius: 999px !important;
  padding: 11px 22px !important;
  font-weight: 700 !important;
}

body.home-page .market360-empty .btn-cta {
  background: linear-gradient(135deg, var(--gzp-em-lt), var(--gzp-em)) !important;
  color: #04241a !important;
  box-shadow: 0 8px 24px rgba(0, 176, 106, .26) !important;
}

/* Стрелки и подсказка листания нужны только когда есть что листать */
body.home-page .market-rail:has(.market360-empty) .market-rail-arrow,
body.home-page .market-rail:has(.market360-empty) + .market-rail-hint {
  display: none !important;
}

/* Аналитика */
body.home-page .kpi-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 12px !important;
}

body.home-page .kpi {
  padding: 22px !important;
  border-radius: var(--gzp-r-lg) !important;
  border: 1px solid var(--gzp-line) !important;
  background: #fff !important;
  box-shadow: var(--gzp-sh-1) !important;
}

body.home-page .kpi-label {
  font-size: 12.5px !important;
  font-weight: 700 !important;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--gzp-tx-dim) !important;
}

body.home-page .kpi-value {
  font-size: clamp(26px, 2.6vw, 36px) !important;
  font-weight: 800 !important;
  letter-spacing: -.035em;
  color: var(--gzp-tx) !important;
  margin: 8px 0 4px !important;
  font-variant-numeric: tabular-nums;
}

body.home-page .kpi-note {
  font-size: 12.5px !important;
  color: var(--gzp-tx-dim) !important;
}

body.home-page .analytics-card,
body.home-page .premium-analytics-decision,
body.home-page .premium-analytics-chart,
body.home-page .filter-panel {
  border-radius: var(--gzp-r-xl) !important;
  border: 1px solid var(--gzp-line) !important;
  background: #fff !important;
  box-shadow: var(--gzp-sh-1) !important;
}

/* ---------------------------------------------------------------
   9. Деньги и безопасность — тёмный разворот
   --------------------------------------------------------------- */
body.home-page .gzp-safe {
  position: relative;
  color: var(--gzp-on-dark);
  background: radial-gradient(90% 120% at 10% 0%, var(--gzp-ink-3), var(--gzp-ink-1) 52%, var(--gzp-ink-0)) !important;
  overflow: hidden;
}

body.home-page .gzp-safe::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(46% 60% at 88% 18%, rgba(0, 229, 143, .14), transparent 72%);
  pointer-events: none;
}

body.home-page .gzp-safe .container {
  position: relative;
}

body.home-page .gzp-safe .section-title {
  color: #fff !important;
}

body.home-page .gzp-safe .gzp-kicker {
  color: var(--gzp-em-lt);
}

body.home-page .gzp-safe .gzp-lead {
  color: var(--gzp-on-dark-dim);
}

body.home-page .gzp-safe-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(258px, 1fr));
  gap: clamp(12px, 1.4vw, 20px);
}

body.home-page .gzp-safe-card {
  padding: 26px 24px;
  border-radius: var(--gzp-r-xl);
  border: 1px solid rgba(255, 255, 255, .11);
  background: rgba(255, 255, 255, .045);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  transition: transform .45s var(--gzp-ease-out), border-color .3s var(--gzp-ease), background .3s var(--gzp-ease);
}

body.home-page .gzp-safe-card:hover {
  transform: translateY(-4px);
  border-color: rgba(0, 229, 143, .32);
  background: rgba(255, 255, 255, .07);
}

body.home-page .gzp-safe-card i {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border-radius: 14px;
  font-size: 22px;
  color: var(--gzp-em-lt);
  background: rgba(0, 229, 143, .13);
  margin-bottom: 16px;
}

body.home-page .gzp-safe-card h3 {
  font-size: 18px;
  font-weight: 800;
  letter-spacing: -.02em;
  margin: 0 0 8px;
  color: #fff;
}

body.home-page .gzp-safe-card p {
  margin: 0;
  font-size: 14.5px;
  line-height: 1.58;
  color: var(--gzp-on-dark-dim);
}

body.home-page .gzp-safe-note {
  margin: clamp(22px, 2.6vw, 34px) 0 0;
  font-size: 13.5px;
  line-height: 1.6;
  color: rgba(226, 244, 236, .55);
  max-width: 82ch;
}

body.home-page .gzp-safe-note a {
  color: var(--gzp-em-lt);
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* ---------------------------------------------------------------
   10. Вопросы и ответы
   --------------------------------------------------------------- */
body.home-page .faq-list {
  display: grid;
  gap: 10px;
  max-width: 920px;
}

body.home-page .faq-item {
  padding: 0 !important;
  border-radius: var(--gzp-r-lg) !important;
  border: 1px solid var(--gzp-line) !important;
  background: #fff !important;
  box-shadow: none !important;
  overflow: hidden;
  transition: border-color .3s var(--gzp-ease), box-shadow .3s var(--gzp-ease);
}

body.home-page .faq-item:hover {
  border-color: rgba(0, 176, 106, .3) !important;
  box-shadow: var(--gzp-sh-1) !important;
}

body.home-page .faq-q {
  width: 100%;
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 20px 22px !important;
  background: transparent !important;
  border: 0 !important;
  font-size: 16.5px !important;
  font-weight: 700 !important;
  color: var(--gzp-tx) !important;
  text-align: left !important;
}

body.home-page .faq-q i {
  flex: none;
  color: var(--gzp-em-dp);
  transition: transform .35s var(--gzp-ease-out);
}

body.home-page .faq-item.open .faq-q i {
  transform: rotate(180deg);
}

body.home-page .faq-a {
  padding: 0 22px 20px !important;
  font-size: 15px !important;
  line-height: 1.62 !important;
  color: var(--gzp-tx-dim) !important;
}

/* ---------------------------------------------------------------
   11. Подвал
   --------------------------------------------------------------- */
body.home-page .site-footer {
  background: var(--gzp-ink-0) !important;
  color: var(--gzp-on-dark-dim) !important;
  border: 0 !important;
  padding: clamp(50px, 6vw, 82px) 0 0 !important;
}

body.home-page .site-footer .container {
  max-width: var(--gzp-max);
}

body.home-page .footer-logo {
  font-size: 22px !important;
  font-weight: 800 !important;
  letter-spacing: -.02em;
  color: #fff !important;
  margin-bottom: 14px;
}

body.home-page .footer-about {
  font-size: 14px !important;
  line-height: 1.6;
  color: var(--gzp-on-dark-dim) !important;
  max-width: 34ch;
}

body.home-page .footer-title {
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: .13em;
  text-transform: uppercase;
  color: rgba(226, 244, 236, .5) !important;
  margin-bottom: 14px;
}

body.home-page .site-footer a {
  color: var(--gzp-on-dark-dim) !important;
  font-size: 14.5px;
  line-height: 2;
  transition: color .22s var(--gzp-ease);
}

body.home-page .site-footer a:hover {
  color: var(--gzp-em-lt) !important;
}

body.home-page .footer-bottom,
body.home-page .site-footer .footer-legal {
  border-top: 1px solid rgba(255, 255, 255, .08) !important;
  margin-top: clamp(34px, 4vw, 54px);
  padding: 22px 0 !important;
  font-size: 13px;
  color: rgba(226, 244, 236, .44) !important;
}

/* ---------------------------------------------------------------
   12. Движение: сдержанное появление разделов
   --------------------------------------------------------------- */
body.home-page .reveal {
  opacity: 0;
  transform: translate3d(0, 22px, 0);
  transition: opacity .7s var(--gzp-ease-out), transform .7s var(--gzp-ease-out);
  will-change: opacity, transform;
}

body.home-page .reveal.in {
  opacity: 1;
  transform: none;
}

/* Фокус виден всегда и везде */
body.home-page a:focus-visible,
body.home-page button:focus-visible,
body.home-page input:focus-visible,
body.home-page select:focus-visible,
body.home-page summary:focus-visible {
  outline: 2px solid var(--gzp-em-lt);
  outline-offset: 3px;
  border-radius: 8px;
}

/* ---------------------------------------------------------------
   13. Экраны поменьше
   --------------------------------------------------------------- */
@media (max-width: 1100px) {
  body.home-page .dir-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body.home-page .gzp-steps {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.home-page .gzp-step:nth-child(2)::after {
    display: none;
  }

  body.home-page .kpi-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 860px) {
  body.home-page .hero {
    margin-top: -68px;
    padding: clamp(112px, 22vw, 150px) 0 clamp(44px, 8vw, 64px) !important;
    min-height: auto !important;
  }

  body.home-page .hero::before {
    background-position: 68% 40% !important;
    opacity: .4 !important;
  }

  body.home-page .premium-command-center {
    grid-template-columns: minmax(0, 1fr);
  }

  body.home-page .premium-command-search {
    flex-wrap: wrap;
    padding: 10px !important;
    gap: 8px;
  }

  body.home-page .premium-command-search > i {
    margin-left: 6px;
  }

  body.home-page .premium-command-search input.field {
    flex: 1 1 100%;
    order: 1;
    height: 46px;
  }

  body.home-page .premium-command-search .divider {
    display: none;
  }

  body.home-page .premium-command-search select.field {
    order: 2;
    flex: 1 1 auto;
    max-width: none !important;
    height: 46px;
    background: rgba(255, 255, 255, .07) !important;
    border-radius: 11px !important;
    padding: 0 12px;
  }

  body.home-page .premium-command-search .btn-cta {
    order: 3;
    flex: 1 1 130px;
    height: 46px;
  }

  body.home-page .premium-create-action {
    padding: 14px 18px !important;
    justify-content: flex-start;
  }

  body.home-page .premium-home-pulse {
    grid-template-columns: minmax(0, 1fr);
  }

  body.home-page .gzp-steps {
    grid-template-columns: minmax(0, 1fr);
  }

  body.home-page .gzp-step::after {
    display: none !important;
  }

  body.home-page .kpi-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body.home-page .gzp-route {
    display: none;
  }
}

@media (max-width: 620px) {
  body.home-page .dir-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.home-page .dir-card {
    min-height: 178px !important;
  }

  body.home-page .hero-title {
    font-size: clamp(42px, 13vw, 64px) !important;
  }

  body.home-page .gzp-trust {
    gap: 9px 18px;
  }

  body.home-page .gzp-trust li {
    font-size: 13px;
  }

  body.home-page .svc-grid {
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)) !important;
  }
}

/* ---------------------------------------------------------------
   14. «Уменьшить движение» — выключаем всё, что двигается
   --------------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
  body.home-page *,
  body.home-page *::before,
  body.home-page *::after {
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .001ms !important;
    scroll-behavior: auto !important;
  }

  body.home-page .reveal {
    opacity: 1 !important;
    transform: none !important;
  }

  body.home-page .hero::before {
    transform: scale(1.06) !important;
  }

  body.home-page .gzp-route path.gzp-route-line {
    stroke-dashoffset: 0;
  }

  body.home-page .gzp-route circle.gzp-route-pulse {
    display: none;
  }

  /* !important обязателен: основное правило строки тоже с ним */
  body.home-page .hero-ticker-track {
    animation: none !important;
    transform: none !important;
  }
}

/* ---------------------------------------------------------------
   15. Рынок: кнопки, чипы и полоса показателей
   --------------------------------------------------------------- */
body.home-page .market-primary-action {
  display: inline-flex !important;
  align-items: center;
  gap: 12px;
  border-radius: 16px !important;
  padding: 13px 22px !important;
  background: linear-gradient(135deg, var(--gzp-em-lt), var(--gzp-em)) !important;
  color: #04241a !important;
  border: 0 !important;
  box-shadow: 0 10px 28px rgba(0, 176, 106, .28) !important;
  text-align: left;
  transition: transform .3s var(--gzp-ease-out), box-shadow .3s var(--gzp-ease-out);
}

body.home-page .market-primary-action:hover {
  transform: translateY(-2px);
  box-shadow: 0 16px 38px rgba(0, 176, 106, .34) !important;
}

body.home-page .market-primary-action b,
body.home-page .market-primary-action small,
body.home-page .market-primary-action i {
  color: #04241a !important;
}

body.home-page .market-primary-action b {
  font-size: 15px !important;
  font-weight: 800 !important;
}

body.home-page .market-primary-action small {
  opacity: .72;
  font-size: 11.5px !important;
}

/* Чипы «что происходит на рынке» — в один стиль с выбором направления */
body.home-page .market360-type {
  border-radius: 999px !important;
  border: 1px solid var(--gzp-line-2) !important;
  background: #fff !important;
  color: var(--gzp-tx-dim) !important;
  padding: 8px 14px !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  box-shadow: none !important;
  transition: border-color .25s var(--gzp-ease), color .25s var(--gzp-ease);
}

body.home-page .market360-type:hover {
  border-color: rgba(0, 176, 106, .4) !important;
  color: var(--gzp-tx) !important;
}

body.home-page .market360-type.is-active {
  background: rgba(0, 176, 106, .1) !important;
  border-color: rgba(0, 176, 106, .45) !important;
  color: var(--gzp-em-dp) !important;
}

body.home-page .market-intent-count {
  background: var(--gzp-em) !important;
  color: #04241a !important;
  font-weight: 800 !important;
}

/* Полоса показателей рынка */
body.home-page .premium-market-intelligence {
  border-radius: var(--gzp-r-xl) !important;
  border: 1px solid var(--gzp-line) !important;
  background: #fff !important;
  box-shadow: var(--gzp-sh-1) !important;
  overflow: hidden;
}

body.home-page .premium-market-metric span,
body.home-page .premium-market-chart-head span {
  font-size: 11.5px !important;
  font-weight: 800 !important;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--gzp-tx-dim) !important;
}

body.home-page .premium-market-metric strong {
  font-size: clamp(22px, 2.2vw, 30px) !important;
  font-weight: 800 !important;
  letter-spacing: -.03em;
  color: var(--gzp-tx) !important;
  font-variant-numeric: tabular-nums;
}

body.home-page .premium-market-metric small,
body.home-page .premium-market-chart small {
  font-size: 12.5px !important;
  color: var(--gzp-tx-dim) !important;
}

/* Поиск по рынку и подписи под лентой */
body.home-page .market360-search {
  border-radius: 14px !important;
  border: 1px solid var(--gzp-line-2) !important;
  background: #fff !important;
  box-shadow: none !important;
}

body.home-page .market360-note,
body.home-page .market360-market-note,
body.home-page .market-rail-hint {
  font-size: 12.5px !important;
  color: var(--gzp-tx-dim) !important;
  border-radius: 12px !important;
}

body.home-page .market360-note {
  border: 1px solid var(--gzp-line) !important;
  background: #fff !important;
  padding: 12px 16px !important;
}

/* Подпись под заголовком раздела: слева, как и сам заголовок */
body.home-page .docs-sub {
  text-align: left !important;
  color: var(--gzp-tx-dim) !important;
  margin: 0 !important;
}

/* Разворот «Настроить анализ» — как обычная кнопка-строка */
body.home-page .premium-analysis-toggle {
  width: 100%;
  margin-top: 12px;
  border-radius: var(--gzp-r-lg) !important;
  border: 1px solid var(--gzp-line) !important;
  background: #fff !important;
  color: var(--gzp-tx) !important;
  font-weight: 700 !important;
  padding: 14px 18px !important;
  box-shadow: none !important;
}

body.home-page .premium-analysis-toggle:hover {
  border-color: rgba(0, 176, 106, .34) !important;
}

/* На телефоне снизу закреплена панель навигации — оставляем ей место,
   иначе строка фактов первого экрана уходит под неё. */
@media (max-width: 860px) {
  body.home-page .hero {
    padding-bottom: calc(44px + env(safe-area-inset-bottom, 0px) + 78px) !important;
  }

  body.home-page .gzp-trust {
    gap: 8px 16px;
  }
}

/* =====================================================================
   16. Внутренние страницы: направление, услуги, блог, поддержка, документы.
   Отдельный класс body.gzp-inner, чтобы правила главной сюда не попадали.
   ===================================================================== */
body.gzp-inner {
  background-color: var(--gzp-paper) !important;
  background-image: none !important;
  color: var(--gzp-tx);
  -webkit-font-smoothing: antialiased;
}

body.gzp-inner .container {
  max-width: var(--gzp-max);
  padding-left: var(--gzp-gutter);
  padding-right: var(--gzp-gutter);
}

body.gzp-inner .section {
  padding: clamp(44px, 5vw, 84px) 0 !important;
  border: 0 !important;
  background: transparent !important;
}

body.gzp-inner .section-title {
  font-size: clamp(26px, 3vw, 42px) !important;
  line-height: 1.06 !important;
  letter-spacing: -.035em !important;
  font-weight: 800 !important;
  color: var(--gzp-tx) !important;
  text-align: left !important;
  margin: 0 0 10px !important;
}

body.gzp-inner .docs-sub {
  text-align: left !important;
  color: var(--gzp-tx-dim) !important;
  font-size: 15.5px !important;
  line-height: 1.6;
  max-width: 68ch;
  margin: 0 0 clamp(20px, 2.4vw, 32px) !important;
}

/* ---------- шапка ---------- */
body.gzp-inner .site-header {
  position: sticky;
  top: 0;
  z-index: 60;
  background: rgba(251, 250, 246, .84) !important;
  -webkit-backdrop-filter: saturate(180%) blur(18px);
  backdrop-filter: saturate(180%) blur(18px);
  border: 0 !important;
  box-shadow: 0 1px 0 var(--gzp-line) !important;
}

body.gzp-inner .site-header .header-inner {
  max-width: var(--gzp-max);
  padding: 12px var(--gzp-gutter) !important;
  gap: 20px;
}

body.gzp-inner .site-header .logo {
  font-weight: 800 !important;
  font-size: 20px !important;
  letter-spacing: -.02em;
  color: var(--gzp-tx) !important;
}

body.gzp-inner .site-header .header-nav a {
  color: var(--gzp-tx-dim) !important;
  font-weight: 600;
  font-size: 15px;
}

body.gzp-inner .site-header .header-nav a:hover {
  color: var(--gzp-tx) !important;
}

body.gzp-inner .site-header .btn-cta {
  background: linear-gradient(135deg, var(--gzp-em-lt), var(--gzp-em)) !important;
  color: #04241a !important;
  font-weight: 800 !important;
  border-radius: 999px !important;
  padding: 10px 18px !important;
  box-shadow: 0 6px 20px rgba(0, 176, 106, .24) !important;
}

/* Страницы с тёмным первым экраном: шапка сливается с ним, пока не прокрутили */
body.direction-page .site-header,
body.service-page .site-header {
  background: transparent !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}

body.direction-page .site-header .logo,
body.service-page .site-header .logo {
  color: var(--gzp-on-dark) !important;
}

body.direction-page .site-header .header-nav a,
body.service-page .site-header .header-nav a {
  color: var(--gzp-on-dark-dim) !important;
}

body.direction-page .site-header .header-nav a:hover,
body.service-page .site-header .header-nav a:hover {
  color: var(--gzp-on-dark) !important;
}

body.direction-page .site-header .btn-cabinet,
body.direction-page .site-header .btn-login,
body.direction-page .site-header .lang-trigger,
body.service-page .site-header .btn-cabinet,
body.service-page .site-header .btn-login,
body.service-page .site-header .lang-trigger {
  color: var(--gzp-on-dark-dim) !important;
  background: rgba(255, 255, 255, .07) !important;
  border-color: rgba(255, 255, 255, .18) !important;
}

body.direction-page .site-header.is-stuck,
body.service-page .site-header.is-stuck {
  background: rgba(251, 250, 246, .86) !important;
  -webkit-backdrop-filter: saturate(180%) blur(18px);
  backdrop-filter: saturate(180%) blur(18px);
  box-shadow: 0 1px 0 var(--gzp-line), 0 10px 30px rgba(8, 32, 22, .07) !important;
}

body.direction-page .site-header.is-stuck .logo,
body.service-page .site-header.is-stuck .logo,
body.direction-page .site-header.is-stuck .header-nav a:hover,
body.service-page .site-header.is-stuck .header-nav a:hover {
  color: var(--gzp-tx) !important;
}

body.direction-page .site-header.is-stuck .header-nav a,
body.service-page .site-header.is-stuck .header-nav a {
  color: var(--gzp-tx-dim) !important;
}

body.direction-page .site-header.is-stuck .btn-cabinet,
body.direction-page .site-header.is-stuck .btn-login,
body.direction-page .site-header.is-stuck .lang-trigger,
body.service-page .site-header.is-stuck .btn-cabinet,
body.service-page .site-header.is-stuck .btn-login,
body.service-page .site-header.is-stuck .lang-trigger {
  color: var(--gzp-tx-dim) !important;
  background: #fff !important;
  border-color: var(--gzp-line-2) !important;
}

/* ---------- первый экран направления и услуг ---------- */
body.gzp-inner .hero-page {
  position: relative;
  isolation: isolate;
  margin-top: -60px;
  padding: clamp(108px, 10vw, 160px) 0 clamp(40px, 5vw, 72px) !important;
  min-height: 0 !important;
  background: radial-gradient(120% 90% at 10% 0%, var(--gzp-ink-3) 0%, var(--gzp-ink-1) 46%, var(--gzp-ink-0) 100%) !important;
  border: 0 !important;
  overflow: hidden;
}

body.gzp-inner .hero-page::after {
  content: "" !important;
  position: absolute;
  inset: 0;
  z-index: -1;
  display: block !important;
  opacity: 1 !important;
  background:
    linear-gradient(100deg, var(--gzp-ink-0) 2%, rgba(5, 16, 12, .94) 30%, rgba(6, 20, 15, .72) 60%, rgba(5, 16, 12, .88) 100%),
    radial-gradient(56% 50% at 82% 20%, rgba(0, 229, 143, .16), transparent 72%);
}

/* Фотография направления: двутон, как на главной */
body.gzp-inner .dir-hero-photo {
  position: absolute !important;
  inset: 0;
  z-index: -2;
  display: block !important;
  opacity: .5 !important;
  background-size: cover !important;
  background-position: center 42% !important;
  mix-blend-mode: luminosity;
  filter: contrast(1.05) brightness(.8) !important;
}

body.gzp-inner .hero-page-inner {
  position: relative;
  z-index: 2;
  text-align: left !important;
}

body.gzp-inner .hero-title-page {
  font-size: clamp(34px, 5vw, 66px) !important;
  line-height: 1 !important;
  letter-spacing: -.045em !important;
  font-weight: 800 !important;
  color: #fff !important;
  text-align: left !important;
  text-shadow: none !important;
  margin: 0 !important;
}

body.gzp-inner .hero-page .hero-slogan {
  color: var(--gzp-em-lt) !important;
  font-size: clamp(15px, 1.5vw, 19px) !important;
  font-weight: 600 !important;
  text-align: left !important;
  margin: 10px 0 0 !important;
}

body.gzp-inner #page-tagline {
  color: var(--gzp-on-dark-dim) !important;
  text-align: left !important;
}

body.gzp-inner .dir-hero-head {
  display: flex;
  align-items: center;
  gap: 18px;
  text-align: left !important;
}

body.gzp-inner .dir-hero-icon {
  display: grid;
  place-items: center;
  width: 60px;
  height: 60px;
  flex: none;
  border-radius: 18px;
  font-size: 28px;
  color: var(--gzp-em-lt) !important;
  background: rgba(0, 229, 143, .13) !important;
  border: 1px solid rgba(0, 229, 143, .26) !important;
}

/* Переключатель направлений в первом экране */
body.gzp-inner .dir-switcher {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: clamp(20px, 2.4vw, 30px);
}

body.gzp-inner .dir-switcher a,
body.gzp-inner .dir-switcher button {
  border-radius: 999px !important;
  border: 1px solid rgba(255, 255, 255, .16) !important;
  background: rgba(6, 20, 15, .5) !important;
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  color: var(--gzp-on-dark-dim) !important;
  padding: 8px 14px !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  box-shadow: none !important;
  transition: border-color .25s var(--gzp-ease), color .25s var(--gzp-ease), background .25s var(--gzp-ease);
}

body.gzp-inner .dir-switcher a:hover,
body.gzp-inner .dir-switcher button:hover {
  color: var(--gzp-on-dark) !important;
  border-color: rgba(0, 229, 143, .4) !important;
}

body.gzp-inner .dir-switcher .active,
body.gzp-inner .dir-switcher .is-active {
  background: rgba(0, 229, 143, .16) !important;
  border-color: rgba(0, 229, 143, .5) !important;
  color: #eafff5 !important;
}

/* Панель быстрого поиска поверх фотографии — тёмное стекло */
body.gzp-inner .hero-page .quick-order {
  margin-top: clamp(22px, 2.6vw, 32px);
  border-radius: var(--gzp-r-xl) !important;
  border: 1px solid rgba(255, 255, 255, .15) !important;
  background: rgba(6, 20, 15, .55) !important;
  -webkit-backdrop-filter: blur(18px);
  backdrop-filter: blur(18px);
  box-shadow: 0 24px 60px rgba(3, 12, 9, .4) !important;
  padding: 18px !important;
}

body.gzp-inner .hero-page .quick-order label,
body.gzp-inner .hero-page .quick-order-label {
  color: var(--gzp-on-dark-dim) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .06em;
  text-transform: uppercase;
}

body.gzp-inner .hero-page .quick-order .field {
  background: rgba(255, 255, 255, .07) !important;
  border: 1px solid rgba(255, 255, 255, .14) !important;
  color: var(--gzp-on-dark) !important;
  border-radius: 12px !important;
  height: 46px;
}

body.gzp-inner .hero-page .quick-order .field::placeholder {
  color: rgba(226, 244, 236, .45) !important;
}

body.gzp-inner .hero-page .quick-order .btn-cta {
  background: linear-gradient(135deg, var(--gzp-em-lt), var(--gzp-em)) !important;
  color: #04241a !important;
  font-weight: 800 !important;
  border-radius: 12px !important;
  height: 46px;
  box-shadow: 0 10px 28px rgba(0, 229, 143, .28) !important;
}

/* ---------- карточки и полосы на светлом ---------- */
body.gzp-inner .card,
body.gzp-inner .analytics-card,
body.gzp-inner .filter-panel,
body.gzp-inner .faq-item {
  border-radius: var(--gzp-r-lg) !important;
  border: 1px solid var(--gzp-line) !important;
  background: #fff !important;
  box-shadow: var(--gzp-sh-1) !important;
}

body.gzp-inner .analytics-section {
  background: var(--gzp-paper-2) !important;
}

body.gzp-inner .kpi {
  padding: 20px !important;
  border-radius: var(--gzp-r-lg) !important;
  border: 1px solid var(--gzp-line) !important;
  background: #fff !important;
  box-shadow: none !important;
  text-align: left !important;
}

body.gzp-inner .kpi-label {
  font-size: 11.5px !important;
  font-weight: 800 !important;
  letter-spacing: .07em;
  text-transform: uppercase;
  color: var(--gzp-tx-dim) !important;
}

body.gzp-inner .kpi-value {
  font-size: clamp(22px, 2.2vw, 30px) !important;
  font-weight: 800 !important;
  letter-spacing: -.03em;
  color: var(--gzp-tx) !important;
  margin: 6px 0 3px !important;
}

body.gzp-inner .kpi-note {
  font-size: 12.5px !important;
  color: var(--gzp-tx-dim) !important;
}

body.gzp-inner .btn-cta {
  border-radius: 12px !important;
  font-weight: 800 !important;
}

/* ---------- подвал ---------- */
body.gzp-inner .site-footer {
  background: var(--gzp-ink-0) !important;
  color: var(--gzp-on-dark-dim) !important;
  border: 0 !important;
  padding: clamp(44px, 5vw, 72px) 0 0 !important;
}

body.gzp-inner .footer-logo {
  font-size: 22px !important;
  font-weight: 800 !important;
  letter-spacing: -.02em;
  color: #fff !important;
  margin-bottom: 12px;
}

body.gzp-inner .footer-about {
  font-size: 14px !important;
  line-height: 1.6;
  color: var(--gzp-on-dark-dim) !important;
}

body.gzp-inner .footer-title {
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: .13em;
  text-transform: uppercase;
  color: rgba(226, 244, 236, .5) !important;
  margin-bottom: 12px;
}

body.gzp-inner .site-footer a {
  color: var(--gzp-on-dark-dim) !important;
  font-size: 14.5px;
  line-height: 2;
}

body.gzp-inner .site-footer a:hover {
  color: var(--gzp-em-lt) !important;
}

body.gzp-inner .footer-bottom {
  border-top: 1px solid rgba(255, 255, 255, .08) !important;
  margin-top: clamp(28px, 3vw, 44px);
  padding: 20px 0 !important;
  font-size: 13px;
  color: rgba(226, 244, 236, .44) !important;
}

/* ---------- движение и фокус ---------- */
body.gzp-inner .reveal {
  opacity: 0;
  transform: translate3d(0, 20px, 0);
  transition: opacity .7s var(--gzp-ease-out), transform .7s var(--gzp-ease-out);
}

body.gzp-inner .reveal.in {
  opacity: 1;
  transform: none;
}

body.gzp-inner a:focus-visible,
body.gzp-inner button:focus-visible,
body.gzp-inner input:focus-visible,
body.gzp-inner select:focus-visible,
body.gzp-inner summary:focus-visible {
  outline: 2px solid var(--gzp-em);
  outline-offset: 3px;
  border-radius: 8px;
}

@media (max-width: 860px) {
  body.gzp-inner .hero-page {
    margin-top: -56px;
    padding: clamp(92px, 20vw, 118px) 0 clamp(32px, 6vw, 48px) !important;
  }

  body.gzp-inner .dir-hero-head {
    gap: 14px;
  }

  body.gzp-inner .dir-hero-icon {
    width: 48px;
    height: 48px;
    font-size: 23px;
    border-radius: 14px;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.gzp-inner *,
  body.gzp-inner *::before,
  body.gzp-inner *::after {
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .001ms !important;
  }

  body.gzp-inner .reveal {
    opacity: 1 !important;
    transform: none !important;
  }
}

/* ---------------------------------------------------------------
   17. Точечные перебивки: прежние слои местами метят по id, а это
   сильнее любого класса — отвечаем тем же.
   --------------------------------------------------------------- */
body.gzp-inner #analytics {
  background: var(--gzp-paper-2) !important;
  padding: clamp(44px, 5vw, 84px) 0 !important;
}

body.gzp-inner #analytics .section-title,
body.gzp-inner #analytics h2 {
  color: var(--gzp-tx) !important;
}

body.gzp-inner #analytics .docs-sub,
body.gzp-inner #analytics p {
  color: var(--gzp-tx-dim) !important;
}

/* Заголовок направления: прежний слой красил его градиентом от тёмного,
   на тёмной подложке он пропадал. */
body.gzp-inner #page-title {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  background: none !important;
  background-image: none !important;
  text-align: left !important;
}

body.gzp-inner #dir-hero-photo {
  display: block !important;
  opacity: .5 !important;
  z-index: -2;
}

body.gzp-inner #dir-hero-photo::after {
  display: none !important;
  content: none !important;
}

/* Снимок направления бывает очень светлым (небо, бетон) — притеняем сильнее,
   иначе белый заголовок по нему не читается. */
body.gzp-inner #dir-hero-photo {
  opacity: .4 !important;
  filter: contrast(1.06) brightness(.58) !important;
}

body.gzp-inner .hero-page::after {
  background:
    linear-gradient(100deg, var(--gzp-ink-0) 1%, rgba(5, 16, 12, .96) 26%, rgba(6, 20, 15, .84) 56%, rgba(5, 16, 12, .92) 100%),
    radial-gradient(56% 50% at 82% 20%, rgba(0, 229, 143, .16), transparent 72%) !important;
}

/* Подписи в шапке направления — светлые */
body.gzp-inner .dir-hero-head p,
body.gzp-inner .dir-hero-head span:not(.dir-hero-icon),
body.gzp-inner .hero-page-inner > p {
  color: var(--gzp-on-dark-dim) !important;
  text-align: left !important;
}

body.gzp-inner .hero-page .hero-slogan {
  color: var(--gzp-em-lt) !important;
}

/* Декоративные круги прежних слоёв на тёмном первом экране выглядят пятном */
body.gzp-inner .hero-page::before {
  content: none !important;
  display: none !important;
}

body.gzp-inner #page-tagline,
body.gzp-inner .dir-hero-tagline {
  color: var(--gzp-on-dark-dim) !important;
  font-size: 15px !important;
  text-align: left !important;
  margin: 14px 0 0 !important;
  max-width: 62ch;
}

/* Затемнению первого экрана прежний слой задавал скругление 50% —
   вместо ровной подложки получался тёмный овал. */
body.gzp-inner .hero-page::after,
body.gzp-inner .hero-page::before,
body.home-page .hero::after,
body.home-page .hero::before {
  border-radius: 0 !important;
  inset: 0 !important;
  width: auto !important;
  height: auto !important;
  transform-origin: center;
}

body.home-page .hero::before {
  transform: scale(1.06) translate3d(var(--gzp-par-x, 0px), var(--gzp-par-y, 0px), 0) !important;
}

/* Баланс: снимок направления должен быть виден, но не спорить с текстом */
body.gzp-inner #dir-hero-photo {
  opacity: .52 !important;
  filter: contrast(1.05) brightness(.72) !important;
}

body.gzp-inner .hero-page::after {
  background:
    linear-gradient(100deg, var(--gzp-ink-0) 1%, rgba(5, 16, 12, .93) 26%, rgba(6, 20, 15, .6) 58%, rgba(5, 16, 12, .8) 100%),
    radial-gradient(56% 50% at 82% 20%, rgba(0, 229, 143, .15), transparent 72%) !important;
}

/* Панель поиска и фильтры — по левому краю, вровень с заголовком */
body.gzp-inner .hero-page .quick-order {
  margin-left: 0 !important;
  margin-right: auto !important;
  max-width: 1000px;
}

body.gzp-inner .blog-page [role="tablist"],
body.gzp-inner .blog-filters,
body.gzp-inner .blog-cats {
  justify-content: flex-start !important;
}

body.gzp-inner .art-toolbar {
  justify-content: flex-start !important;
}

/* Ссылки в тексте на светлом фоне: яркий изумруд на бумаге читается плохо */
body.gzp-inner .section a:not(.btn):not([class]),
body.gzp-inner .container > p a:not(.btn) {
  color: var(--gzp-em-dp) !important;
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* Главные кнопки внутренних страниц — в фирменном градиенте */
body.gzp-inner main .btn-cta,
body.gzp-inner .section .btn-cta,
body.gzp-inner form .btn-cta {
  background: linear-gradient(135deg, var(--gzp-em-lt), var(--gzp-em)) !important;
  color: #04241a !important;
  border: 0 !important;
  box-shadow: 0 8px 22px rgba(0, 176, 106, .22) !important;
}

/* =====================================================================
   18. Единый формат главной (21.09.2026, по замечаниям владельца):
   — все заголовки разделов одинаковые: надзаголовок, заголовок, пояснение
     столбиком по левому краю;
   — блок направлений целиком помещается на один экран;
   — живые сцены на плитках направлений;
   — карточки рынка в том же формате, что и плитки направлений, без обрезки;
   — сервисы одним рядом, вопросы без торчащих строк ответа.
   Прежние слои местами метят разделы по id — отвечаем тем же весом.
   ===================================================================== */

/* ---------- заголовки разделов: один образец для всех ---------- */
body.home-page .gzp-head {
  display: block;
  margin-bottom: clamp(22px, 2.6vw, 36px);
}

body.home-page .gzp-head .gzp-lead,
body.home-page .gzp-head .docs-sub {
  margin-top: 12px !important;
  max-width: 64ch;
}

body.home-page #directions .section-title,
body.home-page #services .section-title,
body.home-page #how .section-title,
body.home-page #market360 .section-title,
body.home-page #analytics .section-title,
body.home-page #safety .section-title,
body.home-page #faq .section-title {
  font-size: clamp(30px, 3.4vw, 48px) !important;
  line-height: 1.05 !important;
  letter-spacing: -.035em !important;
  font-weight: 800 !important;
  text-align: left !important;
  margin: 0 !important;
  padding: 0 !important;
  max-width: 24ch;
}

body.home-page #directions .section-title::before,
body.home-page #directions .section-title::after,
body.home-page #services .section-title::before,
body.home-page #services .section-title::after,
body.home-page #faq .section-title::before,
body.home-page #faq .section-title::after {
  content: none !important;
  display: none !important;
}

body.home-page #safety .section-title {
  color: #fff !important;
}

/* Рынок: надзаголовок и подпись в том же ритме */
body.home-page #market360 .market360-head {
  display: flex !important;
  align-items: flex-end !important;
  justify-content: space-between !important;
  gap: 24px;
  flex-wrap: wrap;
  margin-bottom: 22px !important;
}

body.home-page #market360 .market360-sub {
  margin: 12px 0 0 !important;
  font-size: clamp(15px, 1.25vw, 18px) !important;
}

/* ---------- направления: весь блок на одном экране ---------- */
body.home-page #directions {
  padding: 24px 0 28px !important;
  scroll-margin-top: 64px;
}

body.home-page #directions .gzp-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 28px;
  margin-bottom: 18px;
}

body.home-page #directions .gzp-head .gzp-lead {
  margin-top: 0 !important;
  max-width: 52ch;
  font-size: 15px;
}

body.home-page #directions .dir-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 14px !important;
}

/* Три ряда плиток + шапка раздела = один экран (высота окна — из premium-2250.js) */
body.home-page #directions .dir-card {
  height: clamp(150px, calc((var(--gzp-vh, 900px) - 262px) / 3), 300px) !important;
  min-height: 0 !important;
  min-width: 0 !important;
}

body.home-page #directions .dir-card-body {
  padding: 14px 18px 16px !important;
  gap: 3px;
}

body.home-page #directions .dir-tagline {
  font-size: 13px !important;
  line-height: 1.4;
  display: -webkit-box !important;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

body.home-page #directions .dir-card-meta {
  margin-top: 6px;
}

/* Затемнение сверху чуть плотнее: светлые линии сцены читаются на небе */
body.home-page #directions .dir-card::before {
  background:
    linear-gradient(to top, rgba(4, 14, 10, .96) 2%, rgba(4, 14, 10, .78) 30%, rgba(4, 14, 10, .28) 58%, rgba(4, 14, 10, .5) 100%) !important;
}

/* ---------- сервисы: один ровный ряд ---------- */
body.home-page #services .svc-grid {
  grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
  gap: 12px !important;
}

body.home-page #services .svc-card {
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: space-between;
  gap: 18px;
  min-height: 128px;
  height: auto !important;
  min-width: 0 !important;
  padding: 18px !important;
}

body.home-page #services .svc-title {
  font-size: 15px !important;
  line-height: 1.25;
  text-align: left !important;
}

/* ---------- рынок: карточки в формате плиток направлений ---------- */
body.home-page #market360 .market-rail {
  position: relative;
}

body.home-page #market360-feed {
  display: flex !important;
  gap: 18px !important;
  padding: 4px 0 14px !important;
  margin: 0 !important;
  overflow-x: auto !important;
  scroll-snap-type: x mandatory;
  scroll-padding: 0;
  scrollbar-width: thin;
}

/* Ровно три карточки на широком экране — ни одна не обрезана */
body.home-page #market360-feed > .market-signal-card {
  flex: 0 0 calc((100% - 36px) / 3) !important;
  width: calc((100% - 36px) / 3) !important;
  max-width: none !important;
  min-width: 0 !important;
  scroll-snap-align: start;
  position: relative;
  display: flex !important;
  flex-direction: column;
  gap: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: var(--gzp-r-xl) !important;
  overflow: hidden;
  background: var(--gzp-ink-1) !important;
  color: var(--gzp-on-dark) !important;
  box-shadow: var(--gzp-sh-2) !important;
  transition: transform .45s var(--gzp-ease-out), box-shadow .45s var(--gzp-ease-out);
}

body.home-page #market360-feed > .market-signal-card:hover {
  transform: translateY(-5px);
  box-shadow: var(--gzp-sh-3) !important;
}

body.home-page #market360-feed .market-signal-photo {
  display: block !important;
  width: 100% !important;
  height: 168px !important;
  object-fit: cover;
  margin: 0 !important;
  border-radius: 0 !important;
  -webkit-mask-image: linear-gradient(#000 45%, transparent 100%);
  mask-image: linear-gradient(#000 45%, transparent 100%);
  filter: saturate(.95) brightness(.9);
}

body.home-page #market360-feed .market-signal-top {
  position: absolute !important;
  top: 14px;
  left: 14px;
  right: 14px;
  display: flex !important;
  justify-content: space-between;
  gap: 8px;
  margin: 0 !important;
  z-index: 2;
}

body.home-page #market360-feed .market-signal-kind,
body.home-page #market360-feed .market-signal-source,
body.home-page #market360-feed .market-signal-urgent {
  border-radius: 999px !important;
  padding: 5px 10px !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  background: rgba(6, 20, 15, .62) !important;
  color: #eafff5 !important;
  border: 1px solid rgba(255, 255, 255, .16) !important;
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
}

body.home-page #market360-feed .market-signal-kind i {
  color: var(--gzp-em-lt) !important;
}

body.home-page #market360-feed .market-signal-main,
body.home-page #market360-feed .market-signal-route,
body.home-page #market360-feed .market-signal-facts,
body.home-page #market360-feed .market-signal-bottom {
  margin: 0 18px !important;
  background: transparent !important;
}

body.home-page #market360-feed .market-signal-main {
  margin-top: -30px !important;
  position: relative;
  z-index: 2;
}

body.home-page #market360-feed .market-signal-visual {
  display: none !important;
}

body.home-page #market360-feed .market-signal-card h3 {
  color: #fff !important;
  font-size: 19px !important;
  font-weight: 800 !important;
  letter-spacing: -.02em;
  line-height: 1.2 !important;
  min-height: 2.4em;
  display: -webkit-box !important;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

body.home-page #market360-feed .market-signal-route {
  margin-top: 10px !important;
  color: var(--gzp-on-dark-dim) !important;
}

body.home-page #market360-feed .market-signal-route *,
body.home-page #market360-feed .market-signal-route b {
  color: inherit !important;
}

body.home-page #market360-feed .market-signal-route b,
body.home-page #market360-feed .market-signal-route strong {
  color: #fff !important;
}

body.home-page #market360-feed .market-signal-facts {
  margin-top: 14px !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px !important;
}

body.home-page #market360-feed .market-signal-facts.is-single {
  grid-template-columns: minmax(0, 1fr);
}

body.home-page #market360-feed .market-signal-facts > span {
  border-radius: 12px !important;
  border: 1px solid rgba(255, 255, 255, .12) !important;
  background: rgba(255, 255, 255, .05) !important;
  padding: 10px 12px !important;
  min-width: 0;
}

body.home-page #market360-feed .market-signal-facts small {
  color: var(--gzp-on-dark-dim) !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: .07em;
  text-transform: uppercase;
}

body.home-page #market360-feed .market-signal-facts b {
  color: #fff !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  display: block;
}

body.home-page #market360-feed .market-signal-bottom {
  margin-top: auto !important;
  padding: 14px 0 18px !important;
  border: 0 !important;
}

body.home-page #market360-feed .market-signal-freshness {
  display: flex !important;
  flex-wrap: wrap;
  justify-content: flex-start !important;
  gap: 6px 14px;
  margin-bottom: 12px;
  color: var(--gzp-on-dark-dim) !important;
  font-size: 12.5px !important;
}

body.home-page #market360-feed .market-signal-freshness * {
  color: inherit !important;
}

body.home-page #market360-feed .market-signal-freshness i {
  color: var(--gzp-em-lt) !important;
}

body.home-page #market360-feed .market-signal-card .btn,
body.home-page #market360-feed .market-signal-card button:not(.market-signal-visual) {
  border-radius: 12px !important;
  font-weight: 800 !important;
  min-height: 42px;
}

body.home-page #market360-feed .market-signal-card .btn-cta {
  background: linear-gradient(135deg, var(--gzp-em-lt), var(--gzp-em)) !important;
  color: #04241a !important;
  border: 0 !important;
  box-shadow: 0 8px 22px rgba(0, 176, 106, .24) !important;
}

body.home-page #market360-feed .market-signal-card .btn-light,
body.home-page #market360-feed .market-signal-card .btn-ghost {
  background: rgba(255, 255, 255, .07) !important;
  color: #eafff5 !important;
  border: 1px solid rgba(255, 255, 255, .18) !important;
  box-shadow: none !important;
}

/* Стрелки ленты — в поле страницы, а не поверх карточек */
body.home-page #market360 .market-rail-arrow {
  position: absolute !important;
  top: 150px !important;
  width: 44px !important;
  height: 44px !important;
  border-radius: 999px !important;
  background: #fff !important;
  border: 1px solid var(--gzp-line-2) !important;
  color: var(--gzp-tx) !important;
  box-shadow: var(--gzp-sh-2) !important;
  z-index: 4;
}

body.home-page #market360 .market-rail-arrow.is-prev { left: -22px !important; right: auto !important; }
body.home-page #market360 .market-rail-arrow.is-next { right: -22px !important; left: auto !important; }

/* ---------- вопросы: свёрнутый ответ скрыт целиком ---------- */
body.home-page #faq .faq-a {
  max-height: 0 !important;
  overflow: hidden !important;
  padding: 0 22px !important;
  transition: max-height .35s var(--gzp-ease), padding .35s var(--gzp-ease);
}

body.home-page #faq .faq-item.open .faq-a {
  max-height: 600px !important;
  padding: 0 22px 20px !important;
}

body.home-page #faq .faq-list {
  max-width: 980px;
}

/* ---------- экраны поменьше ---------- */
@media (max-width: 1100px) {
  body.home-page #directions .dir-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body.home-page #directions .dir-card {
    height: 220px !important;
  }

  body.home-page #services .svc-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }

  body.home-page #market360-feed > .market-signal-card {
    flex-basis: calc((100% - 18px) / 2) !important;
    width: calc((100% - 18px) / 2) !important;
  }
}

@media (max-width: 860px) {
  body.home-page #directions .gzp-head {
    display: block;
  }

  body.home-page #directions .gzp-head .gzp-lead {
    margin-top: 10px !important;
  }

  body.home-page #market360 .market-rail-arrow {
    display: none !important;
  }
}

@media (max-width: 620px) {
  body.home-page #directions .dir-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.home-page #directions .dir-card {
    height: 200px !important;
  }

  body.home-page #services .svc-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body.home-page #services .svc-card {
    min-height: 104px;
  }

  body.home-page #market360-feed > .market-signal-card {
    flex-basis: 100% !important;
    width: 100% !important;
  }
}

/* Невысокий экран ноутбука: плитки ниже — описание прячем, название и «Открыть» остаются */
@media (min-width: 1101px) and (max-height: 820px) {
  body.home-page #directions .dir-tagline {
    display: none !important;
  }

  body.home-page #directions .gzp-head .gzp-lead {
    display: none;
  }
}

/* Рынок — доводка карточек: всё внутри полей карточки, без пустот */
body.home-page #market360 .market-rail {
  padding: 0 !important;
  margin: 0 !important;
}

body.home-page #market360-feed > .market-signal-card {
  height: auto !important;
  min-height: 0 !important;
  align-self: stretch;
}

body.home-page #market360-feed .market-signal-photo {
  height: 176px !important;
  min-height: 176px !important;
  max-height: none !important;
  flex: none !important;
}

body.home-page #market360-feed .market-signal-main,
body.home-page #market360-feed .market-signal-route,
body.home-page #market360-feed .market-signal-facts,
body.home-page #market360-feed .market-signal-bottom {
  width: auto !important;
  max-width: none !important;
  box-sizing: border-box;
}

body.home-page #market360-feed .market-signal-facts > span {
  box-sizing: border-box;
  width: auto !important;
}

body.home-page #market360-feed .market-signal-bottom {
  display: block !important;
  margin-top: 16px !important;
}

body.home-page #market360-feed .market-signal-freshness {
  flex-direction: row !important;
  align-items: center !important;
  text-align: left !important;
}

body.home-page #market360-feed .market-signal-actions {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
  gap: 8px !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.home-page #market360-feed .market-signal-actions .btn {
  width: 100% !important;
  margin: 0 !important;
  padding: 10px 12px !important;
  justify-content: center;
}

body.home-page #market360-feed .market-response-sent {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--gzp-em-lt) !important;
  font-weight: 800;
}

body.home-page #market360-feed .market-signal-facts {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

body.home-page #market360-feed .market-signal-facts.is-single {
  grid-template-columns: minmax(0, 1fr) !important;
}

body.home-page #market360-feed .market-signal-freshness {
  width: auto !important;
  margin: 0 0 12px !important;
  justify-content: flex-start !important;
}

body.home-page #market360-feed .market-signal-actions {
  grid-template-columns: none !important;
  grid-auto-flow: column !important;
  grid-auto-columns: minmax(0, 1fr) !important;
  justify-content: stretch !important;
}

/* market-card.css прижимал блоки карточки к краю (align-self: start/end) —
   они сжимались по содержимому. Растягиваем на ширину карточки. */
body.home-page #market360-feed .market-signal-card > .market-signal-main,
body.home-page #market360-feed .market-signal-card > .market-signal-route,
body.home-page #market360-feed .market-signal-card > .market-signal-facts,
body.home-page #market360-feed .market-signal-card > .market-signal-bottom {
  align-self: stretch !important;
  width: auto !important;
}

body.home-page #market360-feed .market-signal-card > .market-signal-bottom {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  min-height: 0 !important;
}

/* =====================================================================
   20. Лента страницы направления: те же карточки, что на главной
   (сгенерировано из правил #market360-feed, 21.09.2026).
   ===================================================================== */
body.direction-page #feed {
  display: flex !important;
  gap: 18px !important;
  padding: 4px 0 14px !important;
  margin: 0 !important;
  overflow-x: auto !important;
  scroll-snap-type: x mandatory;
  scroll-padding: 0;
  scrollbar-width: thin;
}

body.direction-page #feed > .market-signal-card {
  flex: 0 0 calc((100% - 36px) / 3) !important;
  width: calc((100% - 36px) / 3) !important;
  max-width: none !important;
  min-width: 0 !important;
  scroll-snap-align: start;
  position: relative;
  display: flex !important;
  flex-direction: column;
  gap: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: var(--gzp-r-xl) !important;
  overflow: hidden;
  background: var(--gzp-ink-1) !important;
  color: var(--gzp-on-dark) !important;
  box-shadow: var(--gzp-sh-2) !important;
  transition: transform .45s var(--gzp-ease-out), box-shadow .45s var(--gzp-ease-out);
}

body.direction-page #feed > .market-signal-card:hover {
  transform: translateY(-5px);
  box-shadow: var(--gzp-sh-3) !important;
}

body.direction-page #feed .market-signal-photo {
  display: block !important;
  width: 100% !important;
  height: 168px !important;
  object-fit: cover;
  margin: 0 !important;
  border-radius: 0 !important;
  -webkit-mask-image: linear-gradient(#000 45%, transparent 100%);
  mask-image: linear-gradient(#000 45%, transparent 100%);
  filter: saturate(.95) brightness(.9);
}

body.direction-page #feed .market-signal-top {
  position: absolute !important;
  top: 14px;
  left: 14px;
  right: 14px;
  display: flex !important;
  justify-content: space-between;
  gap: 8px;
  margin: 0 !important;
  z-index: 2;
}

body.direction-page #feed .market-signal-kind,
body.direction-page #feed .market-signal-source,
body.direction-page #feed .market-signal-urgent {
  border-radius: 999px !important;
  padding: 5px 10px !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  background: rgba(6, 20, 15, .62) !important;
  color: #eafff5 !important;
  border: 1px solid rgba(255, 255, 255, .16) !important;
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
}

body.direction-page #feed .market-signal-kind i {
  color: var(--gzp-em-lt) !important;
}

body.direction-page #feed .market-signal-main,
body.direction-page #feed .market-signal-route,
body.direction-page #feed .market-signal-facts,
body.direction-page #feed .market-signal-bottom {
  margin: 0 18px !important;
  background: transparent !important;
}

body.direction-page #feed .market-signal-main {
  margin-top: -30px !important;
  position: relative;
  z-index: 2;
}

body.direction-page #feed .market-signal-visual {
  display: none !important;
}

body.direction-page #feed .market-signal-card h3 {
  color: #fff !important;
  font-size: 19px !important;
  font-weight: 800 !important;
  letter-spacing: -.02em;
  line-height: 1.2 !important;
  min-height: 2.4em;
  display: -webkit-box !important;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

body.direction-page #feed .market-signal-route {
  margin-top: 10px !important;
  color: var(--gzp-on-dark-dim) !important;
}

body.direction-page #feed .market-signal-route *,
body.direction-page #feed .market-signal-route b {
  color: inherit !important;
}

body.direction-page #feed .market-signal-route b,
body.direction-page #feed .market-signal-route strong {
  color: #fff !important;
}

body.direction-page #feed .market-signal-facts {
  margin-top: 14px !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px !important;
}

body.direction-page #feed .market-signal-facts.is-single {
  grid-template-columns: minmax(0, 1fr);
}

body.direction-page #feed .market-signal-facts > span {
  border-radius: 12px !important;
  border: 1px solid rgba(255, 255, 255, .12) !important;
  background: rgba(255, 255, 255, .05) !important;
  padding: 10px 12px !important;
  min-width: 0;
}

body.direction-page #feed .market-signal-facts small {
  color: var(--gzp-on-dark-dim) !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: .07em;
  text-transform: uppercase;
}

body.direction-page #feed .market-signal-facts b {
  color: #fff !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  display: block;
}

body.direction-page #feed .market-signal-bottom {
  margin-top: auto !important;
  padding: 14px 0 18px !important;
  border: 0 !important;
}

body.direction-page #feed .market-signal-freshness {
  display: flex !important;
  flex-wrap: wrap;
  justify-content: flex-start !important;
  gap: 6px 14px;
  margin-bottom: 12px;
  color: var(--gzp-on-dark-dim) !important;
  font-size: 12.5px !important;
}

body.direction-page #feed .market-signal-freshness * {
  color: inherit !important;
}

body.direction-page #feed .market-signal-freshness i {
  color: var(--gzp-em-lt) !important;
}

body.direction-page #feed .market-signal-card .btn,
body.direction-page #feed .market-signal-card button:not(.market-signal-visual) {
  border-radius: 12px !important;
  font-weight: 800 !important;
  min-height: 42px;
}

body.direction-page #feed .market-signal-card .btn-cta {
  background: linear-gradient(135deg, var(--gzp-em-lt), var(--gzp-em)) !important;
  color: #04241a !important;
  border: 0 !important;
  box-shadow: 0 8px 22px rgba(0, 176, 106, .24) !important;
}

body.direction-page #feed .market-signal-card .btn-light,
body.direction-page #feed .market-signal-card .btn-ghost {
  background: rgba(255, 255, 255, .07) !important;
  color: #eafff5 !important;
  border: 1px solid rgba(255, 255, 255, .18) !important;
  box-shadow: none !important;
}

@media (max-width: 1100px) {
  body.direction-page #feed > .market-signal-card {
      flex-basis: calc((100% - 18px) / 2) !important;
      width: calc((100% - 18px) / 2) !important;
  }
}

@media (max-width: 620px) {
  body.direction-page #feed > .market-signal-card {
      flex-basis: 100% !important;
      width: 100% !important;
  }
}

body.direction-page #feed > .market-signal-card {
  height: auto !important;
  min-height: 0 !important;
  align-self: stretch;
}

body.direction-page #feed .market-signal-photo {
  height: 176px !important;
  min-height: 176px !important;
  max-height: none !important;
  flex: none !important;
}

body.direction-page #feed .market-signal-main,
body.direction-page #feed .market-signal-route,
body.direction-page #feed .market-signal-facts,
body.direction-page #feed .market-signal-bottom {
  width: auto !important;
  max-width: none !important;
  box-sizing: border-box;
}

body.direction-page #feed .market-signal-facts > span {
  box-sizing: border-box;
  width: auto !important;
}

body.direction-page #feed .market-signal-bottom {
  display: block !important;
  margin-top: 16px !important;
}

body.direction-page #feed .market-signal-freshness {
  flex-direction: row !important;
  align-items: center !important;
  text-align: left !important;
}

body.direction-page #feed .market-signal-actions {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
  gap: 8px !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.direction-page #feed .market-signal-actions .btn {
  width: 100% !important;
  margin: 0 !important;
  padding: 10px 12px !important;
  justify-content: center;
}

body.direction-page #feed .market-response-sent {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--gzp-em-lt) !important;
  font-weight: 800;
}

body.direction-page #feed .market-signal-facts {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

body.direction-page #feed .market-signal-facts.is-single {
  grid-template-columns: minmax(0, 1fr) !important;
}

body.direction-page #feed .market-signal-freshness {
  width: auto !important;
  margin: 0 0 12px !important;
  justify-content: flex-start !important;
}

body.direction-page #feed .market-signal-actions {
  grid-template-columns: none !important;
  grid-auto-flow: column !important;
  grid-auto-columns: minmax(0, 1fr) !important;
  justify-content: stretch !important;
}

body.direction-page #feed .market-signal-card > .market-signal-main,
body.direction-page #feed .market-signal-card > .market-signal-route,
body.direction-page #feed .market-signal-card > .market-signal-facts,
body.direction-page #feed .market-signal-card > .market-signal-bottom {
  align-self: stretch !important;
  width: auto !important;
}

body.direction-page #feed .market-signal-card > .market-signal-bottom {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  min-height: 0 !important;
}

body.direction-page #feed .feed-empty {
  flex: 1 1 100%;
  border-radius: var(--gzp-r-xl);
  border: 1px dashed rgba(0, 176, 106, .34);
  background: #fff;
  padding: 28px;
  text-align: center;
}

body.direction-page .feed-arrow {
  width: 44px !important;
  height: 44px !important;
  border-radius: 999px !important;
  background: #fff !important;
  border: 1px solid var(--gzp-line-2) !important;
  color: var(--gzp-tx) !important;
  box-shadow: var(--gzp-sh-2) !important;
}
/* Страница направления: лента на всю ширину, стрелки в поле страницы, кнопки в ряд */
body.direction-page .feed-wrap {
  position: relative;
  padding: 0 !important;
  margin: 0 !important;
}

body.direction-page #feed {
  width: 100% !important;
  max-width: none !important;
}

body.direction-page .feed-arrow {
  position: absolute !important;
  top: 150px !important;
  z-index: 4;
}

body.direction-page .feed-arrow.feed-prev { left: -22px !important; right: auto !important; }
body.direction-page .feed-arrow.feed-next { right: -22px !important; left: auto !important; }

body.direction-page #feed .market-signal-actions {
  display: block !important;
}

body.direction-page #feed .order-actions {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 42px !important;
  gap: 8px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.direction-page #feed .order-actions .btn {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 42px !important;
  margin: 0 !important;
  border-radius: 12px !important;
  font-weight: 800 !important;
  justify-content: center;
}

body.direction-page #feed .order-actions .btn-icon {
  width: 42px !important;
  padding: 0 !important;
}

body.direction-page #feed .order-actions .btn-cta {
  background: linear-gradient(135deg, var(--gzp-em-lt), var(--gzp-em)) !important;
  color: #04241a !important;
  border: 0 !important;
}

body.direction-page #feed .order-actions .btn-light {
  background: rgba(255, 255, 255, .07) !important;
  color: #eafff5 !important;
  border: 1px solid rgba(255, 255, 255, .18) !important;
  box-shadow: none !important;
}

/* Заголовок «Рынок» на странице направления — как заголовки главной */
body.direction-page #orders .section-title,
body.direction-page #analytics .section-title {
  font-size: clamp(28px, 3vw, 42px) !important;
  line-height: 1.06 !important;
  letter-spacing: -.035em !important;
  margin: 0 !important;
}

body.direction-page .lean-section-head {
  display: flex !important;
  align-items: flex-end !important;
  justify-content: space-between !important;
  gap: 16px;
  flex-wrap: wrap;
  margin-bottom: 22px !important;
}

body.direction-page .lean-section-head > div {
  flex: 1 1 auto;
}

body.direction-page .lean-section-sub {
  margin: 10px 0 0 !important;
  color: var(--gzp-tx-dim) !important;
  font-size: 15.5px !important;
}

@media (max-width: 860px) {
  body.direction-page .feed-arrow {
    display: none !important;
  }
}

body.direction-page #orders .feed-wrap {
  padding: 0 !important;
}

/* Значок «Подробнее» прежний слой скрывает — две кнопки делят ширину поровну */
body.direction-page #feed .order-actions {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}
body.direction-page #orders #feed { gap: 18px !important; }

body.direction-page .dir-features-section .section-title {
  font-size: clamp(28px, 3vw, 42px) !important;
  line-height: 1.06 !important;
  letter-spacing: -.035em !important;
  margin: 0 0 22px !important;
}

/* =====================================================================
   21. Главная — экранами (21.09.2026, по замечаниям владельца).
   Каждый основной блок — ровно один экран и не заходит на соседний:
   первый экран → направления → сервисы → рынок → аналитика.
   Высота экрана — из premium-2250.js (--gzp-vh, в пикселях), высота
   закреплённой шапки — --gzp-hdr. Единицы vh не используем: снимок всей
   страницы растягивает окно, и блоки «раздувались» бы.
   ===================================================================== */
html:has(body.home-page) {
  scroll-snap-type: y proximity;
  scroll-padding-top: var(--gzp-hdr, 64px);
}

body.home-page {
  --gzp-screen: calc(var(--gzp-vh, 900px) - var(--gzp-hdr, 64px));
}

body.home-page .hero,
body.home-page #directions,
body.home-page #services,
body.home-page #market360,
body.home-page #analytics,
body.home-page #how,
body.home-page #safety,
body.home-page #faq {
  scroll-snap-align: start;
  scroll-margin-top: var(--gzp-hdr, 64px);
}

/* Экраны-блоки: не меньше экрана, содержимое по центру по высоте */
body.home-page #directions,
body.home-page #analytics,
body.home-page #safety {
  min-height: var(--gzp-screen) !important;
  box-sizing: border-box;
  display: flex !important;
  flex-direction: column;
  justify-content: center;
}

body.home-page #directions > .container,
body.home-page #analytics > .container,
body.home-page #safety > .container {
  width: 100%;
}

/* ---------- 1. Первый экран целиком ---------- */
body.home-page .hero {
  min-height: var(--gzp-vh, 900px) !important;
  height: auto;
  box-sizing: border-box;
  padding: calc(var(--gzp-hdr, 64px) + 18px) 0 calc(var(--gzp-vh, 900px) * .035) !important;
}

body.home-page .hero-eyebrow {
  margin-bottom: calc(var(--gzp-vh, 900px) * .022) !important;
}

body.home-page .hero-title {
  font-size: clamp(40px, min(9vw, calc(var(--gzp-vh, 900px) * .118)), 128px) !important;
}

body.home-page .hero-slogan {
  margin-top: calc(var(--gzp-vh, 900px) * .01) !important;
}

body.home-page .gzp-hero-sub {
  margin-top: calc(var(--gzp-vh, 900px) * .018);
  font-size: clamp(14px, min(1.3vw, calc(var(--gzp-vh, 900px) * .02)), 19px);
  line-height: 1.55;
}

body.home-page .premium-command-center {
  margin-top: calc(var(--gzp-vh, 900px) * .03) !important;
}

body.home-page .premium-home-pulse {
  margin-top: 10px !important;
}

body.home-page .gzp-trust {
  margin-top: calc(var(--gzp-vh, 900px) * .025);
}

/* ---------- 2. Направления: 3 × 3 на любом экране ---------- */
body.home-page #directions {
  padding: 18px 0 !important;
}

body.home-page #directions .gzp-head {
  margin-bottom: 14px !important;
}

body.home-page #directions .dir-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: clamp(8px, 1vw, 14px) !important;
}

body.home-page #directions .dir-card {
  height: clamp(96px, calc((var(--gzp-screen) - 36px - 118px - 28px) / 3), 300px) !important;
}

/* ---------- 3. Сервисы: компактная полоса ---------- */
body.home-page #services {
  padding: clamp(36px, 5vw, 64px) 0 !important;
}

/* ---------- 4. Рынок: ровно один экран, лента занимает остаток ---------- */
body.home-page #market360 {
  height: var(--gzp-screen) !important;
  min-height: 0 !important;
  box-sizing: border-box;
  padding: 16px 0 !important;
  display: flex !important;
  flex-direction: column;
  overflow: hidden;
}

body.home-page #market360 > .container {
  flex: 1 1 auto;
  min-height: 0;
  width: 100%;
  display: flex !important;
  flex-direction: column;
  gap: 10px;
}

body.home-page #market360 .market360-head {
  margin: 0 !important;
  flex: none;
}

body.home-page #market360 .market360-kicker {
  margin-bottom: 6px !important;
}

body.home-page #market360 .market360-sub {
  margin-top: 6px !important;
  font-size: 15px !important;
}

body.home-page #market360 .market360-market-note,
body.home-page #market360 .market-rail-hint,
body.home-page #market360 .market360-note,
body.home-page #market360 .market360-more {
  display: none !important;
}

/* Два ряда чипов — по одной строке, лишнее листается вбок */
body.home-page #market360 .market-quick,
body.home-page #market360 .market360-types {
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 8px !important;
  overflow-x: auto !important;
  margin: 0 !important;
  padding: 2px 0 !important;
  flex: none;
  scrollbar-width: none;
}

body.home-page #market360 .market-quick::-webkit-scrollbar,
body.home-page #market360 .market360-types::-webkit-scrollbar {
  display: none;
}

body.home-page #market360 .market-quick-btn,
body.home-page #market360 .market360-type {
  flex: none !important;
  white-space: nowrap !important;
  padding: 7px 14px !important;
  min-height: 36px !important;
  font-size: 13.5px !important;
}

body.home-page #market360 .market360-toolbar {
  flex: none;
  margin: 0 !important;
  padding: 5px !important;
}

body.home-page #market360 .market360-toolbar input {
  height: 40px !important;
  min-height: 40px !important;
}

body.home-page #market360 .premium-market-intelligence {
  flex: none;
  margin: 0 !important;
  max-height: 86px;
}

body.home-page #market360 .premium-market-metric,
body.home-page #market360 .premium-market-chart {
  padding: 10px 14px !important;
  min-height: 0 !important;
}

body.home-page #market360 .premium-market-metric strong {
  font-size: 22px !important;
  line-height: 1.1 !important;
}

body.home-page #market360 .premium-market-metric small,
body.home-page #market360 .premium-market-chart small {
  font-size: 11.5px !important;
  line-height: 1.3 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

body.home-page #market360 .premium-market-chart svg {
  max-height: 34px !important;
}

body.home-page #market360 .market-rail {
  flex: 1 1 auto;
  min-height: 0;
  display: flex !important;
}

body.home-page #market360-feed {
  flex: 1 1 auto;
  height: 100% !important;
  min-height: 0 !important;
  align-items: stretch !important;
  padding: 2px 0 6px !important;
}

body.home-page #market360-feed > .market-signal-card {
  height: 100% !important;
  max-height: 100% !important;
}

/* Фото тянется под свободное место, остальное — по содержимому */
body.home-page #market360-feed .market-signal-photo {
  flex: 1 1 auto !important;
  height: auto !important;
  min-height: 56px !important;
  max-height: 220px !important;
}

body.home-page #market360-feed .market-signal-route {
  margin-top: 8px !important;
}

body.home-page #market360-feed .market-signal-facts {
  margin-top: 10px !important;
}

body.home-page #market360-feed .market-signal-bottom {
  margin-top: 10px !important;
  padding: 0 0 14px !important;
}

body.home-page #market360-feed .market-signal-freshness {
  margin-bottom: 8px !important;
}

body.home-page #market360 .market-rail-arrow {
  top: 50% !important;
  transform: translateY(-50%);
}

/* ---------- 5. Аналитика ---------- */
body.home-page #analytics {
  padding: 24px 0 !important;
}

/* ---------- Планшет ---------- */
@media (max-width: 1100px) {
  body.home-page #directions .dir-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  body.home-page #directions .dir-card {
    height: clamp(96px, calc((var(--gzp-screen) - 36px - 118px - 24px) / 3), 300px) !important;
  }

  body.home-page #directions .dir-title {
    font-size: 16px !important;
  }
}

/* ---------- Телефон: снизу закреплена панель навигации ---------- */
@media (max-width: 860px) {
  body.home-page {
    --gzp-screen: calc(var(--gzp-vh, 800px) - var(--gzp-hdr, 60px) - 72px);
  }

  body.home-page .hero {
    min-height: calc(var(--gzp-vh, 800px) - 72px) !important;
    padding: calc(var(--gzp-hdr, 60px) + 12px) 0 20px !important;
  }

  /* Три быстрых перехода дублируют нижнюю панель — на телефоне их нет */
  body.home-page .premium-home-pulse {
    display: none !important;
  }

  body.home-page .gzp-hero-sub {
    font-size: 14px;
  }

  body.home-page #directions .gzp-head .gzp-lead {
    display: none;
  }
}

@media (max-width: 620px) {
  body.home-page #directions .dir-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  body.home-page #directions .dir-card {
    height: clamp(96px, calc((var(--gzp-screen) - 24px - 76px - 16px) / 3), 220px) !important;
    border-radius: 16px !important;
  }

  body.home-page #directions .gzp-head .section-title {
    font-size: 28px !important;
  }

  body.home-page #directions .dir-card-body {
    padding: 8px 9px 9px !important;
  }

  body.home-page #directions .dir-title {
    font-size: 12.5px !important;
    line-height: 1.2 !important;
    letter-spacing: -.01em;
  }

  body.home-page #directions .dir-tagline,
  body.home-page #directions .dir-card-meta {
    display: none !important;
  }

  body.home-page #market360 .premium-market-intelligence,
  body.home-page #market360 .market360-sub {
    display: none !important;
  }

  body.home-page #market360 .market360-head-actions .btn {
    min-height: 44px !important;
    height: 44px !important;
  }

  body.home-page #market360 .market360-head-actions small {
    display: none !important;
  }

  body.home-page #market360 .market360-title {
    font-size: 28px !important;
  }
}

/* ---------- 21a. Без пустот: экраном целиком — только блоки, которые его заполняют ---------- */
:root {
  --gzp-sec-y: clamp(36px, 4.5vw, 64px);
}

body.home-page #analytics,
body.home-page #safety {
  min-height: 0 !important;
  display: block !important;
  padding: var(--gzp-sec-y) 0 !important;
}

body.home-page #how,
body.home-page #faq {
  padding: var(--gzp-sec-y) 0 !important;
}

body.home-page #services {
  padding: clamp(28px, 3.5vw, 48px) 0 !important;
}

body.home-page .gzp-head {
  margin-bottom: clamp(16px, 2vw, 26px) !important;
}

body.home-page #analytics .premium-analytics-overview {
  margin-top: 0 !important;
}

/* Рынок: прежние слои держали минимальную высоту ленты — она вылезала за экран */
body.home-page #market360 .market-rail,
body.home-page #market360-feed {
  min-height: 0 !important;
  max-height: none !important;
}

body.home-page #market360 .market-rail {
  height: auto !important;
}

@media (max-width: 620px) {
  body.home-page #directions .dir-card {
    height: clamp(84px, calc((var(--gzp-screen) - 132px) / 3), 220px) !important;
  }

  body.home-page #directions .gzp-head .section-title {
    font-size: 26px !important;
  }

  body.home-page #directions .gzp-kicker {
    margin-bottom: 8px !important;
  }

  body.home-page #market360-feed .market-signal-photo {
    min-height: 40px !important;
  }

  body.home-page #market360-feed .market-signal-freshness {
    display: none !important;
  }

  body.home-page #market360-feed .market-signal-card h3 {
    min-height: 0 !important;
    font-size: 17px !important;
  }
}

/* Невысокий экран ноутбука: полоса показателей рынка уступает место карточкам —
   те же показатели есть в «Аналитике» сразу ниже. */
@media (min-width: 861px) and (max-height: 800px) {
  body.home-page #market360 .premium-market-intelligence,
  body.home-page #market360 .market360-sub {
    display: none !important;
  }
}

/* Шапка главной закреплена всегда. Режим «прилипания» ломался прежними
   стилями страницы (overflow у корня) — шапка уезжала вместе со страницей,
   и сверху экрана выглядывал край предыдущего блока. */
body.home-page .site-header {
  position: fixed !important;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
}

body.home-page .hero {
  margin-top: 0 !important;
}

/* Полоса показателей рынка — подписи целиком, без обрезки */
body.home-page #market360 .premium-market-intelligence {
  max-height: none !important;
}

body.home-page #market360 .premium-market-metric small,
body.home-page #market360 .premium-market-chart small {
  display: block !important;
  white-space: nowrap;
  text-overflow: ellipsis;
}

/* Телефон: чипы рынка по размеру надписи, строка листается пальцем */
body.home-page #market360 .market-quick > *,
body.home-page #market360 .market360-types > * {
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  flex: 0 0 auto !important;
}

@media (max-width: 620px) {
  body.home-page #market360 .market360-toolbar {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 6px !important;
  }

  body.home-page #market360 .market360-search {
    flex: 1 1 auto !important;
    min-width: 0 !important;
  }

  body.home-page #market360 .market360-status {
    display: none !important;
  }

  body.home-page #market360 .market-notify-btn {
    flex: none !important;
    width: 44px !important;
    min-width: 44px !important;
    padding: 0 !important;
    font-size: 0 !important;
    justify-content: center;
  }

  body.home-page #market360 .market-notify-btn i {
    font-size: 18px !important;
    margin: 0 !important;
  }
}

body.home-page #market360 .market360-head > div,
body.home-page #market360 .unified-market-copy {
  padding-left: 0 !important;
  margin-left: 0 !important;
}

/* Нижняя панель: без старой бирюзовой плашки под «Создать» */
body.home-page .bottom-nav .bottom-create {
  background: transparent !important;
  box-shadow: none !important;
}

/* Где есть нижняя панель с «Создать», отдельная круглая «+» только дублирует её */
@media (max-width: 1024px) {
  body.home-page > .fab {
    display: none !important;
  }
}

/* Заголовок рынка: служебные псевдоэлементы прежних слоёв вставали в строку и сдвигали его */
body.home-page #market360 .market360-head::before,
body.home-page #market360 .market360-head::after {
  content: none !important;
  display: none !important;
}

@media (max-width: 1100px) {
  body.home-page #market360 .market360-head {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 12px !important;
  }
}

body.home-page #directions .dir-title {
  text-align: left !important;
}

/* Соседние светлые разделы не складывают отступы в пустую полосу */
body.home-page #analytics {
  padding-bottom: 16px !important;
}

body.home-page #how {
  padding-top: 32px !important;
}

/* =====================================================================
   22. Современные приёмы (21.09.2026): сетка со светом на первом экране,
   бегущая рамка строки поиска, перелив кнопок, «бенто» в «Деньгах и
   безопасности», прорисовка шагов, проявление из размытия.
   Всё выключается при «уменьшить движение».
   ===================================================================== */
@property --gzp-beam {
  syntax: "<angle>";
  inherits: false;
  initial-value: 0deg;
}

/* ---------- первый экран: светящаяся сетка и пятно света за курсором ---------- */
body.home-page .hero .gzp-grid {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(127, 255, 198, .07) 1px, transparent 1px),
    linear-gradient(90deg, rgba(127, 255, 198, .07) 1px, transparent 1px);
  background-size: 64px 64px;
  background-position: -1px -1px;
  -webkit-mask-image: radial-gradient(70% 60% at 30% 40%, #000 20%, transparent 75%);
  mask-image: radial-gradient(70% 60% at 30% 40%, #000 20%, transparent 75%);
  animation: gzp-grid-drift 26s linear infinite;
}

body.home-page .hero .gzp-spot {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background: radial-gradient(420px circle at var(--gzp-hx, 30%) var(--gzp-hy, 40%), rgba(0, 229, 143, .14), transparent 60%);
  transition: background .2s linear;
}

@keyframes gzp-grid-drift {
  to { background-position: 63px 63px; }
}

/* ---------- бегущая световая рамка у строки поиска ---------- */
body.home-page .premium-command-search {
  position: relative;
  isolation: isolate;
}

body.home-page .premium-command-search::before {
  content: "";
  position: absolute;
  inset: -1px;
  z-index: -1;
  border-radius: inherit;
  padding: 1.5px;
  background: conic-gradient(from var(--gzp-beam), transparent 0 70%, rgba(0, 229, 143, .95) 82%, #b9ffe0 88%, transparent 96%);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask: linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0);
  animation: gzp-beam 5s linear infinite;
  pointer-events: none;
}

@keyframes gzp-beam {
  to { --gzp-beam: 360deg; }
}

/* ---------- перелив на главных кнопках ---------- */
body.home-page .premium-command-search .btn-cta,
body.home-page .site-header .btn-cta,
body.home-page .market-primary-action,
body.gzp-inner .site-header .btn-cta,
body.gzp-inner .hero-page .quick-order .btn-cta {
  position: relative;
  overflow: hidden;
  isolation: isolate;
}

body.home-page .premium-command-search .btn-cta::after,
body.home-page .site-header .btn-cta::after,
body.home-page .market-primary-action::after,
body.gzp-inner .site-header .btn-cta::after,
body.gzp-inner .hero-page .quick-order .btn-cta::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: -60%;
  width: 40%;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(100deg, transparent, rgba(255, 255, 255, .55), transparent);
  transform: skewX(-18deg);
  animation: gzp-shimmer 4.2s ease-in-out infinite;
}

@keyframes gzp-shimmer {
  0%, 55% { left: -60%; }
  85%, 100% { left: 130%; }
}

/* ---------- «бенто» в «Деньгах и безопасности» ---------- */
body.home-page .gzp-safe-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  grid-template-areas:
    "a b c"
    "a d d";
}

body.home-page .gzp-safe-card:nth-child(1) { grid-area: a; }
body.home-page .gzp-safe-card:nth-child(2) { grid-area: b; }
body.home-page .gzp-safe-card:nth-child(3) { grid-area: c; }
body.home-page .gzp-safe-card:nth-child(4) { grid-area: d; }

body.home-page .gzp-safe-card:nth-child(1) {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  min-height: 300px;
  background:
    radial-gradient(80% 60% at 20% 0%, rgba(0, 229, 143, .22), transparent 70%),
    rgba(255, 255, 255, .05);
}

body.home-page .gzp-safe-card:nth-child(1) i {
  width: 64px;
  height: 64px;
  font-size: 32px;
  border-radius: 20px;
  margin-bottom: auto;
}

body.home-page .gzp-safe-card:nth-child(1) h3 {
  font-size: clamp(24px, 2.4vw, 32px);
  margin-top: 28px;
}

body.home-page .gzp-safe-card:nth-child(1) p {
  font-size: 16px;
  max-width: 36ch;
}

/* световая рамка у карточек при наведении */
body.home-page .gzp-safe-card,
body.home-page .gzp-step {
  position: relative;
  isolation: isolate;
}

body.home-page .gzp-safe-card::before {
  content: "";
  position: absolute;
  inset: -1px;
  z-index: -1;
  border-radius: inherit;
  padding: 1px;
  background: conic-gradient(from var(--gzp-beam), transparent 0 65%, rgba(0, 229, 143, .9) 80%, transparent 95%);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask: linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0);
  opacity: 0;
  transition: opacity .4s var(--gzp-ease);
  animation: gzp-beam 4s linear infinite;
  pointer-events: none;
}

body.home-page .gzp-safe-card:hover::before {
  opacity: 1;
}

/* ---------- шаги: линия прорисовывается по мере появления ---------- */
body.home-page .gzp-steps {
  position: relative;
}

body.home-page .gzp-steps::before {
  content: "";
  position: absolute;
  left: 40px;
  right: 40px;
  top: 43px;
  height: 2px;
  border-radius: 2px;
  background: linear-gradient(90deg, var(--gzp-em-lt), var(--gzp-em), rgba(0, 176, 106, .15));
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 1.6s var(--gzp-ease-out) .2s;
  z-index: 0;
}

body.home-page .gzp-steps.is-drawn::before {
  transform: scaleX(1);
}

body.home-page .gzp-step {
  z-index: 1;
}

body.home-page .gzp-step:not(:last-child)::after {
  display: none;
}

/* ---------- проявление блоков из размытия ---------- */
body.home-page .reveal {
  filter: blur(8px);
  transition: opacity .8s var(--gzp-ease-out), transform .8s var(--gzp-ease-out), filter .8s var(--gzp-ease-out);
}

body.home-page .reveal.in {
  filter: none;
}

/* ---------- экраны поменьше ---------- */
@media (max-width: 860px) {
  body.home-page .gzp-safe-grid {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-areas: "a" "b" "c" "d";
  }

  body.home-page .gzp-safe-card:nth-child(1) {
    min-height: 0;
  }

  body.home-page .gzp-steps::before {
    display: none;
  }

  body.home-page .hero .gzp-spot {
    display: none;
  }
}

@media (max-width: 1100px) and (min-width: 861px) {
  body.home-page .gzp-steps::before {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.home-page .hero .gzp-grid,
  body.home-page .premium-command-search::before,
  body.home-page .gzp-safe-card::before {
    animation: none !important;
  }

  body.home-page .premium-command-search .btn-cta::after,
  body.home-page .site-header .btn-cta::after,
  body.home-page .market-primary-action::after,
  body.gzp-inner .site-header .btn-cta::after,
  body.gzp-inner .hero-page .quick-order .btn-cta::after {
    display: none !important;
  }

  body.home-page .reveal {
    filter: none !important;
  }

  body.home-page .gzp-steps::before {
    transform: scaleX(1);
    transition: none;
  }
}


/* =====================================================================
   23. Замечания владельца 21.09.2026 (вечер):
   — первый экран по центру и под любой размер;
   — на плитках направлений нет движущихся сцен, только отклик на наведение;
   — «Сервисы» и «Рынок» делят один экран, карточки компактные, кнопки видны;
   — всё после рынка — не больше двух экранов.
   ===================================================================== */

/* ---------- первый экран: композиция по центру ---------- */
body.home-page .hero-inner {
  justify-items: center !important;
  text-align: center !important;
}

body.home-page .hero-eyebrow,
body.home-page .premium-command-center,
body.home-page .premium-home-pulse {
  justify-self: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

body.home-page .hero-title,
body.home-page .hero-slogan,
body.home-page .gzp-hero-sub {
  text-align: center !important;
}

body.home-page .gzp-hero-sub {
  margin-left: auto;
  margin-right: auto;
  max-width: 64ch;
}

body.home-page .gzp-trust {
  justify-content: center;
}

body.home-page .premium-command-search {
  text-align: left;
}

/* ---------- направления: отклик на наведение вместо сцен ---------- */
body.home-page #directions .dir-go {
  padding: 7px 14px 7px 16px;
  border-radius: 999px;
  background: rgba(0, 229, 143, .14);
  border: 1px solid rgba(0, 229, 143, .35);
  transition: background .3s var(--gzp-ease), color .3s var(--gzp-ease), border-color .3s var(--gzp-ease), padding .35s var(--gzp-ease-out);
}

body.home-page #directions .dir-card:hover .dir-go,
body.home-page #directions .dir-card:focus-visible .dir-go {
  background: linear-gradient(135deg, var(--gzp-em-lt), var(--gzp-em));
  border-color: transparent;
  color: #04241a !important;
  padding-right: 20px;
}

body.home-page #directions .dir-card:hover .dir-go i {
  animation: gzp-arrow-nudge .9s var(--gzp-ease) infinite;
}

@keyframes gzp-arrow-nudge {
  0%, 100% { transform: translateX(2px); }
  50% { transform: translateX(7px); }
}

/* та же стрелка — у всех кнопок-переходов */
body.home-page .premium-pulse-card:hover > i:last-child,
body.home-page .market-card-cluster-open:hover i,
body.home-page .gzp-safe-note a:hover {
  animation: gzp-arrow-nudge .9s var(--gzp-ease) infinite;
}

body.home-page .btn,
body.home-page .premium-create-action,
body.home-page .market-primary-action {
  transition: transform .25s var(--gzp-ease-out), box-shadow .25s var(--gzp-ease-out), background .25s var(--gzp-ease) !important;
}

body.home-page .btn:active,
body.home-page .premium-create-action:active,
body.home-page .market-primary-action:active {
  transform: translateY(0) scale(.97) !important;
}

/* ---------- сервисы + рынок: один экран ---------- */
body.home-page {
  --gzp-svc-h: 132px;
}

body.home-page #services {
  height: var(--gzp-svc-h) !important;
  min-height: 0 !important;
  box-sizing: border-box;
  padding: 14px 0 10px !important;
  overflow: hidden;
  scroll-snap-align: start;
}

body.home-page #services > .container {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 24px;
  height: 100%;
}

body.home-page #services .gzp-head {
  margin: 0 !important;
}

body.home-page #services .gzp-head .gzp-lead,
body.home-page #services .gzp-kicker {
  display: none !important;
}

body.home-page #services .section-title {
  font-size: clamp(24px, 2.2vw, 32px) !important;
  white-space: nowrap;
}

body.home-page #services .svc-grid {
  display: flex !important;
  gap: 10px !important;
  overflow-x: auto;
  padding: 4px 2px 8px !important;
  scrollbar-width: none;
}

body.home-page #services .svc-grid::-webkit-scrollbar {
  display: none;
}

body.home-page #services .svc-card {
  flex: 1 0 auto !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 10px !important;
  min-height: 0 !important;
  height: 60px !important;
  padding: 0 16px 0 10px !important;
  white-space: nowrap;
}

body.home-page #services .svc-icon {
  width: 38px;
  height: 38px;
  font-size: 19px;
}

body.home-page #services .svc-title {
  font-size: 14.5px !important;
}

body.home-page #market360 {
  scroll-snap-align: none;
  height: calc(var(--gzp-screen) - var(--gzp-svc-h)) !important;
  padding: 6px 0 14px !important;
}

body.home-page #market360 .market360-kicker,
body.home-page #market360 .market360-sub {
  display: none !important;
}

body.home-page #market360 .market360-head {
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
}

body.home-page #market360 .market360-title {
  font-size: clamp(24px, 2.2vw, 32px) !important;
}

body.home-page #market360 .market-primary-action {
  padding: 9px 18px !important;
}

/* показатели рынка — в «Аналитике» сразу ниже; здесь только на высоких экранах */
@media (max-height: 1000px) {
  body.home-page #market360 .premium-market-intelligence {
    display: none !important;
  }
}

/* компактная карточка: фото забирает остаток места, всё остальное — по содержимому */
body.home-page #market360-feed > .market-signal-card {
  overflow: hidden;
}

body.home-page #market360-feed .market-signal-photo {
  flex: 1 1 auto !important;
  min-height: 58px !important;
  max-height: 150px !important;
  height: auto !important;
}

body.home-page #market360-feed .market-signal-main {
  margin-top: -24px !important;
  flex: none;
}

body.home-page #market360-feed .market-signal-card h3 {
  font-size: 17px !important;
  min-height: 0 !important;
  -webkit-line-clamp: 1;
}

body.home-page #market360-feed .market-signal-route {
  margin-top: 6px !important;
  flex: none;
  font-size: 13px !important;
}

body.home-page #market360-feed .market-signal-facts {
  margin-top: 8px !important;
  flex: none;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
}

body.home-page #market360-feed .market-signal-facts > span {
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  padding: 7px 10px !important;
}

body.home-page #market360-feed .market-signal-facts b {
  font-size: 14px !important;
}

body.home-page #market360-feed .market-signal-card > .market-signal-bottom {
  flex: none;
  margin-top: 8px !important;
  padding: 0 0 12px !important;
  min-height: 0 !important;
  height: auto !important;
}

body.home-page #market360-feed .market-signal-freshness {
  margin-bottom: 6px !important;
  min-height: 0 !important;
  font-size: 12px !important;
}

/* кнопки целиком: высота по тексту, текст в одну строку */
body.home-page #market360-feed .market-signal-actions {
  min-height: 0 !important;
  height: auto !important;
}

body.home-page #market360-feed .market-signal-actions .btn {
  height: 40px !important;
  min-height: 40px !important;
  max-height: none !important;
  font-size: 13px !important;
  white-space: nowrap !important;
  overflow: hidden;
  text-overflow: ellipsis;
}

@media (max-height: 800px) {
  body.home-page #market360-feed .market-signal-freshness {
    display: none !important;
  }

  body.home-page #market360 .market360-types {
    display: none !important;
  }
}

/* ---------- всё после рынка: компактно, не больше двух экранов ---------- */
body.home-page #analytics,
body.home-page #how,
body.home-page #safety,
body.home-page #faq {
  padding: 26px 0 !important;
  min-height: 0 !important;
}

body.home-page #analytics .section-title,
body.home-page #how .section-title,
body.home-page #safety .section-title,
body.home-page #faq .section-title {
  font-size: clamp(24px, 2.2vw, 32px) !important;
  max-width: none !important;
}

body.home-page #analytics .gzp-head,
body.home-page #how .gzp-head,
body.home-page #safety .gzp-head,
body.home-page #faq .gzp-head {
  margin-bottom: 14px !important;
}

body.home-page #analytics .gzp-kicker,
body.home-page #how .gzp-kicker,
body.home-page #safety .gzp-kicker,
body.home-page #faq .gzp-kicker {
  margin-bottom: 6px !important;
}

body.home-page #analytics .gzp-lead,
body.home-page #how .gzp-lead,
body.home-page #safety .gzp-lead {
  margin-top: 6px !important;
  font-size: 14.5px !important;
}

body.home-page #how .gzp-lead {
  display: none;
}

/* аналитика */
body.home-page #analytics .premium-analytics-decision,
body.home-page #analytics .premium-analytics-chart {
  padding: 14px 16px !important;
}

body.home-page #analytics .premium-analysis-toggle {
  margin-top: 8px !important;
  padding: 10px 16px !important;
}

/* порядок работы */
body.home-page .gzp-step {
  padding: 16px 16px 14px !important;
}

body.home-page .gzp-step-n {
  margin-bottom: 10px !important;
}

body.home-page .gzp-step h3 {
  font-size: 16px !important;
  margin-bottom: 4px !important;
}

body.home-page .gzp-step p {
  font-size: 13.5px !important;
  line-height: 1.5 !important;
}

body.home-page .gzp-steps::before {
  top: 33px;
}

/* деньги и безопасность: четыре равные карточки в ряд */
body.home-page .gzp-safe-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  grid-template-areas: none !important;
  gap: 12px !important;
}

body.home-page .gzp-safe-card {
  grid-area: auto !important;
  padding: 18px 18px 16px !important;
  min-height: 0 !important;
  display: block !important;
}

body.home-page .gzp-safe-card:nth-child(1) {
  background: radial-gradient(80% 60% at 20% 0%, rgba(0, 229, 143, .2), transparent 70%), rgba(255, 255, 255, .05) !important;
}

body.home-page .gzp-safe-card i,
body.home-page .gzp-safe-card:nth-child(1) i {
  width: 38px !important;
  height: 38px !important;
  font-size: 19px !important;
  border-radius: 12px !important;
  margin: 0 0 10px !important;
}

body.home-page .gzp-safe-card h3,
body.home-page .gzp-safe-card:nth-child(1) h3 {
  font-size: 16px !important;
  margin: 0 0 6px !important;
}

body.home-page .gzp-safe-card p,
body.home-page .gzp-safe-card:nth-child(1) p {
  font-size: 13.5px !important;
  line-height: 1.5 !important;
  max-width: none !important;
}

body.home-page .gzp-safe-note {
  margin-top: 14px !important;
  font-size: 12.5px !important;
}

/* вопросы: две колонки, короткие строки */
body.home-page #faq .faq-list {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px 12px !important;
  max-width: none !important;
  align-items: start;
}

body.home-page #faq .faq-q {
  padding: 13px 16px !important;
  font-size: 15px !important;
}

/* подвал */
body.home-page .site-footer {
  padding-top: 34px !important;
}

body.home-page .footer-bottom,
body.home-page .site-footer .footer-legal {
  margin-top: 18px !important;
  padding: 14px 0 !important;
}

body.home-page .site-footer a {
  line-height: 1.75 !important;
}

/* ---------- планшет и телефон ---------- */
@media (max-width: 1100px) {
  body.home-page .gzp-safe-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 860px) {
  body.home-page {
    --gzp-svc-h: 124px;
  }

  body.home-page #services > .container {
    grid-template-columns: minmax(0, 1fr);
    gap: 8px;
    align-content: center;
  }

  body.home-page #services .svc-card {
    flex: 0 0 auto !important;
    height: 52px !important;
  }

  body.home-page #market360 .market360-head {
    gap: 10px !important;
  }

  body.home-page #faq .faq-list {
    grid-template-columns: minmax(0, 1fr);
  }

  body.home-page .gzp-steps {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }
}

@media (max-width: 620px) {
  body.home-page #market360 .market360-head .market-primary-action small {
    display: none !important;
  }

  body.home-page #market360 .market360-types {
    display: none !important;
  }

  body.home-page .gzp-safe-grid,
  body.home-page .gzp-steps {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.home-page .hero-title {
    font-size: clamp(38px, 12vw, 58px) !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.home-page #directions .dir-card:hover .dir-go i,
  body.home-page .premium-pulse-card:hover > i:last-child,
  body.home-page .market-card-cluster-open:hover i,
  body.home-page .gzp-safe-note a:hover {
    animation: none !important;
  }
}

/* ---------- 24. Хвост страницы плотнее: заголовок и пояснение в одну строку ---------- */
body.home-page #analytics .gzp-kicker,
body.home-page #how .gzp-kicker,
body.home-page #safety .gzp-kicker,
body.home-page #faq .gzp-kicker {
  display: none !important;
}

body.home-page #analytics .gzp-head,
body.home-page #how .gzp-head,
body.home-page #safety .gzp-head,
body.home-page #faq .gzp-head {
  display: flex !important;
  align-items: baseline !important;
  justify-content: space-between !important;
  flex-wrap: wrap;
  gap: 4px 24px !important;
  margin-bottom: 12px !important;
}

body.home-page #analytics .gzp-head .gzp-lead,
body.home-page #safety .gzp-head .gzp-lead {
  margin: 0 !important;
  max-width: 60ch;
  font-size: 14px !important;
}

body.home-page #analytics,
body.home-page #how,
body.home-page #safety,
body.home-page #faq {
  padding: 20px 0 !important;
}

body.home-page .gzp-step p,
body.home-page .gzp-safe-card p {
  font-size: 13px !important;
}

body.home-page .gzp-safe-note {
  margin-top: 10px !important;
}

/* вопросы: три колонки на широком экране */
@media (min-width: 1200px) {
  body.home-page #faq .faq-list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

body.home-page #faq .faq-q {
  padding: 11px 14px !important;
  font-size: 14.5px !important;
}

/* подвал плотнее */
body.home-page .site-footer {
  padding-top: 26px !important;
}

body.home-page .footer-grid {
  gap: 18px 40px !important;
}

body.home-page .footer-logo {
  margin-bottom: 8px !important;
}

body.home-page .footer-title {
  margin-bottom: 6px !important;
}

body.home-page .site-footer a {
  line-height: 1.6 !important;
  font-size: 14px !important;
}

body.home-page .footer-bottom,
body.home-page .site-footer .footer-legal {
  margin-top: 12px !important;
  padding: 10px 0 !important;
}

/* невысокий экран ноутбука: описания шагов и карточек короче */
@media (min-width: 861px) and (max-height: 820px) {
  body.home-page .gzp-step p,
  body.home-page .gzp-safe-card p {
    display: -webkit-box !important;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  body.home-page #safety .gzp-head .gzp-lead,
  body.home-page .footer-about {
    display: none !important;
  }

  body.home-page .gzp-step-n {
    margin-bottom: 6px !important;
  }
}

/* телефон и планшет: шаги и карточки листаются вбок, а не стопкой */
@media (max-width: 860px) {
  body.home-page .gzp-steps,
  body.home-page .gzp-safe-grid {
    display: flex !important;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    gap: 10px !important;
    padding-bottom: 6px;
    scrollbar-width: none;
  }

  body.home-page .gzp-steps::-webkit-scrollbar,
  body.home-page .gzp-safe-grid::-webkit-scrollbar {
    display: none;
  }

  body.home-page .gzp-step,
  body.home-page .gzp-safe-card {
    flex: 0 0 min(78%, 300px) !important;
    scroll-snap-align: start;
  }

  body.home-page #analytics .premium-analytics-overview {
    gap: 8px !important;
  }

  body.home-page #analytics .premium-analytics-chart svg {
    max-height: 70px;
  }

  body.home-page .footer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body.home-page .footer-about {
    display: none !important;
  }

  /* вопросы: сначала четыре, остальные — по кнопке */
  body.home-page #faq .faq-list:not(.is-all) .faq-item:nth-child(n+5) {
    display: none !important;
  }

  body.home-page #faq .gzp-faq-more {
    display: block;
  }
}

body.home-page #faq .gzp-faq-more {
  display: none;
  margin: 10px auto 0;
  padding: 10px 18px;
  border-radius: 999px;
  border: 1px solid var(--gzp-line-2);
  background: #fff;
  font-weight: 700;
  color: var(--gzp-tx);
}

@media (max-width: 620px) {
  body.home-page .footer-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }

}

@media (max-width: 860px) {
  body.home-page #faq button.gzp-faq-more {
    display: block;
  }
}

/* ---------- 25. Телефон: хвост страницы — не больше двух экранов ---------- */
@media (max-width: 620px) {
  body.home-page #analytics .section-title,
  body.home-page #how .section-title,
  body.home-page #safety .section-title,
  body.home-page #faq .section-title {
    font-size: 21px !important;
    line-height: 1.15 !important;
  }

  body.home-page #analytics .gzp-head .gzp-lead,
  body.home-page #safety .gzp-head .gzp-lead,
  body.home-page #analytics #premium-analytics-decision-note,
  body.home-page #analytics .premium-analytics-legend {
    display: none !important;
  }

  body.home-page #analytics .premium-analytics-overview {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.home-page #analytics .premium-analytics-decision,
  body.home-page #analytics .premium-analytics-chart {
    padding: 10px 12px !important;
    min-height: 0 !important;
  }

  body.home-page #analytics .premium-analytics-chart svg {
    max-height: 46px !important;
  }

  body.home-page .gzp-step p,
  body.home-page .gzp-safe-card p {
    display: -webkit-box !important;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  body.home-page .gzp-safe-note {
    font-size: 11.5px !important;
    line-height: 1.45 !important;
  }

  /* документы в подвале — строкой-«облаком», а не столбиком */
  body.home-page .site-footer .footer-col {
    display: flex !important;
    flex-wrap: wrap;
    gap: 2px 14px;
    align-items: baseline;
  }

  body.home-page .site-footer .footer-col > .footer-title,
  body.home-page .site-footer .footer-col > .footer-logo {
    flex: 1 0 100%;
  }

  body.home-page .site-footer .footer-col a {
    font-size: 13px !important;
    line-height: 1.7 !important;
  }

  body.home-page .site-footer {
    padding-top: 18px !important;
  }

  /* карточка рынка на маленьком экране: фото может стать совсем узкой полосой */
  body.home-page #market360-feed .market-signal-photo {
    min-height: 34px !important;
  }
}

@media (max-width: 620px) {
  body.home-page #analytics,
  body.home-page #how,
  body.home-page #safety,
  body.home-page #faq {
    padding: 14px 0 !important;
  }

  body.home-page .footer-grid {
    gap: 10px !important;
  }

  body.home-page .footer-about,
  body.home-page .site-footer .footer-col > a[href="blog.html"] {
    display: none !important;
  }

  body.home-page .site-footer .footer-col {
    font-size: 13px !important;
    line-height: 1.5 !important;
  }

  body.home-page .footer-bottom {
    font-size: 11.5px !important;
  }
}

@media (min-width: 861px) and (max-height: 760px) {
  body.home-page #analytics,
  body.home-page #how,
  body.home-page #safety,
  body.home-page #faq {
    padding: 14px 0 !important;
  }

  body.home-page .gzp-safe-note {
    margin-top: 8px !important;
  }
}

/* сервисы укладываются в ширину экрана, рынок: фото заполняет свободную высоту карточки */
@media (min-width: 861px) {
  body.home-page #services .svc-card {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    padding: 0 10px 0 8px !important;
  }

  body.home-page #services .svc-title {
    overflow: hidden;
    text-overflow: ellipsis;
  }
}

body.home-page #market360-feed .market-signal-photo {
  max-height: none !important;
}

@media (min-width: 861px) {
  body.home-page #services .svc-card {
    white-space: normal !important;
  }

  body.home-page #services .svc-title {
    white-space: normal !important;
    font-size: 13.5px !important;
    line-height: 1.15 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    text-overflow: clip;
  }
}

body.home-page #services .svc-title {
  -webkit-hyphens: auto;
  hyphens: auto;
}

@media (min-width: 861px) {
  body.home-page #services .svc-icon {
    width: 32px !important;
    height: 32px !important;
    font-size: 17px !important;
    flex: none;
  }

  body.home-page #services .svc-card {
    gap: 7px !important;
  }
}

/* телефон: сервисы — строка плиток по размеру надписи, листается пальцем */
@media (max-width: 860px) {
  body.home-page #services .svc-card {
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
  }
}

/* =====================================================================
   26. Замечания владельца 22.09.2026:
   — карточки рынка в формате плиток направлений: фото на всю карточку
     под тёмной подложкой, текст поверх и хорошо читается;
   — пункты выпадающих списков видны (раньше белым по белому);
   — экраны не заходят друг на друга: блоки собраны в «экраны» (.gzp-screen);
   — полноценная аналитика с фильтрами;
   — данные оператора в подвале видны всегда;
   — заголовки и блоки по центру; страницы направлений компактные.
   ===================================================================== */

/* ---------- выпадающие списки: пункты тёмным по белому ---------- */
body.home-page select option,
body.gzp-inner select option,
body.home-page select optgroup,
body.gzp-inner select optgroup {
  color: #0a1f16 !important;
  background: #fff !important;
}

/* ---------- данные оператора в подвале — всегда ---------- */
body.home-page .site-footer .footer-col:not(:first-child) .footer-about,
body.gzp-inner .site-footer .footer-col:not(:first-child) .footer-about {
  display: block !important;
  color: var(--gzp-on-dark-dim) !important;
}

/* ---------- экраны ---------- */
.gzp-screen {
  display: flex;
  flex-direction: column;
}

@media (min-width: 861px) {
  html:has(body.home-page),
  html:has(body.direction-page) {
    scroll-snap-type: y mandatory;
    scroll-padding-top: var(--gzp-hdr, 60px);
  }

  body.home-page .gzp-screen,
  body.direction-page .gzp-screen {
    min-height: calc(var(--gzp-vh, 900px) - var(--gzp-hdr, 60px));
    scroll-snap-align: start;
    justify-content: space-evenly;
  }

  body.home-page .gzp-screen > section,
  body.direction-page .gzp-screen > section,
  body.home-page #analytics,
  body.home-page #how,
  body.home-page #safety,
  body.home-page #faq {
    scroll-snap-align: none !important;
  }

  /* подвал — внизу последнего экрана */
  body.home-page .gzp-screen-b,
  body.direction-page .gzp-screen-2 {
    justify-content: flex-start;
  }

  body.home-page .gzp-screen-b > .site-footer,
  body.direction-page .gzp-screen-2 > .site-footer {
    margin-top: auto;
  }
}

/* ---------- по центру: заголовки разделов ---------- */
body.home-page .gzp-head,
body.home-page #analytics .gzp-head,
body.home-page #how .gzp-head,
body.home-page #safety .gzp-head,
body.home-page #faq .gzp-head {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  gap: 6px !important;
}

body.home-page .gzp-head > div {
  display: flex;
  flex-direction: column;
  align-items: center;
}

body.home-page .gzp-head .section-title,
body.home-page .gzp-head .gzp-lead,
body.home-page .gzp-head .docs-sub {
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

body.home-page #market360 .market360-head {
  flex-direction: column !important;
  align-items: center !important;
  gap: 10px !important;
}

body.home-page #market360 .unified-market-copy {
  text-align: center !important;
}

body.home-page #market360 .market-quick,
body.home-page #market360 .market360-types {
  justify-content: safe center !important;
}

body.home-page #faq .faq-list {
  margin-left: auto !important;
  margin-right: auto !important;
}

body.home-page .gzp-safe-note {
  text-align: center;
  margin-left: auto !important;
  margin-right: auto !important;
}

body.home-page .gzp-step,
body.home-page .gzp-safe-card {
  text-align: center;
}

body.home-page .gzp-step-n {
  justify-content: center;
  width: 100%;
}

body.home-page .gzp-safe-card i {
  margin-left: auto !important;
  margin-right: auto !important;
}

body.home-page .gzp-steps::before {
  display: none !important;
}

/* подвал по центру */
body.home-page .footer-grid,
body.gzp-inner .footer-grid {
  text-align: center;
  justify-items: center;
}

body.home-page .footer-col,
body.gzp-inner .footer-col {
  align-items: center !important;
}

/* =====================================================================
   Карточка рынка — формат плитки направления (главная и направления)
   ===================================================================== */
body :is(#market360-feed, #feed) > .market-signal-card {
  position: relative !important;
  isolation: isolate;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-end !important;
  padding: 0 !important;
  border-radius: var(--gzp-r-xl) !important;
  overflow: hidden !important;
  background: var(--gzp-ink-1) !important;
  color: #fff !important;
}

/* фото — на всю карточку */
body :is(#market360-feed, #feed) .market-signal-card .market-signal-photo {
  position: absolute !important;
  inset: 0 !important;
  z-index: -2 !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: none !important;
  flex: none !important;
  object-fit: cover !important;
  -webkit-mask-image: none !important;
  mask-image: none !important;
  filter: saturate(.95) !important;
  transform: scale(1.02);
  transition: transform 1s var(--gzp-ease-out) !important;
}

body :is(#market360-feed, #feed) .market-signal-card:hover .market-signal-photo {
  transform: scale(1.07);
}

/* цветная подложка: сверху светлее, снизу плотнее — текст читается на любом снимке */
body :is(#market360-feed, #feed) > .market-signal-card::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: -1 !important;
  display: block !important;
  opacity: 1 !important;
  pointer-events: none;
  background:
    linear-gradient(to top, rgba(4, 14, 10, .97) 0%, rgba(4, 14, 10, .9) 38%, rgba(5, 20, 14, .55) 68%, rgba(6, 24, 17, .35) 100%) !important;
}

body :is(#market360-feed, #feed) > .market-signal-card::after {
  content: none !important;
}

/* метки сверху — в одну строку */
body :is(#market360-feed, #feed) .market-signal-card .market-signal-top {
  position: absolute !important;
  top: 12px !important;
  left: 12px !important;
  right: 12px !important;
  display: flex !important;
  gap: 6px !important;
  z-index: 1 !important;
  flex-wrap: nowrap !important;
}

body :is(#market360-feed, #feed) .market-signal-card :is(.market-signal-kind, .market-signal-source, .market-signal-urgent) {
  white-space: nowrap !important;
  overflow: hidden;
  text-overflow: ellipsis;
  font-size: 11.5px !important;
  padding: 4px 9px !important;
  line-height: 1.3 !important;
  min-width: 0;
  max-width: 62%;
  background: rgba(4, 14, 10, .72) !important;
  color: #fff !important;
}

body :is(#market360-feed, #feed) .market-signal-card .market-signal-source {
  margin-left: auto;
  flex: none;
}

/* содержимое — поверх фото, внизу карточки */
body :is(#market360-feed, #feed) .market-signal-card > :is(.market-signal-main, .market-signal-route, .market-signal-facts, .market-signal-bottom) {
  position: relative !important;
  z-index: 1 !important;
  margin-left: 16px !important;
  margin-right: 16px !important;
  align-self: stretch !important;
  width: auto !important;
}

body :is(#market360-feed, #feed) .market-signal-card > .market-signal-main {
  margin-top: 0 !important;
  flex: none !important;
}

body :is(#market360-feed, #feed) .market-signal-card h3 {
  color: #fff !important;
  font-size: 18px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  min-height: 0 !important;
  margin: 0 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-shadow: 0 1px 10px rgba(0, 0, 0, .5);
}

body :is(#market360-feed, #feed) .market-signal-card .market-signal-route {
  margin-top: 6px !important;
  color: rgba(236, 250, 243, .88) !important;
  font-size: 13px !important;
}

body :is(#market360-feed, #feed) .market-signal-card .market-signal-route :is(*, b, strong, span) {
  color: inherit !important;
}

body :is(#market360-feed, #feed) .market-signal-card .market-signal-route :is(b, strong) {
  color: #fff !important;
}

body :is(#market360-feed, #feed) .market-signal-card .market-signal-facts {
  margin-top: 10px !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 6px !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
}

body :is(#market360-feed, #feed) .market-signal-card .market-signal-facts.is-single {
  grid-template-columns: minmax(0, 1fr) !important;
}

body :is(#market360-feed, #feed) .market-signal-card .market-signal-facts > span {
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  padding: 7px 10px !important;
  border-radius: 11px !important;
  background: rgba(4, 14, 10, .62) !important;
  border: 1px solid rgba(255, 255, 255, .14) !important;
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
}

body :is(#market360-feed, #feed) .market-signal-card .market-signal-facts small {
  color: rgba(226, 244, 236, .72) !important;
  font-size: 10.5px !important;
}

body :is(#market360-feed, #feed) .market-signal-card .market-signal-facts b {
  color: #fff !important;
  font-size: 14px !important;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  display: block;
}

body :is(#market360-feed, #feed) .market-signal-card > .market-signal-bottom {
  margin-top: 8px !important;
  padding: 0 0 14px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
  min-height: 0 !important;
  height: auto !important;
  border: 0 !important;
  background: transparent !important;
}

body :is(#market360-feed, #feed) .market-signal-card .market-signal-freshness {
  display: flex !important;
  justify-content: flex-start !important;
  gap: 4px 12px !important;
  margin: 0 !important;
  min-height: 0 !important;
  font-size: 11.5px !important;
  color: rgba(226, 244, 236, .78) !important;
}

body :is(#market360-feed, #feed) .market-signal-card .market-signal-freshness * {
  color: inherit !important;
}

body :is(#market360-feed, #feed) .market-signal-card :is(.market-signal-actions, .order-actions) {
  display: grid !important;
  grid-auto-flow: column !important;
  grid-auto-columns: minmax(0, 1fr) !important;
  grid-template-columns: none !important;
  gap: 8px !important;
  width: 100% !important;
  min-height: 0 !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}

body :is(#market360-feed, #feed) .market-signal-card .market-signal-actions:has(> .order-actions) {
  display: block !important;
}

body :is(#market360-feed, #feed) .market-signal-card :is(.market-signal-actions, .order-actions) .btn {
  width: 100% !important;
  min-width: 0 !important;
  height: 40px !important;
  min-height: 40px !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 10px !important;
  border-radius: 12px !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  white-space: nowrap !important;
  overflow: hidden;
  text-overflow: ellipsis;
  justify-content: center !important;
}

body :is(#market360-feed, #feed) .market-signal-card :is(.market-signal-actions, .order-actions) .btn-cta {
  background: linear-gradient(135deg, var(--gzp-em-lt), var(--gzp-em)) !important;
  color: #04241a !important;
  border: 0 !important;
}

body :is(#market360-feed, #feed) .market-signal-card :is(.market-signal-actions, .order-actions) .btn-light {
  background: rgba(4, 14, 10, .6) !important;
  color: #fff !important;
  border: 1px solid rgba(255, 255, 255, .28) !important;
}

body :is(#market360-feed, #feed) .market-signal-card .market-response-sent {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  height: 40px;
  border-radius: 12px;
  background: rgba(0, 229, 143, .14);
  color: var(--gzp-em-lt) !important;
  font-weight: 800;
  font-size: 13px;
}

/* сколько карточек в ряд: чем шире экран, тем больше — карточки не растягиваются */
@media (min-width: 1360px) {
  body :is(#market360-feed, #feed) > .market-signal-card {
    flex: 0 0 calc((100% - 54px) / 4) !important;
    width: calc((100% - 54px) / 4) !important;
  }
}

/* лента рынка на главной — по высоте экрана; на странице направления — своя высота */
body.direction-page #feed {
  display: flex !important;
  gap: 18px !important;
  overflow-x: auto !important;
  height: clamp(330px, calc(var(--gzp-vh, 900px) - 430px), 440px) !important;
  align-items: stretch !important;
  padding: 2px 0 6px !important;
}

body.direction-page #feed > .market-signal-card {
  height: 100% !important;
  min-height: 0 !important;
  flex: 0 0 calc((100% - 36px) / 3) !important;
  width: calc((100% - 36px) / 3) !important;
}

@media (min-width: 1360px) {
  body.direction-page #feed > .market-signal-card {
    flex-basis: calc((100% - 54px) / 4) !important;
    width: calc((100% - 54px) / 4) !important;
  }
}

@media (max-width: 1100px) {
  body.direction-page #feed > .market-signal-card {
    flex-basis: calc((100% - 18px) / 2) !important;
    width: calc((100% - 18px) / 2) !important;
  }
}

@media (max-width: 620px) {
  body.direction-page #feed > .market-signal-card {
    flex-basis: 88% !important;
    width: 88% !important;
  }

  body.direction-page #feed {
    height: 360px !important;
  }
}

body.direction-page #feed .feed-empty {
  align-self: center;
  flex: 1 1 100%;
}

/* =====================================================================
   Аналитика главной — полностью: фильтры, показатели, график, разбивка
   ===================================================================== */
body.home-page #analytics .premium-analysis-toggle {
  display: none !important;
}

body.home-page #analytics .premium-analysis-controls,
body.home-page #analytics .filter-panel {
  display: block !important;
  max-height: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  overflow: visible !important;
  margin: 0 0 10px !important;
  padding: 10px 14px !important;
  border-radius: var(--gzp-r-lg) !important;
}

body.home-page #analytics .filter-grid {
  display: flex !important;
  flex-wrap: wrap;
  justify-content: center;
  align-items: end;
  gap: 8px 12px !important;
}

body.home-page #analytics .filter-grid .field-wrap {
  flex: 0 1 190px;
  min-width: 150px;
  margin: 0 !important;
}

body.home-page #analytics .filter-grid label {
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--gzp-tx-dim) !important;
  text-align: left !important;
}

body.home-page #analytics .filter-grid :is(select, input) {
  height: 38px !important;
  min-height: 38px !important;
  border-radius: 10px !important;
  background: #fff !important;
  color: var(--gzp-tx) !important;
  border: 1px solid var(--gzp-line-2) !important;
  font-size: 14px !important;
  padding: 0 10px !important;
}

body.home-page #analytics .filter-actions {
  display: flex !important;
  justify-content: center !important;
  align-items: center;
  gap: 12px !important;
  margin-top: 8px !important;
  flex-wrap: wrap;
}

body.home-page #analytics .filter-actions .btn {
  height: 32px !important;
  min-height: 32px !important;
  padding: 0 12px !important;
  font-size: 12.5px !important;
}

body.home-page #analytics .kpi-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 10px !important;
  margin: 0 0 10px !important;
}

body.home-page #analytics .kpi {
  padding: 12px 14px !important;
  text-align: center !important;
}

body.home-page #analytics .kpi-value {
  font-size: clamp(20px, 1.8vw, 26px) !important;
  margin: 4px 0 2px !important;
}

body.home-page #analytics .premium-analytics-overview {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.6fr) minmax(0, 1fr) !important;
  gap: 10px !important;
  margin: 0 !important;
}

body.home-page #analytics .analytics-row {
  display: contents !important;
}

body.home-page #analytics .analytics-row > .analytics-card:last-child {
  display: none !important;
}

body.home-page #analytics .analytics-card,
body.home-page #analytics .premium-analytics-decision,
body.home-page #analytics .premium-analytics-chart {
  padding: 12px 14px !important;
  margin: 0 !important;
  min-height: 0 !important;
}

body.home-page #analytics .analytics-card-title {
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: .05em;
  text-transform: uppercase;
  color: var(--gzp-tx-dim) !important;
  margin-bottom: 8px !important;
  text-align: left !important;
}

body.home-page #analytics .a-bars {
  display: flex !important;
  flex-direction: column;
  gap: 6px !important;
  max-height: 150px;
  overflow: auto;
}

body.home-page #analytics .premium-analytics-chart svg {
  max-height: 96px !important;
}

body.home-page #analytics .index-row {
  display: flex !important;
  flex-wrap: wrap;
  justify-content: center;
  gap: 6px !important;
  margin-top: 10px !important;
}

/* разбивка по направлениям — в тот же ряд, что решение и график */
body.home-page #analytics .container {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.6fr) minmax(0, 1fr);
  column-gap: 10px;
}

body.home-page #analytics .container > :not(.premium-analytics-overview):not(.analytics-row) {
  grid-column: 1 / -1;
}

body.home-page #analytics .premium-analytics-overview {
  grid-column: 1 / 3;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.6fr) !important;
}

body.home-page #analytics .analytics-row > .analytics-card:first-child {
  grid-column: 3;
  grid-row: auto;
}

@media (max-width: 1100px) {
  body.home-page #analytics .container {
    display: block;
  }

  body.home-page #analytics .analytics-row {
    display: block !important;
    margin-top: 10px;
  }

  body.home-page #analytics .kpi-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* =====================================================================
   Страница направления — компактно, по центру, два экрана
   ===================================================================== */
body.direction-page .hero-page {
  margin-top: -60px !important;
  padding: calc(var(--gzp-hdr, 60px) + 14px) 0 18px !important;
}

body.direction-page .hero-page-inner {
  text-align: center !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
}

body.direction-page .dir-switcher {
  justify-content: safe center !important;
  flex-wrap: nowrap !important;
  overflow-x: auto;
  max-width: 100%;
  margin: 0 auto 12px !important;
  scrollbar-width: none;
}

body.direction-page .dir-switcher::-webkit-scrollbar {
  display: none;
}

body.direction-page .dir-switcher :is(a, button) {
  flex: none;
  padding: 6px 12px !important;
  font-size: 13px !important;
}

body.direction-page .dir-hero-head {
  justify-content: center !important;
  gap: 12px !important;
}

body.direction-page .dir-hero-head > div {
  text-align: center !important;
}

body.direction-page .hero-title-page,
body.direction-page #page-title {
  font-size: clamp(28px, 3.2vw, 44px) !important;
  text-align: center !important;
}

body.direction-page .hero-page .hero-slogan {
  text-align: center !important;
  font-size: 15px !important;
  margin-top: 4px !important;
}

body.direction-page .dir-hero-icon {
  width: 44px !important;
  height: 44px !important;
  font-size: 22px !important;
  border-radius: 13px !important;
}

body.direction-page #page-tagline {
  display: none !important;
}

body.direction-page .hero-page .quick-order {
  width: 100%;
  max-width: 1100px !important;
  margin: 12px auto 0 !important;
  padding: 10px 12px !important;
  text-align: left;
}

body.direction-page .hero-page .quick-order-label {
  display: none !important;
}

body.direction-page .hero-page .quick-order-grid {
  display: flex !important;
  flex-wrap: wrap;
  align-items: end;
  gap: 8px !important;
}

body.direction-page .hero-page .quick-order-grid > * {
  flex: 1 1 150px;
  min-width: 0;
  margin: 0 !important;
}

body.direction-page .hero-page .quick-order label {
  font-size: 10.5px !important;
  margin-bottom: 3px !important;
}

body.direction-page .hero-page .quick-order :is(.field, .btn-cta) {
  height: 40px !important;
  min-height: 40px !important;
}

/* рынок направления */
body.direction-page #orders {
  padding: 14px 0 !important;
}

body.direction-page .lean-section-head {
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
  gap: 8px !important;
  margin-bottom: 12px !important;
}

body.direction-page .lean-section-head > div {
  text-align: center !important;
}

body.direction-page .lean-section-head .section-title,
body.direction-page #orders .section-title,
body.direction-page #analytics .section-title,
body.direction-page .dir-features-section .section-title {
  font-size: clamp(22px, 2vw, 30px) !important;
  text-align: center !important;
  margin: 0 !important;
}

body.direction-page .lean-section-sub {
  margin: 4px 0 0 !important;
  font-size: 13.5px !important;
  text-align: center !important;
}

body.direction-page .lean-section-head .btn {
  height: 34px !important;
  min-height: 34px !important;
  padding: 0 14px !important;
  font-size: 13px !important;
}

/* второй экран направления: аналитика, документы, возможности, подвал */
body.direction-page #analytics {
  padding: 14px 0 !important;
}

body.direction-page #analytics .kpi-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 10px !important;
}

body.direction-page #analytics .kpi {
  padding: 10px 12px !important;
  text-align: center !important;
}

body.direction-page #analytics .kpi-value {
  font-size: 22px !important;
}

body.direction-page .lean-cabinet-docs {
  padding: 6px 0 !important;
}

body.direction-page .dir-features-section {
  padding: 10px 0 16px !important;
}

body.direction-page .dir-features-section .section-title {
  margin-bottom: 12px !important;
}

body.direction-page .dir-features-section :is(.dir-features, .dir-feature-grid, .features-grid, [class*="grid"]) {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)) !important;
  gap: 10px !important;
  justify-content: center;
}

body.direction-page .dir-features-section .card {
  padding: 12px 14px !important;
  text-align: center !important;
}

body.direction-page .dir-features-section .card i {
  margin-left: auto !important;
  margin-right: auto !important;
}

body.direction-page .site-footer {
  padding-top: 22px !important;
}

body.direction-page .site-footer a {
  line-height: 1.6 !important;
  font-size: 14px !important;
}

body.direction-page .footer-bottom {
  margin-top: 12px !important;
  padding: 10px 0 !important;
}

@media (max-width: 860px) {
  body.direction-page #analytics .kpi-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* ---------- 26a. Аналитика главной: раскладка сеткой ---------- */
body.home-page #analytics > .container {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr) minmax(0, 1fr) !important;
  grid-template-areas:
    "head head head"
    "filter filter filter"
    "kpi kpi kpi"
    "dec chart bars"
    "chips chips chips";
  gap: 10px !important;
  column-gap: 10px !important;
}

body.home-page #analytics > .container > .gzp-head { grid-area: head; margin: 0 0 2px !important; }
body.home-page #analytics > .container > .filter-panel { grid-area: filter; margin: 0 !important; }
body.home-page #analytics > .container > .kpi-grid { grid-area: kpi; display: grid !important; margin: 0 !important; }
body.home-page #analytics > .container > .premium-analytics-overview { display: contents !important; }
body.home-page #analytics > .container > .premium-analytics-overview > .premium-analytics-decision { grid-area: dec; }
body.home-page #analytics > .container > .premium-analytics-overview > .premium-analytics-chart { grid-area: chart; }
body.home-page #analytics > .container > .analytics-row { display: contents !important; }
body.home-page #analytics > .container > .analytics-row > .analytics-card:first-child { grid-area: bars; display: block !important; }
body.home-page #analytics > .container > .analytics-row > .analytics-card:last-child { display: none !important; }
body.home-page #analytics > .container > .index-row { grid-area: chips; display: flex !important; margin: 0 !important; }
body.home-page #analytics > .container > .index-row:empty { display: none !important; }
body.home-page #analytics > .container > .premium-analysis-toggle { display: none !important; }

body.home-page #analytics > .container > :is(.kpi-grid, .analytics-row, .index-row, .filter-panel) {
  visibility: visible !important;
  opacity: 1 !important;
  max-height: none !important;
}

body.home-page #analytics .a-bars {
  max-height: 110px !important;
}

@media (max-width: 1100px) {
  body.home-page #analytics > .container {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    grid-template-areas:
      "head head"
      "filter filter"
      "kpi kpi"
      "dec chart"
      "bars bars"
      "chips chips";
  }
}

@media (max-width: 620px) {
  body.home-page #analytics > .container {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-areas: "head" "filter" "kpi" "dec" "chart" "bars" "chips";
  }

  body.home-page #analytics .filter-grid .field-wrap {
    flex: 1 1 45%;
    min-width: 0;
  }
}

/* ---------- 26b. Аналитика плотнее: фильтры и выгрузка в одну полосу ---------- */
body.home-page #analytics .filter-panel {
  display: flex !important;
  flex-wrap: wrap;
  align-items: end;
  justify-content: center;
  gap: 8px 14px !important;
  padding: 8px 12px !important;
}

body.home-page #analytics .filter-grid {
  flex: 1 1 auto;
}

body.home-page #analytics .filter-grid .field-wrap {
  flex: 1 1 130px !important;
  min-width: 110px !important;
}

body.home-page #analytics .filter-grid :is(select, input) {
  height: 34px !important;
  min-height: 34px !important;
  font-size: 13px !important;
}

body.home-page #analytics .filter-actions {
  flex: none;
  margin: 0 !important;
  gap: 6px !important;
}

body.home-page #analytics .filter-actions .export-label {
  display: none;
}

body.home-page #analytics .filter-count {
  font-size: 12px !important;
}

body.home-page #analytics .kpi {
  padding: 8px 12px !important;
}

body.home-page #analytics .kpi-label {
  font-size: 10.5px !important;
}

body.home-page #analytics .kpi-value {
  font-size: clamp(18px, 1.6vw, 22px) !important;
  margin: 2px 0 !important;
}

body.home-page #analytics .kpi-note {
  font-size: 11.5px !important;
  line-height: 1.35 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

body.home-page #analytics :is(.premium-analytics-decision, .premium-analytics-chart, .analytics-card) {
  padding: 10px 12px !important;
}

body.home-page #analytics .premium-analytics-chart svg {
  max-height: 60px !important;
}

body.home-page #analytics #premium-analytics-decision-note {
  display: -webkit-box !important;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

body.home-page #analytics > .container > .index-row .index-chip {
  padding: 5px 10px !important;
  font-size: 12px !important;
}

body.home-page #analytics > .container > .index-row .index-chip :is(b, strong) {
  display: inline !important;
  margin-left: 4px;
}

body.home-page #analytics {
  padding: 10px 0 !important;
}

body.home-page #how {
  padding: 10px 0 !important;
}

body.home-page .gzp-step {
  padding: 12px 14px !important;
}

body.home-page .gzp-step-n {
  margin-bottom: 4px !important;
}

body.home-page .gzp-step p,
body.home-page .gzp-safe-card p {
  display: -webkit-box !important;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

body.home-page .gzp-safe-card {
  padding: 14px !important;
}

body.home-page #safety,
body.home-page #faq {
  padding: 12px 0 !important;
}

/* ---------- 26c. Экраны считаются от высоты окна, а не от содержимого ---------- */
@media (min-width: 861px) {
  body.home-page #directions {
    height: var(--gzp-screen) !important;
    min-height: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    padding: 14px 0 !important;
    box-sizing: border-box;
  }

  body.home-page #directions > .container {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
  }

  body.home-page #directions .gzp-head {
    flex: none;
    margin-bottom: 10px !important;
  }

  body.home-page #directions .gzp-head .gzp-lead,
  body.home-page #directions .gzp-kicker {
    display: none !important;
  }

  body.home-page #directions .dir-grid {
    flex: 1 1 auto;
    min-height: 0;
    grid-template-rows: repeat(3, minmax(0, 1fr)) !important;
  }

  body.home-page #directions .dir-card {
    height: auto !important;
    min-height: 0 !important;
  }

  /* страница направления: первый экран = шапка направления + лента */
  body.direction-page .gzp-screen-1 {
    height: calc(var(--gzp-vh, 900px) + 0px);
    min-height: 0 !important;
    justify-content: flex-start !important;
  }

  body.direction-page .gzp-screen-1 > .hero-page {
    flex: none;
  }

  body.direction-page .gzp-screen-1 > #orders {
    flex: 1 1 auto;
    min-height: 0;
    display: flex !important;
    flex-direction: column;
    padding: 10px 0 12px !important;
  }

  body.direction-page #orders > .container {
    flex: 1 1 auto;
    min-height: 0;
    display: flex !important;
    flex-direction: column;
  }

  body.direction-page #orders .feed-wrap {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
  }

  body.direction-page #orders #feed {
    height: auto !important;
    flex: 1 1 auto;
    min-height: 0;
  }
}

/* заголовок рынка направления — одной строкой с кнопками */
body.direction-page #orders .lean-section-head {
  flex-direction: row !important;
  justify-content: center !important;
  align-items: center !important;
  flex-wrap: wrap;
  gap: 6px 14px !important;
  margin-bottom: 10px !important;
}

body.direction-page #orders .lean-section-head > div {
  flex: 0 1 auto !important;
  display: flex;
  align-items: baseline;
  gap: 12px;
  flex-wrap: wrap;
  justify-content: center;
}

body.direction-page #orders .lean-section-sub {
  margin: 0 !important;
}

/* второй экран главной: безопасность, вопросы, подвал */
body.home-page #safety .gzp-head .gzp-lead {
  display: none !important;
}

body.home-page .gzp-safe-note {
  margin-top: 8px !important;
  font-size: 11.5px !important;
  max-width: 110ch;
}

body.home-page .gzp-safe-card i,
body.home-page .gzp-safe-card:nth-child(1) i {
  width: 32px !important;
  height: 32px !important;
  font-size: 16px !important;
  margin-bottom: 6px !important;
}

body.home-page #faq .faq-q {
  padding: 9px 14px !important;
  font-size: 14px !important;
}

/* подвал компактный на всех публичных страницах */
body.home-page .site-footer,
body.gzp-inner .site-footer {
  padding: 18px 0 0 !important;
}

body.home-page .footer-grid,
body.gzp-inner .footer-grid {
  gap: 10px 40px !important;
}

body.home-page .site-footer .footer-col a,
body.gzp-inner .site-footer .footer-col a {
  line-height: 1.5 !important;
  font-size: 13.5px !important;
}

body.home-page .site-footer .footer-col:nth-child(2),
body.gzp-inner .site-footer .footer-col:nth-child(2) {
  display: flex !important;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0 14px;
  align-content: flex-start;
}

body.home-page .site-footer .footer-col:nth-child(2) .footer-title,
body.gzp-inner .site-footer .footer-col:nth-child(2) .footer-title {
  flex: 1 0 100%;
}

body.home-page .footer-about,
body.gzp-inner .footer-about {
  font-size: 13px !important;
  line-height: 1.5 !important;
}

body.home-page .footer-bottom,
body.gzp-inner .footer-bottom {
  margin-top: 10px !important;
  padding: 8px 0 !important;
}

/* ---------- 26d. Невысокие экраны: второстепенные подписи уступают место ---------- */
@media (max-height: 760px) and (min-width: 861px) {
  body.home-page #analytics .kpi-note,
  body.home-page #analytics > .container > .index-row,
  body.home-page #analytics #premium-analytics-decision-note,
  body.home-page #analytics .premium-analytics-legend,
  body.home-page #how .gzp-lead {
    display: none !important;
  }

  body.home-page .gzp-step p {
    -webkit-line-clamp: 2 !important;
  }

  body.home-page .site-footer .footer-col:first-child .footer-about,
  body.gzp-inner .site-footer .footer-col:first-child .footer-about,
  body.home-page .site-footer .footer-col:first-child > a,
  body.gzp-inner .site-footer .footer-col:first-child > a {
    display: none !important;
  }

  body.home-page .gzp-safe-card p {
    -webkit-line-clamp: 2 !important;
  }

  body.direction-page .dir-features-section .card p,
  body.direction-page .dir-features-section .card :is(small, span:not(:first-child)) {
    display: -webkit-box !important;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  body.direction-page #analytics .kpi-note {
    display: none !important;
  }
}

/* планшет: аналитика и второй экран направления плотнее */
@media (max-width: 1100px) and (min-width: 861px), (min-width: 861px) and (max-width: 1100px) {
  body.home-page #analytics > .container > .index-row {
    display: none !important;
  }
}

@media (max-width: 1100px) {
  body.home-page #analytics .kpi-note,
  body.direction-page #analytics .kpi-note {
    display: none !important;
  }

  body.direction-page .dir-features-section .card {
    padding: 10px 12px !important;
  }
}

@media (max-height: 760px) and (min-width: 861px) {
  body.direction-page #analytics .lean-section-sub {
    display: none !important;
  }

  body.direction-page .lean-cabinet-docs {
    padding: 0 !important;
  }
}

@media (max-width: 1100px) and (min-width: 621px) {
  body.home-page #analytics .premium-analytics-chart svg {
    max-height: 44px !important;
  }

  body.home-page #how .gzp-lead {
    display: none !important;
  }
}

@media (min-width: 861px) {
  body.direction-page .gzp-screen-1 {
    height: calc(var(--gzp-vh, 900px) - var(--gzp-hdr, 60px)) !important;
  }
}

body.home-page .gzp-screen-b {
  background: var(--gzp-paper-2);
}

/* аналитика направления — сразу с фильтрами, без кнопки «Подробнее» */
body.direction-page #analytics .lean-filter-toggle {
  display: none !important;
}

body.direction-page #analytics .lean-section-sub {
  display: none !important;
}

body.direction-page #analytics .filter-panel {
  display: flex !important;
  flex-wrap: wrap;
  align-items: end;
  justify-content: center;
  gap: 8px 14px !important;
  padding: 8px 12px !important;
  margin: 0 0 10px !important;
  max-height: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  border-radius: var(--gzp-r-lg) !important;
}

body.direction-page #analytics .filter-grid {
  display: flex !important;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px 12px !important;
  flex: 1 1 auto;
}

body.direction-page #analytics .filter-grid .field-wrap {
  flex: 1 1 130px;
  min-width: 110px;
  margin: 0 !important;
}

body.direction-page #analytics .filter-grid label {
  font-size: 10.5px !important;
  font-weight: 800 !important;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--gzp-tx-dim) !important;
}

body.direction-page #analytics .filter-grid :is(select, input) {
  height: 34px !important;
  min-height: 34px !important;
  border-radius: 10px !important;
  background: #fff !important;
  color: var(--gzp-tx) !important;
  border: 1px solid var(--gzp-line-2) !important;
  font-size: 13px !important;
}

body.direction-page #analytics .filter-actions {
  display: flex !important;
  gap: 6px !important;
  align-items: center;
  margin: 0 !important;
}

body.direction-page #analytics .filter-actions .export-label {
  display: none;
}

body.direction-page #analytics .filter-actions .btn {
  height: 32px !important;
  min-height: 32px !important;
  padding: 0 10px !important;
  font-size: 12px !important;
}

body.direction-page .dir-features-section .card i {
  display: none !important;
}

@media (max-height: 820px) and (min-width: 861px) {
  body.direction-page .lean-cabinet-docs .card,
  body.direction-page .lean-cabinet-docs > .container > * {
    padding-top: 8px !important;
    padding-bottom: 8px !important;
    min-height: 0 !important;
  }

  body.direction-page .dir-features-section .card :is(p, small, span:not(:first-child), div:not(:first-child)) {
    display: -webkit-box !important;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  body.direction-page .site-footer .footer-col:first-child .footer-about {
    display: none !important;
  }

  body.direction-page #analytics .kpi-note {
    display: none !important;
  }
}

@media (max-height: 780px) and (min-width: 861px) {
  body.direction-page .dir-features-section .section-title {
    display: none !important;
  }

  body.direction-page .dir-features-section .card :is(p, small, span:not(:first-child), div:not(:first-child)) {
    display: none !important;
  }

  body.direction-page .lean-cabinet-docs .card small,
  body.direction-page .lean-cabinet-docs small {
    display: none !important;
  }
}

@media (max-height: 820px) and (min-width: 861px) {
  body.direction-page #analytics {
    padding: 8px 0 !important;
  }

  body.direction-page .dir-features-section {
    padding: 6px 0 10px !important;
  }
}

/* =====================================================================
   27. Окно заказа — компактное и по шагам (22.09.2026):
   слева — что за заказ и его условия, справа — ваше предложение
   и кнопка «Отправить». Всё помещается в окно без прокрутки на
   обычном ноутбуке; на телефоне — одной колонкой.
   ===================================================================== */
body:is(.home-page, .gzp-inner) .modal.modal-order-decision-v3 {
  width: min(1080px, calc(100vw - 32px)) !important;
  max-width: 1080px !important;
  max-height: calc(100vh - 40px) !important;
  border-radius: 22px !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  background: var(--gzp-paper) !important;
}

body:is(.home-page, .gzp-inner) .modal-order-decision-v3 .order-decision-head {
  padding: 12px 18px !important;
  min-height: 0 !important;
  border-bottom: 1px solid var(--gzp-line) !important;
  flex: none;
}

body:is(.home-page, .gzp-inner) .modal-order-decision-v3 .modal-title {
  font-size: 16px !important;
  font-weight: 800 !important;
}

body:is(.home-page, .gzp-inner) .modal-order-decision-v3 .order-head-sub {
  font-size: 12.5px !important;
}

body:is(.home-page, .gzp-inner) .modal-order-decision-v3 .order-decision-body {
  flex: 1 1 auto;
  min-height: 0;
  overflow: auto !important;
  padding: 12px 18px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 330px;
  grid-template-areas:
    "summary offer"
    "group offer"
    "main offer";
  grid-template-rows: auto auto 1fr;
  gap: 10px 14px !important;
  align-items: start;
}

/* 1. что за заказ */
body:is(.home-page, .gzp-inner) .modal-order-decision-v3 .decision-summary-v3 {
  grid-area: summary;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  grid-template-areas: "main rate" "metrics metrics";
  gap: 8px 12px !important;
  padding: 12px 14px !important;
  margin: 0 !important;
  border-radius: 16px !important;
  background: #fff !important;
  border: 1px solid var(--gzp-line) !important;
}

body:is(.home-page, .gzp-inner) .modal-order-decision-v3 .decision-summary-main {
  grid-area: main;
  padding: 0 !important;
  background: none !important;
  border: 0 !important;
  min-width: 0;
}

body:is(.home-page, .gzp-inner) .modal-order-decision-v3 .decision-tags {
  margin-bottom: 4px !important;
  gap: 4px !important;
}

body:is(.home-page, .gzp-inner) .modal-order-decision-v3 :is(.detail-tag, .order-status-chip) {
  font-size: 11.5px !important;
  padding: 2px 8px !important;
}

body:is(.home-page, .gzp-inner) .modal-order-decision-v3 .decision-title {
  font-size: 19px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  margin: 0 0 4px !important;
}

body:is(.home-page, .gzp-inner) .modal-order-decision-v3 .decision-summary-main :is(.gz-route, [class*="route"]) {
  font-size: 13px !important;
}

body:is(.home-page, .gzp-inner) .modal-order-decision-v3 .decision-rate-v3 {
  grid-area: rate;
  padding: 10px 14px !important;
  margin: 0 !important;
  border-radius: 14px !important;
  background: rgba(0, 176, 106, .08) !important;
  border: 1px solid rgba(0, 176, 106, .25) !important;
  min-width: 190px;
  text-align: left;
  align-self: start;
}

body:is(.home-page, .gzp-inner) .modal-order-decision-v3 .decision-rate-v3 .decision-label {
  font-size: 10.5px !important;
  letter-spacing: .06em;
}

body:is(.home-page, .gzp-inner) .modal-order-decision-v3 .decision-rate-v3 :is(strong, b, .order-rate-main) {
  font-size: 20px !important;
}

body:is(.home-page, .gzp-inner) .modal-order-decision-v3 .decision-rate-v3 small {
  font-size: 11.5px !important;
  display: block;
  margin-top: 2px;
}

body:is(.home-page, .gzp-inner) .modal-order-decision-v3 .decision-metrics-v3 {
  grid-area: metrics;
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(110px, 1fr)) !important;
  gap: 6px !important;
  margin: 0 !important;
  padding: 0 !important;
  background: none !important;
  border: 0 !important;
}

body:is(.home-page, .gzp-inner) .modal-order-decision-v3 .decision-metric {
  padding: 6px 10px !important;
  border-radius: 10px !important;
  background: var(--gzp-paper-2) !important;
  border: 0 !important;
  min-height: 0 !important;
}

body:is(.home-page, .gzp-inner) .modal-order-decision-v3 .decision-metric span {
  font-size: 10px !important;
  letter-spacing: .05em;
}

body:is(.home-page, .gzp-inner) .modal-order-decision-v3 .decision-metric strong {
  font-size: 13.5px !important;
}

body:is(.home-page, .gzp-inner) .modal-order-decision-v3 #od-market-group {
  grid-area: group;
  margin: 0 !important;
}

/* 2. условия заказа */
body:is(.home-page, .gzp-inner) .modal-order-decision-v3 .decision-layout-v3 {
  display: contents !important;
}

body:is(.home-page, .gzp-inner) .modal-order-decision-v3 .decision-main-v3 {
  grid-area: main;
  display: flex !important;
  flex-direction: column;
  gap: 8px !important;
  min-width: 0;
}

body:is(.home-page, .gzp-inner) .modal-order-decision-v3 .decision-section {
  padding: 10px 12px !important;
  margin: 0 !important;
  border-radius: 14px !important;
  background: #fff !important;
  border: 1px solid var(--gzp-line) !important;
}

body:is(.home-page, .gzp-inner) .modal-order-decision-v3 .decision-section-title {
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--gzp-tx-dim) !important;
  margin-bottom: 6px !important;
}

body:is(.home-page, .gzp-inner) .modal-order-decision-v3 :is(.decision-params, .decision-notes) {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)) !important;
  gap: 6px !important;
}

body:is(.home-page, .gzp-inner) .modal-order-decision-v3 :is(.decision-params, .decision-notes) > * {
  padding: 6px 10px !important;
  border-radius: 10px !important;
  background: var(--gzp-paper-2) !important;
  border: 0 !important;
  min-height: 0 !important;
  font-size: 13px !important;
}

body:is(.home-page, .gzp-inner) .modal-order-decision-v3 :is(.decision-params, .decision-notes) > * :is(span, small, label):first-child {
  font-size: 10px !important;
  letter-spacing: .05em;
}

body:is(.home-page, .gzp-inner) .modal-order-decision-v3 .order-files-card {
  padding: 8px 12px !important;
  margin: 0 !important;
  border-radius: 12px !important;
  background: #fff !important;
  border: 1px solid var(--gzp-line) !important;
}

body:is(.home-page, .gzp-inner) .modal-order-decision-v3 .order-files-card summary {
  font-size: 13px !important;
  cursor: pointer;
}

body:is(.home-page, .gzp-inner) .modal-order-decision-v3 .decision-main-v3 > :last-child:not(.decision-section):not(.order-files-card) {
  font-size: 11.5px !important;
  padding: 8px 10px !important;
  margin: 0 !important;
  line-height: 1.45 !important;
}

/* 3. ваше предложение */
body:is(.home-page, .gzp-inner) .modal-order-decision-v3 .decision-offer-v3 {
  grid-area: offer;
  position: sticky;
  top: 0;
  padding: 12px 14px !important;
  margin: 0 !important;
  border-radius: 16px !important;
  background: #fff !important;
  border: 1px solid rgba(0, 176, 106, .3) !important;
  box-shadow: var(--gzp-sh-1) !important;
}

body:is(.home-page, .gzp-inner) .modal-order-decision-v3 .decision-offer-head {
  gap: 8px !important;
  margin-bottom: 8px !important;
  align-items: center !important;
}

body:is(.home-page, .gzp-inner) .modal-order-decision-v3 .decision-offer-title {
  font-size: 15px !important;
}

body:is(.home-page, .gzp-inner) .modal-order-decision-v3 .decision-offer-sub {
  font-size: 11.5px !important;
}

body:is(.home-page, .gzp-inner) .modal-order-decision-v3 .decision-quick-rate {
  font-size: 12.5px !important;
  padding: 6px 10px !important;
  border-radius: 10px !important;
  white-space: nowrap;
}

body:is(.home-page, .gzp-inner) .modal-order-decision-v3 .decision-offer-form {
  display: flex !important;
  flex-direction: column;
  gap: 8px !important;
}

body:is(.home-page, .gzp-inner) .modal-order-decision-v3 .decision-offer-form .form-field {
  margin: 0 !important;
}

body:is(.home-page, .gzp-inner) .modal-order-decision-v3 .decision-offer-form label {
  font-size: 12px !important;
  margin-bottom: 3px !important;
}

body:is(.home-page, .gzp-inner) .modal-order-decision-v3 .decision-offer-form :is(input, textarea) {
  min-height: 38px !important;
  height: auto !important;
  font-size: 14px !important;
  padding: 7px 10px !important;
  border-radius: 10px !important;
  background: var(--gzp-paper-2) !important;
  color: var(--gzp-tx) !important;
  border: 1px solid var(--gzp-line-2) !important;
}

body:is(.home-page, .gzp-inner) .modal-order-decision-v3 .decision-offer-form textarea {
  min-height: 60px !important;
  resize: vertical;
}

body:is(.home-page, .gzp-inner) .modal-order-decision-v3 .decision-term-chips button {
  padding: 4px 10px !important;
  font-size: 12px !important;
  min-height: 0 !important;
}

body:is(.home-page, .gzp-inner) .modal-order-decision-v3 .decision-offer-hint {
  font-size: 11.5px !important;
  padding: 6px 8px !important;
  margin: 0 !important;
}

body:is(.home-page, .gzp-inner) .modal-order-decision-v3 .decision-submit {
  height: 42px !important;
  min-height: 42px !important;
  width: 100% !important;
  border-radius: 12px !important;
  background: linear-gradient(135deg, var(--gzp-em-lt), var(--gzp-em)) !important;
  color: #04241a !important;
  font-weight: 800 !important;
}

/* низ окна: «К предложению» не нужна — форма уже видна справа */
body:is(.home-page, .gzp-inner) .modal-order-decision-v3 .order-decision-foot {
  padding: 10px 18px !important;
  flex: none;
  gap: 8px !important;
  border-top: 1px solid var(--gzp-line) !important;
}

body:is(.home-page, .gzp-inner) .modal-order-decision-v3 .order-decision-foot .btn {
  height: 38px !important;
  min-height: 38px !important;
  padding: 0 14px !important;
  border-radius: 11px !important;
  font-size: 13.5px !important;
}

@media (min-width: 861px) {
  body:is(.home-page, .gzp-inner) .modal-order-decision-v3 #dt-respond {
    display: none !important;
  }
}

/* телефон: одной колонкой — заказ, условия, предложение */
@media (max-width: 860px) {
  body:is(.home-page, .gzp-inner) .modal-order-decision-v3 .order-decision-body {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "summary" "group" "main" "offer";
    padding: 10px 12px !important;
  }

  body:is(.home-page, .gzp-inner) .modal-order-decision-v3 .decision-summary-v3 {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-areas: "main" "rate" "metrics";
  }

  body:is(.home-page, .gzp-inner) .modal-order-decision-v3 .decision-offer-v3 {
    position: static;
  }

  body:is(.home-page, .gzp-inner) .modal-order-decision-v3 .decision-metrics-v3 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* ---------- 27a. Окно заказа плотнее: цифры — под ставкой, условия — рядом ---------- */
@media (min-width: 861px) {
  body:is(.home-page, .gzp-inner) .modal-order-decision-v3 .decision-summary-v3 {
    grid-template-columns: minmax(0, 1fr) minmax(260px, 340px) !important;
    grid-template-areas: "main rate" "main metrics" !important;
    grid-template-rows: auto 1fr;
  }

  body:is(.home-page, .gzp-inner) .modal-order-decision-v3 .decision-metrics-v3 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    align-content: start;
  }

  body:is(.home-page, .gzp-inner) .modal-order-decision-v3 .decision-main-v3 {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
  }

  body:is(.home-page, .gzp-inner) .modal-order-decision-v3 .decision-main-v3 > :not(.decision-section) {
    grid-column: 1 / -1;
  }

  body:is(.home-page, .gzp-inner) .modal-order-decision-v3 .decision-main-v3 > .decision-section:only-of-type {
    grid-column: 1 / -1;
  }

  body:is(.home-page, .gzp-inner) .modal-order-decision-v3 :is(.decision-params, .decision-notes) {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

body:is(.home-page, .gzp-inner) .modal-order-decision-v3 .order-files-card {
  padding: 6px 12px !important;
}

body:is(.home-page, .gzp-inner) .modal-order-decision-v3 .order-files-card summary {
  min-height: 0 !important;
  padding: 2px 0 !important;
}

body:is(.home-page, .gzp-inner) .modal-order-decision-v3 .gz-operator-notice {
  padding: 5px 10px !important;
  font-size: 11px !important;
  line-height: 1.35 !important;
}

body:is(.home-page, .gzp-inner) .modal-order-decision-v3 .decision-metric {
  padding: 5px 9px !important;
}

/* =====================================================================
   28. Прилипание к экранам действительно включено (22.09.2026).
   ui-system.css выключал его у html правилом с !important — поэтому
   экраны на живом сайте наезжали друг на друга.
   ===================================================================== */
@media (min-width: 861px) {
  html:has(body.home-page),
  html:has(body.direction-page) {
    /* прилипание CSS выключено: экранами листает premium-2250.js (надёжнее) */
    scroll-snap-type: none !important;
    scroll-padding-top: var(--gzp-hdr, 66px) !important;
    scroll-behavior: auto !important;
  }

  body.home-page .hero,
  body.home-page #directions,
  body.home-page #services,
  body.home-page .gzp-screen,
  body.direction-page .gzp-screen {
    scroll-snap-align: start !important;
    scroll-snap-stop: always;
  }

  body.home-page .hero,
  body.direction-page .gzp-screen-1 {
    scroll-margin-top: var(--gzp-hdr, 66px);
  }
}

/* =====================================================================
   29. Окна и карточки рынка (22.09.2026, замечания владельца)
   ===================================================================== */

/* ---------- все окна: не выше экрана, кнопки всегда видны ---------- */
body:is(.home-page, .gzp-inner) .modal-overlay {
  align-items: center !important;
  padding: 16px !important;
  box-sizing: border-box;
}

body:is(.home-page, .gzp-inner) .modal-overlay > .modal {
  max-height: calc(100vh - 32px) !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
  margin: auto !important;
}

body:is(.home-page, .gzp-inner) .modal-overlay > .modal > :is(.modal-head, .modal-foot) {
  flex: none !important;
}

body:is(.home-page, .gzp-inner) .modal-overlay > .modal > .modal-body {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  overflow-y: auto !important;
  overscroll-behavior: contain;
}

body:is(.home-page, .gzp-inner) .modal-overlay > .modal > .modal-foot {
  padding-top: 10px !important;
  padding-bottom: 10px !important;
  border-top: 1px solid var(--gzp-line) !important;
  background: inherit;
}

/* окна откликов «Свои условия»: маршрут и поля плотнее */
body:is(.home-page, .gzp-inner) :is(.market-direct-response-body, .respond-body-v5) {
  padding: 12px 16px !important;
}

body:is(.home-page, .gzp-inner) :is(.market-direct-response-body, .respond-body-v5) :is(.market-direct-context, .respond-route-v6, .quick-accept-route) {
  padding: 10px 12px !important;
  margin-bottom: 8px !important;
  font-size: 13px !important;
}

body:is(.home-page, .gzp-inner) :is(.market-direct-response-body, .respond-body-v5) :is(.market-direct-grid, .respond-grid-v5) {
  gap: 8px 10px !important;
}

body:is(.home-page, .gzp-inner) :is(.market-direct-response-body, .respond-body-v5) label {
  font-size: 12px !important;
  margin-bottom: 3px !important;
}

body:is(.home-page, .gzp-inner) :is(.market-direct-response-body, .respond-body-v5) :is(input, textarea, select) {
  min-height: 38px !important;
  height: auto !important;
  padding: 7px 10px !important;
  font-size: 14px !important;
}

body:is(.home-page, .gzp-inner) :is(.market-direct-response-body, .respond-body-v5) textarea {
  min-height: 56px !important;
}

body:is(.home-page, .gzp-inner) :is(.market-direct-response-body, .respond-body-v5) :is(.quick-accept-note, .respond-hint-v5) {
  padding: 7px 10px !important;
  font-size: 12px !important;
  margin: 6px 0 0 !important;
}

/* ---------- карточка рынка: метки сверху, текст снизу — без наложения ---------- */
body :is(#market360-feed, #feed) > .market-signal-card {
  justify-content: flex-start !important;
}

/* метки — обычной строкой сверху, а не поверх текста */
body :is(#market360-feed, #feed) .market-signal-card .market-signal-top {
  position: relative !important;
  inset: auto !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  flex: none !important;
  margin: 12px 12px 0 !important;
  order: 0;
}

/* всё остальное прижато к низу; фото видно в промежутке */
body :is(#market360-feed, #feed) .market-signal-card > .market-signal-main {
  margin-top: auto !important;
  padding-top: 10px !important;
}

body :is(#market360-feed, #feed) .market-signal-card h3 {
  -webkit-line-clamp: 1 !important;
  font-size: 17px !important;
}

/* маршрут / место — не больше двух строк, названия не наезжают */
body :is(#market360-feed, #feed) .market-signal-card .market-signal-route {
  max-height: 44px;
  overflow: hidden;
  margin-top: 4px !important;
  line-height: 1.35 !important;
}

body :is(#market360-feed, #feed) .market-signal-card .market-signal-route :is(.gz-route-point, [class*="point"]) {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

body :is(#market360-feed, #feed) .market-signal-card .market-signal-facts {
  margin-top: 8px !important;
}

body :is(#market360-feed, #feed) .market-signal-card .market-signal-facts b {
  white-space: nowrap !important;
}

body :is(#market360-feed, #feed) .market-signal-card > .market-signal-bottom {
  margin-top: 8px !important;
  padding-bottom: 12px !important;
}

/* низкая карточка — прячем второстепенное, кнопки остаются */
@media (max-height: 820px) {
  body :is(#market360-feed, #feed) .market-signal-card .market-signal-freshness {
    display: none !important;
  }
}

/* маршрут в карточке: две ровные строки «откуда» и «куда» */
body :is(#market360-feed, #feed) .market-signal-card .gz-route-text {
  display: flex !important;
  align-items: baseline;
  gap: 6px;
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
}

body :is(#market360-feed, #feed) .market-signal-card .gz-route-place {
  overflow: hidden;
  text-overflow: ellipsis;
  flex: 0 1 auto;
  min-width: 0;
}

body :is(#market360-feed, #feed) .market-signal-card :is(.gz-route-area, .gz-route-km) {
  flex: none;
  font-size: 11.5px !important;
  opacity: .85;
}

body :is(#market360-feed, #feed) .market-signal-card .gz-route-km {
  margin-left: auto;
  color: var(--gzp-em-lt) !important;
}

body :is(#market360-feed, #feed) .market-signal-card .gz-route-stop {
  min-width: 0;
}

/* =====================================================================
   30. Компактно (22.09.2026, «громадные, не адаптированы»):
   плитки и карточки — фиксированного разумного размера, а не на всю
   высоту экрана; экран держит содержимое по центру.
   ===================================================================== */

/* ---------- направления: плитки 3 × 3 умеренной высоты ---------- */
@media (min-width: 861px) {
  body.home-page #directions {
    justify-content: center !important;
  }

  body.home-page #directions > .container {
    flex: none !important;
    max-width: 1180px !important;
  }

  body.home-page #directions .dir-grid {
    flex: none !important;
    grid-template-rows: none !important;
    gap: 12px !important;
  }

  body.home-page #directions .dir-card {
    height: clamp(120px, calc((var(--gzp-vh, 900px) - 260px) / 3), 180px) !important;
  }
}

body.home-page #directions .dir-title {
  font-size: 17px !important;
}

body.home-page #directions .dir-card-body {
  padding: 12px 16px !important;
}

body.home-page #directions .dir-go {
  padding: 5px 12px 5px 14px !important;
  font-size: 12px !important;
}

/* ---------- рынок: компактные карточки одинакового размера ---------- */
body :is(#market360-feed, #feed) > .market-signal-card {
  height: 300px !important;
  min-height: 300px !important;
  max-height: 300px !important;
}

@media (min-width: 1200px) {
  body :is(#market360-feed, #feed) > .market-signal-card {
    flex: 0 0 calc((100% - 42px) / 4) !important;
    width: calc((100% - 42px) / 4) !important;
  }
}

@media (min-width: 861px) and (max-width: 1199px) {
  body :is(#market360-feed, #feed) > .market-signal-card {
    flex: 0 0 calc((100% - 28px) / 3) !important;
    width: calc((100% - 28px) / 3) !important;
  }
}

@media (min-width: 621px) and (max-width: 860px) {
  body :is(#market360-feed, #feed) > .market-signal-card {
    flex: 0 0 calc((100% - 14px) / 2) !important;
    width: calc((100% - 14px) / 2) !important;
  }
}

@media (max-width: 620px) {
  body :is(#market360-feed, #feed) > .market-signal-card {
    flex: 0 0 82% !important;
    width: 82% !important;
    height: 290px !important;
    min-height: 290px !important;
    max-height: 290px !important;
  }
}

body :is(#market360-feed, #feed) {
  gap: 14px !important;
  height: auto !important;
  align-items: flex-start !important;
}

body :is(#market360-feed, #feed) .market-signal-card h3 {
  font-size: 15.5px !important;
  -webkit-line-clamp: 2 !important;
}

body :is(#market360-feed, #feed) .market-signal-card .market-signal-route {
  font-size: 12px !important;
}

body :is(#market360-feed, #feed) .market-signal-card .market-signal-facts > span {
  padding: 5px 8px !important;
}

body :is(#market360-feed, #feed) .market-signal-card .market-signal-facts b {
  font-size: 13px !important;
}

body :is(#market360-feed, #feed) .market-signal-card .market-signal-facts small {
  font-size: 9.5px !important;
}

body :is(#market360-feed, #feed) .market-signal-card :is(.market-signal-actions, .order-actions) .btn {
  height: 36px !important;
  min-height: 36px !important;
  font-size: 12.5px !important;
}

body :is(#market360-feed, #feed) .market-signal-card .market-signal-freshness {
  display: none !important;
}

body :is(#market360-feed, #feed) .market-signal-card :is(.market-signal-kind, .market-signal-source, .market-signal-urgent) {
  font-size: 10.5px !important;
  padding: 3px 8px !important;
}

/* главная: рынок — не во всю высоту, содержимое по центру экрана */
@media (min-width: 861px) {
  body.home-page #market360 {
    height: auto !important;
    min-height: calc(var(--gzp-screen) - var(--gzp-svc-h)) !important;
    justify-content: center !important;
  }

  body.home-page #market360 > .container {
    flex: none !important;
  }

  body.home-page #market360 .market-rail {
    flex: none !important;
  }

  body.home-page #market360-feed {
    flex: none !important;
  }

  body.home-page #market360 .market360-types {
    display: flex !important;
  }

  /* страница направления: лента — своей высоты, экран по центру */
  body.direction-page .gzp-screen-1 > #orders,
  body.direction-page #orders > .container,
  body.direction-page #orders .feed-wrap,
  body.direction-page #orders #feed {
    flex: none !important;
  }

  body.direction-page .gzp-screen-1 {
    justify-content: flex-start !important;
  }

  body.direction-page .gzp-screen-1 > #orders {
    margin-block: auto;
  }
}

@media (max-height: 760px) and (min-width: 861px) {
  body :is(#market360-feed, #feed) > .market-signal-card {
    height: 270px !important;
    min-height: 270px !important;
    max-height: 270px !important;
  }

  body.home-page #market360 .market360-types {
    display: none !important;
  }
}

body :is(#market360-feed, #feed) .market-signal-card .market-signal-facts > span {
  min-width: 0 !important;
  overflow: hidden !important;
}

body :is(#market360-feed, #feed) .market-signal-card .market-signal-facts b {
  display: block !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

@media (min-width: 861px) {
  body.direction-page .gzp-screen-1 > #orders {
    margin-block: 0 !important;
    flex: 1 1 auto !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
  }
}

/* Шапка страниц направлений и услуг закреплена всегда (режим «прилипания» не
   работал: у body свой режим прокрутки, и шапка уезжала вместе со страницей). */
body:is(.direction-page, .service-page) .site-header {
  position: fixed !important;
  top: 0 !important;
  left: 0;
  right: 0;
  width: 100%;
}

body:is(.direction-page, .service-page) .hero-page {
  margin-top: 0 !important;
}

@media (min-width: 861px) {
  body.direction-page .gzp-screen-1 {
    height: var(--gzp-vh, 900px) !important;
  }
}

/* значки возможностей направления — видны */
body.direction-page .dir-features-section .card i {
  display: inline-block !important;
}

/* =====================================================================
   31. Подгонка экранов под окно (22.09.2026). Во время замера premium-2250.js
   ставит этот класс — экран принимает естественную высоту содержимого.
   ===================================================================== */
body .gzp-measure {
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  zoom: 1 !important;
}

/* подогнанные экраны — сверху вниз без растягивания частей */
body.home-page #market360.gzp-measure,
body.direction-page .gzp-screen-1.gzp-measure > #orders {
  flex: none !important;
}

/* =====================================================================
   32. Окна «Свои условия» и «Заказ» без прокрутки внутри (22.09.2026).
   Две колонки: слева — что за заказ (маршрут, условия, состав
   исполнения), справа — ваше предложение. Порядок действий слева
   направо, как читается.
   ===================================================================== */
@media (min-width: 861px) {
  body:is(.home-page, .gzp-inner) .modal:has(.respond-body-v5) {
    width: min(1080px, calc(100vw - 32px)) !important;
    max-width: 1080px !important;
  }

  body:is(.home-page, .gzp-inner) .respond-body-v5 {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr);
    grid-auto-flow: dense;
    align-items: start;
    gap: 10px 16px !important;
  }

  body:is(.home-page, .gzp-inner) .respond-body-v5 > :is(.respond-route-v6, .respond-summary-v5, .response-composition) {
    grid-column: 1;
    margin: 0 !important;
  }

  body:is(.home-page, .gzp-inner) .respond-body-v5 > .respond-grid-v5 {
    grid-column: 2;
    grid-row: 1 / span 3;
    margin: 0 !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body:is(.home-page, .gzp-inner) .respond-body-v5 > .respond-hint-v5 {
    grid-column: 1 / -1;
    margin: 0 !important;
  }

  /* сводка заказа — два столбца, а не четыре в строку */
  body:is(.home-page, .gzp-inner) .respond-summary-v5 {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 6px 10px !important;
    padding: 8px 10px !important;
    border-radius: 12px;
    background: var(--gzp-paper-2);
  }

  body:is(.home-page, .gzp-inner) .respond-summary-v5 > * {
    min-width: 0;
  }

  body:is(.home-page, .gzp-inner) .respond-summary-v5 :is(small, span:first-child, label) {
    font-size: 10.5px !important;
  }

  body:is(.home-page, .gzp-inner) .respond-summary-v5 :is(b, strong) {
    font-size: 13.5px !important;
  }

  /* состав исполнения — плотнее */
  body:is(.home-page, .gzp-inner) .response-composition {
    padding: 8px 10px !important;
  }

  body:is(.home-page, .gzp-inner) .response-composition-head {
    margin-bottom: 6px !important;
  }

  body:is(.home-page, .gzp-inner) .response-composition-modes {
    gap: 6px !important;
  }

  body:is(.home-page, .gzp-inner) .response-composition-modes > * {
    padding: 6px 8px !important;
  }

  body:is(.home-page, .gzp-inner) .response-composition :is(input, select) {
    min-height: 36px !important;
  }

  /* поля предложения: комментарий на всю ширину колонки */
  body:is(.home-page, .gzp-inner) .respond-grid-v5 .form-field.full,
  body:is(.home-page, .gzp-inner) .respond-grid-v5 .form-field:last-child {
    grid-column: 1 / -1;
  }

  body:is(.home-page, .gzp-inner) .respond-grid-v5 .form-field {
    margin: 0 !important;
  }

  body:is(.home-page, .gzp-inner) .respond-grid-v5 .respond-field-context,
  body:is(.home-page, .gzp-inner) .respond-grid-v5 .form-field > small {
    font-size: 11px !important;
    margin-top: 2px !important;
  }

  /* маршрут в окне — компактный */
  body:is(.home-page, .gzp-inner) .respond-route-v6 .gz-route {
    font-size: 13px !important;
  }

  /* окно заказа: параметры и примечания в две колонки внутри блока */
  body:is(.home-page, .gzp-inner) .modal-order-decision-v3 :is(.decision-params, .decision-notes) {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body:is(.home-page, .gzp-inner) .modal-order-decision-v3 .decision-main-v3 {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body:is(.home-page, .gzp-inner) .modal-order-decision-v3 .decision-summary-main .gz-route {
    font-size: 12.5px !important;
  }

  body:is(.home-page, .gzp-inner) .modal-order-decision-v3 .decision-offer-form textarea {
    min-height: 44px !important;
  }
}

/* окно заказа: условия и примечания рядом, файлы и сноска одной строкой */
@media (min-width: 861px) {
  body:is(.home-page, .gzp-inner) .modal-order-decision-v3 .decision-main-v3 {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    align-items: start;
    gap: 8px !important;
  }

  body:is(.home-page, .gzp-inner) .modal-order-decision-v3 .decision-main-v3 > .decision-section:only-of-type {
    grid-column: 1 / -1;
  }

  body:is(.home-page, .gzp-inner) .modal-order-decision-v3 .decision-main-v3 > :is(.order-files-card, .gz-operator-notice) {
    grid-column: auto !important;
    align-self: stretch;
    margin: 0 !important;
  }

  body:is(.home-page, .gzp-inner) .modal-order-decision-v3 .decision-metrics-v3 {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  body:is(.home-page, .gzp-inner) .modal-order-decision-v3 .decision-summary-v3 {
    grid-template-columns: minmax(0, 1fr) minmax(300px, 380px) !important;
  }
}

/* ---------- 2.32.0: «Срочно» в общем ряду меток и заметная срочная карточка ---------- */
body :is(#market360-feed, #feed, #svc-feed) .market-signal-card.is-urgent .market-signal-top {
  flex-wrap: wrap !important;
  row-gap: 4px !important;
}
body :is(#market360-feed, #feed, #svc-feed) .market-signal-card.is-urgent .market-signal-urgent {
  position: static !important;
  top: auto !important;
  left: auto !important;
  order: -1 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 3px !important;
  background: #ff7a1a !important;
  color: #fff !important;
  border: 1px solid #ff9b4f !important;
  box-shadow: 0 0 0 3px rgba(255, 122, 26, .25) !important;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}
body :is(#market360-feed, #feed, #svc-feed) .market-signal-card.is-urgent .market-signal-urgent i { color: #fff !important; }
/* рамка срочной карточки — поверх фото, клики не перехватывает */
body :is(#market360-feed, #feed, #svc-feed) > .market-signal-card.is-urgent::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  border: 2px solid #ff8a1f !important;
  border-radius: inherit !important;
  box-shadow: inset 0 0 28px rgba(255, 138, 31, .35) !important;
  pointer-events: none !important;
  z-index: 3 !important;
  display: block !important;
}
/* копии карточек бесконечной ленты не реагируют на наведение */
body .gz-loop-clone { pointer-events: none; }
/* 2.32.0 (по просьбе владельца): СРОЧНО — крупно, заглавными; рамка толще и со свечением */
body :is(#market360-feed, #feed, #svc-feed) .market-signal-card.is-urgent .market-signal-urgent {
  font-size: 14px !important;
  font-weight: 900 !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
  padding: 5px 12px !important;
  line-height: 1.1 !important;
}
body :is(#market360-feed, #feed, #svc-feed) .market-signal-card.is-urgent .market-signal-urgent i { font-size: 15px !important; }
body :is(#market360-feed, #feed, #svc-feed) > .market-signal-card.is-urgent::after {
  border: 3px solid #ff7a1a !important;
  box-shadow: inset 0 0 0 1px rgba(255, 190, 120, .55), inset 0 0 34px rgba(255, 122, 26, .45) !important;
}
/* 2.33.0 (по просьбе владельца): рамка срочных — толще, 6 px, со свечением внутрь */
body :is(#market360-feed, #feed, #svc-feed) > .market-signal-card.is-urgent::after {
  border: 6px solid #ff7a1a !important;
  box-shadow: inset 0 0 0 1px rgba(255, 200, 140, .7), inset 0 0 42px rgba(255, 122, 26, .5) !important;
}
