/* =========================================================
   ТОРГИЭКСПЕРТ — базовые стили
   1. Reset
   2. Переменные (цвет, типографика, сетка)
   3. Типографика
   4. Утилиты и общие компоненты
   5. Фоновый декор
   ========================================================= */

/* ---------- 1. RESET ---------- */
*, *::before, *::after { box-sizing: border-box; }
* { margin: 0; padding: 0; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body { min-height: 100vh; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
img, svg, video { display: block; max-width: 100%; }
img { height: auto; }
input, button, textarea, select { font: inherit; color: inherit; }
button { background: none; border: 0; cursor: pointer; }
ul, ol { list-style: none; }
a { color: inherit; text-decoration: none; }
table { border-collapse: collapse; }
:focus-visible { outline: 2px solid var(--teal); outline-offset: 3px; border-radius: 4px; }

/* ---------- 2. ПЕРЕМЕННЫЕ ---------- */
:root {
  /* Цвет */
  --navy:        #0A1A1F;   /* фон страницы */
  --navy-deep:   #061216;   /* подложки, футер */
  --canvas:      #F2F7F6;   /* основной светлый текст */
  --ice:         #A8C0C4;   /* вторичный текст */
  --teal:        #1B9C96;   /* акцент */
  --teal-light:  #27B8B1;   /* акцент: hover */
  --teal-deep:   #0E6963;   /* тёмная бирюза: тени, обводки */

  /* Кнопки: светлая полупрозрачная заливка, акцент остаётся на подошве */
  --btn-face:       rgba(34,179,172,.94);
  --btn-face-hover: rgba(45,196,188,.98);
  --btn-text:       #05231F;
  --btn-text-soft:  #0A4F4A;

  /* Прозрачные производные */
  --line:        rgba(255,255,255,.10);
  --line-soft:   rgba(255,255,255,.05);
  /* Стекло: непрозрачная основа + подсветка, фон сквозь плашки не просвечивает */
  --glass:        rgba(15,36,42,.88);
  --glass-strong: rgba(20,46,53,.92);
  --glass-blur:   blur(20px) saturate(135%);
  --glass-line:   rgba(255,255,255,.12);
  --glass-line-strong: rgba(255,255,255,.17);
  --glow:         0 0 0 1px rgba(34,179,172,.35), 0 18px 46px rgba(27,156,150,.22);

  /* Типографика */
  --font-display: 'Manrope', 'Segoe UI', system-ui, sans-serif;
  --font-body:    'Manrope', 'Segoe UI', system-ui, sans-serif;
  --font-mono:    'JetBrains Mono', 'SFMono-Regular', Consolas, monospace;
  --font-hand:    'Caveat', cursive;

  /* Сетка */
  --container: 1152px;      /* max-w-6xl */
  --container-narrow: 896px;/* max-w-4xl */
  --gutter: 24px;
  --section-y: 50px;        /* вертикальные отступы секций */
  --radius: 14px;
  --radius-lg: 18px;

  /* Тени */
  --shadow-card: 0 20px 50px rgba(0,0,0,.45);
  --shadow-cta:  0 8px 30px rgba(27,156,150,.35);
}

/* ---------- 3. ТИПОГРАФИКА ---------- */
body {
  font-family: var(--font-body);
  font-size: 17px;
  line-height: 1.7;
  color: var(--ice);
  background: var(--navy);
}

h1, h2, h3, h4 { font-family: var(--font-display); color: var(--canvas); }
h1 { font-weight: 600; font-size: clamp(1.6rem, 4vw, 3.25rem); line-height: 1.08; letter-spacing: -.02em; }
h2 { font-weight: 700; font-size: clamp(1.4rem, 3vw, 2.35rem); line-height: 1.12; letter-spacing: -.02em; }
h3 { font-weight: 600; font-size: 1.125rem; line-height: 1.3; }
h4 { font-weight: 600; font-size: 1.05rem; line-height: 1.35; }

p { max-width: 72ch; }
strong { color: var(--canvas); font-weight: 600; }

/* Служебные текстовые роли */
.mono {
  font-family: var(--font-mono);
  font-size: .7rem;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--teal);
}
.hand {
  font-family: var(--font-hand);
  font-size: 1.6rem;
  line-height: 1.15;
  color: rgba(27,156,150,.9);
}
.accent { color: var(--teal); }
.bright { color: var(--canvas); }
.muted  { color: rgba(168,192,196,.7); }

/* ---------- 4. УТИЛИТЫ ---------- */
.page { position: relative; z-index: 1; }

.container {
  width: 100%;
  max-width: var(--container);
  margin-inline: auto;
  padding-inline: var(--gutter);
}
.container--narrow { max-width: var(--container-narrow); }

.visually-hidden {
  position: absolute; width: 1px; height: 1px;
  margin: -1px; padding: 0; overflow: hidden;
  clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}

/* Появление элементов при скролле: выплывают снизу по очереди */
.reveal {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity .65s cubic-bezier(.2,.8,.3,1), transform .65s cubic-bezier(.2,.8,.3,1);
  transition-delay: var(--reveal-delay, 0ms);
  will-change: opacity, transform;
}
.reveal.is-visible { opacity: 1; transform: none; }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .reveal { opacity: 1; transform: none; transition: none; }
  * { animation-duration: .001ms !important; transition-duration: .001ms !important; }
}

/* ---------- 5. ФОНОВЫЙ ДЕКОР ---------- */
.bg-frames {
  position: fixed;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
}
.bg-frames svg {
  position: absolute;
  left: 0;
  top: -25%;
  width: 100%;
  height: 150%;
  filter: drop-shadow(0 0 6px rgba(27,156,150,.55));
}
.bg-frames rect {
  fill: none;
  stroke: var(--teal);
  stroke-width: 1.2;
  vector-effect: non-scaling-stroke;
}

/* ---------- АДАПТИВ: базовые правки ---------- */
/* Tablet (768–1024px) */
@media (max-width: 1024px) {
  :root { --section-y: 44px; --gutter: 22px; }
  body { font-size: 16px; }
}
/* Mobile (<768px) */
@media (max-width: 768px) {
  :root { --section-y: 36px; --gutter: 18px; }
  body { font-size: 16px; line-height: 1.65; }
  .hand { font-size: 1.35rem; }
}

/* =========================================================
   ОБЩИЕ КОМПОНЕНТЫ (появляются с блока 1, используются везде)
   ========================================================= */

/* ---------- Стеклянные карточки ---------- */
.glass-card,
.glass-card-strong {
  border: 1px solid var(--glass-line);
  backdrop-filter: var(--glass-blur);
  -webkit-backdrop-filter: var(--glass-blur);
  transition: transform .35s cubic-bezier(.2,.8,.3,1), border-color .3s ease, box-shadow .35s ease, background-color .3s ease;
}
.glass-card        { background: var(--glass); }
.glass-card-strong { background: var(--glass-strong); border-color: var(--glass-line-strong); }

/* Единая реакция на курсор для всех плашек */
.glass-card:hover,
.glass-card-strong:hover {
  transform: translateY(-4px);
  border-color: rgba(34,179,172,.55);
  box-shadow: var(--glow);
}

/* ---------- Кнопки ---------- */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 15px 28px;
  border-radius: 10px;
  font-family: var(--font-body);
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: 0;
  transition: background-color .3s ease, color .3s ease, box-shadow .3s ease, transform .3s ease;
}
/* Объёмная кнопка: светлая полупрозрачная заливка + акцентная подошва */
.btn--solid {
  position: relative;
  background: var(--btn-face);
  color: var(--btn-text);
  font-weight: 600;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.45),
    inset 0 -1px 0 rgba(0,30,26,.25),
    0 5px 0 0 var(--teal-deep),
    0 14px 30px rgba(27,156,150,.35);
}
.btn--solid:hover {
  background: var(--btn-face-hover);
  transform: translateY(-2px);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.55),
    inset 0 -1px 0 rgba(0,30,26,.25),
    0 7px 0 0 var(--teal-deep),
    0 18px 38px rgba(27,156,150,.45);
}
.btn--solid:active {
  transform: translateY(2px);
  box-shadow:
    inset 0 2px 5px rgba(0,30,26,.3),
    0 1px 0 0 var(--teal-deep),
    0 4px 14px rgba(27,156,150,.28);
}
.btn--sm {
  padding: 7px 15px;
  font-size: .78rem;
  border-radius: 999px;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.45),
    inset 0 -1px 0 rgba(0,30,26,.25),
    0 3px 0 0 var(--teal-deep),
    0 8px 18px rgba(27,156,150,.28);
}
.btn--sm:hover { box-shadow: inset 0 1px 0 rgba(255,255,255,.55), 0 4px 0 0 var(--teal-deep), 0 12px 24px rgba(27,156,150,.36); }
.btn--sm:active { box-shadow: inset 0 2px 4px rgba(0,30,26,.3), 0 1px 0 0 var(--teal-deep); }
.btn__bracket { color: var(--btn-text-soft); transition: color .3s ease; }
.btn--solid:hover .btn__bracket { color: var(--btn-text); }

/* ---------- Волнистое подчёркивание в заголовках ---------- */
.underline-wave { position: relative; display: inline-block; color: var(--teal); }
.underline-wave svg { position: absolute; left: 0; right: 0; bottom: -.12em; width: 100%; height: 7px; }

/* ---------- Декоративный паттерн секции ---------- */
.section-pattern {
  position: absolute;
  right: 4%;
  top: calc(var(--section-y) + 34px);   /* на уровне заголовка секции */
  width: 190px;
  height: 190px;
  opacity: .12;
  z-index: 5;
  pointer-events: none;
}
.section-pattern svg { width: 100%; height: 100%; }

/* =========================================================
   БЛОК 1. HERO + ШАПКА
   ========================================================= */

/* ---------- Горизонтальное меню первого экрана ---------- */
.site-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 60;  /* выше .nav-blur (50) */
  padding: 10px 0;
  transition: transform .35s cubic-bezier(.2,.8,.3,1), opacity .28s ease, visibility .35s;
}
/* Как только страница сдвинулась — капсула уезжает вверх */
.site-header.is-hidden {
  transform: translateY(-130%);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.navbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 7px 10px 7px 22px;
  border-radius: 999px;
}
.navbar__logo {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 1.125rem;
  letter-spacing: -.02em;
  color: var(--canvas);
  white-space: nowrap;
}
.navbar__nav { display: flex; align-items: center; gap: 4px; }
.navbar__link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 11px;
  font-size: .85rem;
  color: rgba(168,192,196,.85);
  border-radius: 999px;
  white-space: nowrap;
  transition: color .2s ease, background-color .2s ease;
}
.navbar__link:hover { color: var(--canvas); background: rgba(255,255,255,.06); }

/* Выпадающее меню «Блог» */
.navbar__dropdown { position: relative; }
.navbar__chevron { width: 10px; height: 7px; transition: transform .25s ease; }
.navbar__dropdown.is-open .navbar__chevron { transform: rotate(180deg); }
/* Открытый «Блог»: текст остаётся светлым, подсветка — акцентная, а не белая */
.navbar__link--toggle { color: rgba(168,192,196,.85); }
.navbar__link--toggle:hover { color: #F2F7F6; }
.navbar__dropdown.is-open > .navbar__link--toggle {
  color: #F2F7F6;
  background: rgba(27,156,150,.22);
  box-shadow: inset 0 0 0 1px rgba(34,179,172,.4);
}
.navbar__dropdown.is-open > .navbar__link--toggle .navbar__chevron { color: var(--btn-face); }
.navbar__submenu {
  position: absolute;
  top: calc(100% + 12px);
  left: 50%;
  min-width: 250px;
  padding: 10px;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: var(--radius-lg);
  background: rgba(11,29,35,.985);
  backdrop-filter: blur(22px) saturate(140%);
  -webkit-backdrop-filter: blur(22px) saturate(140%);
  transform: translate(-50%, -6px);
  opacity: 0;
  visibility: hidden;
  box-shadow: 0 26px 60px rgba(0,0,0,.6), 0 0 0 1px rgba(0,0,0,.3);
  transition: opacity .22s ease, transform .22s ease, visibility .22s;
}
.navbar__dropdown.is-open .navbar__submenu { opacity: 1; visibility: visible; transform: translate(-50%, 0); }
.navbar__submenu a {
  display: block;
  padding: 9px 14px;
  border-radius: 8px;
  font-size: .875rem;
  color: rgba(168,192,196,.85);
  transition: color .2s ease, background-color .2s ease;
}
.navbar__submenu a:hover { color: var(--canvas); background: rgba(27,156,150,.14); }

/* ---------- Кнопка-бургер: закреплена, видна после первого экрана ---------- */
.nav-fab {
  position: fixed;
  top: 20px;
  left: 20px;
  z-index: 80;
  display: grid;
  place-content: center;
  gap: 5px;
  width: 52px;
  height: 52px;
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(13,33,39,.94);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  box-shadow: 0 12px 30px rgba(0,0,0,.5);
  transition: border-color .25s ease, background-color .25s ease, transform .25s ease, opacity .25s ease;
}
.nav-fab:hover {
  border-color: rgba(34,179,172,.7);
  background: rgba(18,46,53,.96);
  transform: translateY(-2px);
}
/* Пока виден навбар первого экрана, кнопки нет */
.nav-fab { opacity: 0; visibility: hidden; transform: translateX(-14px); }
.nav-fab.is-visible { opacity: 1; visibility: visible; transform: none; }
.nav-fab span {
  display: block;
  width: 20px;
  height: 2px;
  border-radius: 2px;
  background: var(--canvas);
  transition: transform .3s ease, opacity .25s ease, background-color .25s ease;
}
.nav-fab:hover span { background: var(--btn-face); }
/* Пока панель открыта, кнопка прячется — у панели свой крестик */
.nav-fab.is-hidden { opacity: 0; visibility: hidden; transform: scale(.9); }

/* ---------- Карточка меню ---------- */
.nav-blur {
  position: fixed;
  inset: 0;
  z-index: 50;
  background: rgba(6,18,22,.55);
  backdrop-filter: blur(7px);
  -webkit-backdrop-filter: blur(7px);
  opacity: 0;
  transition: opacity .25s ease;
  pointer-events: none;
}
.nav-blur[hidden] { display: none; }
.nav-blur.is-on { opacity: 1; }

.nav-overlay {
  position: fixed;
  inset: 0;
  z-index: 70;
  background: rgba(6,18,22,.55);
  backdrop-filter: blur(7px);
  -webkit-backdrop-filter: blur(7px);
  opacity: 0;
  transition: opacity .3s ease;
}
.nav-overlay[hidden] { display: none; }
.nav-overlay.is-open { opacity: 1; }

.nav-panel {
  position: fixed;
  top: 20px;
  left: 20px;
  z-index: 85;
  width: min(320px, calc(100vw - 40px));
  max-height: calc(100vh - 40px);
  padding: 22px 20px 24px;
  overflow-y: auto;
  border-radius: 22px;
  background: rgba(13,33,39,.94);
  box-shadow: 0 26px 60px rgba(0,0,0,.5);
  transform-origin: top left;
  transform: translateX(-12px) scale(.94);
  opacity: 0;
  transition: transform .34s cubic-bezier(.2,.8,.3,1), opacity .26s ease;
}
.nav-panel[hidden] { display: none; }
.nav-panel.is-open { transform: none; opacity: 1; }

.nav-panel__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding-bottom: 16px;
  margin-bottom: 12px;
  border-bottom: 1px solid var(--line);
}
.nav-panel__title {
  font-family: var(--font-mono);
  font-size: .68rem;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--teal);
}
.nav-panel__close {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  color: rgba(168,192,196,.8);
  transition: color .2s ease, background-color .2s ease;
}
.nav-panel__close svg { width: 18px; height: 18px; }
.nav-panel__close:hover { color: var(--canvas); background: rgba(255,255,255,.08); }

.nav-panel__list + .nav-panel__list { margin-top: 4px; }
.nav-panel__list a {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 11px 14px;
  border-radius: 12px;
  font-size: 1rem;
  color: rgba(200,218,221,.9);
  transition: color .2s ease, background-color .2s ease, padding-left .2s ease;
}
.nav-panel__list a:hover {
  color: var(--canvas);
  background: rgba(27,156,150,.14);
  padding-left: 18px;
}
.nav-panel__ext { width: 12px; height: 12px; color: var(--btn-face); }

.nav-panel__group {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  width: 100%;
  margin-top: 4px;
  padding: 11px 14px;
  border-radius: 12px;
  font-family: var(--font-body);
  font-size: 1rem;
  text-align: left;
  color: rgba(200,218,221,.9);
  transition: color .2s ease, background-color .2s ease, padding-left .2s ease;
}
.nav-panel__group:hover { color: var(--canvas); background: rgba(27,156,150,.14); padding-left: 18px; }
.nav-panel__group-chevron { width: 11px; height: 8px; color: var(--btn-face); transition: transform .28s ease; }
.nav-panel__group[aria-expanded="true"] { color: var(--canvas); background: rgba(27,156,150,.1); }
.nav-panel__group[aria-expanded="true"] .nav-panel__group-chevron { transform: rotate(180deg); }

.nav-panel__list--sub[hidden] { display: none; }
.nav-panel__list--sub {
  margin-top: 2px;
  padding-left: 6px;
  border-left: 1px solid rgba(27,156,150,.3);
  margin-left: 16px;
  animation: sub-open .26s ease both;
}
@keyframes sub-open {
  from { opacity: 0; transform: translateY(-6px); }
  to   { opacity: 1; transform: none; }
}
.nav-panel__list--sub a { padding-left: 14px; font-size: .925rem; color: rgba(168,192,196,.8); }
.nav-panel__list--sub a:hover { padding-left: 18px; }

.nav-panel__cta { width: 100%; margin-top: 20px; justify-content: center; }

@media (prefers-reduced-motion: reduce) {
  .nav-fab, .nav-panel, .nav-overlay { transition: none; }
}

@media (max-width: 1024px) {
  .navbar__nav { gap: 0; }
  .navbar__link { padding: 6px 9px; font-size: .82rem; }
  .navbar__submenu { min-width: 220px; }
}
@media (max-width: 768px) {
  /* На мобильных горизонтальное меню не помещается — сразу бургер */
  .site-header { display: none; }
  .nav-fab { top: 14px; left: 14px; width: 46px; height: 46px; }
  .nav-panel { top: 14px; left: 14px; width: min(320px, calc(100vw - 28px)); padding: 20px 16px 20px; }
}

/* ---------- Первый экран: помещается в одну высоту окна ---------- */
.hero {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  min-height: 100svh;
  overflow: hidden;
}
.hero__inner {
  position: relative;
  z-index: 10;
  display: grid;
  grid-template-columns: 1.6fr 1fr;
  gap: 24px;
  /* Контент прижат к шапке: сверху только запас под её высоту */
  align-items: center;
  max-width: var(--container);
  padding-block: 78px 0;
}
.hero__eyebrow {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 14px;
  font-family: var(--font-mono);
  font-size: .62rem;
  letter-spacing: .2em;
  text-transform: uppercase;
  white-space: nowrap;
  color: var(--teal);
}
.hero__rule { display: block; width: 32px; height: 1px; background: var(--teal); flex-shrink: 0; }

.hero__title {
  max-width: none;
  white-space: nowrap;
  font-size: clamp(1.4rem, 3vw, 2.35rem);   /* как у заголовков секций */
  line-height: 1.14;
}
.hero__title-line { white-space: normal; }
.hero__note { margin-top: 12px; font-size: 1.45rem; }

.hero__lead {
  max-width: 56ch;
  margin-top: 12px;
  margin-bottom: 0;
  font-size: 1.0625rem;
  line-height: 1.7;
  color: rgba(168,192,196,.88);
}

.hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 22px; }
.hero__actions .btn { padding: 13px 22px; font-size: .95rem; }

/* Декоративный ключ в правой части */
.hero__art { display: grid; place-items: center; }
.hero__art svg { width: 96%; max-width: none; opacity: .18; }

/* Подсказка о прокрутке */
.hero__scroll {
  position: absolute;
  left: max(var(--gutter), calc((100% - var(--container)) / 2 + var(--gutter)));
  bottom: 18px;
  z-index: 10;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 5px;
  color: rgba(168,192,196,.7);
  animation: scroll-bob 2.2s ease-in-out infinite;
}
.hero__scroll .mono { font-size: .55rem; letter-spacing: .2em; color: rgba(168,192,196,.6); }
.hero__scroll svg { width: 14px; height: 8px; color: var(--btn-face); }
.hero__scroll:hover { color: var(--canvas); }
@keyframes scroll-bob {
  0%, 100% { transform: translateY(0); opacity: .55; }
  50%      { transform: translateY(5px); opacity: 1; }
}
@media (prefers-reduced-motion: reduce) { .hero__scroll { animation: none; } }

/* Низкие окна */
@media (max-height: 700px) {
  .hero__inner { padding-block: 78px 44px; }
  .hero__note { font-size: 1.2rem; margin-top: 9px; }
  .hero__lead { font-size: .975rem; margin-top: 9px; }
  .hero__actions { margin-top: 16px; }
}

/* ---------- Desktop (>1024px): плотные отступы первого экрана ----------
   Высота секции теперь по содержимому, а не на весь экран:
   ключ справа больше не растягивает строку, поэтому заголовок и лоты
   стоят на фиксированных расстояниях от меню и друг от друга.
   Подсказка «листайте» идёт в потоке под лотами и не налезает на карточки. */
@media (min-width: 1025px) {
  .hero { min-height: auto; padding-bottom: 36px; }
  .hero__inner { padding-block: 120px 0; }

  /* Ключ — фоном по центру колонки, на высоту строки не влияет */
  .hero__art { position: relative; align-self: stretch; }
  .hero__art svg {
    position: absolute;
    top: 50%;
    left: 50%;
    width: auto;
    height: 150%;
    transform: translate(-50%, -50%);
  }

  .hero .lots { margin-top: 56px; padding-bottom: 0; }  /* .hero — перебивает базовые .lots ниже по файлу */

  .hero__scroll {
    position: relative;
    left: auto;
    bottom: auto;
    align-self: flex-start;
    margin-top: 28px;
    margin-left: max(var(--gutter), calc((100% - var(--container)) / 2 + var(--gutter)));
  }
}

/* ---------- Адаптив блока 1 ---------- */
/* Tablet (768–1024px) */
@media (max-width: 1024px) {
  .hero__inner { padding-block: 66px 52px; }
  .hero__lead { font-size: 1rem; }
  .navbar__cta { padding: 7px 13px; font-size: .74rem; }
}

/* Mobile (<768px) */
@media (max-width: 768px) {

  .hero { min-height: auto; padding-bottom: 44px; }
  .hero__inner { grid-template-columns: 1fr; gap: 0; padding-block: 76px 0; max-width: none; }
  .hero__art { display: none; }
  .hero__eyebrow { margin-bottom: 12px; font-size: .5rem; letter-spacing: .12em; gap: 7px; white-space: normal; }
  .hero__rule { width: 18px; }
  .hero__title { white-space: normal; }
  .hero__title br { display: none; }
  .hero__note { margin-top: 10px; font-size: 1.2rem; }
  .hero__lead { margin-top: 10px; font-size: .975rem; }
  .hero__actions { flex-direction: column; align-items: stretch; margin-top: 18px; }
  .hero__actions .btn { width: 100%; justify-content: center; }
  .hero__scroll { display: none; }
  .section-pattern { width: 110px; height: 110px; right: 6px; top: calc(var(--section-y) + 26px); opacity: .09; }
}

/* =========================================================
   МОДАЛЬНОЕ ОКНО ЗАЯВКИ (общий элемент страницы)
   ========================================================= */
.modal { position: fixed; inset: 0; z-index: 100; display: flex; align-items: center; justify-content: center; padding: 24px; }
.modal[hidden] { display: none; }

.modal__overlay {
  position: absolute;
  inset: 0;
  background: rgba(4,12,15,.78);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  animation: modal-fade .25s ease;
}
.modal__window {
  position: relative;
  width: 100%;
  max-width: 620px;
  max-height: calc(100vh - 48px);
  overflow-y: auto;
  padding: 40px;
  border-radius: var(--radius-lg);
  background: rgba(12,30,36,.92);
  box-shadow: var(--shadow-card);
  animation: modal-rise .3s cubic-bezier(.2,.8,.3,1);
}
@keyframes modal-fade { from { opacity: 0; } to { opacity: 1; } }
@keyframes modal-rise { from { opacity: 0; transform: translateY(18px) scale(.98); } to { opacity: 1; transform: none; } }

.modal__close {
  position: absolute;
  top: 16px;
  right: 16px;
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  color: var(--ice);
  transition: color .2s ease, background-color .2s ease;
}
.modal__close svg { width: 20px; height: 20px; }
.modal__close:hover { color: var(--canvas); background: rgba(255,255,255,.07); }

.modal__title { margin-top: 12px; font-size: 1.75rem; line-height: 1.15; }
.modal__lead { margin-top: 14px; color: rgba(168,192,196,.8); }

.modal__form { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-top: 28px; }
.modal__form[hidden], .start-form[hidden] { display: none !important; }
.field { display: block; }
.field--wide { grid-column: 1 / -1; }
.field__label {
  display: block;
  font-family: var(--font-mono);
  font-size: .65rem;
  letter-spacing: .15em;
  text-transform: uppercase;
  color: rgba(168,192,196,.6);
}
.field input,
.field textarea {
  width: 100%;
  padding: 13px 16px;
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 10px;
  background: rgba(255,255,255,.04);
  color: var(--canvas);
  font-size: .95rem;
  transition: border-color .2s ease, background-color .2s ease;
}
.field textarea { resize: vertical; }
.field input::placeholder,
.field textarea::placeholder { color: rgba(168,192,196,.4); }
.field input:focus,
.field textarea:focus { border-color: var(--teal); outline: none; background: rgba(255,255,255,.06); }
.field.has-error input,
.field.has-error textarea { border-color: #E2544F; }
.field__error { display: block; margin-top: 7px; font-size: .8rem; line-height: 1.5; color: #E88B87; }
.field__error[hidden] { display: none; }

/* Счётчик символов в поле запроса */
.field { position: relative; }
.field__counter {
  position: absolute;
  right: 12px;
  bottom: 10px;
  font-family: var(--font-mono);
  font-size: .6rem;
  letter-spacing: .06em;
  color: rgba(168,192,196,.45);
  pointer-events: none;
}
.field textarea { padding-bottom: 26px; }

/* Поле с ошибкой подсвечивается только когда ошибка есть */
.field.has-error input,
.field.has-error textarea { border-color: #E2544F; background: rgba(226,84,79,.07); }

.modal__footer {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-top: 4px;
}
.modal__terms { letter-spacing: .1em; }
.modal__success {
  margin-top: 24px;
  padding: 18px 20px;
  border: 1px solid rgba(27,156,150,.4);
  border-radius: 12px;
  background: rgba(27,156,150,.1);
  color: var(--canvas);
}
body.is-locked { overflow: hidden; }

/* Адаптив модалки */
@media (max-width: 768px) {
  .modal { padding: 14px; }
  .modal__window { padding: 28px 20px; }
  .modal__title { font-size: 1.4rem; }
  .modal__form { grid-template-columns: 1fr; gap: 14px; }
  .modal__footer { flex-direction: column; align-items: stretch; }
  .modal__footer .btn { width: 100%; }
}

/* =========================================================
   ОБЩИЕ КОМПОНЕНТЫ СЕКЦИЙ (появляются с блока 2)
   ========================================================= */
.section { position: relative; padding-block: var(--section-y); overflow: hidden; }
.section > .container { position: relative; z-index: 10; }

/* ---------- Шапка секции: метка, номер, заголовок, лид ---------- */
.section-head { position: relative; max-width: 768px; padding-top: 0; }

.section-head__eyebrow {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
  font-family: var(--font-mono);
  font-size: 1.05rem;
  font-weight: 600;
  letter-spacing: .24em;
  text-transform: uppercase;
  color: rgba(242,247,246,.95);
}
.section-head__icon { width: 20px; height: 20px; flex-shrink: 0; color: var(--teal); }
.section-head__dash { display: block; width: 64px; height: 2px; background: var(--teal); flex-shrink: 0; }

/* Номер секции и заголовок — колонки одной сетки: строки заголовка
   выравниваются друг под другом и не подлезают под номер */
.section-head {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  column-gap: 18px;
}
.section-head > * { grid-column: 1 / -1; }
.section-head__num {
  grid-column: 1;
  grid-row: 2;
  align-self: start;
  margin: -2px 0 0;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: clamp(2.6rem, 4.6vw, 3.9rem);
  line-height: .95;
  color: rgba(27,156,150,.28);
  user-select: none;
}
.section-head__title { grid-column: 2; grid-row: 2; position: relative; z-index: 10; margin-top: 0; }
.section-head__lead {
  position: relative;
  z-index: 10;
  max-width: 700px;
  margin-top: 20px;
  font-size: 1rem;
  line-height: 1.7;
  color: rgba(168,192,196,.8);
}

/* ---------- Карточка ---------- */
.card { padding: 32px; border-radius: var(--radius); transition: transform .3s ease, border-color .3s ease, box-shadow .3s ease; }
.card:hover { transform: translateY(-4px); border-color: rgba(34,179,172,.55); box-shadow: var(--glow); }
.card p + p { margin-top: 16px; }
.card__label {
  font-family: var(--font-mono);
  font-size: .7rem;
  font-weight: 500;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--teal);
  margin-bottom: 24px;
}

/* ---------- Финальный акцент секции ---------- */
.section-outro { margin-top: 56px; }
.section-outro__line {
  max-width: 800px;
  font-family: var(--font-display);
  font-size: clamp(1.1rem, 1.8vw, 1.35rem);
  line-height: 1.4;
  letter-spacing: -.01em;
  color: var(--canvas);
}
.section-outro__note { margin-top: 16px; font-size: .8rem; letter-spacing: .1em; }

/* =========================================================
   БЛОК 2. ПОЧЕМУ ДЁШЕВО
   ========================================================= */
.why-cheap__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  margin-top: 48px;
  align-items: start;
}
/* Левая колонка — живой текст без карточки */
.why-cheap__intro { font-size: 1.0625rem; line-height: 1.75; color: rgba(168,192,196,.85); }
.why-cheap__turn {
  margin-top: 20px;
  font-family: var(--font-display);
  font-size: 1.375rem;
  font-weight: 600;
  line-height: 1.35;
  color: var(--canvas);
}

/* Нумерованный список причин: номера рисует CSS-счётчик */
.reasons { counter-reset: reason; }
.reasons__item {
  counter-increment: reason;
  display: flex;
  gap: 16px;
  padding-top: 20px;
  border-top: 1px solid var(--line);
  font-size: 1rem;
  line-height: 1.65;
  color: rgba(168,192,196,.75);
}
.reasons__item + .reasons__item { margin-top: 20px; }
.reasons__item::before {
  content: counter(reason, decimal-leading-zero);
  flex-shrink: 0;
  padding-top: 4px;
  font-family: var(--font-mono);
  font-size: .7rem;
  color: var(--teal);
}

/* ---------- Адаптив блока 2 ---------- */
@media (max-width: 1024px) {
  .section-head__eyebrow { font-size: .9rem; letter-spacing: .2em; }
  .section-head__dash { width: 48px; }
  .why-cheap__grid { grid-template-columns: 1fr; gap: 28px; margin-top: 40px; }
  .card { padding: 28px; }
}
@media (max-width: 768px) {
  .section-head { padding-top: 8px; }
  .section-head__eyebrow { flex-wrap: wrap; gap: 8px; margin-bottom: 8px; font-size: .78rem; letter-spacing: .16em; }
  .section-head__icon { width: 17px; height: 17px; }
  .section-head__dash { width: 32px; }
  .section-head { column-gap: 12px; }
  .section-head__num { font-size: 2rem; }
  .section-head__lead { margin-top: 18px; font-size: 1rem; }
  .why-cheap__grid { margin-top: 28px; gap: 24px; }
  .why-cheap__intro { font-size: 1rem; }
  .why-cheap__turn { margin-top: 16px; font-size: 1.2rem; }
  .card { padding: 22px; }
  .card__label { margin-bottom: 18px; }
  .reasons__item { gap: 12px; padding-top: 16px; font-size: .95rem; }
  .reasons__item + .reasons__item { margin-top: 16px; }
  .section-outro { margin-top: 36px; }
}

/* Вывод секции внутри левой колонки (блок 2) */
.section-outro--inline {
  margin-top: 32px;
  padding-left: 20px;
  border-left: 2px solid var(--btn-face);
}
.section-outro--inline .section-outro__line { font-size: clamp(1.2rem, 2vw, 1.45rem); }
@media (max-width: 768px) {
  .section-outro--inline { margin-top: 24px; padding-left: 16px; }
}

/* ---------- Ступени снижения цены (блок 2) ---------- */
.stages { margin-top: 28px; }
.stages__bars { display: flex; align-items: flex-end; gap: 12px; height: 210px; }
.stages__col { flex: 1; display: flex; flex-direction: column; justify-content: flex-end; height: 100%; text-align: center; }

/* Столбик в форме слитка: трапеция с фаской по верхней грани */
.stages__bar {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  height: var(--h);
  padding: 16px 14px 8px;
  background: linear-gradient(100deg, rgba(255,255,255,.18) 0%, rgba(255,255,255,0) 38%, rgba(0,25,22,.22) 100%), var(--bar-face);
  clip-path: polygon(8% 0, 92% 0, 100% 100%, 0 100%);
  transform-origin: bottom;
  animation: bar-grow .9s cubic-bezier(.2,.8,.3,1) both;
  --bar-face: #1FA79F;
}
/* Верхняя грань слитка */
.stages__bar::before {
  content: "";
  position: absolute;
  top: 0;
  left: 8%;
  right: 8%;
  height: 9px;
  background: rgba(255,255,255,.3);
  box-shadow: inset 0 -1px 0 rgba(0,30,26,.25);
}
.stages__bar--mid { --bar-face: #26BAB2; animation-delay: .12s; }
.stages__bar--low { --bar-face: #3FD6CB; animation-delay: .24s; }

@keyframes bar-grow { from { transform: scaleY(0); } to { transform: scaleY(1); } }

/* Процент внутри столбика — вдавленная гравировка */
.stages__pct {
  font-family: var(--font-display);
  font-size: clamp(1.25rem, 2.6vw, 1.75rem);
  font-weight: 700;
  letter-spacing: -.01em;
  color: #021D1A;
  text-shadow:
    0 1px 0 rgba(255,255,255,.22),
    0 -1px 1px rgba(0,0,0,.35);
}


/* Название этапа внутри столбика, в одну строку */
.stages__name {
  font-family: var(--font-mono);
  font-size: clamp(.6rem, 1.1vw, .72rem);
  font-weight: 500;
  line-height: 1;
  letter-spacing: .05em;
  text-transform: uppercase;
  white-space: nowrap;
  color: #021D1A;
  text-shadow: 0 1px 0 rgba(255,255,255,.3);
}

.stages__caption {
  margin-top: 16px;
  font-family: var(--font-mono);
  font-size: .62rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  line-height: 1.7;
  color: var(--teal);
}

/* ---------- Калькулятор снижения цены (блок 2) ---------- */
.calc { margin-top: 48px; padding: 36px 40px; border-radius: var(--radius-lg); }
.calc__head { max-width: 620px; }
.calc__title {
  font-family: var(--font-mono);
  font-size: .7rem;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--teal);
}
.calc__sub { margin-top: 12px; font-size: 1rem; line-height: 1.65; color: rgba(168,192,196,.75); }

.calc__body {
  display: grid;
  grid-template-columns: .8fr 1.2fr;
  gap: 40px;
  margin-top: 32px;
  align-items: start;
}

.calc__field { display: block; }
.calc__field-label {
  display: block;
  font-family: var(--font-mono);
  font-size: .65rem;
  letter-spacing: .13em;
  text-transform: uppercase;
  color: rgba(168,192,196,.65);
}
.calc__input-wrap { position: relative; display: block; margin-top: 10px; }

/* Поле ввода цены: подсветка акцентом, чтобы было видно, куда писать */
.calc__input-wrap input {
  width: 100%;
  padding: 15px 44px 15px 18px;
  border: 1px solid var(--teal);
  border-radius: 10px;
  background: rgba(27,156,150,.07);
  color: var(--canvas);
  font-family: var(--font-display);
  font-size: 1.35rem;
  font-weight: 700;
  letter-spacing: .01em;
  box-shadow: 0 0 0 4px rgba(27,156,150,.12), inset 0 1px 0 rgba(255,255,255,.05);
  transition: box-shadow .25s ease, background-color .25s ease;
}
.calc__input-wrap input::placeholder { color: rgba(27,156,150,.55); font-weight: 600; }
.calc__input-wrap input:hover { background: rgba(27,156,150,.1); }
.calc__input-wrap input:focus {
  outline: none;
  background: rgba(27,156,150,.12);
  box-shadow: 0 0 0 5px rgba(27,156,150,.22), inset 0 1px 0 rgba(255,255,255,.06);
}
.calc__currency {
  position: absolute;
  top: 50%;
  right: 18px;
  transform: translateY(-50%);
  font-size: 1.15rem;
  color: rgba(168,192,196,.65);
  pointer-events: none;
}
.calc__field-hint { display: block; margin-top: 9px; font-size: .8rem; color: rgba(168,192,196,.55); }

@media (prefers-reduced-motion: reduce) { .stages__bar { animation: none; } }

/* Адаптив ступеней и калькулятора */
@media (max-width: 1024px) {
  .calc { padding: 30px 26px; }
  .calc__body { grid-template-columns: 1fr; gap: 28px; }
}
@media (max-width: 768px) {
  .stages { margin-top: 22px; }
  .stages__bars { height: 170px; gap: 6px; }
  .stages__bar { padding: 13px 8px 6px; }
  .stages__bar::before { height: 7px; }
  .stages__pct { font-size: 1.05rem; }
  .stages__name { font-size: .5rem; }
  .stages__caption { font-size: .56rem; margin-top: 12px; }
  .calc { margin-top: 32px; padding: 22px 18px; }
  .calc__sub { font-size: .95rem; }
  .calc__input-wrap input { font-size: 1.15rem; padding: 13px 38px 13px 15px; }
}

/* =========================================================
   БЛОК 3. ОТ ЧЕГО ЗАВИСИТ СЛОЖНОСТЬ СДЕЛКИ
   ========================================================= */
.card--roomy { padding: 40px; }

.difficulty__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  margin-top: 48px;
  align-items: stretch;
}
.difficulty__grid .card { height: 100%; font-size: 1.0625rem; line-height: 1.7; }

/* Карточка «что покажет анализ» + призыв */
.cta-card { display: flex; flex-direction: column; }
.cta-card__foot {
  margin-top: 28px;
  padding-top: 24px;
  border-top: 1px solid var(--line);
}
.cta-card__line {
  font-family: var(--font-display);
  font-size: clamp(1.15rem, 1.9vw, 1.35rem);
  font-weight: 600;
  line-height: 1.3;
  color: var(--canvas);
  margin-bottom: 20px;
}

/* Пункт списка с заголовком и пояснением */
.reasons--rich .reasons__item { flex-direction: column; gap: 4px; }
.reasons__title {
  font-family: var(--font-display);
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.35;
  color: var(--canvas);
}
.reasons__note { font-size: .9rem; line-height: 1.55; color: rgba(168,192,196,.7); }
.reasons--rich .reasons__item::before { padding-top: 0; margin-bottom: 2px; }

@media (max-width: 1024px) {
  .card--roomy { padding: 32px; }
  .difficulty__grid { grid-template-columns: 1fr; gap: 20px; margin-top: 40px; }
}
@media (max-width: 768px) {
  .card--roomy { padding: 24px; }
  .difficulty__grid { margin-top: 32px; }
  .difficulty__grid .card { font-size: 1rem; }
  .cta-card { gap: 20px; }
  .cta-card .btn { width: 100%; }
}

/* =========================================================
   БЛОК 4. ДВА СЦЕНАРИЯ
   ========================================================= */
.scenarios__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  margin-top: 48px;
}
.scenario { height: 100%; font-size: 1.0625rem; line-height: 1.7; }
.scenario__label {
  font-family: var(--font-display);
  font-size: clamp(1.5rem, 2.6vw, 1.9rem);
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -.01em;
  color: var(--btn-face);
  padding-bottom: 18px;
  margin-bottom: 20px;
  border-bottom: 1px solid var(--line);
}
.section-outro__after {
  max-width: 760px;
  margin-top: 16px;
  font-size: .95rem;
  line-height: 1.7;
  color: rgba(168,192,196,.75);
}

@media (max-width: 1024px) {
  .scenarios__grid { grid-template-columns: 1fr; gap: 20px; margin-top: 40px; }
}
@media (max-width: 768px) {
  .scenarios__grid { margin-top: 32px; }
  .scenario { font-size: 1rem; }
  .scenario__label { padding-bottom: 14px; margin-bottom: 16px; }
  .section-outro__after { font-size: .95rem; }
}

/* ---------- Схема «за те же деньги» (блок 4) ---------- */
.rooms { margin-top: 26px; }
.rooms__label {
  font-family: var(--font-mono);
  font-size: .6rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: rgba(168,192,196,.6);
}
.rooms__label--accent { margin-top: 18px; color: var(--btn-face); }
.rooms__row { display: flex; gap: 6px; margin-top: 9px; }
.rooms__cell { flex: 1; height: 30px; border-radius: 5px; background: rgba(255,255,255,.09); }
.rooms__cell--empty { background: none; border: 1px dashed rgba(255,255,255,.16); }
.rooms__cell--filled { background: rgba(34,179,172,.35); }
.rooms__cell--bonus {
  background: var(--btn-face);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.35), 0 4px 14px rgba(27,156,150,.35);
}
.rooms__note {
  margin-top: 11px;
  font-family: var(--font-mono);
  font-size: .6rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--teal);
}

/* ---------- Схема «что останется от скидки» (блок 4) ---------- */
.waterfall { margin-top: 26px; }
.waterfall__head {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  font-family: var(--font-mono);
  font-size: .6rem;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: rgba(168,192,196,.6);
}
.waterfall__bars { display: flex; align-items: flex-end; gap: 4px; height: 62px; margin-top: 11px; }
.waterfall__bar {
  flex: var(--w);
  height: var(--h);
  border-radius: 5px 5px 0 0;
  background: rgba(255,255,255,.08);
}
.waterfall__bar--start { background: rgba(34,179,172,.45); }
.waterfall__bar--end {
  background: var(--btn-face);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.35);
}
.waterfall__names {
  display: flex;
  gap: 4px;
  margin-top: 8px;
  font-family: var(--font-mono);
  font-size: .52rem;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: rgba(168,192,196,.55);
}
.waterfall__names span { flex: var(--w); text-align: center; }

@media (max-width: 768px) {
  .rooms, .waterfall { margin-top: 20px; }
  .rooms__cell { height: 26px; }
  .waterfall__bars { height: 54px; }
  .waterfall__names { font-size: .48rem; }
}

/* =========================================================
   БЛОК 5. ЧТО ВЫБИРАТЬ: ДВА ТИПА ДОЛЖНИКОВ
   ========================================================= */
.types__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  margin-top: 48px;
  align-items: start;
}
.type-card { height: 100%; }
.type-card p { font-size: 1rem; line-height: 1.7; }
.type-card__num {
  font-family: var(--font-mono);
  font-size: .7rem;
  letter-spacing: .2em;
  color: var(--teal);
}
.type-card__title {
  margin: 10px 0 18px;
  font-family: var(--font-display);
  font-size: clamp(1.35rem, 2.3vw, 1.7rem);
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -.01em;
  color: var(--canvas);
}

.type-card__facts {
  margin-top: 24px;
  padding-top: 22px;
  border-top: 1px solid var(--line);
}
.type-card__facts-label {
  font-family: var(--font-mono);
  font-size: .65rem;
  letter-spacing: .15em;
  text-transform: uppercase;
  color: var(--btn-face);
  margin-bottom: 16px;
}
.facts__item {
  display: flex;
  gap: 12px;
  font-size: .95rem;
  line-height: 1.6;
  color: rgba(168,192,196,.75);
}
.facts__item + .facts__item { margin-top: 12px; }
.facts__item::before {
  content: "";
  flex-shrink: 0;
  width: 6px;
  height: 6px;
  margin-top: 9px;
  border-radius: 50%;
  background: var(--teal);
}

/* ---------- Вопрос-развилка ---------- */
.question {
  margin-top: 32px;
  padding: 40px;
  border-radius: var(--radius-lg);
  border: 1px solid rgba(27,156,150,.4);
  background: rgba(16,45,49,.9);
  backdrop-filter: var(--glass-blur);
  -webkit-backdrop-filter: var(--glass-blur);
  transition: transform .35s cubic-bezier(.2,.8,.3,1), border-color .3s ease, box-shadow .35s ease;
}
.question:hover { transform: translateY(-4px); border-color: rgba(34,179,172,.6); box-shadow: var(--glow); }
.question__intro { font-size: 1rem; color: rgba(168,192,196,.75); }
.question__title {
  margin-top: 10px;
  font-family: var(--font-display);
  font-size: clamp(1.25rem, 2.4vw, 1.8rem);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -.02em;
  color: var(--canvas);
}
.question__answers {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  margin-top: 32px;
}
.question__answer { padding-left: 20px; border-left: 2px solid var(--btn-face); }
.question__answer p { font-size: .975rem; line-height: 1.65; color: rgba(168,192,196,.8); }
.question__answer-label {
  font-family: var(--font-mono);
  font-size: .68rem !important;
  letter-spacing: .13em;
  text-transform: uppercase;
  color: var(--btn-face) !important;
  margin-bottom: 10px;
}

@media (max-width: 1024px) {
  .types__grid { grid-template-columns: 1fr; gap: 20px; margin-top: 40px; }
  .question { padding: 32px 26px; }
}
@media (max-width: 768px) {
  .types__grid { margin-top: 32px; }
  .type-card p { font-size: .95rem; }
  .type-card__title { margin: 8px 0 14px; }
  .type-card__facts { margin-top: 20px; padding-top: 18px; }
  .facts__item { font-size: .9rem; }
  .question { margin-top: 24px; padding: 24px 20px; }
  .question__answers { grid-template-columns: 1fr; gap: 20px; margin-top: 24px; }
  .question__answer { padding-left: 16px; }
}

/* ---------- Переключатель типов должника (блок 5) ---------- */
.switcher { margin-top: 48px; padding: 32px 36px; border-radius: var(--radius-lg); }
.switcher__hint {
  font-family: var(--font-mono);
  font-size: .65rem;
  letter-spacing: .13em;
  text-transform: uppercase;
  color: rgba(168,192,196,.65);
  margin-bottom: 12px;
}

.switcher__tabs {
  display: flex;
  gap: 6px;
  padding: 4px;
  border-radius: 999px;
  background: rgba(255,255,255,.05);
}
.switcher__tab {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 13px 16px;
  border-radius: 999px;
  font-family: var(--font-body);
  font-size: 1rem;
  font-weight: 600;
  color: rgba(168,192,196,.75);
  transition: color .22s ease, background-color .22s ease, box-shadow .22s ease;
}
.switcher__tab:hover { color: var(--canvas); background: rgba(255,255,255,.06); }
.switcher__tab[aria-selected="true"] {
  background: var(--btn-face);
  color: var(--btn-text);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.45),
    inset 0 -1px 0 rgba(0,30,26,.25),
    0 4px 0 0 var(--teal-deep),
    0 10px 22px rgba(27,156,150,.3);
}

/* Гравированная стрелка внутри активной вкладки — указывает на невыбранный сценарий */
.switcher__tab[aria-selected="true"]::after,
.switcher__tab[aria-selected="true"]::before {
  font-size: 1.4rem;
  line-height: 1;
  font-weight: 700;
  color: var(--btn-text);
  text-shadow: 0 1px 0 rgba(255,255,255,.45), 0 -1px 1px rgba(0,0,0,.3);
  animation: arrow-slide 1.5s ease-in-out infinite;
}
.switcher__tab:first-child[aria-selected="true"]::after  { content: "→"; }
.switcher__tab:last-child[aria-selected="true"]::before  { content: "←"; animation-direction: reverse; }
@keyframes arrow-slide {
  0%, 100% { transform: translateX(0); }
  50%      { transform: translateX(4px); }
}
/* Стрелка гаснет после первого переключения */
.switcher.is-used .switcher__tab::after,
.switcher.is-used .switcher__tab::before { animation: none; }

.switcher__panel { margin-top: 26px; }
.switcher__panel[hidden] { display: none; }
.switcher__panel p { font-size: 1.0625rem; line-height: 1.7; }
.switcher__panel p + p { margin-top: 16px; }
.switcher__panel:focus-visible { outline: 2px solid var(--teal); outline-offset: 8px; border-radius: 8px; }

@media (prefers-reduced-motion: reduce) {
  .switcher__tab::after, .switcher__tab::before { animation: none !important; }
}

@media (max-width: 1024px) { .switcher { padding: 28px 24px; } }
@media (max-width: 768px) {
  .switcher { margin-top: 32px; padding: 20px 18px; }
  .switcher__tabs { flex-direction: column; border-radius: var(--radius); }
  .switcher__tab { font-size: .95rem; padding: 12px; border-radius: var(--radius); }
  .switcher__tab:last-child[aria-selected="true"]::before { content: "↑"; }
  .switcher__tab:first-child[aria-selected="true"]::after { content: "↓"; }
  .switcher__panel { margin-top: 20px; }
  .switcher__panel p { font-size: .95rem; }
}

/* =========================================================
   БЛОК 6. ДЕВЯТЬ ПРОВЕРОК
   ========================================================= */
.section-head__hand { margin-top: 16px; }
.section-head__sub {
  margin-top: 16px;
  font-family: var(--font-display);
  font-size: clamp(1rem, 1.6vw, 1.15rem);
  font-weight: 600;
  line-height: 1.3;
  color: var(--btn-face);
}

.checks__grid {
  display: grid;
  grid-template-columns: .8fr 1.2fr;
  gap: 32px;
  margin-top: 48px;
  align-items: start;
}

/* Мок карточки лота */
.lot-card { padding: 26px; border-radius: var(--radius); position: sticky; top: 24px; }
.lot-card__label {
  font-family: var(--font-mono);
  font-size: .65rem;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: rgba(168,192,196,.6);
  margin-bottom: 18px;
}
.lot-card__photo {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  height: 76px;
  margin-bottom: 6px;
  border-radius: 10px;
  border: 1px dashed rgba(255,255,255,.14);
  background: rgba(255,255,255,.04);
  font-size: .8rem;
  color: rgba(168,192,196,.55);
}
.lot-card__photo svg { width: 17px; height: 17px; }

.lot-card__row {
  display: flex;
  align-items: baseline;
  gap: 11px;
  padding: 11px 0;
  border-top: 1px solid var(--line);
  font-size: .95rem;
  color: rgba(242,247,246,.85);
}
.lot-card__row::before {
  content: "";
  flex-shrink: 0;
  width: 5px;
  height: 5px;
  border-radius: 1px;
  background: rgba(168,192,196,.45);
}
.lot-card__note {
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid var(--line);
  font-size: .875rem;
  line-height: 1.6;
  color: rgba(168,192,196,.6);
}

/* Список проверок */
.checks__label {
  font-family: var(--font-mono);
  font-size: .65rem;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--btn-face);
  margin-bottom: 20px;
}
.checks__list { counter-reset: check; }
.checks__item {
  counter-increment: check;
  position: relative;
  padding: 20px 0 20px 56px;
  border-top: 1px solid var(--line);
  transition: padding-left .25s ease;
}
.checks__item::before {
  content: counter(check, decimal-leading-zero);
  position: absolute;
  left: 0;
  top: 21px;
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 10px;
  border: 1px solid rgba(27,156,150,.35);
  background: rgba(27,156,150,.1);
  font-family: var(--font-mono);
  font-size: .7rem;
  color: var(--btn-face);
  transition: background-color .25s ease, border-color .25s ease, transform .25s ease;
}
.checks__item:hover::before { background: rgba(27,156,150,.22); border-color: var(--btn-face); transform: translateY(-2px); }
.checks__title { font-size: 1.15rem; font-weight: 600; color: var(--canvas); }
.checks__text { margin-top: 8px; font-size: .975rem; line-height: 1.65; color: rgba(168,192,196,.72); }

/* «И ещё шесть проверок» */
.checks__more {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 20px 0 0 0;
  border-top: 1px solid var(--line);
  font-family: var(--font-display);
  font-size: 1.05rem;
  font-weight: 600;
  color: var(--btn-face);
}
.checks__dots { display: grid; grid-template-columns: repeat(3, 8px); gap: 5px; }
.checks__dots span {
  width: 8px;
  height: 8px;
  border-radius: 2px;
  background: rgba(27,156,150,.35);
  animation: dot-pulse 2.4s ease-in-out infinite;
}
.checks__dots span:nth-child(2) { animation-delay: .15s; }
.checks__dots span:nth-child(3) { animation-delay: .3s; }
.checks__dots span:nth-child(4) { animation-delay: .45s; }
.checks__dots span:nth-child(5) { animation-delay: .6s; }
.checks__dots span:nth-child(6) { animation-delay: .75s; }
@keyframes dot-pulse {
  0%, 100% { background: rgba(27,156,150,.3); }
  50%      { background: rgba(34,179,172,.85); }
}
.checks__more-note { margin-top: 10px; font-size: .9rem; color: rgba(168,192,196,.6); }

/* Нулевой вопрос */
.question--zero { margin-top: 40px; }
.question__text { max-width: 760px; margin-top: 14px; font-size: .95rem; line-height: 1.7; color: rgba(168,192,196,.78); }

@media (prefers-reduced-motion: reduce) { .checks__dots span { animation: none; } }

@media (max-width: 1024px) {
  .checks__grid { grid-template-columns: 1fr; gap: 24px; margin-top: 40px; }
  .lot-card { position: static; }
}
@media (max-width: 768px) {
  .section-head__sub { margin-top: 16px; }
  .checks__grid { margin-top: 32px; }
  .lot-card { padding: 20px; }
  .checks__item { padding: 16px 0 16px 46px; }
  .checks__item::before { width: 32px; height: 32px; top: 17px; font-size: .62rem; }
  .checks__title { font-size: 1.05rem; }
  .checks__text { font-size: .92rem; }
}


/* =========================================================
   БЛОК 7. ПРАВО СКАЗАТЬ «НЕ ПОКУПАЙТЕ»
   ========================================================= */
.section-head__lead + .section-head__lead { margin-top: 16px; }

/* Схема двухэтапной оплаты */
.stages-pay { margin-top: 24px; padding: 36px 40px; border-radius: var(--radius-lg); }
.stages-pay__title {
  font-family: var(--font-display);
  font-size: clamp(1.1rem, 1.8vw, 1.35rem);
  font-weight: 700;
  line-height: 1.2;
  color: var(--canvas);
}

.pay { margin-top: 28px; }
.pay__step + .pay__step { margin-top: 28px; padding-top: 28px; border-top: 1px solid var(--line); }
.pay__num {
  font-family: var(--font-mono);
  font-size: .65rem;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--teal);
}
.pay__bar {
  position: relative;
  height: 12px;
  width: var(--w);
  min-width: 90px;
  margin-top: 12px;
  border-radius: 6px;
  background: linear-gradient(90deg, rgba(255,255,255,.16), rgba(255,255,255,.16) 60%, rgba(34,179,172,.5));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.2);
}
.pay__bar--long {
  background: linear-gradient(90deg, rgba(34,179,172,.5), rgba(34,179,172,.22) 55%, rgba(255,255,255,.08));
}
.pay__bar-hint {
  position: absolute;
  top: 20px;
  right: 0;
  font-family: var(--font-mono);
  font-size: .58rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: rgba(168,192,196,.6);
  white-space: nowrap;
}
.pay__step--long .pay__name { margin-top: 34px; }
.pay__name {
  margin-top: 16px;
  font-family: var(--font-display);
  font-size: 1.1rem;
  font-weight: 600;
  line-height: 1.35;
  color: var(--canvas);
}
.pay__note { margin-top: 8px; font-size: .95rem; line-height: 1.6; color: rgba(168,192,196,.7); }

.stages-pay__foot {
  margin-top: 30px;
  padding-top: 24px;
  border-top: 1px solid var(--line);
  max-width: 780px;
  font-size: 1rem;
  line-height: 1.7;
  color: rgba(242,247,246,.85);
}

.section-outro__line--big { font-size: clamp(1.25rem, 2.2vw, 1.65rem); }

@media (max-width: 1024px) {
  .stages-pay { padding: 30px 26px; }
}
@media (max-width: 768px) {
  .stages-pay { padding: 22px 20px; }
  .pay__bar { min-width: 70px; }
  .pay__bar-hint { position: static; display: block; margin-top: 10px; white-space: normal; }
  .pay__step--long .pay__name { margin-top: 14px; }
  .pay__name { font-size: 1.05rem; }
  .stages-pay__foot { margin-top: 22px; padding-top: 18px; font-size: .95rem; }
}

/* ---------- Диалог: возражение и ответ (блок 7) ---------- */
.dialog { display: flex; flex-direction: column; gap: 16px; margin-top: 44px; }
.dialog__bubble { max-width: 78%; padding: 20px 24px; border-radius: 18px; }
.dialog__bubble--them {
  align-self: flex-start;
  border: 1px solid var(--glass-line);
  border-radius: 18px 18px 18px 4px;
  background: var(--glass);
  backdrop-filter: var(--glass-blur);
  -webkit-backdrop-filter: var(--glass-blur);
}
.dialog__bubble--me {
  align-self: flex-end;
  border: 1px solid rgba(34,179,172,.45);
  border-radius: 18px 18px 4px 18px;
  background: rgba(17,52,56,.92);
  backdrop-filter: var(--glass-blur);
  -webkit-backdrop-filter: var(--glass-blur);
}
.dialog__label {
  font-family: var(--font-mono);
  font-size: .62rem;
  letter-spacing: .15em;
  text-transform: uppercase;
  color: rgba(168,192,196,.6);
  margin-bottom: 9px;
}
.dialog__bubble--me .dialog__label { color: var(--btn-face); }
.dialog__text { font-size: 1.0625rem; line-height: 1.65; color: rgba(242,247,246,.92); }

/* ---------- Пронумерованные причины (блок 7) ---------- */
.reasons-big {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  margin-top: 24px;
}
.reason-big {
  display: flex;
  gap: 20px;
  padding: 26px 28px;
  border-radius: var(--radius);
  transition: transform .3s ease, border-color .3s ease;
}
.reason-big:hover { transform: translateY(-4px); border-color: rgba(34,179,172,.55); box-shadow: var(--glow); }
.reason-big--wide { grid-column: 1 / -1; }
.reason-big__num {
  flex-shrink: 0;
  font-family: var(--font-display);
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1;
  color: rgba(34,179,172,.35);
}
.reason-big__title--accent {
  font-size: 1.3rem;
  color: var(--btn-face);
}
.reason-big__title {
  font-family: var(--font-display);
  font-size: 1.1rem;
  font-weight: 600;
  line-height: 1.35;
  color: var(--canvas);
  margin-bottom: 8px;
}
.reason-big__body p { font-size: .975rem; line-height: 1.65; color: rgba(168,192,196,.78); }

@media (max-width: 1024px) {
  .reasons-big { grid-template-columns: 1fr; }
}
@media (max-width: 768px) {
  .dialog { margin-top: 32px; gap: 12px; }
  .dialog__bubble { max-width: 92%; padding: 16px 18px; }
  .dialog__text { font-size: 1rem; }
  .reason-big { gap: 14px; padding: 20px; }
  .reason-big__num { font-size: 1.9rem; }
}

/* =========================================================
   БЛОК 8. ПОЛНЫЙ ПУТЬ ДО КЛЮЧЕЙ
   ========================================================= */
.path {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 0;
  margin-top: 48px;
  align-items: stretch;
}
.path__half {
  padding: 30px 34px;
  border-radius: var(--radius-lg);
  border: 1px solid var(--glass-line);
  background: var(--glass);
  backdrop-filter: var(--glass-blur);
  -webkit-backdrop-filter: var(--glass-blur);
}
.path__half--after { border-color: rgba(27,156,150,.4); background: rgba(16,45,49,.9); }

.path__label {
  font-family: var(--font-mono);
  font-size: .68rem;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: rgba(168,192,196,.65);
  margin-bottom: 20px;
}
.path__label--accent { color: var(--btn-face); }

.path__steps { counter-reset: pathstep; }
.path__steps li {
  counter-increment: pathstep;
  display: flex;
  gap: 14px;
  padding: 14px 0;
  border-top: 1px solid var(--line);
  font-size: .975rem;
  line-height: 1.6;
  color: rgba(200,218,221,.9);
}
.path__steps li::before {
  content: counter(pathstep, decimal-leading-zero);
  flex-shrink: 0;
  font-family: var(--font-mono);
  font-size: .65rem;
  padding-top: 4px;
  color: var(--teal);
}
.path__note {
  margin-top: 20px;
  padding-top: 18px;
  border-top: 1px solid var(--line);
  font-size: .95rem;
  line-height: 1.6;
  color: rgba(168,192,196,.7);
}
.path__note--accent { color: var(--canvas); font-weight: 600; }

/* Разделитель посередине */
.path__pin {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 190px;
  padding: 0 20px;
}
.path__line { flex: 1; width: 2px; background: linear-gradient(180deg, transparent, rgba(27,156,150,.55), transparent); }
.path__dot {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 16px;
  height: 16px;
  margin: -8px 0 0 -8px;
  border-radius: 50%;
  background: var(--btn-face);
  box-shadow: 0 0 0 6px rgba(27,156,150,.18), 0 0 0 1px var(--teal);
}
.path__pin-text {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 150px;
  transform: translate(-50%, 30px);
  text-align: center;
  font-family: var(--font-mono);
  font-size: .6rem;
  line-height: 1.6;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--teal);
}

/* Как это происходит на практике */
.practice { margin-top: 48px; }
.practice__title {
  font-family: var(--font-display);
  font-size: clamp(1.15rem, 2vw, 1.45rem);
  font-weight: 700;
  line-height: 1.2;
  color: var(--canvas);
}
.practice__lead { max-width: 720px; margin-top: 12px; font-size: 1.0625rem; line-height: 1.7; color: rgba(168,192,196,.8); }
.practice__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-top: 28px;
  align-items: stretch;
}
.practice__card { height: 100%; }
.practice__card-label {
  font-family: var(--font-mono);
  font-size: .68rem;
  letter-spacing: .15em;
  text-transform: uppercase;
  color: var(--btn-face);
  line-height: 1.6;
  margin-bottom: 20px;
}

@media (max-width: 1024px) {
  .path { grid-template-columns: 1fr; }
  .path__half { padding: 24px 22px; }
  .path__pin { width: auto; height: 96px; padding: 12px 0; }
  .path__line { width: 2px; height: 100%; flex: none; }
  .path__pin-text { width: 100%; transform: translate(-50%, -50%); background: var(--navy); padding: 6px 12px; }
  .practice__grid { grid-template-columns: 1fr; gap: 16px; }
}
@media (max-width: 768px) {
  .path { margin-top: 32px; }
  .path__half { padding: 20px 18px; }
  .path__steps li { font-size: .92rem; padding: 12px 0; gap: 11px; }
  .practice { margin-top: 36px; }
  .practice__lead { font-size: 1rem; }
}

/* =========================================================
   БЛОК 9. СРОКИ
   ========================================================= */
.timing__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  margin-top: 48px;
  align-items: stretch;
}
.timing-card { height: 100%; display: flex; flex-direction: column; }
.timing-card--fuzzy { border-color: rgba(232,168,124,.28); }

.timing-card__label {
  font-family: var(--font-mono);
  font-size: .68rem;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--btn-face);
}
.timing-card__label--warn { color: #E8A87C; }
.timing-card__title {
  margin-top: 10px;
  font-family: var(--font-display);
  font-size: 1.3rem;
  font-weight: 600;
  color: var(--canvas);
}
.timing-card__range {
  margin-top: 14px;
  font-family: var(--font-display);
  font-size: clamp(1.9rem, 3.6vw, 2.6rem);
  font-weight: 700;
  line-height: 1;
  letter-spacing: -.02em;
  color: var(--btn-face);
}
.timing-card__range--fuzzy { color: #E8A87C; }
.timing-card__sub { margin-top: 12px; font-size: .975rem; line-height: 1.6; color: rgba(168,192,196,.75); }

/* Шкалы */
.scale { margin: 24px 0 22px; }
.scale__track {
  position: relative;
  display: flex;
  align-items: center;
  gap: 0;
  height: 10px;
  border-radius: 5px;
  background: rgba(34,179,172,.25);
  overflow: hidden;
}
.scale__tick { flex: 1; height: 100%; border-right: 1px solid rgba(10,26,31,.55); }
.scale__end { width: 4px; height: 100%; background: var(--btn-face); }
.scale__track--fuzzy {
  height: 10px;
  border-radius: 5px;
  background: linear-gradient(90deg, rgba(232,168,124,.65) 0%, rgba(232,168,124,.35) 45%, rgba(232,168,124,.12) 75%, rgba(232,168,124,0) 100%);
}

.timing-card__list { flex: 1; }
.timing-card__note {
  margin-top: 22px;
  padding-top: 18px;
  border-top: 1px solid var(--line);
  font-size: .95rem;
  color: rgba(168,192,196,.7);
}

@media (max-width: 1024px) {
  .timing__grid { grid-template-columns: 1fr; gap: 20px; margin-top: 40px; }
}
@media (max-width: 768px) {
  .timing__grid { margin-top: 32px; }
  .timing-card__sub { font-size: .92rem; }
  .scale { margin: 20px 0 18px; }
}

/* ---------- Маршрут сделки (блок 9) ---------- */
.route { margin-top: 56px; }
.route__line {
  max-width: 820px;
  font-family: var(--font-display);
  font-size: clamp(1.15rem, 2.1vw, 1.5rem);
  font-weight: 600;
  line-height: 1.35;
  color: var(--canvas);
}

.route__map { position: relative; margin-top: 46px; padding: 0 6px; }
.route__track {
  position: absolute;
  top: 11px;
  left: 6px;
  right: 6px;
  height: 4px;
  border-radius: 2px;
  background: linear-gradient(90deg, rgba(168,192,196,.35) 0%, var(--teal) 38%, var(--btn-face) 66%, #E8A87C 100%);
}
.route__stops {
  position: relative;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 6px;
}

/* Крупная остановка */
.route__stop { display: flex; flex-direction: column; align-items: center; gap: 12px; flex-shrink: 0; }
.route__dot {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  border: 4px solid var(--navy);
  background: var(--teal);
  box-shadow: 0 0 0 2px var(--teal), 0 6px 16px rgba(27,156,150,.35);
}
.route__stop:first-child .route__dot { background: rgba(168,192,196,.6); box-shadow: 0 0 0 2px rgba(168,192,196,.6); }
.route__stop:nth-child(5) .route__dot { background: var(--btn-face); box-shadow: 0 0 0 2px var(--btn-face), 0 6px 16px rgba(27,156,150,.4); }
.route__stop--last .route__dot { background: #E8A87C; box-shadow: 0 0 0 2px #E8A87C, 0 6px 18px rgba(232,168,124,.4); }

.route__name {
  font-family: var(--font-mono);
  font-size: .7rem;
  letter-spacing: .13em;
  text-transform: uppercase;
  color: rgba(200,218,221,.9);
  white-space: nowrap;
}
.route__stop--last .route__name { color: #E8A87C; }

/* Промежуточные точки */
.route__mini {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  height: 26px;
}
.route__mini span {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: rgba(255,255,255,.35);
  box-shadow: 0 0 0 3px var(--navy);
}

.route__note {
  margin-top: 26px;
  font-family: var(--font-mono);
  font-size: .62rem;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: rgba(168,192,196,.6);
}

@media (max-width: 768px) {
  .route { margin-top: 36px; }
  .route__map { margin-top: 34px; padding: 0; }
  .route__track { top: 0; bottom: 0; left: 11px; right: auto; width: 4px; height: auto; background: linear-gradient(180deg, rgba(168,192,196,.35) 0%, var(--teal) 38%, var(--btn-face) 66%, #E8A87C 100%); }
  .route__stops { flex-direction: column; align-items: flex-start; gap: 0; }
  .route__stop { flex-direction: row; align-items: center; gap: 16px; }
  .route__mini { flex-direction: column; height: auto; padding: 10px 0 10px 9px; gap: 9px; align-items: flex-start; justify-content: flex-start; }
  .route__name { font-size: .68rem; }
}

/* =========================================================
   БЛОК 10. СХЕМА СДЕЛКИ
   ========================================================= */
.section-head__answer {
  margin-top: 18px;
  font-family: var(--font-display);
  font-size: clamp(1.05rem, 1.8vw, 1.3rem);
  font-weight: 600;
  line-height: 1.3;
  color: var(--btn-face);
}
.scheme__intro {
  margin-top: 44px;
  font-family: var(--font-display);
  font-size: 1.1rem;
  font-weight: 600;
  color: var(--canvas);
}

/* Цепочка документов */
.chain {
  display: grid;
  grid-template-columns: 1fr auto 1fr auto 1fr;
  gap: 0;
  margin-top: 24px;
  align-items: stretch;
}
.chain__link {
  position: relative;
  padding: 28px 26px;
  border-radius: var(--radius);
  transition: transform .3s ease, border-color .3s ease;
}
.chain__link:hover { transform: translateY(-4px); border-color: rgba(34,179,172,.55); box-shadow: var(--glow); }
.chain__num {
  font-family: var(--font-mono);
  font-size: .65rem;
  letter-spacing: .2em;
  color: var(--teal);
}
.chain__icon { width: 30px; height: 30px; margin: 16px 0 14px; color: var(--btn-face); }
.chain__title {
  font-family: var(--font-display);
  font-size: 1.15rem;
  font-weight: 600;
  line-height: 1.3;
  color: var(--canvas);
}
.chain__text { margin-top: 10px; font-size: .975rem; line-height: 1.65; color: rgba(168,192,196,.75); }

.chain__arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  color: rgba(27,156,150,.7);
}
.chain__arrow svg { width: 26px; height: 13px; }

/* Итог схемы */
.result {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-top: 24px;
  padding: 24px 30px;
  border-radius: var(--radius-lg);
  border: 1px solid rgba(27,156,150,.35);
  background: rgba(27,156,150,.09);
}
.result__mark {
  display: grid;
  place-items: center;
  flex-shrink: 0;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: var(--btn-face);
  color: var(--btn-text);
  box-shadow: 0 6px 18px rgba(27,156,150,.35);
}
.result__mark svg { width: 22px; height: 22px; }
.result__text {
  font-family: var(--font-display);
  font-size: clamp(1.05rem, 1.9vw, 1.3rem);
  font-weight: 600;
  line-height: 1.35;
  color: var(--canvas);
}

@media (max-width: 1024px) {
  .chain { grid-template-columns: 1fr; }
  .chain__arrow { width: 100%; height: 44px; }
  .chain__arrow svg { transform: rotate(90deg); }
}
@media (max-width: 768px) {
  .scheme__intro { margin-top: 32px; }
  .chain__link { padding: 22px 20px; }
  .result { gap: 14px; padding: 20px; }
  .result__mark { width: 36px; height: 36px; }
  .result__mark svg { width: 18px; height: 18px; }
}

/* =========================================================
   БЛОК 11. ДЕНЬГИ
   ========================================================= */
.sub-title {
  font-family: var(--font-display);
  font-size: clamp(1.1rem, 1.9vw, 1.35rem);
  font-weight: 700;
  line-height: 1.2;
  color: var(--canvas);
}
.sub-title--sm { font-size: 1.2rem; }
.sub-lead { max-width: 720px; margin-top: 12px; font-size: 1rem; line-height: 1.7; color: rgba(168,192,196,.78); }

/* Кому не подойдёт */
.nogo { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 44px; }
.nogo__card { padding: 26px 24px; border-radius: var(--radius); }
.nogo__icon { display: block; width: 30px; height: 30px; color: rgba(168,192,196,.5); }
.nogo__icon svg { width: 100%; height: 100%; }
.nogo__title { margin-top: 16px; font-size: 1.05rem; font-weight: 600; line-height: 1.3; color: var(--canvas); }
.nogo__text { margin-top: 8px; font-size: .95rem; line-height: 1.6; color: rgba(168,192,196,.7); }

/* Срок оплаты */
.deadline {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 36px;
  margin-top: 24px;
  padding: 34px 38px;
  border-radius: var(--radius-lg);
  align-items: center;
}
.deadline__label {
  font-family: var(--font-mono);
  font-size: .68rem;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--teal);
}
.deadline__num {
  margin-top: 10px;
  font-family: var(--font-display);
  font-size: clamp(2.4rem, 5vw, 3.6rem);
  font-weight: 700;
  line-height: 1;
  letter-spacing: -.02em;
  color: var(--btn-face);
}
.deadline__sub { margin-top: 12px; font-size: 1rem; line-height: 1.6; color: rgba(242,247,246,.9); }
.deadline__law {
  margin-top: 14px;
  font-family: var(--font-mono);
  font-size: .62rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  line-height: 1.7;
  color: rgba(168,192,196,.6);
}
.deadline__warn {
  padding: 18px 20px;
  border-radius: 12px;
  border-left: 2px solid #E8A87C;
  background: rgba(232,168,124,.09);
  font-size: .975rem;
  line-height: 1.6;
  color: var(--canvas);
}
.deadline__plus { margin-top: 16px; font-size: .975rem; color: rgba(168,192,196,.75); }

/* Состав бюджета — текстом, без плашек */
.budget { margin-top: 44px; }
.budget__text {
  max-width: 800px;
  margin-top: 14px;
  font-size: 1.0625rem;
  line-height: 1.8;
  color: rgba(200,218,221,.9);
}
.budget__note {
  max-width: 800px;
  margin-top: 14px;
  font-size: .95rem;
  line-height: 1.7;
  color: rgba(168,192,196,.7);
}

/* Долги */
.debts { margin-top: 44px; }
.debts__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-top: 24px; align-items: stretch; }
.debts__card { height: 100%; padding: 26px; border-radius: var(--radius); }
.debts__card--yes { border-color: rgba(232,168,124,.3); }
.debts__verdict {
  display: inline-block;
  padding: 6px 12px;
  border-radius: 999px;
  background: rgba(34,179,172,.15);
  font-family: var(--font-mono);
  font-size: .62rem;
  letter-spacing: .15em;
  text-transform: uppercase;
  color: var(--btn-face);
}
.debts__verdict--yes { background: rgba(232,168,124,.14); color: #E8A87C; }
.debts__name { margin-top: 16px; font-size: 1.15rem; font-weight: 600; color: var(--canvas); }
.debts__text { margin-top: 10px; font-size: .975rem; line-height: 1.65; color: rgba(168,192,196,.75); }
.debts__note { max-width: 860px; margin-top: 22px; font-size: .975rem; line-height: 1.7; color: rgba(168,192,196,.7); }

/* Возврат задатка */
.refund {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 36px;
  margin-top: 44px;
  padding: 32px 38px;
  border-radius: var(--radius-lg);
  align-items: center;
}
.refund__text { margin-top: 12px; font-size: 1rem; line-height: 1.7; color: rgba(200,218,221,.9); }
.refund__note { margin-top: 12px; font-size: .95rem; line-height: 1.65; color: rgba(168,192,196,.7); }
.refund__figure {
  text-align: center;
  padding-left: 36px;
  border-left: 1px solid var(--line);
  min-width: 180px;
}
.refund__num {
  font-family: var(--font-display);
  font-size: 3.4rem;
  font-weight: 700;
  line-height: 1;
  color: var(--btn-face);
}
.refund__unit {
  margin-top: 6px;
  font-family: var(--font-mono);
  font-size: .68rem;
  letter-spacing: .15em;
  text-transform: uppercase;
  color: rgba(242,247,246,.85);
}
.refund__law {
  margin-top: 12px;
  font-family: var(--font-mono);
  font-size: .58rem;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: rgba(168,192,196,.55);
}

@media (max-width: 1024px) {
  .nogo { grid-template-columns: 1fr; gap: 16px; }
  .deadline { grid-template-columns: 1fr; gap: 26px; padding: 28px 24px; }
  .debts__grid { grid-template-columns: 1fr; gap: 16px; }
  .refund { grid-template-columns: 1fr; gap: 24px; padding: 26px 24px; }
  .refund__figure { padding: 24px 0 0; border-left: 0; border-top: 1px solid var(--line); text-align: left; }
}
@media (max-width: 768px) {
  .nogo { margin-top: 32px; }
  .nogo__card { padding: 20px; }
  .budget, .debts, .refund { margin-top: 32px; }
  .budget__text { font-size: 1rem; }
  .debts__card { padding: 20px; }
  .refund__num { font-size: 2.8rem; }
}

/* =========================================================
   БЛОК 12. КТО ВЕДЁТ СДЕЛКУ
   ========================================================= */
.expert {
  display: grid;
  grid-template-columns: .8fr 1.2fr;
  gap: 24px;
  margin-top: 44px;
  align-items: stretch;
}
.expert__card { display: flex; flex-direction: column; }
.expert__body { display: flex; flex-direction: column; justify-content: center; }

/* Карточка эксперта */
.expert__card { padding: 26px 24px; border-radius: var(--radius-lg); justify-content: center; }
/* Круглый портрет с мягким ореолом */
.expert__portrait {
  display: grid;
  place-items: center;
  padding: 8px 0 4px;
}
.expert__photo {
  width: 176px;
  height: 176px;
  border-radius: 50%;
  object-fit: cover;
  filter: drop-shadow(0 14px 30px rgba(0,0,0,.45));
  transition: transform .35s cubic-bezier(.2,.8,.3,1);
}
.expert__card:hover .expert__photo { transform: translateY(-3px) scale(1.02); }
.expert__ident { margin-top: 16px; text-align: center; }
.expert__name {
  font-family: var(--font-display);
  font-size: 1.35rem;
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -.01em;
  color: var(--canvas);
}
.expert__role {
  margin-top: 6px;
  font-family: var(--font-mono);
  font-size: .65rem;
  letter-spacing: .15em;
  text-transform: uppercase;
  color: var(--btn-face);
}

.expert__stats { margin-top: 22px; }
.expert__stat {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 14px;
  padding: 13px 0;
  border-top: 1px solid var(--line);
}
.expert__stat dt {
  font-family: var(--font-mono);
  font-size: .62rem;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: rgba(168,192,196,.6);
}
.expert__stat dd {
  font-family: var(--font-display);
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--btn-face);
  white-space: nowrap;
}
.expert__stats-note { margin-top: 14px; font-size: .82rem; line-height: 1.55; color: rgba(168,192,196,.55); text-align: center; }

/* Текстовая часть */
.expert__body p { font-size: 1.0625rem; line-height: 1.7; }
.expert__body p + p { margin-top: 18px; }

/* Шкала опыта */
.career { margin-bottom: 28px; }
.career__bars { display: flex; gap: 10px; align-items: stretch; }
.career__bar {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 16px 18px;
  border-radius: var(--radius);
}
.career__bar--market { flex: 1.8; background: rgba(255,255,255,.06); border: 1px solid var(--line); }
.career__bar--auction {
  flex: 1;
  background: rgba(27,156,150,.14);
  border: 1px solid rgba(27,156,150,.4);
}
.career__years {
  font-family: var(--font-display);
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--canvas);
}
.career__bar--auction .career__years { color: var(--btn-face); }
.career__what {
  font-family: var(--font-mono);
  font-size: .6rem;
  letter-spacing: .1em;
  text-transform: uppercase;
  line-height: 1.5;
  color: rgba(168,192,196,.65);
}

/* Специализация */
.focus {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  margin-top: 28px;
  padding: 24px 26px;
  border-radius: var(--radius);
  border: 1px solid var(--glass-line);
  background: var(--glass);
  backdrop-filter: var(--glass-blur);
  -webkit-backdrop-filter: var(--glass-blur);
}
.focus__label {
  font-family: var(--font-mono);
  font-size: .62rem;
  letter-spacing: .15em;
  text-transform: uppercase;
  color: var(--btn-face);
  margin-bottom: 14px;
}
.focus__label--muted { color: rgba(168,192,196,.55); }
.focus__list li {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: .975rem !important;
  line-height: 1.5;
  color: rgba(200,218,221,.9);
}
.focus__list li + li { margin-top: 10px; }
.focus__list--yes li::before {
  content: "✓";
  color: var(--btn-face);
  font-size: .85rem;
}
.focus__list--no li { color: rgba(168,192,196,.55); }
.focus__list--no li::before {
  content: "×";
  color: rgba(168,192,196,.45);
  font-size: 1rem;
}
.focus__note { margin-top: 16px; font-size: .95rem !important; line-height: 1.65; color: rgba(168,192,196,.7); }

/* Партнёрство */
.partner {
  display: grid;
  grid-template-columns: .8fr 1.2fr;
  gap: 32px;
  margin-top: 24px;
  padding: 30px 34px;
  border-radius: var(--radius-lg);
  align-items: center;
}
.partner__label {
  font-family: var(--font-mono);
  font-size: .65rem;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: rgba(168,192,196,.6);
}
.partner__title {
  margin-top: 10px;
  font-family: var(--font-display);
  font-size: clamp(1.2rem, 2.2vw, 1.5rem);
  font-weight: 700;
  line-height: 1.25;
  color: var(--canvas);
}
.partner__list { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 22px; }
.partner__list li {
  display: flex;
  gap: 11px;
  font-size: .975rem;
  line-height: 1.55;
  color: rgba(168,192,196,.8);
}
.partner__list li::before {
  content: "";
  flex-shrink: 0;
  width: 6px;
  height: 6px;
  margin-top: 8px;
  border-radius: 50%;
  background: var(--teal);
}

@media (max-width: 1024px) {
  .expert { grid-template-columns: 1fr; gap: 26px; }
  .expert__photo { width: 150px; height: 150px; }
  .partner { grid-template-columns: 1fr; gap: 22px; padding: 26px 24px; }
}
@media (max-width: 768px) {
  .expert { margin-top: 32px; }
  .expert__card { padding: 18px; }
  .expert__name { font-size: 1.3rem; }
  .expert__body p { font-size: 1rem; }
  .career__bars { flex-direction: column; }
  .focus { grid-template-columns: 1fr; gap: 20px; padding: 20px; }
  .partner__list { grid-template-columns: 1fr; }
}

/* ---------- Лестница снижения цены: горизонтальная (блок 2) ---------- */
.ladder { overflow-x: auto; padding-bottom: 6px; }
.ladder__row {
  display: flex;
  align-items: flex-end;
  gap: 6px;
  min-width: 760px;
}
.ladder__step {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  min-width: 58px;
}
/* Разделение аукционов и публичного предложения */
.ladder__step--first-public { margin-left: 26px; position: relative; }
.ladder__step--first-public::before {
  content: "";
  position: absolute;
  left: -14px;
  bottom: 0;
  width: 1px;
  height: 190px;
  background: linear-gradient(180deg, transparent, rgba(27,156,150,.45));
}

/* Подписи групп */
.ladder__groups { display: flex; gap: 26px; min-width: 760px; margin-bottom: 14px; }
.ladder__group {
  padding-bottom: 8px;
  border-bottom: 1px solid rgba(27,156,150,.35);
  font-family: var(--font-mono);
  font-size: .6rem;
  letter-spacing: .13em;
  text-transform: uppercase;
  color: rgba(168,192,196,.6);
}
.ladder__group--auctions { flex: 2; }
.ladder__group--public { flex: 10; color: var(--btn-face); border-bottom-color: rgba(34,179,172,.6); }
.ladder__price {
  font-family: var(--font-display);
  font-size: .8rem;
  font-weight: 700;
  line-height: 1.1;
  color: var(--canvas);
  white-space: nowrap;
}
.ladder__bar {
  width: 100%;
  height: var(--h);
  border-radius: 5px 5px 0 0;
  background: rgba(27,156,150,.45);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.2);
  transition: height .35s cubic-bezier(.2,.8,.3,1), background-color .2s ease;
}
.ladder__step:hover .ladder__bar { background: var(--btn-face); }
.ladder__step--start .ladder__bar { background: rgba(27,156,150,.7); }
.ladder__step--repeat .ladder__bar { background: rgba(27,156,150,.6); }
.ladder__step--last .ladder__bar { background: var(--btn-face); }

.ladder__pct {
  font-family: var(--font-mono);
  font-size: .58rem;
  letter-spacing: .04em;
  color: rgba(168,192,196,.7);
}
.ladder__stage {
  font-family: var(--font-mono);
  font-size: .55rem;
  line-height: 1.4;
  letter-spacing: .05em;
  text-transform: uppercase;
  text-align: center;
  color: rgba(168,192,196,.55);
  min-height: 2.5em;
}
.ladder__step--start .ladder__stage,
.ladder__step--repeat .ladder__stage,
.ladder__step--last .ladder__stage { color: var(--btn-face); }

@media (max-width: 1024px) {
  .calc__body { grid-template-columns: 1fr; gap: 26px; }
}
@media (max-width: 768px) {
  .ladder__row, .ladder__groups { min-width: 780px; gap: 5px; }
  .ladder__groups { gap: 24px; }
  .ladder__price { font-size: .72rem; }
  .ladder__pct { font-size: .54rem; }
  .ladder__stage { font-size: .5rem; }
}

/* =========================================================
   БЛОК 13. ЧТО ВЫ УЖЕ ПРОБОВАЛИ
   ========================================================= */
.tried__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  margin-top: 48px;
  align-items: stretch;
}
.tried__card { height: 100%; padding: 26px 24px; }
.tried__icon { display: block; width: 28px; height: 28px; color: rgba(168,192,196,.5); }
.tried__icon svg { width: 100%; height: 100%; }
.tried__title { margin-top: 16px; font-size: 1.1rem; font-weight: 600; color: var(--canvas); }
.tried__text { margin-top: 10px; font-size: .95rem; line-height: 1.65; color: rgba(168,192,196,.75); }

/* Зоны ответственности */
.scope {
  margin-top: 40px;
  padding: 36px 40px;
  border-radius: var(--radius-lg);
  border: 1px solid rgba(27,156,150,.35);
  background: rgba(16,45,49,.9);
  backdrop-filter: var(--glass-blur);
  -webkit-backdrop-filter: var(--glass-blur);
}
.scope__title {
  font-family: var(--font-display);
  font-size: clamp(1.15rem, 2.1vw, 1.5rem);
  font-weight: 700;
  line-height: 1.2;
  color: var(--canvas);
}

.scope__legend {
  display: grid;
  grid-template-columns: 130px 1fr 170px;
  margin-top: 30px;
}
.scope__legend span {
  font-family: var(--font-mono);
  font-size: .56rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: rgba(168,192,196,.5);
}
.scope__legend { display: flex; gap: 0; padding-left: 130px; padding-right: 170px; }
.scope__legend span { flex: 1; }
.scope__legend span:last-child { text-align: right; flex: 0 0 auto; }

.scope__rows { margin-top: 12px; }
.scope__row {
  display: grid;
  grid-template-columns: 130px 1fr 170px;
  gap: 18px;
  align-items: center;
  padding: 13px 0;
  border-top: 1px solid var(--line);
}
.scope__who {
  font-family: var(--font-display);
  font-size: 1rem;
  font-weight: 600;
  color: rgba(200,218,221,.9);
}
.scope__track {
  position: relative;
  display: block;
  height: 12px;
  border-radius: 6px;
  background: rgba(255,255,255,.06);
}
.scope__bar {
  position: absolute;
  top: 0;
  left: var(--from);
  width: calc(var(--to) - var(--from));
  height: 100%;
  border-radius: 6px;
  background: rgba(27,156,150,.55);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.18);
}
.scope__bar--dashed {
  background: repeating-linear-gradient(90deg, rgba(168,192,196,.5) 0 6px, transparent 6px 11px);
  box-shadow: none;
}
.scope__bar--full {
  background: var(--btn-face);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.4), 0 4px 16px rgba(27,156,150,.35);
}
.scope__for {
  font-family: var(--font-mono);
  font-size: .62rem;
  letter-spacing: .1em;
  text-transform: uppercase;
  line-height: 1.5;
  color: rgba(168,192,196,.6);
  text-align: right;
}
.scope__row--me .scope__who { color: var(--btn-face); font-size: 1.15rem; }
.scope__row--me .scope__for { color: var(--btn-face); }

.scope__note {
  margin-top: 22px;
  padding-top: 18px;
  border-top: 1px solid var(--line);
  font-size: 1rem;
  line-height: 1.7;
  color: rgba(168,192,196,.75);
}

@media (max-width: 1024px) {
  .tried__grid { grid-template-columns: 1fr 1fr; }
  .scope { padding: 28px 24px; }
  .scope__legend { display: none; }
  .scope__row { grid-template-columns: 110px 1fr; grid-template-areas: "who track" "for for"; gap: 12px; }
  .scope__who { grid-area: who; }
  .scope__track { grid-area: track; }
  .scope__for { grid-area: for; text-align: left; }
}
@media (max-width: 768px) {
  .tried__grid { grid-template-columns: 1fr; gap: 16px; margin-top: 32px; }
  .tried__card { padding: 20px; }
  .scope { margin-top: 28px; padding: 22px 18px; }
  .scope__row { grid-template-columns: 90px 1fr; }
  .scope__who { font-size: .95rem; }
}

/* =========================================================
   БЛОК 14. ЦЕНА
   ========================================================= */
.tariffs {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-top: 48px;
  align-items: stretch;
}
.tariff { display: flex; flex-direction: column; padding: 28px 26px; border-radius: var(--radius); }
.tariff--me { border-color: rgba(27,156,150,.5); box-shadow: 0 18px 40px rgba(27,156,150,.12); }

.tariff__who {
  font-family: var(--font-mono);
  font-size: .65rem;
  letter-spacing: .15em;
  text-transform: uppercase;
  line-height: 1.6;
  color: rgba(168,192,196,.65);
  min-height: 3em;
}
.tariff__who--me { color: var(--btn-face); }
.tariff__price {
  margin-top: 8px;
  font-family: var(--font-display);
  font-size: clamp(1.5rem, 2.6vw, 1.9rem);
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -.02em;
  color: var(--canvas);
}
.tariff__price--me { color: var(--btn-face); font-size: clamp(1.8rem, 3.2vw, 2.3rem); }
.tariff__price-sub { margin-top: 8px; font-size: .85rem; line-height: 1.5; color: rgba(168,192,196,.6); }
.tariff__scope-label {
  margin-top: 8px;
  font-size: .85rem;
  line-height: 1.5;
  color: rgba(168,192,196,.6);
}
.tariff__scope-label--me { color: rgba(242,247,246,.85); }

.tariff__track {
  display: block;
  height: 8px;
  margin: 18px 0 22px;
  border-radius: 4px;
  background: rgba(255,255,255,.06);
}
.tariff__bar {
  display: block;
  width: var(--w);
  height: 100%;
  border-radius: 4px;
  background: rgba(27,156,150,.5);
}
.tariff__bar--full {
  background: var(--btn-face);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.4), 0 4px 14px rgba(27,156,150,.35);
}

.tariff__list { flex: 1; }
.tariff__list li {
  display: flex;
  gap: 10px;
  font-size: .95rem;
  line-height: 1.55;
}
.tariff__list li + li { margin-top: 10px; }
.tariff__yes { color: rgba(200,218,221,.9); }
.tariff__yes::before { content: "✓"; color: var(--btn-face); font-size: .85rem; }
.tariff__no { color: rgba(168,192,196,.5); }
.tariff__no::before { content: "×"; color: rgba(168,192,196,.4); font-size: 1rem; line-height: 1.3; }

.tariff__note {
  margin-top: 20px;
  padding-top: 16px;
  border-top: 1px solid var(--line);
  font-size: .9rem;
  line-height: 1.6;
  color: rgba(168,192,196,.65);
}
.tariff__note--me { color: rgba(242,247,246,.85); }

/* Условия оплаты */
.pay-terms {
  display: grid;
  grid-template-columns: 1.5fr 1fr;
  gap: 20px;
  margin-top: 24px;
  align-items: stretch;
}
.pay-terms__main, .pay-terms__aside { padding: 30px 32px; border-radius: var(--radius-lg); height: 100%; }
.pay-terms__title {
  font-family: var(--font-display);
  font-size: clamp(1.05rem, 1.8vw, 1.3rem);
  font-weight: 700;
  line-height: 1.25;
  color: var(--canvas);
}
.pay-terms__steps { margin-top: 24px; }
.pay-terms__steps li {
  display: grid;
  grid-template-columns: 150px 1fr;
  gap: 18px;
  padding: 14px 0;
  border-top: 1px solid var(--line);
  align-items: baseline;
}
.pay-terms__num {
  font-family: var(--font-mono);
  font-size: .65rem;
  letter-spacing: .15em;
  text-transform: uppercase;
  color: var(--btn-face);
}
.pay-terms__what { font-size: 1rem; line-height: 1.6; color: rgba(200,218,221,.9); }
.pay-terms__final {
  margin-top: 22px;
  font-family: var(--font-display);
  font-size: 1.15rem;
  font-weight: 600;
  color: var(--canvas);
}

.pay-terms__label {
  font-family: var(--font-mono);
  font-size: .65rem;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: rgba(168,192,196,.6);
  margin-bottom: 18px;
}
.pay-terms__aside-note { margin-top: 18px; font-size: .9rem; line-height: 1.6; color: rgba(168,192,196,.6); }

.price-cta {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 16px;
  margin-top: 40px;
}
.price-cta__note { letter-spacing: .13em; }

@media (max-width: 1024px) {
  .tariffs { grid-template-columns: 1fr; gap: 16px; }
  .tariff__who { min-height: 0; }
  .pay-terms { grid-template-columns: 1fr; }
  .pay-terms__main, .pay-terms__aside { padding: 24px 22px; }
}
@media (max-width: 768px) {
  .tariffs { margin-top: 32px; }
  .tariff { padding: 22px 20px; }
  .pay-terms__steps li { grid-template-columns: 1fr; gap: 6px; }
  .price-cta { margin-top: 28px; }
  .price-cta .btn { width: 100%; }
}

/* =========================================================
   БЛОК 15. ЧАСТЫЕ ВОПРОСЫ
   ========================================================= */
.faq__cols {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 44px;
  margin-top: 48px;
  align-items: start;
}
.faq__col-title {
  font-family: var(--font-display);
  font-size: clamp(1.25rem, 2.2vw, 1.55rem);
  font-weight: 700;
  line-height: 1.2;
  color: var(--btn-face);
}
.faq__col-sub { margin-top: 8px; font-size: .95rem; line-height: 1.55; color: rgba(168,192,196,.65); }
.faq { margin-top: 22px; border-top: 1px solid var(--line); }
.faq__item { border-bottom: 1px solid var(--line); }

.faq__q { margin: 0; }
.faq__trigger {
  display: grid;
  grid-template-columns: 44px 1fr 24px;
  gap: 14px;
  align-items: baseline;
  width: 100%;
  padding: 22px 4px;
  text-align: left;
  transition: color .2s ease;
}
.faq__num {
  font-family: var(--font-mono);
  font-size: .68rem;
  color: var(--teal);
  transition: color .2s ease;
}
.faq__text {
  font-family: var(--font-display);
  font-size: 1.05rem;
  font-weight: 600;
  line-height: 1.4;
  color: var(--canvas);
  transition: color .2s ease;
}
.faq__chevron {
  display: block;
  align-self: center;
  color: rgba(168,192,196,.6);
  transition: transform .3s ease, color .2s ease;
}
.faq__chevron svg { width: 14px; height: 8px; }
.faq__trigger:hover .faq__text { color: var(--btn-face); }
.faq__trigger:hover .faq__chevron { color: var(--btn-face); }
.faq__trigger[aria-expanded="true"] .faq__chevron { transform: rotate(180deg); color: var(--btn-face); }
.faq__trigger[aria-expanded="true"] .faq__text { color: var(--btn-face); }

.faq__a { overflow: hidden; }
.faq__a[hidden] { display: none; }
.faq__a-inner { padding: 0 32px 24px 58px; }
.faq__a-inner p { font-size: .95rem; line-height: 1.7; color: rgba(168,192,196,.8); }
.faq__a-inner p + p { margin-top: 14px; }

@media (max-width: 1024px) {
  .faq__cols { grid-template-columns: 1fr; gap: 36px; margin-top: 36px; }
}
@media (max-width: 768px) {
  .faq { margin-top: 18px; }
  .faq__trigger { grid-template-columns: 32px 1fr 18px; gap: 10px; padding: 18px 2px; }
  .faq__num { font-size: .6rem; }
  .faq__text { font-size: 1rem; }
  .faq__a-inner { padding: 0 6px 20px 42px; }
  .faq__a-inner p { font-size: .95rem; }
}

/* ---------- Ссылки на каталог и группу (блок 15) ---------- */
.links {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  margin-top: 48px;
}
.links__card {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 20px;
  align-items: center;
  padding: 26px 28px;
  border-radius: var(--radius-lg);
  border: 1px solid rgba(27,156,150,.4);
  background: rgba(16,45,49,.9);
  backdrop-filter: var(--glass-blur);
  -webkit-backdrop-filter: var(--glass-blur);
  transition: transform .3s ease, border-color .3s ease, background-color .3s ease, box-shadow .3s ease;
}
.links__card:hover {
  transform: translateY(-4px);
  border-color: var(--btn-face);
  background: rgba(20,56,60,.94);
  box-shadow: var(--glow);
}
.links__icon {
  display: grid;
  place-items: center;
  width: 52px;
  height: 52px;
  border-radius: 14px;
  background: var(--btn-face);
  color: var(--btn-text);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.4), 0 6px 18px rgba(27,156,150,.3);
}
.links__icon svg { width: 26px; height: 26px; }
.links__body { display: block; }
.links__label {
  display: block;
  font-family: var(--font-mono);
  font-size: .6rem;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--btn-face);
}
.links__title {
  display: block;
  margin-top: 7px;
  font-family: var(--font-display);
  font-size: 1.15rem;
  font-weight: 600;
  line-height: 1.3;
  color: var(--canvas);
}
.links__note { display: block; margin-top: 6px; font-size: .9rem; line-height: 1.5; color: rgba(168,192,196,.7); }
.links__arrow { color: var(--btn-face); transition: transform .3s ease; }
.links__arrow svg { width: 24px; height: 24px; }
.links__card:hover .links__arrow { transform: translateX(4px); }

@media (max-width: 1024px) {
  .links { grid-template-columns: 1fr; gap: 16px; margin-top: 36px; }
}
@media (max-width: 768px) {
  .links__card { grid-template-columns: auto 1fr; gap: 16px; padding: 20px; }
  .links__arrow { display: none; }
  .links__icon { width: 44px; height: 44px; }
  .links__icon svg { width: 22px; height: 22px; }
  .links__title { font-size: 1.05rem; }
}

/* =========================================================
   БЛОК 16. КАК НАЧАТЬ
   ========================================================= */
.start__ways {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  margin-top: 48px;
  align-items: stretch;
}
.way { height: 100%; padding: 30px 32px; }
.way p { font-size: 1rem; line-height: 1.7; color: rgba(200,218,221,.88); }
.way__label {
  font-family: var(--font-mono);
  font-size: .65rem !important;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--btn-face) !important;
}
.way__title {
  margin: 12px 0 14px;
  font-family: var(--font-display);
  font-size: clamp(1.2rem, 2.2vw, 1.45rem);
  font-weight: 700;
  line-height: 1.25;
  color: var(--canvas);
}
.way__note {
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid var(--line);
  font-size: .95rem !important;
  color: rgba(168,192,196,.68) !important;
}

.start__terms {
  max-width: 860px;
  margin-top: 28px;
  font-size: 1.0625rem;
  line-height: 1.7;
  color: rgba(168,192,196,.8);
}

/* Форма */
.start__form-wrap { margin-top: 40px; padding: 40px 44px; border-radius: var(--radius-lg); }
.start__form-head { margin-bottom: 28px; }
.start__form-title {
  font-family: var(--font-display);
  font-size: clamp(1.25rem, 2.3vw, 1.6rem);
  font-weight: 700;
  line-height: 1.15;
  color: var(--canvas);
}
.start__form-sub {
  margin-top: 10px;
  font-family: var(--font-mono);
  font-size: .68rem;
  letter-spacing: .15em;
  text-transform: uppercase;
  color: var(--teal);
}

.start-form { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.start-form[hidden] { display: none; }

.consent { display: block; position: relative; padding-left: 30px; cursor: pointer; }
.consent input {
  position: absolute;
  left: 0;
  top: 2px;
  width: 18px;
  height: 18px;
  accent-color: var(--teal);
  cursor: pointer;
}
.consent__text { font-size: .9rem; line-height: 1.6; color: rgba(168,192,196,.75); }
.consent__text a { color: var(--btn-face); text-decoration: underline; text-underline-offset: 3px; }
.consent.has-error .consent__text { color: #E88B87; }

.start-form__foot {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 20px;
  margin-top: 4px;
}
.start-form__note { letter-spacing: .13em; }
.start-form__success {
  margin-top: 8px;
  padding: 22px 24px;
  border: 1px solid rgba(27,156,150,.4);
  border-radius: var(--radius);
  background: rgba(27,156,150,.1);
  font-size: 1.05rem;
  color: var(--canvas);
}

/* Прямые контакты */
.start__direct {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 20px;
  margin-top: 32px;
  padding-top: 26px;
  border-top: 1px solid var(--line);
}
.start__direct-label {
  font-family: var(--font-mono);
  font-size: .65rem;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: rgba(168,192,196,.6);
}
.start__direct-links { display: flex; flex-wrap: wrap; gap: 12px; }
.start__direct-link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 11px 20px;
  border-radius: 999px;
  border: 1px solid rgba(27,156,150,.45);
  background: rgba(27,156,150,.08);
  font-size: .95rem;
  font-weight: 600;
  color: var(--canvas);
  transition: background-color .25s ease, border-color .25s ease, transform .25s ease;
}
.start__direct-link svg { width: 19px; height: 19px; color: var(--btn-face); }
.start__direct-link:hover {
  background: rgba(27,156,150,.16);
  border-color: var(--btn-face);
  transform: translateY(-2px);
}

@media (max-width: 1024px) {
  .start__ways { grid-template-columns: 1fr; gap: 16px; }
  .way { padding: 26px 24px; }
  .start__form-wrap { padding: 30px 26px; }
}
@media (max-width: 768px) {
  .start__ways { margin-top: 32px; }
  .start__terms { font-size: 1rem; }
  .start__form-wrap { margin-top: 28px; padding: 24px 20px; }
  .start-form { grid-template-columns: 1fr; gap: 16px; }
  .start-form__foot { flex-direction: column; align-items: stretch; }
  .start-form__foot .btn { width: 100%; }
  .start-form__note { text-align: center; }
  .start__direct { flex-direction: column; align-items: flex-start; gap: 14px; }
}

/* =========================================================
   ФОНОВОЕ ИЗОБРАЖЕНИЕ СЕКЦИИ (опционально)
   Подключается прямо в разметке:
   <section class="section" style="--section-bg: url('images/файл.jpg')">
   Затемнение регулируется --section-bg-shade (0 — без затемнения, 1 — полностью тёмный)
   ========================================================= */
.section,
.hero { --section-bg: none; --section-bg-shade: .78; }

.section::before,
.hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background-image: var(--section-bg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  pointer-events: none;
}
/* Затемняющая вуаль поверх картинки — чтобы текст оставался читаемым */
.section::after,
.hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: rgba(10,26,31,var(--section-bg-shade));
  pointer-events: none;
}
/* Без картинки слои не рисуются */
.section:not([style*="--section-bg"])::before,
.section:not([style*="--section-bg"])::after,
.hero:not([style*="--section-bg"])::before,
.hero:not([style*="--section-bg"])::after { display: none; }

/* Контент и декор всегда поверх фона */
.hero__inner,
.section > .container { position: relative; z-index: 10; }
.section-pattern { z-index: 5; }

/* =========================================================
   СТРАНИЦА БЛОГА: категории
   ========================================================= */
.site-header--static { position: sticky; }
.site-header--static.is-hidden { transform: none; opacity: 1; visibility: visible; pointer-events: auto; }
.navbar__link--current { color: var(--btn-face); background: rgba(27,156,150,.16); }

.page-blog .nav-fab,
.page-blog .nav-panel,
.page-blog .nav-overlay { display: none !important; }

.blog { position: relative; z-index: 10; padding: 56px 0 96px; }
.blog__head { max-width: 780px; }
.blog__title {
  margin-top: 4px;
  font-family: var(--font-display);
  font-size: clamp(1.6rem, 3.2vw, 2.4rem);
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -.02em;
  color: var(--canvas);
}

.blog__links { margin-top: 44px; }
.blog__back { margin-top: 40px; }
.blog__back a {
  font-family: var(--font-mono);
  font-size: .7rem;
  letter-spacing: .15em;
  text-transform: uppercase;
  color: var(--btn-face);
}
.blog__back a:hover { color: var(--canvas); }

@media (max-width: 1024px) {
  .cats { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 768px) {
  .site-header--static { display: block; }
  .navbar__nav, .navbar__cta { display: none; }
  .site-header--static .navbar { justify-content: center; }
  .blog { padding: 32px 0 64px; }
  .cats { grid-template-columns: 1fr; gap: 16px; margin-top: 32px; }
  .cats__item { padding: 22px 20px; }
}

/* ---------- Карточки материалов и категорий ---------- */
.posts { display: grid; gap: 20px; margin-top: 44px; }

.post {
  display: grid;
  grid-template-columns: 168px 1fr;
  gap: 0;
  border-radius: var(--radius-lg);
  overflow: hidden;
  align-items: start;
}
/* Иконка материала на отдельной подложке */
.post__cover {
  display: grid;
  place-items: center;
  align-self: stretch;
  padding: 30px 20px;
  background: rgba(255,255,255,.05);
  border-right: 1px solid var(--line);
}
.post__cover img {
  width: 76px;
  height: 76px;
  object-fit: contain;
  display: block;
  filter: drop-shadow(0 8px 18px rgba(0,0,0,.4));
  transition: transform .35s cubic-bezier(.2,.8,.3,1);
}
.post:hover .post__cover img { transform: translateY(-3px) scale(1.04); }

.post__body { padding: 30px 32px; display: flex; flex-direction: column; align-items: flex-start; }
.post__label {
  font-family: var(--font-mono);
  font-size: .62rem;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--teal);
}
.post__title {
  margin-top: 10px;
  font-family: var(--font-display);
  font-size: clamp(1.2rem, 2vw, 1.5rem);
  font-weight: 700;
  line-height: 1.25;
  color: var(--canvas);
}
.post__lead { margin-top: 12px; font-size: 1rem; line-height: 1.7; color: rgba(168,192,196,.8); }

.post__more {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-top: 20px;
  padding: 11px 20px;
  border-radius: 999px;
  border: 1px solid rgba(27,156,150,.5);
  background: rgba(27,156,150,.12);
  font-family: var(--font-body);
  font-size: .95rem;
  font-weight: 600;
  color: var(--canvas);
  transition: background-color .25s ease, border-color .25s ease, transform .25s ease;
}
.post__more:hover { background: rgba(27,156,150,.22); border-color: var(--btn-face); transform: translateY(-2px); }
.post__more svg { width: 14px; height: 8px; color: var(--btn-face); transition: transform .28s ease; }
.post__more[aria-expanded="true"] svg { transform: rotate(180deg); }
.post--cat .post__more svg { width: 20px; height: 20px; }
.post--cat .post__more:hover svg { transform: translateX(3px); }

.post__full { margin-top: 20px; padding-top: 20px; border-top: 1px solid var(--line); }
.post__full[hidden] { display: none; }
.post__full p { font-size: 1rem; line-height: 1.75; color: rgba(200,218,221,.88); max-width: 68ch; }
.post__full p + p { margin-top: 14px; }

.blog__crumb { color: var(--btn-face); }
.blog__crumb:hover { color: var(--canvas); text-decoration: underline; text-underline-offset: 4px; }

/* Текст статьи */
.post__h3 {
  margin-top: 22px;
  font-family: var(--font-display);
  font-size: 1.05rem;
  font-weight: 700;
  line-height: 1.3;
  color: var(--btn-face);
}
.post__list { margin-top: 12px; padding-left: 0; }
.post__list li {
  position: relative;
  padding-left: 22px;
  font-size: 1rem;
  line-height: 1.7;
  color: rgba(200,218,221,.88);
}
.post__list li + li { margin-top: 8px; }
.post__list li::before {
  content: "";
  position: absolute;
  left: 4px;
  top: 11px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--teal);
}
ol.post__list { counter-reset: postitem; }
ol.post__list li { counter-increment: postitem; padding-left: 30px; }
ol.post__list li::before {
  content: counter(postitem);
  width: auto;
  height: auto;
  top: 0;
  left: 0;
  border-radius: 0;
  background: none;
  font-family: var(--font-mono);
  font-size: .75rem;
  color: var(--teal);
}
.post__full a { color: var(--btn-face); text-decoration: underline; text-underline-offset: 3px; }
.post__full strong { color: var(--canvas); }

@media (max-width: 900px) {
  .post { grid-template-columns: 1fr; }
  .post__cover { padding: 22px; border-right: 0; border-bottom: 1px solid var(--line); }
  .post__cover img { width: 64px; height: 64px; }
  .post__body { padding: 24px 22px; }
}

/* =========================================================
   ЕДИНЫЙ СТАНДАРТ ПЛАШЕК: матовая заливка, обводка,
   подъём и бирюзовое свечение при наведении
   ========================================================= */
.dialog__bubble,
.path__half,
.result,
.scope,
.career__bar,
.focus,
.switcher,
.stages-pay,
.checks,
.calc,
.deadline,
.boat__col,
.expert__card,
.partner,
.pay-terms__main,
.pay-terms__aside,
.lot-card,
.start__form-wrap,
.question {
  transition: transform .35s cubic-bezier(.2,.8,.3,1), border-color .3s ease, box-shadow .35s ease, background-color .3s ease;
}
.dialog__bubble:hover,
.path__half:hover,
.result:hover,
.scope:hover,
.career__bar:hover,
.focus:hover,
.switcher:hover,
.stages-pay:hover,
.checks:hover,
.calc:hover,
.deadline:hover,
.expert__card:hover,
.partner:hover,
.pay-terms__main:hover,
.pay-terms__aside:hover,
.lot-card:hover,
.start__form-wrap:hover {
  transform: translateY(-4px);
  border-color: rgba(34,179,172,.55);
  box-shadow: var(--glow);
}

/* 18) «Что проверю я» — полноценная плашка */
.checks {
  padding: 30px 32px;
  border-radius: var(--radius-lg);
  border: 1px solid var(--glass-line);
  background: var(--glass);
  backdrop-filter: var(--glass-blur);
  -webkit-backdrop-filter: var(--glass-blur);
}
.checks__item:first-of-type { border-top: 0; padding-top: 0; }
.checks__item:first-of-type::before { top: 0; }

/* 10) Итог схемы сделки — матовая плашка со свечением */
.result {
  background: rgba(16,45,49,.9);
  backdrop-filter: var(--glass-blur);
  -webkit-backdrop-filter: var(--glass-blur);
}

/* 12) Плашки опыта в блоке 12 */
.career__bar--market { background: var(--glass); border-color: var(--glass-line); backdrop-filter: var(--glass-blur); -webkit-backdrop-filter: var(--glass-blur); }
.career__bar--auction { background: rgba(16,45,49,.92); backdrop-filter: var(--glass-blur); -webkit-backdrop-filter: var(--glass-blur); }
.career__note { margin-top: 8px; font-size: .85rem; line-height: 1.55; color: rgba(168,192,196,.72); }

/* 6) Пузыри диалога — обводка ярче при наведении */
.dialog__bubble:hover { background: rgba(20,50,56,.94); }

@media (max-width: 768px) {
  .checks { padding: 22px 20px; }
}

/* ---------- Ссылка на файл (пример заключения) ---------- */
.file-link {
  display: inline-flex;
  align-items: center;
  gap: 16px;
  margin-top: 22px;
  padding: 16px 22px 16px 18px;
  border-radius: var(--radius);
  border: 1px solid rgba(27,156,150,.45);
  background: rgba(16,45,49,.9);
  backdrop-filter: var(--glass-blur);
  -webkit-backdrop-filter: var(--glass-blur);
  transition: transform .3s ease, border-color .3s ease, box-shadow .3s ease, background-color .3s ease;
}
.file-link:hover {
  transform: translateY(-3px);
  border-color: var(--btn-face);
  background: rgba(20,56,60,.94);
  box-shadow: var(--glow);
}
.file-link__icon {
  display: grid;
  place-items: center;
  flex-shrink: 0;
  width: 42px;
  height: 42px;
  border-radius: 12px;
  background: var(--btn-face);
  color: var(--btn-text);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.4), 0 6px 16px rgba(27,156,150,.3);
}
.file-link__icon svg { width: 21px; height: 21px; }
.file-link__title {
  display: block;
  font-family: var(--font-display);
  font-size: 1.05rem;
  font-weight: 600;
  color: var(--canvas);
}
.file-link__note { display: block; margin-top: 4px; font-size: .875rem; line-height: 1.5; color: rgba(168,192,196,.72); }

/* ---------- Кнопки в блоке «Как начать» ---------- */
.way { display: flex; flex-direction: column; }
.way__cta { margin-top: auto; align-self: flex-start; }
.way__note + .way__cta { margin-top: 22px; }

/* Второстепенная кнопка: контур без заливки */
.btn--ghost {
  border: 1px solid rgba(27,156,150,.55);
  background: rgba(27,156,150,.1);
  color: var(--canvas);
  transition: background-color .25s ease, border-color .25s ease, transform .25s ease, box-shadow .25s ease;
}
.btn--ghost:hover {
  background: rgba(27,156,150,.2);
  border-color: var(--btn-face);
  transform: translateY(-2px);
  box-shadow: var(--glow);
}

@media (max-width: 768px) {
  .file-link { gap: 12px; padding: 14px 16px; }
  .file-link__title { font-size: .975rem; }
  .way__cta { width: 100%; justify-content: center; }
}

/* Ловушка для ботов: поле видно только им */
.hp {
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
  pointer-events: none;
}

/* =========================================================
   СТРАНИЦА БЛАГОДАРНОСТИ
   ========================================================= */
.page-thanks .nav-fab,
.page-thanks .nav-panel,
.page-thanks .nav-overlay { display: none !important; }

/* Абстрактный фон: орбиты и свечения */
.thanks-orbits {
  position: fixed;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
}
.thanks-orbits svg { width: 100%; height: 100%; }

.thanks { position: relative; z-index: 10; padding: 64px 0 96px; }

.thanks__card {
  position: relative;
  padding: 48px 52px 44px;
  border-radius: var(--radius-lg);
}
.thanks__mark {
  display: grid;
  place-items: center;
  width: 62px;
  height: 62px;
  border-radius: 50%;
  background: var(--btn-face);
  color: var(--btn-text);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.45), 0 10px 30px rgba(27,156,150,.4);
  animation: thanks-pop .5s cubic-bezier(.2,1.2,.4,1) both;
}
.thanks__mark svg { width: 30px; height: 30px; }
@keyframes thanks-pop {
  from { opacity: 0; transform: scale(.6); }
  to   { opacity: 1; transform: none; }
}

.thanks__label {
  margin-top: 22px;
  font-family: var(--font-mono);
  font-size: .68rem;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--teal);
}
.thanks__title {
  margin-top: 10px;
  font-family: var(--font-display);
  font-size: clamp(1.6rem, 3.4vw, 2.4rem);
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -.02em;
  color: var(--canvas);
}
.thanks__hand { margin-top: 12px; }
.thanks__text {
  max-width: 68ch;
  margin-top: 18px;
  font-size: 1.0625rem;
  line-height: 1.75;
  color: rgba(200,218,221,.88);
}

/* Срочная связь */
.thanks__urgent {
  margin-top: 32px;
  padding: 28px 30px;
  border-radius: var(--radius);
  border: 1px solid rgba(27,156,150,.4);
  background: rgba(16,45,49,.9);
  backdrop-filter: var(--glass-blur);
  -webkit-backdrop-filter: var(--glass-blur);
}
.thanks__urgent-label {
  font-family: var(--font-mono);
  font-size: .65rem;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--btn-face);
}
.thanks__urgent-text { margin-top: 10px; font-size: 1rem; line-height: 1.7; color: rgba(200,218,221,.88); }

.thanks__phone {
  display: inline-block;
  margin-top: 16px;
  font-family: var(--font-display);
  font-size: clamp(1.5rem, 3vw, 2rem);
  font-weight: 700;
  letter-spacing: -.01em;
  color: var(--btn-face);
  transition: color .2s ease, transform .25s ease;
}
.thanks__phone:hover { color: var(--canvas); transform: translateY(-2px); }

.thanks__messengers { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 20px; }
.thanks__msg {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 11px 20px;
  border-radius: 999px;
  border: 1px solid rgba(27,156,150,.45);
  background: rgba(27,156,150,.1);
  font-size: .95rem;
  font-weight: 600;
  color: var(--canvas);
  transition: background-color .25s ease, border-color .25s ease, transform .25s ease, box-shadow .25s ease;
}
.thanks__msg svg { width: 19px; height: 19px; color: var(--btn-face); }
.thanks__msg:hover {
  background: rgba(27,156,150,.2);
  border-color: var(--btn-face);
  transform: translateY(-2px);
  box-shadow: var(--glow);
}

.thanks__actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 32px; }
.thanks__ps {
  margin-top: 26px;
  padding-top: 20px;
  border-top: 1px solid var(--line);
  font-size: .95rem;
  line-height: 1.7;
  color: rgba(168,192,196,.7);
}
.thanks__ps a { color: var(--btn-face); text-decoration: underline; text-underline-offset: 3px; }

@media (max-width: 768px) {
  .thanks { padding: 32px 0 64px; }
  .thanks__card { padding: 30px 22px 28px; }
  .thanks__mark { width: 52px; height: 52px; }
  .thanks__mark svg { width: 25px; height: 25px; }
  .thanks__text { font-size: 1rem; }
  .thanks__urgent { padding: 22px 18px; }
  .thanks__actions .btn { width: 100%; justify-content: center; }
}

/* ---------- Блок 12: документы и подтверждения ---------- */
.creds__label {
  margin-top: 26px;
  font-family: var(--font-mono);
  font-size: .65rem;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--btn-face);
}
.creds {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  margin-top: 14px;
}
.creds__item { border-radius: var(--radius); overflow: hidden; }
.creds__btn {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 9px;
  width: 100%;
  height: 100%;
  padding: 18px 18px 16px;
  text-align: left;
}
.creds__icon {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 12px;
  background: rgba(27,156,150,.16);
  border: 1px solid rgba(34,179,172,.4);
  color: var(--btn-face);
  transition: background-color .3s ease, transform .3s ease;
}
.creds__icon svg { width: 21px; height: 21px; }
.creds__item:hover .creds__icon { background: rgba(27,156,150,.28); transform: translateY(-2px); }
.creds__title { font-family: var(--font-display); font-size: 1rem; font-weight: 600; line-height: 1.35; color: var(--canvas); }
.creds__note { font-size: .85rem; line-height: 1.5; color: rgba(168,192,196,.7); }
.creds__more {
  margin-top: auto;
  padding-top: 6px;
  font-family: var(--font-mono);
  font-size: .58rem;
  letter-spacing: .15em;
  text-transform: uppercase;
  color: var(--btn-face);
  opacity: .75;
  transition: opacity .25s ease;
}
.creds__item:hover .creds__more { opacity: 1; }

/* ---------- Просмотр документа ---------- */
.lightbox {
  position: fixed;
  inset: 0;
  z-index: 110;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
}
.lightbox[hidden] { display: none; }
.lightbox__overlay {
  position: absolute;
  inset: 0;
  background: rgba(4,12,15,.85);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  animation: modal-fade .25s ease;
}
.lightbox__frame {
  position: relative;
  max-width: min(1000px, 94vw);
  max-height: calc(100vh - 48px);
  margin: 0;
  padding: 14px;
  border-radius: var(--radius-lg);
  border: 1px solid var(--glass-line-strong);
  background: rgba(13,33,39,.96);
  box-shadow: 0 26px 70px rgba(0,0,0,.6);
  animation: modal-rise .3s cubic-bezier(.2,.8,.3,1);
}
.lightbox__frame img {
  display: block;
  max-width: 100%;
  max-height: calc(100vh - 140px);
  border-radius: 10px;
  background: #fff;
}
.lightbox__frame figcaption {
  margin-top: 12px;
  font-family: var(--font-mono);
  font-size: .62rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  line-height: 1.6;
  color: rgba(168,192,196,.75);
  text-align: center;
}
.lightbox__close {
  position: absolute;
  top: -14px;
  right: -14px;
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  border: 1px solid var(--glass-line-strong);
  background: rgba(13,33,39,.98);
  color: var(--canvas);
  box-shadow: 0 8px 22px rgba(0,0,0,.5);
  transition: background-color .2s ease, transform .2s ease;
}
.lightbox__close svg { width: 18px; height: 18px; }
.lightbox__close:hover { background: rgba(27,156,150,.3); transform: scale(1.06); }

@media (max-width: 1024px) {
  .creds { grid-template-columns: 1fr; }
}
@media (max-width: 768px) {
  .lightbox { padding: 14px; }
  .lightbox__close { top: -10px; right: -10px; width: 34px; height: 34px; }
}

/* ---------- Топ-лоты на первом экране ---------- */
.lots {
  position: relative;
  z-index: 10;
  width: 100%;
  max-width: var(--container);
  margin-inline: auto;
  padding: 0 var(--gutter) 46px;
}
.lots__head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 14px;
}
.lots__label {
  font-family: var(--font-mono);
  font-size: .65rem;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--teal);
}
.lots__all {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--font-mono);
  font-size: .62rem;
  letter-spacing: .13em;
  text-transform: uppercase;
  color: var(--btn-face);
  transition: color .2s ease;
}
.lots__all svg { width: 15px; height: 15px; transition: transform .25s ease; }
.lots__all:hover { color: var(--canvas); }
.lots__all:hover svg { transform: translateX(3px); }

.lots__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }

.lot { border-radius: var(--radius); overflow: hidden; }
.lot__link { display: flex; flex-direction: column; height: 100%; }
.lot__photo { display: block; aspect-ratio: 16 / 10; overflow: hidden; background: rgba(255,255,255,.05); }
.lot__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .45s cubic-bezier(.2,.8,.3,1);
}
.lot:hover .lot__photo img { transform: scale(1.05); }

.lot__body { display: flex; flex-direction: column; gap: 4px; padding: 13px 15px 14px; }
.lot__addr {
  font-family: var(--font-display);
  font-size: .9rem;
  font-weight: 600;
  line-height: 1.35;
  color: var(--canvas);
}
.lot__params {
  font-family: var(--font-mono);
  font-size: .58rem;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: rgba(168,192,196,.7);
}
.lot__price {
  margin-top: 2px;
  font-family: var(--font-display);
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--btn-face);
}
.lot__more {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin-top: 8px;
  font-family: var(--font-mono);
  font-size: .58rem;
  letter-spacing: .15em;
  text-transform: uppercase;
  color: rgba(168,192,196,.75);
  transition: color .2s ease;
}
.lot__more svg { width: 14px; height: 14px; transition: transform .25s ease; }
.lot:hover .lot__more { color: var(--btn-face); }
.lot:hover .lot__more svg { transform: translateX(3px); }

@media (max-height: 760px) {
  .lot__photo { aspect-ratio: 16 / 9; }
  .lot__body { padding: 10px 13px 11px; }
  .lots { padding-bottom: 38px; }
}
@media (max-width: 1024px) {
  .lots__grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 768px) {
  .lots { padding-bottom: 28px; }
  .lots__grid { grid-template-columns: 1fr 1fr; gap: 10px; }
  .lot__addr { font-size: .82rem; }
  .lot__price { font-size: .95rem; }
  .lots__all { font-size: .55rem; }
}
