/* Лендинг v2 — постерная витрина по мотивам референса:
   центрированная крупная типографика (Golos Text), белый фон, карточки #F4F4F5
   с радиусом 28px, полноширинные кобальтовые арт-панели, лаймовые пилюли-номера.
   Подключается только на посадочной, кабинет этих стилей не видит. */

.page-land2 {
  --l2-ink: #101014;
  --l2-mut: #55575E;
  --l2-card: #F4F4F5;
  --l2-blue: #4F7DF9;
  --l2-cobalt: #3D5BF5;
  --l2-violet: #7B5BFA;
  --l2-mint: #8FF0BE;
  --l2-mint-ink: #0B7A4B;
  --l2-lime: #C6F26E;          /* пилюли-номера и цветовые точки */
  --l2-grad: linear-gradient(135deg, #4060F0 0%, #7B5BFA 100%);
  --l2-r: 1.75rem;
  --l2-gap: 1rem;
  font-family: "Golos Text", "Manrope", system-ui, sans-serif;
  background: #fff;
  color: var(--l2-ink);
  overflow-x: clip;   /* карусели скроллятся сами, страница — никогда */
}
.page-land2 .wrap { max-width: 87.5rem; padding-left: 1.5rem; padding-right: 1.5rem; }

/* ---------- Типографика ---------- */
.l2-section { margin: 8.5rem 0 0; }
.l2-section--tight { margin-top: 1rem; }

.l2-h2 {
  font-size: clamp(1.9rem, 3.4vw, 3rem);
  line-height: 1.08;
  font-weight: 600;
  /* глобальный h2 кабинета — капсом, серый и flex; возвращаем постерный вид */
  text-transform: none;
  color: var(--l2-ink);
  display: block;
  letter-spacing: -0.025em;
  margin: 0 auto 2.6rem;
  max-width: 46rem;
  text-align: center;
  text-wrap: balance;
}

/* Цветные фигуры-«стикеры» внутри заголовков */
.l2-shape {
  display: inline-block;
  vertical-align: -0.08em;
  width: 0.9em; height: 0.9em;
  margin: 0 0.04em;
}

/* ---------- Hero ---------- */
.l2-hero { padding-top: 3.5rem; text-align: center; }
.l2-h1 {
  font-size: clamp(1.9rem, 5.6vw, 4.7rem);
  line-height: 1.04;
  font-weight: 600;
  letter-spacing: -0.03em;
  margin: 0 auto 1.5rem;
  max-width: 62rem;
  text-wrap: balance;
}
.l2-hero-sub {
  font-size: 1.06rem; line-height: 1.5; color: var(--l2-ink);
  max-width: 30rem; margin: 0 auto 2rem;
}
.l2-cta-row { display: flex; gap: 0.9rem; justify-content: center; align-items: center; flex-wrap: wrap; margin-bottom: 1.1rem; }
.l2-btn {
  display: inline-flex; align-items: center; justify-content: center;
  padding: 1.1rem 2.1rem;
  border-radius: 9999px;
  font-size: 1.05rem; font-weight: 600; font-family: inherit;
  border: 0; cursor: pointer; text-decoration: none;
  transition: transform 0.18s ease-out, box-shadow 0.18s, background 0.18s, opacity 0.18s;
}
.l2-btn--primary { background: var(--l2-ink); color: #fff; }
.l2-btn--primary:hover { transform: translateY(-2px); background: #26262D; color: #fff; box-shadow: 0 14px 30px -14px rgba(16, 16, 20, 0.5); }
.l2-btn--ghost { background: var(--l2-card); color: var(--l2-ink); }
.l2-btn--ghost:hover { background: #EBEBEE; color: var(--l2-ink); transform: translateY(-2px); }
.l2-btn--white { background: #fff; color: var(--l2-ink); }
.l2-btn--white:hover { transform: translateY(-2px); box-shadow: 0 14px 30px -14px rgba(0, 0, 0, 0.45); color: var(--l2-ink); }
.l2-hero-note { font-size: 0.92rem; color: var(--l2-mut); margin: 0; }
.l2-hero-note b { color: var(--l2-ink); font-weight: 600; }
.l2-hero-note a { color: var(--l2-cobalt); text-decoration: none; }
.l2-hero-note a:hover { text-decoration: underline; }

/* Арт-панель под хиро — полноширинная, как у референса */
.l2-hero-panel {
  margin-top: 3.5rem;
  border-radius: var(--l2-r);
  background: var(--l2-grad);
  min-height: clamp(20rem, 46vw, 38rem);
  position: relative;
  overflow: hidden;
}
.l2-hero-panel > img,
.l2-panel-scene {
  position: absolute; inset: 0;
  width: 100%; height: 100%; object-fit: cover;
}
/* Фон уходит за края панели чуть шире, чем нужно: параллакс сдвигает его
   по вертикали, и без запаса на краю показалась бы полоса подложки */
.l2-panel-scene {
  height: calc(100% + 48px); top: -24px;
  transform: translate3d(0, var(--par-bg, 0px), 0);
  will-change: transform;
}

/* Окно кабинета в панели.
   Снимок настоящий, поэтому прогонять его через генератор нельзя: буквы
   и цифры модель перерисовывает в кашу. Вместо этого окружение — сцена,
   а «встаёт» окно вёрсткой: рамка браузера сверху, тень под ним и уход
   за нижний край панели. Обрез снизу здесь работает на смысл: страница
   продолжается, её просто не видно целиком. */
.l2-shot {
  position: absolute;
  left: 50%;
  /* --par ставит скрипт при прокрутке: окно движется не с той скоростью,
     что страница, и панель перестаёт быть плоской картинкой */
  transform: translateX(-50%) translate3d(0, var(--par, 0px), 0);
  will-change: transform;
  top: 17.5%; width: 64%; margin: 0;
  border-radius: 1.1rem 1.1rem 0 0;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 4px 12px rgba(10, 15, 60, 0.18),
              0 50px 90px -30px rgba(8, 12, 50, 0.65);
}
.l2-shot > img { display: block; width: 100%; height: auto; }
/* Телефонный кадр — только для узких экранов, на десктопе его нет */
.l2-shot--phone { display: none; }
/* Полоска окна: три точки и адрес — ровно столько, сколько нужно,
   чтобы снимок читался как окно, а не как вырезанный кусок картинки */
.l2-shot-bar {
  display: flex; align-items: center; gap: 0.42rem;
  padding: 0.62rem 0.95rem;
  background: #F1F2F5;
  border-bottom: 1px solid #E3E5EA;
}
.l2-shot-bar i { width: 0.55rem; height: 0.55rem; border-radius: 50%; background: #D3D6DD; }
.l2-shot-bar i:first-child { background: #E8B4B0; }
.l2-shot-bar i:nth-child(2) { background: #EAD7A6; }
.l2-shot-bar i:nth-child(3) { background: #BEDDC0; }
.l2-shot-bar b {
  margin-left: 0.7rem; padding: 0.16rem 0.8rem;
  background: #fff; border-radius: 9999px;
  font-size: 0.72rem; font-weight: 500; color: #7A808C;
}

/* Парящие пилюли-возможности поверх арта — плоские, декоративные */
.l2-float {
  position: absolute;
  display: inline-flex; align-items: center; gap: 0.5rem;
  background: #fff; color: var(--l2-ink);
  border-radius: 9999px;
  padding: 0.72rem 1.25rem;
  font-size: clamp(0.8rem, 1.15vw, 1.02rem);
  font-weight: 600;
  box-shadow: 0 18px 40px -18px rgba(10, 15, 60, 0.55);
  white-space: nowrap;
}
.l2-float .dot { width: 0.62em; height: 0.62em; border-radius: 50%; flex: 0 0 auto; }
/* Пилюли живут по краям панели, вдоль окна: если бы они падали на снимок,
   то закрывали бы именно то, ради чего он здесь стоит. Пятая — над окном,
   в свободной полосе сверху. */
.l2-float--1 { left: 1%;  top: 32%; transform: rotate(-7deg); }
.l2-float--2 { right: 1%; top: 28%; transform: rotate(5deg); }
.l2-float--3 { left: 2%;  bottom: 15%; transform: rotate(4deg); }
.l2-float--4 { right: 2%; bottom: 19%; transform: rotate(-5deg); }
.l2-float--5 { left: 50%;   top: 4.5%; transform: translateX(-50%) rotate(-2deg); }
.l2-float { z-index: 2; }

/* ---------- Ряд «инструментов» ---------- */
.l2-tools {
  /* Отступ от панели первого экрана больше, чем зазор между карточками:
     с одинаковым ряд разделов липнет к панели и читается как её часть */
  margin-top: clamp(1.4rem, 2.4vw, 2.3rem);
  display: grid; grid-template-columns: repeat(6, 1fr); gap: var(--l2-gap);
}
.l2-tool {
  background: var(--l2-card);
  border-radius: 1.4rem;
  padding: 1.3rem 1.2rem 1.35rem;
  /* Содержимое идёт сверху вниз от иконки: раньше оно прижималось к низу
     карточки, и заголовок вставал тем выше, чем длиннее описание — в ряду
     названия разделов прыгали. Текст выровнен по левому краю, как иконка:
     по центру он спорил с ней и разъезжался по строкам разной длины. */
  display: flex; flex-direction: column; gap: 0.3rem;
  text-align: left;
  /* Высоту карточек выравнивает сама сетка по самой высокой в ряду:
     с жёсткой высотой под короткими описаниями оставалась пустая полоса */
  min-height: 0;
  transition: transform 0.2s ease-out;
}
.l2-tool:hover { transform: translateY(-4px); }
.l2-tool-icon {
  width: 2.6rem; height: 2.6rem; border-radius: 0.85rem;
  display: grid; place-items: center; color: #fff;
  flex: 0 0 auto; margin-bottom: 0.9rem;
}
.l2-tool-icon svg { width: 1.35rem; height: 1.35rem; }
.l2-tool:nth-child(6n+1) .l2-tool-icon { background: var(--l2-cobalt); }
.l2-tool:nth-child(6n+2) .l2-tool-icon { background: var(--l2-violet); }
.l2-tool:nth-child(6n+3) .l2-tool-icon { background: var(--l2-mint); color: var(--l2-mint-ink); }
.l2-tool:nth-child(6n+4) .l2-tool-icon { background: var(--l2-lime); color: #3D5407; }
.l2-tool:nth-child(6n+5) .l2-tool-icon { background: var(--l2-ink); }
.l2-tool:nth-child(6n+6) .l2-tool-icon { background: var(--l2-blue); }
.l2-tool-name { font-size: 1.02rem; font-weight: 600; line-height: 1.3; letter-spacing: -0.01em; }
.l2-tool-text { font-size: 0.8rem; line-height: 1.5; color: var(--l2-mut); max-width: 15rem; }

/* ---------- «Так просто»: липкий заголовок слева + карточки справа ---------- */
.l2-simple { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 3rem; }
.l2-simple-head { position: sticky; top: 6rem; align-self: start; }
.l2-simple-head .l2-h2 { text-align: left; margin: 0; max-width: 24rem; }
.l2-simple-cards { display: grid; gap: var(--l2-gap); }
.l2-simple-card {
  background: var(--l2-card);
  border-radius: var(--l2-r);
  padding: 2.2rem 2rem 0;
  text-align: left;
  overflow: hidden;
}
.l2-simple-title { font-size: 1.35rem; font-weight: 600; letter-spacing: -0.015em; margin-bottom: 0.45rem; }
.l2-simple-text { font-size: 0.95rem; line-height: 1.5; color: var(--l2-mut); max-width: 26rem; }
.l2-simple-art { display: flex; justify-content: center; padding: 1rem 0 0; }
.l2-simple-art img {
  width: min(19rem, 70%); height: auto;
  mix-blend-mode: multiply;      /* белый фон генерации растворяется в серой карточке */
  transform: translateY(6%);
}
/* Объекты с вырезанным фоном. Multiply им не нужен и вреден: он затемняет
   собственные светлые части предмета — у лупы это стекло линзы. */
.l2-art-cut { mix-blend-mode: normal; }

/* ---------- Карусели (аудитории и «рутина») ---------- */
.l2-rail {
  display: grid; grid-auto-flow: column;
  gap: var(--l2-gap);
  overflow-x: auto;
  /* proximity вместо mandatory: жёсткая привязка «залипала» при прокрутке колесом */
  scroll-snap-type: x proximity;
  scroll-behavior: smooth;
  scrollbar-width: none;
  padding-bottom: 0.5rem;
}
.l2-rail::-webkit-scrollbar { display: none; }
.l2-rail > * { scroll-snap-align: start; }
.l2-rail-nav { display: flex; justify-content: center; gap: 0.6rem; margin-top: 1.4rem; }
.l2-rail-btn {
  width: 3rem; height: 3rem; border-radius: 50%;
  border: 0; cursor: pointer;
  background: var(--l2-card); color: var(--l2-ink);
  display: grid; place-items: center;
  transition: background 0.15s, transform 0.15s;
}
.l2-rail-btn:hover { background: #E9E9EC; transform: scale(1.05); }
.l2-rail-btn svg { width: 1.2rem; height: 1.2rem; }

/* Карточки-обложки «кому полезен» */
.l2-aud-card {
  width: clamp(16rem, 24vw, 21rem);
  aspect-ratio: 3 / 4;
  border-radius: var(--l2-r);
  position: relative; overflow: hidden;
  background: var(--l2-card);
}
.l2-aud-card > img {
  position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover;
}
.l2-aud-card--blue { background: var(--l2-grad); }
.l2-aud-name {
  position: absolute; left: 0; right: 0; top: 1.6rem;
  padding: 0 1.4rem;
  text-align: center;
  font-size: 1.3rem; font-weight: 600; letter-spacing: -0.015em;
  color: var(--l2-ink);
  text-wrap: balance;
}
.l2-aud-card--blue .l2-aud-name { color: #fff; }
/* Текстовая карточка в той же карусели */
.l2-aud-card--text { display: flex; flex-direction: column; justify-content: center; padding: 1.8rem 1.6rem; background: var(--l2-ink); }
.l2-aud-card--text p { font-size: 1.02rem; line-height: 1.55; color: #C9CCD6; margin: 0; }
.l2-aud-card--text p b { color: #fff; }

/* «Рутина»: широкие карточки было/стало. Здесь листание пооблочное:
   одна карточка почти во всю ширину, и колесо/стрелки шагают по карточкам. */
#case-rail { scroll-snap-type: x mandatory; }
#case-rail > * { scroll-snap-align: center; scroll-snap-stop: always; }
.l2-case {
  width: min(72rem, 92vw);
  border-radius: var(--l2-r);
  background: var(--l2-card);
  display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 6fr);
  overflow: hidden;
  min-height: 24rem;
}
.l2-case-body { padding: 2.4rem 2.4rem 2.2rem; display: flex; flex-direction: column; }
.l2-case-pill {
  align-self: flex-start;
  background: #fff; border-radius: 9999px;
  padding: 0.45rem 1rem;
  font-size: 0.85rem; font-weight: 600; color: var(--l2-ink);
  margin-bottom: 1rem;
  box-shadow: 0 1px 2px rgba(16, 16, 20, 0.06);
}
.l2-case-title { font-size: clamp(1.4rem, 2vw, 1.8rem); font-weight: 600; letter-spacing: -0.02em; margin: 0 0 auto; max-width: 24rem; }
.l2-case-times { display: flex; gap: 3rem; margin-top: 2.2rem; }
.l2-case-time b { display: block; font-size: clamp(1.5rem, 2.4vw, 2.2rem); font-weight: 600; letter-spacing: -0.02em; color: #9A9DA6; }
.l2-case-time--win b {
  background: linear-gradient(90deg, #35C77B, #A5E24A);
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
.l2-case-time span { font-size: 0.88rem; color: var(--l2-mut); }
/* Арт кейса — объект без фона на серой карточке, как в карточках шагов */
.l2-case-art { display: grid; place-items: center; min-height: 16rem; padding: 1.5rem; }
.l2-case-art img {
  width: min(23rem, 88%); height: auto;
  mix-blend-mode: multiply;   /* белый фон генерации растворяется в серой карточке */
}

/* ---------- «Почему именно»: строки текст+арт ---------- */
.l2-why { display: grid; gap: var(--l2-gap); }
.l2-why-row { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 6fr); gap: var(--l2-gap); }
.l2-why-card {
  background: var(--l2-card); border-radius: var(--l2-r);
  padding: 2.2rem 2.2rem 2rem;
  display: flex; flex-direction: column;
  min-height: 24rem;
}
.l2-why-title { font-size: clamp(1.35rem, 1.9vw, 1.7rem); font-weight: 600; letter-spacing: -0.02em; margin-bottom: 0.7rem; }
.l2-why-text { font-size: 0.98rem; line-height: 1.55; color: var(--l2-mut); max-width: 26rem; }
.l2-why-text b { color: var(--l2-ink); font-weight: 600; }
.l2-why-num {
  margin-top: auto; align-self: flex-start;
  background: var(--l2-lime); color: #2A3B06;
  border-radius: 9999px; padding: 0.5rem 1.1rem;
  font-size: 0.95rem; font-weight: 700;
}
.l2-why-art { border-radius: var(--l2-r); overflow: hidden; position: relative; background: var(--l2-grad); min-height: 24rem; }
.l2-why-art img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }

/* ---------- О ведущем — центрированное заявление ---------- */
.l2-about { text-align: center; max-width: 46rem; margin-left: auto; margin-right: auto; }
.l2-about-title {
  font-size: clamp(1.8rem, 3.2vw, 2.8rem);
  font-weight: 600; letter-spacing: -0.025em; line-height: 1.12;
  text-transform: none; color: var(--l2-ink); display: block;
  margin: 0 0 1.2rem;
  text-wrap: balance;
}
.l2-about-title .c1 { color: var(--l2-cobalt); }
.l2-about-title .c2 { color: var(--l2-violet); }
.l2-about-text { font-size: 1.05rem; line-height: 1.6; color: var(--l2-mut); margin: 0 0 1.8rem; }
.l2-about-text b { color: var(--l2-ink); font-weight: 600; }
.l2-about-chips { display: flex; justify-content: center; flex-wrap: wrap; gap: 0.5rem; }
.l2-about-chips span {
  background: var(--l2-card); border-radius: 9999px;
  padding: 0.55rem 1.1rem; font-size: 0.88rem; font-weight: 600;
}

/* ---------- Разработка сайта под поиск ---------- */
/* Фирменная градиентная плашка, как панель первого экрана: блок для тех,
   у кого сайта нет, должен читаться отдельным предложением, а не ещё одним тарифом */
.l2-dev {
  display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); align-items: stretch;
  border-radius: var(--l2-r); overflow: hidden; background: var(--l2-grad); color: #fff;
}
.l2-dev-main { padding: clamp(1.8rem, 4vw, 3.2rem); display: flex; flex-direction: column; gap: 1rem; }
.l2-dev-eyebrow {
  align-self: flex-start; font-size: 0.72rem; font-weight: 700; letter-spacing: 0.08em;
  text-transform: uppercase; color: #2A3B06; background: #C6F26E;
  border-radius: 999px; padding: 0.35rem 0.8rem;
}
.l2-dev-title {
  margin: 0; font-size: clamp(1.8rem, 3.4vw, 2.8rem); font-weight: 600;
  letter-spacing: -0.025em; line-height: 1.1; color: #fff;
}
.l2-dev-lead { margin: 0; max-width: 34rem; font-size: 1rem; line-height: 1.6; color: rgba(255, 255, 255, 0.86); }
.l2-dev-actions { display: flex; flex-wrap: wrap; gap: 0.7rem; margin-top: 0.6rem; }
.l2-msg { display: inline-flex; align-items: center; gap: 0.55rem; }
.l2-msg img { width: 1.75rem; height: 1.75rem; }
.l2-dev-note { margin: 0; font-size: 0.85rem; color: rgba(255, 255, 255, 0.7); }
.l2-dev-art { position: relative; min-height: 20rem; }
.l2-dev-art img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 55%; }
/* Левый край сцены растворяется в плашке — без шва между двумя градиентами */
.l2-dev-art img {
  -webkit-mask-image: linear-gradient(to right, transparent 0, #000 22%);
          mask-image: linear-gradient(to right, transparent 0, #000 22%);
}
.l2-dev-points {
  margin-top: var(--l2-gap);
  display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--l2-gap);
}
.l2-dev-point {
  background: var(--l2-card); border-radius: 1.4rem; padding: 1.3rem 1.3rem 1.4rem;
  display: flex; flex-direction: column; gap: 0.35rem;
}
.l2-dev-point img { width: 3.6rem; height: 3.6rem; margin-bottom: 0.6rem; mix-blend-mode: multiply; }
.l2-dev-point-name { font-size: 1.02rem; font-weight: 600; line-height: 1.3; letter-spacing: -0.01em; }
.l2-dev-point-text { margin: 0; font-size: 0.85rem; line-height: 1.5; color: var(--l2-mut); }

/* ---------- Тарифы: градиентная панель ---------- */
.l2-tariff-panel {
  border-radius: var(--l2-r);
  background: var(--l2-grad);
  padding: clamp(2rem, 4vw, 4rem);
  position: relative; overflow: hidden;
}
.l2-tariff-panel::before {
  content: ""; position: absolute; inset: 0;
  background:
    radial-gradient(60% 80% at 85% 10%, rgba(143, 240, 190, 0.28), transparent 60%),
    radial-gradient(50% 70% at 10% 90%, rgba(255, 255, 255, 0.14), transparent 60%);
  pointer-events: none;
}
.l2-tariff-panel > * { position: relative; }
.l2-tariff-panel .l2-h2 { color: #fff; }
/* Настройка тарифов: слева — что уже есть на сайте, справа — его объём.
   Вместе они и определяют цену, поэтому стоят одной группой над карточками,
   но каждый со своим вопросом и своим пояснением: одной колонкой подписи
   выстраивались в столбик, и было не понять, что к чему относится. */
.l2-tariff-switch { margin: -1rem 0 2.4rem; }
.l2-ask-row {
  display: grid; grid-template-columns: 1fr 1fr;
  /* Колонки тянем на всю высоту строки — по этой высоте и рисуется линия
     между ними. Пустой зазор читался бы как случайный разрыв, а не как
     «здесь два разных вопроса». */
  align-items: stretch;
  max-width: 62rem; margin: 0 auto;
}
.l2-ask {
  display: flex; flex-direction: column; align-items: center;
  gap: 0.85rem; text-align: center;
  padding: 0 clamp(1rem, 3vw, 2.4rem);
}
.l2-ask + .l2-ask { border-left: 1px solid rgba(255, 255, 255, 0.18); }
.l2-ask-q { font-size: 1.02rem; font-weight: 500; color: #fff; }
.l2-ask-note {
  margin: 0; max-width: 24rem;
  font-size: 0.86rem; line-height: 1.45; color: #C9CCE0;
}
.l2-ask-note b { color: #fff; font-weight: 600; }
/* Видна пояснительная строка только выбранного режима */
.l2-tariff-switch[data-mode="has"] [data-note="none"],
.l2-tariff-switch[data-mode="none"] [data-note="has"] { display: none; }

/* Оба контрола — в одинаковой тёмной капсуле: так они читаются как пара
   настроек одного калькулятора, а не как два разных элемента. */
.l2-seg, .l2-range {
  display: inline-flex; align-items: center;
  padding: 0.25rem; border-radius: 9999px;
  background: rgba(13, 16, 38, 0.42);
  border: 1px solid rgba(255, 255, 255, 0.16);
  backdrop-filter: blur(10px);
}
.l2-seg { gap: 0.25rem; }
.l2-seg-btn {
  border: 0; cursor: pointer; font-family: inherit;
  padding: 0.62rem 1.4rem; border-radius: 9999px;
  /* Одинаковая высота строки у кнопки и у значения справа: без неё капсулы
     расходились на пару пикселей, и пара переставала выглядеть парой */
  font-size: 0.94rem; font-weight: 600; line-height: 1.25;
  background: transparent; color: #D7DAEA;
  transition: background 0.18s, color 0.18s;
}
.l2-seg-btn:hover { color: #fff; background: rgba(255, 255, 255, 0.1); }
.l2-seg-btn.is-on { background: #fff; color: var(--l2-ink); }
.l2-seg-btn.is-on:hover { background: #fff; }

/* Ползунок объёма. Пройденная часть — чёрная, оставшаяся — лаймовая:
   видно не только «где ручка», но и сколько ещё можно добрать.
   Заливку рисуем градиентом по --fill: ::-moz-range-progress есть не везде. */
.l2-range { gap: 0.85rem; padding-left: 1.1rem; }
.l2-range input[type="range"] {
  -webkit-appearance: none; appearance: none;
  width: clamp(8rem, 15vw, 12rem); height: 0.45rem; margin: 0;
  border-radius: 9999px; cursor: pointer;
  background: linear-gradient(90deg,
    var(--l2-ink) 0 var(--fill, 0%), var(--l2-lime) var(--fill, 0%) 100%);
}
.l2-range input[type="range"]::-webkit-slider-thumb {
  -webkit-appearance: none; appearance: none;
  width: 1.15rem; height: 1.15rem; border-radius: 50%;
  background: #fff; border: 0; cursor: grab;
  box-shadow: 0 3px 10px rgba(8, 12, 50, 0.5);
}
.l2-range input[type="range"]::-moz-range-thumb {
  width: 1.15rem; height: 1.15rem; border-radius: 50%;
  background: #fff; border: 0; cursor: grab;
  box-shadow: 0 3px 10px rgba(8, 12, 50, 0.5);
}
.l2-range input[type="range"]:focus-visible { outline: 2px solid #fff; outline-offset: 4px; }
/* Значение — такой же белой пилюлей, как выбранный вариант слева */
.l2-range-out {
  min-width: 6.4rem; text-align: center;
  padding: 0.62rem 0.9rem; border-radius: 9999px;
  background: #fff; color: var(--l2-ink);
  font-size: 0.94rem; font-weight: 600; line-height: 1.25;
  font-variant-numeric: tabular-nums;
}

/* Карточки и бейдж «Чаще всего берут» переключаются тем же режимом.
   В разметке лежат все четыре тарифа: подменять их скриптом значило бы
   держать тексты в двух местах — в шаблоне и в коде. */
.l2-tariffs[data-mode="has"] [data-plan="none"],
.l2-tariffs[data-mode="none"] [data-plan="has"] { display: none; }
.l2-tariffs[data-mode="has"] [data-badge="none"],
.l2-tariffs[data-mode="none"] [data-badge="has"] { display: none; }

.l2-tariffs { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--l2-gap); }
.l2-tariff {
  background: rgba(13, 16, 38, 0.55);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: var(--l2-r);
  padding: 1.9rem 1.7rem;
  color: #fff;
  display: flex; flex-direction: column;
  position: relative;
}
.l2-tariff-badge {
  position: absolute; top: 1.5rem; right: 1.5rem;
  background: var(--l2-lime); color: #2A3B06;
  font-size: 0.78rem; font-weight: 700;
  border-radius: 9999px; padding: 0.38rem 0.85rem;
}
/* Название не должно заезжать под бейдж. Отступ даём только карточке
   с видимым бейджем: бейджей в разметке два, на разные режимы, и скрытый
   места не занимает. */
.l2-tariffs[data-mode="has"] .l2-tariff:has([data-badge="has"]) .l2-tariff-name,
.l2-tariffs[data-mode="none"] .l2-tariff:has([data-badge="none"]) .l2-tariff-name {
  padding-right: 8.5rem;
}
.l2-tariff-name {
  font-size: 1.25rem; font-weight: 600; letter-spacing: -0.015em;
  /* Место под две строки держим всегда: длинные названия иначе сдвигали бы
     цену и кнопку вниз, и карточки переставали совпадать по горизонталям */
  line-height: 1.25; min-height: 3.2rem;
}
.l2-tariff-price { font-size: 1rem; color: #C9CCE0; margin: 0.25rem 0 1.2rem; }
.l2-tariff-price b { font-size: 1.9rem; font-weight: 600; letter-spacing: -0.02em; color: #fff; }
.l2-tariff .l2-btn { width: 100%; margin-bottom: 1.5rem; }
.l2-tariff-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.6rem; }
.l2-tariff-list li {
  position: relative; padding-left: 1.7rem;
  font-size: 0.9rem; line-height: 1.45; color: #E8EAF3;
}
.l2-tariff-list li::before {
  content: ""; position: absolute; left: 0; top: 0.1rem;
  width: 1.1rem; height: 1.1rem;
  background: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238FF0BE' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12.5l5 5L20 6.5'/%3E%3C/svg%3E") center / contain no-repeat;
}
.l2-tariff-for { font-size: 0.88rem; color: #B9BDD4; margin: 1.1rem 0 0; padding-top: 1.1rem; border-top: 1px solid rgba(255,255,255,0.12); }

/* Вход с аудита — светлая карточка внутри панели */
.l2-entry {
  margin-top: var(--l2-gap);
  background: #fff; border-radius: var(--l2-r);
  padding: 1.9rem 2rem;
  display: grid; grid-template-columns: 1fr auto; gap: 1.5rem; align-items: center;
}
.l2-entry-title { font-size: 1.3rem; font-weight: 600; letter-spacing: -0.015em; margin-bottom: 0.4rem; }
.l2-entry-text { font-size: 0.95rem; line-height: 1.55; color: var(--l2-mut); margin: 0; max-width: 46rem; }
.l2-entry-text b { color: var(--l2-ink); font-weight: 600; }
.l2-entry-text a { color: var(--l2-cobalt); }
.l2-entry-price { text-align: right; }
.l2-entry-price b { font-size: 2.2rem; font-weight: 600; letter-spacing: -0.03em; display: block; }
.l2-entry-price span { font-size: 0.88rem; color: var(--l2-mut); }

/* Отдельные услуги */
.l2-extra-head { text-align: center; margin: 4.5rem 0 1.6rem; }
.l2-extra-title { font-size: 1.6rem; font-weight: 600; letter-spacing: -0.02em; margin: 0 0 0.3rem; }
.l2-extra-sub { font-size: 0.95rem; color: var(--l2-mut); margin: 0; }
.l2-extras { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--l2-gap); }
/* Нечётная последняя карточка растягивается на ряд — без пустой клетки */
.l2-extras > .l2-extra:last-child:nth-child(odd) { grid-column: 1 / -1; }
.l2-extra {
  background: var(--l2-card); border-radius: var(--l2-r);
  /* справа место под объект: текст не должен под него заезжать */
  padding: 1.7rem 9.5rem 1.8rem 1.7rem;
  display: flex; flex-direction: column; gap: 0.5rem;
  position: relative; overflow: hidden;
}
.l2-extra-art {
  position: absolute; top: 1.1rem; right: 1.1rem;
  width: 7.6rem; height: auto;
  mix-blend-mode: multiply;   /* белый фон генерации растворяется в серой карточке */
  pointer-events: none;
}
.l2-extra-name { font-size: 1.12rem; font-weight: 600; letter-spacing: -0.01em; }
.l2-extra-text { font-size: 0.92rem; line-height: 1.5; color: var(--l2-mut); }
.l2-extra-price { margin-top: auto; padding-top: 0.9rem; font-size: 1rem; font-weight: 700; }
.l2-extra-price span { font-weight: 500; color: var(--l2-mut); font-size: 0.88rem; }
.l2-tariff-foot {
  font-size: 0.9rem; line-height: 1.6; color: var(--l2-mut);
  margin: 1.6rem auto 0; max-width: 46rem; text-align: center;
}

/* ---------- FAQ ---------- */
.l2-faq { display: grid; gap: 0.7rem; }
.l2-faq-item { background: var(--l2-card); border-radius: 1.3rem; overflow: hidden; }
.l2-faq-item summary {
  list-style: none; cursor: pointer;
  display: flex; justify-content: space-between; align-items: center; gap: 1rem;
  padding: 1.5rem 1.8rem;
  font-size: 1.12rem; font-weight: 600; letter-spacing: -0.01em;
}
.l2-faq-item summary::-webkit-details-marker { display: none; }
.l2-faq-item summary::after {
  content: ""; flex: 0 0 auto;
  width: 1.35rem; height: 1.35rem;
  background: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23101014' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E") center / contain no-repeat;
  transition: transform 0.25s ease-out;
}
.l2-faq-item[open] summary::after { transform: rotate(45deg); }
.l2-faq-answer {
  padding: 0 1.8rem 1.6rem;
  font-size: 0.97rem; line-height: 1.6; color: var(--l2-mut);
  max-width: 52rem;
}
.l2-faq-answer a { color: var(--l2-cobalt); }

/* ---------- Финал: заявка — сочная градиентная панель ---------- */
.l2-final {
  border-radius: var(--l2-r);
  background: var(--l2-grad);
  padding: clamp(2.5rem, 5vw, 4.5rem) 1.5rem;
  position: relative; overflow: hidden;
}
.l2-final::before {
  content: ""; position: absolute; inset: 0;
  background:
    radial-gradient(55% 70% at 88% 8%, rgba(143, 240, 190, 0.32), transparent 62%),
    radial-gradient(45% 60% at 8% 92%, rgba(255, 255, 255, 0.16), transparent 60%),
    radial-gradient(35% 50% at 20% 10%, rgba(198, 242, 110, 0.18), transparent 65%);
  pointer-events: none;
}
.l2-final > * { position: relative; }
.l2-final-deco {
  position: absolute; pointer-events: none; opacity: 0.9;
}
.l2-final-deco svg { width: 100%; height: 100%; display: block; }
.l2-final-deco--1 { left: 7%; top: 14%; width: clamp(3rem, 6vw, 5.5rem); height: auto; transform: rotate(-14deg); }
.l2-final-deco--2 { right: 8%; bottom: 16%; width: clamp(2.6rem, 5vw, 4.5rem); height: auto; transform: rotate(12deg); }
.l2-final-inner { max-width: 42rem; margin: 0 auto; text-align: center; }
.l2-final .l2-h2 { margin-bottom: 0.8rem; color: #fff; }
.l2-final-sub { font-size: 1rem; line-height: 1.55; color: #DEE3F8; margin: 0 0 2rem; }
.l2-lead-card {
  background: #fff; border-radius: var(--l2-r);
  padding: 2rem 1.9rem;
  text-align: left;
  box-shadow: 0 24px 60px -30px rgba(16, 16, 20, 0.25);
}
.l2-lead-card .lead-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 0.8rem; margin-bottom: 0.8rem; }
.l2-lead-card label { display: flex; flex-direction: column; gap: 0.35rem; font-size: 0.85rem; font-weight: 600; color: var(--l2-mut); }
.l2-lead-card input:not([type="checkbox"]) {
  border: 1.5px solid #E4E4E8; border-radius: 0.95rem;
  padding: 0.85rem 1rem; font: inherit; font-size: 0.98rem;
  background: #fff; color: var(--l2-ink);
  transition: border-color 0.15s;
}
.l2-lead-card input:not([type="checkbox"]):focus { outline: none; border-color: var(--l2-cobalt); }
.l2-lead-card .lead-consent {
  flex-direction: row; align-items: flex-start; gap: 0.55rem;
  font-size: 0.8rem; font-weight: 500; color: var(--l2-mut); line-height: 1.45;
  margin: 0.9rem 0 1.1rem;
}
.l2-lead-card .lead-consent input { margin-top: 0.15rem; }
.l2-lead-card .lead-consent a { color: var(--l2-cobalt); }
.l2-lead-card .l2-btn { width: 100%; }
.l2-lead-success { text-align: center; padding: 1rem 0; }
.l2-lead-success-mark {
  width: 3.4rem; height: 3.4rem; margin: 0 auto 1rem;
  border-radius: 50%; background: var(--l2-lime);
  display: grid; place-items: center;
  color: #2A3B06; font-size: 1.6rem; font-weight: 800;
}
.l2-lead-success-title { font-size: 1.3rem; font-weight: 600; margin-bottom: 0.4rem; }
.l2-lead-success-text { font-size: 0.95rem; color: var(--l2-mut); line-height: 1.55; }
.l2-lead-success-text a { color: var(--l2-cobalt); }
.l2-client-strip {
  margin-top: 2rem;
  display: flex; justify-content: center; align-items: center; gap: 1rem; flex-wrap: wrap;
  color: #C9CCE0; font-size: 0.92rem;
}
.l2-client-strip .btn-sm {
  background: rgba(255, 255, 255, 0.12); color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 9999px; padding: 0.55rem 1.15rem;
  font-family: inherit; font-weight: 600; text-decoration: none;
}
.l2-client-strip .btn-sm:hover { background: rgba(255, 255, 255, 0.22); color: #fff; }

/* ---------- Шапка в стилистике витрины ---------- */
.page-land2 .topbar {
  background: #fff;
  border-bottom: 0;
  box-shadow: none;
}

/* Логотип — чисто шрифтовой, без иконки, с фирменной точкой */
.page-land2 .brand-mark { display: none; }
.page-land2 .brand { text-decoration: none; }
.page-land2 .brand-text {
  font-family: "Golos Text", system-ui, sans-serif;
  font-weight: 700; letter-spacing: -0.025em;
  color: var(--l2-ink);
  background: none; background-image: none;
  -webkit-background-clip: initial; background-clip: initial;
  -webkit-text-fill-color: var(--l2-ink);
}
.page-land2 .brand-text::after {
  content: ""; display: inline-block;
  width: 0.4em; height: 0.4em; border-radius: 50%;
  background: var(--l2-cobalt);
  margin-left: 0.13em;
}
.page-land2 .nav-guest { display: flex; gap: 0.6rem; }
.page-land2 .nav-guest .btn-sm,
.page-land2 nav#site-nav .btn-sm {
  font-family: "Golos Text", system-ui, sans-serif;
  /* Размеры — общие со шапкой кабинета, иначе при переходе витрина → кабинет
     шапка меняет высоту и «дёргается» */
  font-weight: 600; border-radius: 9999px;
  background: var(--l2-card); color: var(--l2-ink);
  border: 0; text-decoration: none;
  transition: background 0.15s, transform 0.15s;
}
.page-land2 .nav-guest .btn-sm:hover { background: #E9E9EC; color: var(--l2-ink); transform: translateY(-1px); }
.page-land2 .nav-guest .btn-sm.nav-guest-demo { background: var(--l2-ink); color: #fff; }
.page-land2 .nav-guest .btn-sm.nav-guest-demo:hover { background: #26262D; color: #fff; }

/* Кнопки — никогда с подчёркиванием */
.page-land2 a.l2-btn, .page-land2 a.l2-btn:hover,
.page-land2 .btn-sm, .page-land2 .btn-sm:hover,
.page-land2 .l2-rail-btn { text-decoration: none; }

/* ---------- Футер в стилистике витрины: скруглённая панель в ширину контейнера ---------- */
.page-land2 .foot {
  background: var(--l2-ink);
  border-top: 0;
  border-radius: var(--l2-r);
  width: min(84.5rem, calc(100% - 3rem));
  margin: 0 auto 1.5rem;
  padding: 2.6rem 2.4rem;
  font-family: "Golos Text", system-ui, sans-serif;
}
.page-land2 .foot-inner {
  max-width: none; margin: 0;
  display: flex; align-items: center; justify-content: space-between;
  gap: 1rem 2rem; flex-wrap: wrap;
  color: #A9B2C4; font-size: 0.9rem;
}
/* Словесный знак с фирменной точкой — как в шапке */
.page-land2 .l2-foot-brand {
  font-size: 1.3rem; font-weight: 700; letter-spacing: -0.025em;
  color: #fff;
}
.page-land2 .l2-foot-brand::after {
  content: ""; display: inline-block;
  width: 0.4em; height: 0.4em; border-radius: 50%;
  background: var(--l2-cobalt);
  margin-left: 0.13em;
}
.page-land2 .foot a { color: #E8EAF3; text-decoration: none; }
.page-land2 .foot a:hover { color: #fff; text-decoration: none; }
.page-land2 .foot-collab-sign { color: #6B7288; }
.page-land2 .partner-foot {
  text-align: center; color: var(--l2-mut);
  margin: 4rem auto 2.5rem; max-width: 40rem;
  font-size: 0.85rem;
}

/* ---------- Появление при прокрутке ---------- */
@media (prefers-reduced-motion: no-preference) {
  .page-land2 .l2-reveal {
    opacity: 0; transform: translateY(24px);
    transition: opacity 0.6s ease, transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
  }
  .page-land2 .l2-reveal.is-visible { opacity: 1; transform: none; }
}

/* ---------- Адаптив ---------- */
@media (max-width: 70rem) {
  .l2-tools { grid-template-columns: repeat(3, 1fr); }
  .l2-dev { grid-template-columns: 1fr; }
  .l2-dev-art { min-height: 16rem; order: -1; }
  .l2-dev-art img {
    -webkit-mask-image: linear-gradient(to bottom, #000 70%, transparent 100%);
            mask-image: linear-gradient(to bottom, #000 70%, transparent 100%);
  }
  .l2-dev-points { grid-template-columns: repeat(2, 1fr); }
  .l2-simple { grid-template-columns: 1fr; gap: 1.6rem; }
  .l2-simple-head { position: static; }
  .l2-simple-head .l2-h2 { text-align: center; margin: 0 auto; }
  .l2-case { grid-template-columns: 1fr; min-height: 0; }
  .l2-case-art { min-height: 13rem; order: -1; }
  .l2-why-row { grid-template-columns: 1fr; }
  .l2-why-card { min-height: 0; }
  .l2-why-art { min-height: 16rem; }
  .l2-tariffs { grid-template-columns: 1fr; }
  /* Настройки — в один столбец: на узком экране вертикальная линия между
     колонками сжимает оба вопроса в тесные столбики */
  /* Настройки в один столбец, и линия между ними ложится горизонтально */
  .l2-ask-row { grid-template-columns: 1fr; gap: 1.6rem; }
  .l2-ask { padding: 0; }
  .l2-ask + .l2-ask {
    border-left: 0; border-top: 1px solid rgba(255, 255, 255, 0.18);
    padding-top: 1.6rem;
  }
  /* Панель сузилась, а пилюли — нет: боковые начинают наезжать на окно
     и закрывать шапку кабинета. Оставляем одну, над окном. */
  .l2-float { display: none; }
  .l2-float--5 { display: inline-flex; }
  .l2-shot { width: 76%; top: 17%; }
}
@media (max-width: 44rem) {
  .l2-section { margin-top: 5rem; }
  .l2-hero { padding-top: 2rem; }
  .l2-tools { grid-template-columns: repeat(2, 1fr); }
  /* Широкий снимок на телефоне превращается в нечитаемую полоску, поэтому
     меняем его на кадр мобильного кабинета: то же место, тот же приём
     с уходом за нижний край, но интерфейс видно. */
  .l2-shot { display: none; }
  .l2-shot--phone {
    display: block; width: 64%; top: 20%;
    border-radius: 1.5rem 1.5rem 0 0;
  }
  /* Пилюль остаётся одна, в свободной полосе над окном: по бокам от него
     на телефоне места нет, а поверх снимка они закрывали бы сам кабинет */
  .l2-float { display: none; }
  .l2-float--5 { display: inline-flex; top: 5%; }
  .l2-extras { grid-template-columns: 1fr; }
  .l2-dev-points { grid-template-columns: 1fr; }
  .l2-msg { width: 100%; justify-content: center; }
  .l2-extra { padding-right: 6.4rem; }
  .l2-extra-art { width: 5.2rem; top: 1rem; right: 0.8rem; }
  .l2-entry { grid-template-columns: 1fr; }
  .l2-entry-price { text-align: left; }
  .l2-lead-card .lead-form-row { grid-template-columns: 1fr; }
  .l2-case-times { gap: 1.6rem; flex-wrap: wrap; }
}

/* ---------- Воображариум (посадочная конвейера контента) ---------- */
.im-eyebrow {
  display: inline-block;
  background: var(--l2-lime);
  color: var(--l2-ink);
  border-radius: 9999px;
  padding: 0.4rem 1.1rem;
  font-size: 0.92rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  margin-bottom: 1.4rem;
}
.im-sub {
  text-align: center;
  color: var(--l2-mut);
  max-width: 34rem;
  margin: -1.6rem auto 2.2rem;
}

/* Hero-сцена: коллаж работ на кобальтовом градиенте, как окно кабинета
   на главной витрине — с теми же «плавающими» пилюлями */
.im-scene {
  position: relative;
  margin: 3.2rem auto 0;
  max-width: 68rem;
  border-radius: var(--l2-r);
  background:
    radial-gradient(46rem 30rem at 85% -20%, rgba(123, 91, 250, 0.55), transparent 60%),
    radial-gradient(40rem 26rem at 8% 110%, rgba(198, 242, 110, 0.35), transparent 55%),
    var(--l2-grad);
  padding: clamp(2.4rem, 5vw, 4.2rem);
  display: grid;
  grid-template-columns: 1fr 1.45fr 1fr;
  gap: clamp(0.7rem, 1.6vw, 1.2rem);
  align-items: center;
}
.im-scene-card {
  margin: 0;
  border-radius: 1.2rem;
  overflow: hidden;
  box-shadow: 0 24px 50px -20px rgba(10, 15, 60, 0.55);
  background: #0e1330;
}
.im-scene-card img, .im-scene-card video {
  width: 100%; height: 100%;
  display: block; object-fit: cover;
}
.im-scene-card--photo    { aspect-ratio: 4 / 5; transform: rotate(-2.2deg); }
.im-scene-card--portrait { aspect-ratio: 4 / 5; transform: rotate(2.2deg); }
.im-scene-card--video    { aspect-ratio: 16 / 10; transform: translateY(0.8rem); z-index: 1; }
/* пилюли лежат внутри панели: за края подложки не вылезают */
.im-float--1 { top: 1.3rem; left: 2.2rem; }
.im-float--2 { top: 2rem; right: 1.8rem; }
.im-float--3 { bottom: 2.1rem; left: 1.8rem; }
.im-float--4 { bottom: 1.3rem; right: 2.4rem; }

/* Карточки «что выдаёт конвейер» */
.im-grid3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--l2-gap);
}
.im-card {
  background: var(--l2-card);
  border-radius: var(--l2-r);
  padding: 2rem 1.9rem;
  transition: transform 0.25s ease;
}
.im-card:hover { transform: translateY(-4px); }
.im-card-ico {
  width: 3.4rem; height: 3.4rem;
  border-radius: 1.1rem;
  display: flex; align-items: center; justify-content: center;
  margin-bottom: 1.2rem;
}
.im-card-ico svg { width: 1.7rem; height: 1.7rem; }
.im-card-title { font-size: 1.35rem; font-weight: 600; letter-spacing: -0.01em; margin-bottom: 0.55rem; }
.im-card p { margin: 0; color: var(--l2-mut); line-height: 1.55; }

/* Фото-примеры: живая сетка со сдвигом и увеличением при наведении */
.im-photos {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--l2-gap);
}
.im-shot { margin: 0; }
.im-shot img {
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
  display: block;
  border-radius: var(--l2-r);
  background: var(--l2-card);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.im-shot:nth-child(even) { transform: translateY(1.6rem); }
.im-shot img:hover {
  transform: scale(1.035);
  box-shadow: 0 24px 50px -22px rgba(16, 16, 20, 0.45);
}
.im-shot figcaption {
  text-align: center;
  color: var(--l2-mut);
  font-size: 0.95rem;
  margin-top: 0.7rem;
}

/* Видео: полноширинная кобальтовая арт-панель, ролики крупно и играют сами */
.im-video-panel {
  border-radius: var(--l2-r);
  background:
    radial-gradient(50rem 30rem at 110% 0%, rgba(123, 91, 250, 0.5), transparent 55%),
    radial-gradient(36rem 26rem at -10% 100%, rgba(79, 125, 249, 0.6), transparent 60%),
    #101336;
  padding: clamp(2rem, 5vw, 4.2rem);
}
.im-video-title { color: #fff; margin-bottom: 0.8rem; }
.im-video-sub {
  text-align: center;
  color: rgba(255, 255, 255, 0.72);
  max-width: 32rem;
  margin: 0 auto 2.4rem;
}
.im-video-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(1rem, 2vw, 1.6rem);
}
.im-video-card { margin: 0; }
.im-video-card video {
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  display: block;
  border-radius: 1.3rem;
  background: #0e1330;
  box-shadow: 0 30px 60px -26px rgba(0, 0, 0, 0.7);
}
.im-video-card figcaption {
  text-align: center;
  color: rgba(255, 255, 255, 0.72);
  font-size: 0.95rem;
  margin-top: 0.8rem;
}

/* Пайплайн «конвейер → сайт → Нортика» */
.im-pipeline {
  display: grid;
  grid-template-columns: 1fr auto 1fr auto 1fr;
  gap: var(--l2-gap);
  align-items: stretch;
}
.im-pipe-step {
  background: var(--l2-card);
  border-radius: var(--l2-r);
  padding: 1.8rem 1.6rem;
  text-align: center;
}
.im-pipe-ico {
  width: 3.2rem; height: 3.2rem;
  border-radius: 1rem;
  display: inline-flex; align-items: center; justify-content: center;
  margin-bottom: 1rem;
}
.im-pipe-ico svg { width: 1.6rem; height: 1.6rem; }
.im-pipe-step b { display: block; font-size: 1.2rem; letter-spacing: -0.01em; margin-bottom: 0.35rem; }
.im-pipe-step span { color: var(--l2-mut); font-size: 0.95rem; line-height: 1.5; }
.im-pipe-arrow {
  align-self: center;
  font-size: 1.9rem;
  color: var(--l2-violet);
  font-weight: 600;
}

/* Шаги конвейера */
.im-steps {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--l2-gap);
}
.im-step {
  background: var(--l2-card);
  border-radius: var(--l2-r);
  padding: 1.9rem 1.7rem;
}
.im-step-num {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 2.4rem; height: 2.4rem;
  border-radius: 9999px;
  background: var(--l2-lime);
  color: var(--l2-ink);
  font-weight: 700; font-size: 1.05rem;
  margin-bottom: 1rem;
}
.im-step-title { font-size: 1.15rem; font-weight: 600; margin-bottom: 0.45rem; }
.im-step p { margin: 0; color: var(--l2-mut); font-size: 0.95rem; line-height: 1.5; }

/* «Почему конвейер»: карточки с крупной цифрой */
.im-stat {
  background: var(--l2-card);
  border-radius: var(--l2-r);
  padding: 2.1rem 1.9rem;
}
.im-stat-num {
  font-size: clamp(2.6rem, 4.6vw, 3.8rem);
  font-weight: 600;
  letter-spacing: -0.04em;
  line-height: 1;
}
.im-stat-title { font-size: 1.25rem; font-weight: 600; margin: 0.35rem 0 0.6rem; }
.im-stat p { margin: 0; color: var(--l2-mut); line-height: 1.55; }

/* Адаптив */
@media (max-width: 60rem) {
  .im-grid3, .im-steps { grid-template-columns: 1fr 1fr; }
  .im-photos { grid-template-columns: 1fr 1fr; }
  .im-pipeline { grid-template-columns: 1fr; }
  .im-pipe-arrow { transform: rotate(90deg); justify-self: center; }
  .im-scene { grid-template-columns: 1fr 1fr; }
  .im-scene-card--portrait { display: none; }
  .im-float--3 { left: -0.4rem; }
  .im-float--2 { right: -0.4rem; }
}
@media (max-width: 36rem) {
  .im-grid3, .im-steps, .im-video-grid, .im-photos { grid-template-columns: 1fr; }
  .im-shot:nth-child(even) { transform: none; }
  .im-scene { grid-template-columns: 1fr; }
  .im-scene-card--photo { display: none; }
}

/* Карточка «Тем, у кого сайта ещё нет» ведёт к блоку разработки */
a.l2-aud-card--link { color: inherit; text-decoration: none; }
a.l2-aud-card--link:hover .l2-aud-name { color: var(--l2-cobalt); }
