/**
 * Статический HTML kontekstnaya_reklama без гидрации Nuxt.
 *
 * 1) Z-index: .page-constructor__bg ниже секций; без isolation на .page-constructor (Safari + фон героя).
 * 2) Полноэкранный .overlay-new не перекрывает страницу без модалки.
 *
 * Важно: колонка MAIN в index должна идти уже после </header>, не внутри
 * .new-static-menu — иначе любое display:none на меню скрывает всю страницу.
 */
@import url("sections/service-hero-header.css");
@import url("sections/service-more-cases.css");
@import url("sections/service-content-block-desc-by-row.css");

/* Виды рекламы: видимая ссылка на заголовке «Геомедийная контекстная реклама». */
.page-constructor .modern.content-block .block__name a {
  color: #6eb3ff;
  text-decoration: underline;
  text-underline-offset: 0.2em;
}

.page-constructor .modern.content-block .block__name a:hover {
  color: #9cc9ff;
}

.page-constructor {
  /* Без isolation: WebKit иначе иногда не рисует background-image героя рядом с fixed .page-constructor__bg. */
  position: relative;
}

.page-constructor__bg {
  z-index: 0 !important;
}

.page-constructor__section {
  position: relative;
  z-index: 2;
}

/*
 * Герой (первый экран): WebKit + fixed canvas ломают background у внутренних div.
 * Фото — слой ::before первой секции (тот же URL, что preload / inline на .header-background).
 * Без <img> в герое: при сбое запроса нет иконки «битой картинки» в центре экрана.
 */
.page-constructor > .page-constructor__section:first-of-type::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background-image: url("/_sa/img/storage__xjhFEA49677OGQDTXjw6he9xnUh71ef9GgvspTHz.webp");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}

.page-constructor > .page-constructor__section:first-of-type > * {
  position: relative;
  z-index: 1;
}

/* Один герой: desktop/mobile в разметке; правило — в Nuxt-бандле (.desctop / .mobile). Запас, если бандл не на диске. */
.page-constructor > .page-constructor__section:first-of-type .header-background.mobile {
  display: none !important;
}

@media screen and (max-width: 719px) {
  .page-constructor > .page-constructor__section:first-of-type .header-background.desctop {
    display: none !important;
  }

  .page-constructor > .page-constructor__section:first-of-type .header-background.mobile {
    display: block !important;
  }
}

.page-constructor ~ .footer-modern {
  position: relative;
  z-index: 1;
}

body:not(.order-popup-open) .overlay-new[data-v-2ee28934],
body:not(.order-popup-open) .overlay-new {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
  opacity: 0 !important;
}

/*
 * Полноэкранная оболочка бургер-меню в Nuxt: position:absolute + min-height:100vh.
 * В закрытом состоянии parity тушит только opacity/visibility, но блок по геометрии
 * остаётся «листом» на весь экран и перекрывает main (page-constructor) под шапкой.
 * При .header.active правила бандла снова раскрывают меню.
 */
.header:not(.active) .new-static-menu.new-static-menu_main-str,
.header:not(.active) .new-static-menu.new-static-menu_main-str[data-v-e5e2adce],
.header:not(.active) .new-static-menu.new-static-menu_main-str[data-v-7050ddb2] {
  min-height: 0 !important;
  height: 0 !important;
  max-height: 0 !important;
  overflow: hidden !important;
  top: 0 !important;
  right: 0 !important;
  bottom: auto !important;
  left: 0 !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

/*
 * cases-block (статика): только правки поверх Nuxt-бандла — без отдельной геометрии для «третьего» слайдера.
 * Отключаем встречные translate у превью/текста, вуаль у неактивного .background, задаём ширину слайда и overflow у контейнера.
 */
/* Cases-block (статика без Nuxt): в prod CSS у превью и текста встречные translateX(-60%/+60%) и
   transition при снятии .swiper-slide-active — поверх сдвига Swiper картинка и текст едут в разные стороны.
   Отключаем только эти внутренние смещения; двигается весь слайд целиком, как на оригинале. */
.cases-block .cases-block__swiper-slide .cases-block__swiper-slide-contant[data-v-bd2e570a],
.cases-block .cases-block__swiper-slide .cases-block__swiper-slide-text-contant[data-v-bd2e570a] {
  opacity: 1 !important;
  transform: none !important;
  transition: none !important;
}

/* Фон слайда: без длинного transition scale/blur — иначе фон «отстаёт» от карточки при быстром свайпе.
 * WebKit: в Nuxt-бандле у .background z-index:-1 — внутри слайда с overflow:hidden слой уходит «под» корень
 * и не рисуется (тёмный прямоугольник за мокапами, кейс «Композит»). Держим неотрицательный z-index всегда. */
.cases-block .cases-block__swiper-slide[data-v-bd2e570a] {
  position: relative;
}

.cases-block .cases-block__swiper-slide .background[data-v-bd2e570a] {
  transition: none !important;
  z-index: 0 !important;
}

.cases-block__slider .cases-block__slider-swiper-container .swiper-slide {
  width: 100% !important;
  box-sizing: border-box;
}

/*
 * Затемнение справа: у неактивного слайда .background остаётся scale(2)+blur(20px) из Nuxt-бандла;
 * при overflow:visible на слайде или при подглядывании соседа размытие вылезает как тёмная вуаль.
 * Активному слайду фон и так scale(1)+blur(0); соседям декоративный слой не нужен, пока они не активны.
 */
.cases-block__slider .cases-block__slider-swiper-container.swiper-container {
  overflow: hidden !important;
}

/* Свайп/драг: баннеры внутри ссылок не уводят жест в native image-drag (Safari). */
.cases-block .cases-block__swiper-slide img[data-v-bd2e570a],
.cases-block .cases-block__swiper-slide img {
  -webkit-user-drag: none;
  user-select: none;
}

.cases-block .cases-block__swiper-slide:not(.swiper-slide-active) .background[data-v-bd2e570a] {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/*
 * Safari/WebKit: у .background в бандле z-index:-1 внутри .cases-block__swiper-slide с overflow:hidden —
 * фон уезжает «под» слайд и не рисуется. Плюс flex-псевдо ::before/::after на слайде: одного z-index:0
 * на фоне недостаточно (за мокапом «Композит» остаётся пустой тёмный прямоугольник).
 * Изолируем stacking context слайда, фон z-index:1, контент/текст поверх.
 */
.cases-block .cases-block__swiper-slide.swiper-slide-active[data-v-bd2e570a] {
  isolation: isolate;
}

.cases-block .cases-block__swiper-slide.swiper-slide-active .background[data-v-bd2e570a] {
  z-index: 1 !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: translateZ(0) scale(1) !important;
  -webkit-transform: translateZ(0) scale(1) !important;
  filter: blur(0) !important;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.cases-block .cases-block__swiper-slide.swiper-slide-active .cases-block__swiper-slide-tags-wrapper[data-v-bd2e570a],
.cases-block .cases-block__swiper-slide.swiper-slide-active .cases-block__swiper-slide-contant[data-v-bd2e570a],
.cases-block .cases-block__swiper-slide.swiper-slide-active .cases-block__swiper-slide-text-contant[data-v-bd2e570a] {
  position: relative;
  z-index: 2 !important;
}

/*
 * Boca Room / Минисклад — размытый cover-фон и кадр, как на /prodvizhenie-yandex-karty-2gis.
 * Перебивает blur(0) у активного слайда выше.
 */
.cases-block .cases-block__swiper-slide--boca .background[data-v-bd2e570a],
.cases-block .cases-block__swiper-slide--minisklad .background[data-v-bd2e570a] {
  background-repeat: no-repeat !important;
  background-size: cover !important;
  background-position: center center !important;
}

.cases-block .cases-block__swiper-slide--boca.swiper-slide-active .background[data-v-bd2e570a],
.cases-block .cases-block__swiper-slide--minisklad.swiper-slide-active .background[data-v-bd2e570a],
.kontekstnaya-case-slider-boca-section
  .cases-block__swiper-slide--boca
  .background[data-v-bd2e570a] {
  filter: blur(28px) !important;
  -webkit-filter: blur(28px) !important;
  transform: translateZ(0) scale(1.18) !important;
  -webkit-transform: translateZ(0) scale(1.18) !important;
}

.kontekstnaya-case-slider-boca-section .cases-block__swiper-slide--boca .background[data-v-bd2e570a] {
  opacity: 1 !important;
  visibility: visible !important;
  z-index: 1 !important;
}

.cases-block .cases-block__swiper-slide--boca .cases-block__swiper-slide-contant .old img[data-v-bd2e570a],
.cases-block .cases-block__swiper-slide--boca .cases-block__swiper-slide-contant-image[data-v-bd2e570a] {
  object-position: center center !important;
}

.cases-block .cases-block__swiper-slide--minisklad .cases-block__swiper-slide-contant .old img[data-v-bd2e570a],
.cases-block .cases-block__swiper-slide--minisklad .cases-block__swiper-slide-contant-image[data-v-bd2e570a] {
  object-fit: cover !important;
  -o-object-fit: cover !important;
  object-position: center center !important;
}

/* Один слайд Boca между SEO-блоками: без стрелок и точек. */
.kontekstnaya-case-slider-boca-section .swiper__navigation,
.kontekstnaya-case-slider-boca-section .swiper-pagination {
  display: none !important;
}

.kontekstnaya-case-slider-boca-section .cases-block[data-v-bd2e570a] {
  padding-top: var(--home-between, 112px) !important;
  padding-bottom: 0 !important;
}

.kontekstnaya-case-slider-boca-section .cases-block__swiper-slide--boca[data-v-bd2e570a] {
  isolation: isolate;
}

.kontekstnaya-case-slider-boca-section
  .cases-block__swiper-slide--boca
  .cases-block__swiper-slide-contant[data-v-bd2e570a],
.kontekstnaya-case-slider-boca-section
  .cases-block__swiper-slide--boca
  .cases-block__swiper-slide-text-contant[data-v-bd2e570a] {
  position: relative;
  z-index: 2 !important;
}

/*
 * Вертикальный ритм секций (как на главной: .clients-new-section.home-between — padding-top: var(--home-between)).
 * Токен в css__home-snapshot__overrides.parity-sync.css (:root --home-between 112 / 97 / 60).
 * Между двумя секциями один шаг: отступ «сверху» у следующей; у предыдущей padding-bottom не дублируем тот же шаг.
 *
 * Единый шаг --home-between для текстовых блоков, кейсов и пакетов (Nuxt давал 172px / 160px / ~50px — «лесенка» на скрине).
 */
.page-constructor > .page-constructor__section > .modern.content-block[data-v-4ed7dc78],
.page-constructor > .page-constructor__section > .modern.content-block {
  padding-top: var(--home-between, 112px) !important;
}

.page-constructor > .page-constructor__section > .dies.modern[data-v-07db1e8a],
.page-constructor > .page-constructor__section > .dies.modern {
  padding-top: var(--home-between, 112px) !important;
}

.page-constructor .team-block {
  padding-top: var(--home-between, 112px) !important;
}

.page-constructor .more-case-wr[data-v-27a87df0] {
  padding-top: var(--home-between, 112px) !important;
}

/*
 * Блок «Кейсы» (слайдер и сетка на услугах): на всю ширину вьюпорта те же горизонтальные поля,
 * что у шапки и FAQ (бандл даёт width: calc(100% - 156px) + padding:0 — на широких экранах
 * расходился ритм с секциями на clamp у FAQ).
 */
.page-constructor .more-case-wr.more-case-wr__main .page__container[data-v-27a87df0] {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: var(--page-inline-start, var(--page-gutter-x, 78px)) !important;
  padding-right: var(--page-inline-end, var(--page-gutter-x, 78px)) !important;
  box-sizing: border-box !important;
}

/*
 * Сетка more-cases: <a> внутри .case не занимал всю высоту карточки (inline по умолчанию).
 * Тогда height:100% у .case__media / абсолютного img в WebKit обнуляется — виден только фон-плейсхолдер
 * (пропадали «Во!Молоко», часть lazy-превью и т.п.).
 * Важно: на /kontekstnaya_reklama блок идёт после закрытия .page-constructor — привязка только к .more-case-wr__main.
 */
.more-case-wr.more-case-wr__main .more-cases .case > a[data-v-c0adc676],
.more-case-wr.more-case-wr__main .more-cases .case > a {
  display: block;
  height: 100%;
  box-sizing: border-box;
}

/* Превью — отдельный композитный слой (Safari + overflow:hidden на .case). */
.more-case-wr.more-case-wr__main .more-cases .case__media[data-v-c0adc676] .case__media--front[data-v-c0adc676],
.more-case-wr.more-case-wr__main .more-cases .case__media .case__media--front {
  transform: scale(1.01) translateZ(0);
  -webkit-transform: scale(1.01) translateZ(0);
}

.more-case-wr.more-case-wr__main .more-cases .case__description[data-v-c0adc676],
.more-case-wr.more-case-wr__main .more-cases .case__description {
  z-index: 2 !important;
}

.more-case-wr.more-case-wr__main .more-cases .case__tags[data-v-c0adc676],
.more-case-wr.more-case-wr__main .more-cases .case__tags {
  position: relative;
  z-index: 2 !important;
}

/*
 * Кейсы (слайдер ≤719px): заголовок в .more-cases скрыт с сеткой — дублируем .more-case-wr__slider-heading над каруселью.
 */
.more-case-wr.more-case-wr__main .more-case-wr__slider-heading {
  display: none;
  margin: 0 0 80px;
  padding: 0;
  color: #fff;
  font-style: normal;
  font-weight: 400;
  font-size: 46px;
  line-height: 126%;
  letter-spacing: 0;
  box-sizing: border-box;
}

@media screen and (max-width: 719px) {
  .more-case-wr.more-case-wr__main .more-case-wr__slider-heading {
    display: block;
    font-size: 28px;
    line-height: 126%;
    margin-bottom: 45px;
  }
}

@media screen and (max-width: 550px) {
  .more-case-wr.more-case-wr__main .more-case-wr__slider-heading {
    font-size: 26px;
    margin-bottom: 20px;
  }
}

/* CTA «Смотреть больше кейсов»: фон через <img>, как у .last-case в сетке (CSS background в бандле — битый url). */
.more-case-wr.more-case-wr__main .mor-cases-slider-wrapper .mor-cases-slide_link[data-v-38965faa] {
  overflow: hidden !important;
  background-image: none !important;
  background-color: #2c2c30 !important;
  box-shadow: 0 0 10.91093px 0 rgba(0, 0, 0, 0.15) !important;
}

.more-case-wr.more-case-wr__main .mor-cases-slider-wrapper .mor-cases-slide_link .mor-cases-slide__cta-fill[data-v-38965faa],
.more-case-wr.more-case-wr__main .mor-cases-slider-wrapper .mor-cases-slide_link .mor-cases-slide__cta-fill {
  position: absolute;
  inset: 0;
  z-index: 0;
  border-radius: 30px;
  overflow: hidden;
  background-color: #2c2c30;
}

.more-case-wr.more-case-wr__main .mor-cases-slider-wrapper .mor-cases-slide_link .mor-cases-slide__cta-gif[data-v-38965faa],
.more-case-wr.more-case-wr__main .mor-cases-slider-wrapper .mor-cases-slide_link .mor-cases-slide__cta-gif {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 30px;
  z-index: 0;
  pointer-events: none;
}

.more-case-wr.more-case-wr__main .mor-cases-slider-wrapper .mor-cases-slide_link .mor-cases-slide__cta-shade[data-v-38965faa],
.more-case-wr.more-case-wr__main .mor-cases-slider-wrapper .mor-cases-slide_link .mor-cases-slide__cta-shade {
  position: absolute;
  inset: 0;
  z-index: 1;
  border-radius: 30px;
  background: #000;
  opacity: 0.45;
  pointer-events: none;
}

.more-case-wr.more-case-wr__main .mor-cases-slider-wrapper .mor-cases-slide_link .more-cases-slider__slide-link[data-v-38965faa],
.more-case-wr.more-case-wr__main .mor-cases-slider-wrapper .mor-cases-slide_link .more-cases-slider__slide-link {
  position: relative;
  z-index: 2;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
}

/* Герой: мобилка — текст слева по сетке; десктоп ≥720px — по центру (см. media ниже). */
.page-constructor__section .c-title-block .jumbotron {
  align-items: flex-start !important;
  box-sizing: border-box;
  padding-left: var(--page-inline-start, var(--page-gutter-x, 78px));
  padding-right: var(--page-inline-end, var(--page-gutter-x, 78px));
}

.page-constructor__section .c-title-block .jumbotron-img-aurora__title,
.page-constructor__section .c-title-block .jumbotron-img-aurora__title-small {
  text-align: left !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  max-width: min(1108px, 100%) !important;
}

.page-constructor__section .c-title-block .jumbotron-img-aurora__subtitle {
  text-align: left !important;
  margin: 40px 0 0 !important;
  max-width: min(590px, 100%) !important;
}

/* Десктоп: заголовок и подзаголовок по центру (мобилка — слева, см. базовые правила выше). */
@media screen and (min-width: 720px) {
  .page-constructor__section .c-title-block .jumbotron {
    align-items: center !important;
  }

  .page-constructor__section .c-title-block .jumbotron-img-aurora__title,
  .page-constructor__section .c-title-block .jumbotron-img-aurora__title-small {
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .page-constructor__section .c-title-block .jumbotron-img-aurora__subtitle {
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

/* Планшет: зазор h1→описание 40px (как --service-hero-mobile-title-gap), центр сохранён. */
@media screen and (min-width: 720px) and (max-width: 1024px) {
  .page-constructor__section .c-title-block .jumbotron {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: var(--service-hero-tablet-title-gap, 40px) !important;
  }

  .page-constructor__section .c-title-block .jumbotron-img-aurora__title,
  .page-constructor__section .c-title-block .jumbotron-img-aurora__title-small {
    margin-bottom: 0 !important;
  }

  .page-constructor__section .c-title-block .jumbotron-img-aurora__subtitle {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
}

/* «Команда»: поля контейнера = шапка; заголовок h2 — в одну линию с первой колонкой сетки (.row с margin -20px). */
@media screen and (min-width: 720px) {
  .page-constructor .team-block .page__container {
    padding-left: var(--page-inline-start, var(--page-gutter-x, 78px)) !important;
    padding-right: var(--page-inline-end, var(--page-gutter-x, 78px)) !important;
  }
}

@media screen and (min-width: 1025px) {
  .page-constructor .team-block .page__container .team__head > h2 {
    margin-left: -20px;
  }
}

/*
 * Слайдер кейсов: у Nuxt justify-content:center — центр тяжести ниже мокапа (текст + кнопка),
 * поэтому сверху визуально больше «воздуха», чем снизу (красный vs жёлтый).
 * Равные поля: flex-пружины ::before/::after делят оставшуюся высоту min(100vh) поровну; минимальный вертикальный inset + горизонтальные padding.
 * У .cases-block — padding-top и небольшой padding-bottom, чуть больше «воздуха» у краёв секции.
 */
.cases-block[data-v-bd2e570a] {
  padding-top: calc(var(--home-between, 112px) + 16px) !important;
  padding-bottom: 16px !important;
}

.cases-block .cases-block__swiper-slide[data-v-bd2e570a] {
  justify-content: flex-start !important;
  align-items: center !important;
  box-sizing: border-box !important;
  min-height: 100vh !important;
  padding-top: 44px !important;
  padding-bottom: 44px !important;
  padding-left: var(--page-inline-start, 78px) !important;
  padding-right: var(--page-inline-end, 78px) !important;
}

.cases-block .cases-block__swiper-slide[data-v-bd2e570a]::before,
.cases-block .cases-block__swiper-slide[data-v-bd2e570a]::after {
  content: "";
  flex: 1 1 0;
  min-height: 0;
  align-self: stretch;
  pointer-events: none;
}

/* Пустой блок тегов не должен участвовать во flex (иначе ломается симметрия ::before/::after). */
.cases-block .cases-block__swiper-slide-tags-wrapper_hidden[data-v-bd2e570a] {
  display: none !important;
}

/* Бандл: margin-bottom 84px (60px ≤768) между мокапом и заголовком — слишком широкий зазор (красный → жёлтый). */
.cases-block .cases-block__swiper-slide-contant[data-v-bd2e570a] {
  margin-bottom: 40px !important;
}

@media screen and (max-width: 768px) {
  .cases-block .cases-block__swiper-slide-contant[data-v-bd2e570a] {
    margin-bottom: 32px !important;
  }
}

@media screen and (max-width: 1024px) {
  .cases-block .cases-block__swiper-slide[data-v-bd2e570a] {
    padding-top: 38px !important;
    padding-bottom: 38px !important;
    padding-left: max(var(--page-inline-start, 55px), 110px) !important;
    padding-right: max(var(--page-inline-end, 55px), 110px) !important;
  }
}

@media screen and (max-width: 720px) {
  .cases-block .cases-block__swiper-slide[data-v-bd2e570a] {
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    align-items: center !important;
    min-height: auto !important;
    height: auto !important;
    overflow: visible !important;
    /* Равные поля: картинка↔верх = кнопка↔низ слайда (точки — вне container). */
    padding: 40px 36px 40px !important;
  }

  /* Пружины ::before/::after центрируют блок; при длинном тексте (DarkRain) кнопка уезжает вниз к точкам. */
  .cases-block .cases-block__swiper-slide[data-v-bd2e570a]::before,
  .cases-block .cases-block__swiper-slide[data-v-bd2e570a]::after {
    display: none !important;
    content: none !important;
  }
}

@media screen and (max-width: 450px) {
  .cases-block .cases-block__swiper-slide[data-v-bd2e570a] {
    padding: 36px 36px 36px !important;
  }
}

/*
 * Синергия: зазор заголовок → карточки — один шаг --kontekst-heading-gap у .services__text
 * (как «Блог»), без margin у h3 и без padding-top у .swiper-container из Nuxt-бандла (54px).
 */
.kontekst-synergy-root .isNewContent h3.services__title.kontekstnaya-page__section-heading,
.page-constructor .kontekst-synergy-root .isNewContent h3.services__title.kontekstnaya-page__section-heading {
  margin-bottom: 0 !important;
}

.kontekst-synergy-root .services__text.home-ledge,
.kontekst-synergy-root .services__text.home-ledge[data-v-56f85d51] {
  padding-bottom: var(--kontekst-heading-gap, 80px) !important;
}

.page-constructor .kontekst-synergy-root .services__context-slider.swiper-container,
.page-constructor .kontekst-synergy-root .services__context-slider.swiper-container[data-native-row="1"],
.page-constructor .kontekst-synergy-root .services__context-slider.swiper-container[data-v-56f85d51],
.page-constructor .kontekst-synergy-root .isNewContent .services__context-slider.swiper-container[data-v-56f85d51],
.kontekst-synergy-root .services__context-slider.swiper-container,
.kontekst-synergy-root .services__context-slider.swiper-container[data-native-row="1"],
.kontekst-synergy-root .services__context-slider.swiper-container[data-v-56f85d51],
.kontekst-synergy-root .isNewContent .services__context-slider.swiper-container[data-v-56f85d51] {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

/*
 * native-row-scroll: padding-top 40px + margin-top -40px у трека — визуально +40px до карточек.
 * Для синергии зазор только через padding-bottom у .services__text.
 */
.page-constructor .kontekst-synergy-root .services__context-wrapper[data-native-row="1"],
.page-constructor .kontekst-synergy-root .services__context-wrapper[data-v-56f85d51],
.kontekst-synergy-root .services__context-wrapper[data-native-row="1"],
.kontekst-synergy-root .services__context-wrapper[data-v-56f85d51] {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

/* Синергия (partial как на главной): в prod-блоке не было цен — скрываем, если появятся в разметке */
.kontekst-synergy-root .services__card-price {
  display: none !important;
}

/*
 * Бандл главной: при hover на .services__card-container у .services__card-description-animation
 * opacity:0 (под цену). В блоке «Синергия» цен нет — описание должно оставаться и при наведении;
 * подсветка — только .services__card::after (box-shadow) из того же бандла.
 */
.kontekst-synergy-root
  .services__card
  .services__card-container:hover
  .services__card-description-animation[data-v-56f85d51],
.kontekst-synergy-root
  .services__card
  .services__card-container:hover
  .services__card-description-animation {
  opacity: 1 !important;
}

/*
 * Секционные заголовки /kontekstnaya_reklama: h3 + .kontekstnaya-page__section-heading — один ритм
 * (46px / 126% / 400, отступ снизу 80px). «Команда» в .team__head — flex с абзацем: margin у h3 обнуляем.
 * Перебивает .isNewContent .services__title и .home-clients-awards__title из бандла/parity.
 */
.page-constructor h3.kontekstnaya-page__section-heading {
  margin: 0 0 80px;
  padding: 0;
  color: #fff;
  font-style: normal;
  font-weight: 400;
  font-size: 46px !important;
  line-height: 126% !important;
  letter-spacing: 0 !important;
  box-sizing: border-box;
}

@media screen and (max-width: 768px) {
  .page-constructor h3.kontekstnaya-page__section-heading {
    font-size: 28px !important;
    line-height: 126% !important;
    margin-bottom: 45px;
  }
}

@media screen and (max-width: 550px) {
  .page-constructor h3.kontekstnaya-page__section-heading {
    font-size: 26px !important;
    margin-bottom: 20px;
  }
}

.team-block .team__head > h3.kontekstnaya-page__section-heading {
  margin: 0;
}

/*
 * «Команда» h2: в Nuxt-бандле 54px — на услугах после формы 46px (как FAQ / кейсы / targeting).
 */
.page-constructor .team-block .team__head > h2,
.page-constructor .team-block .team__head > h2[data-v-c03ce8dc] {
  font-size: 46px !important;
  line-height: 126% !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  color: #fff;
}

@media screen and (max-width: 768px) {
  .page-constructor .team-block .team__head > h2,
  .page-constructor .team-block .team__head > h2[data-v-c03ce8dc] {
    font-size: 28px !important;
    line-height: 126% !important;
  }
}

@media screen and (max-width: 550px) {
  .page-constructor .team-block .team__head > h2,
  .page-constructor .team-block .team__head > h2[data-v-c03ce8dc] {
    font-size: 26px !important;
  }
}

@media screen and (max-width: 719px) {
  .team-block .team .team__head > h3.kontekstnaya-page__section-heading {
    margin-left: 90px;
    margin-bottom: 60px;
  }
}

@media screen and (max-width: 559px) {
  .team-block .team .team__head > h3.kontekstnaya-page__section-heading {
    margin-left: 36px;
  }
}

/*
 * «Команда»: как в Nuxt-бандле — `.team-block .page__container` без искусственного max-width на широких
 * вьюпортах (только горизонтальные отступы из бандла), блок на всю ширину контентной полосы страницы.
 */

/*
 * «Награды»: заголовок → ряд карточек без лишнего margin у .awards__header (см. home-awards.css).
 * Сверху — --home-between от «Кейсов»; снизу на услугах 0 — один шаг до «Синергии» даёт padding-top у .services-unified.
 */
.page-constructor .home-awards-block .awards__header,
.home-awards-block .awards__header {
  margin-bottom: 0 !important;
}

/*
 * «Награды»: заголовок → венки — как /targeting (margin-bottom 80px на h3).
 * parity-sync даёт .home-clients-awards__title { margin: 0 } — без !important зазор обнуляется.
 */
.page-constructor .home-awards-block h3.home-clients-awards__title.kontekstnaya-page__section-heading,
.home-awards-block h3.home-clients-awards__title.kontekstnaya-page__section-heading {
  margin: 0 0 var(--kontekst-heading-gap, 80px) !important;
  padding: 0 !important;
  color: #fff !important;
  font-style: normal !important;
  font-weight: 400 !important;
  font-size: 46px !important;
  line-height: 126% !important;
  letter-spacing: 0 !important;
  box-sizing: border-box !important;
}

@media screen and (max-width: 768px) {
  .page-constructor .home-awards-block h3.home-clients-awards__title.kontekstnaya-page__section-heading,
  .home-awards-block h3.home-clients-awards__title.kontekstnaya-page__section-heading {
    font-size: 28px !important;
    line-height: 126% !important;
    margin-bottom: var(--kontekst-heading-gap, 45px) !important;
  }
}

@media screen and (max-width: 550px) {
  .page-constructor .home-awards-block h3.home-clients-awards__title.kontekstnaya-page__section-heading,
  .home-awards-block h3.home-clients-awards__title.kontekstnaya-page__section-heading {
    font-size: 26px !important;
    margin-bottom: 45px !important;
  }
}

.page-constructor .home-awards-block .awards,
.home-awards-block .awards {
  /*
   * home-awards.css: max-width 1576px + margin:auto — на очень широком вьюпорте колонка
   * центрируется: заголовок уезжает вправо относительно «Синергия с услугами», а лента с
   * data-clients-strip (width 100% + 2*gutter, отрицательные margin) считается от узкой
   * колонки — края венков визуально «режутся». Как у синергии: полная ширина контентной
   * полосы страницы, горизонтальные поля только --page-gutter-x.
   */
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-top: var(--home-between, 112px) !important;
  padding-bottom: 0 !important;
  padding-left: var(--page-inline-start, var(--page-gutter-x, 78px)) !important;
  padding-right: var(--page-inline-end, var(--page-gutter-x, 78px)) !important;
}

/*
 * Компактный facts-блок под hero (без заголовка/lead).
 * Ширина серой карточки = .content-block ниже: у .advantages снимаем padding .page__container (78px),
 * иначе карточка уже колонки «Агентство» и обрезает «ТОП-50».
 */
.page-constructor > .page-constructor__section > .advantages > .page__container,
.page-constructor > .page-constructor__section > .advantages > .page__container.desktop {
  padding-left: 0 !important;
  padding-right: 0 !important;
  box-sizing: border-box !important;
}

.page-constructor .advantages-card.advantages-card--kontekst-mini {
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box !important;
  /* Вертикальные поля плашки: −30% к 126px */
  padding: 88px 0 !important;
  gap: 0 !important;
  background-color: #1d1d1f !important;
  border-radius: 30px !important;
  box-shadow: 0 0 85px rgba(116, 11, 160, 0.34) !important;
}

.page-constructor .advantages-card.advantages-card--kontekst-mini .advantages-card__content {
  width: 100%;
  display: flex;
  align-items: center;
  min-height: 100%;
}

.page-constructor .advantages-card.advantages-card--kontekst-mini .advantages-card__content-list {
  display: flex;
  align-items: center;
  justify-content: space-evenly;
  gap: 0;
  width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
}

/* Nuxt: ul li { margin-bottom: 24px }, ul li:last-child { margin-bottom: 0 } — ломает выравнивание в ряду */
.page-constructor .advantages-card.advantages-card--kontekst-mini .advantages-card__content-list > li,
.page-constructor .advantages-card.advantages-card--kontekst-mini .advantages-card__content-item {
  display: flex;
  align-items: center;
  gap: 36px;
  flex: 0 0 auto;
  min-width: 0;
  margin: 0 !important;
}

.page-constructor .advantages-card.advantages-card--kontekst-mini .advantages-card__content-item:last-child {
  margin-top: 0 !important;
}

.page-constructor .advantages-card.advantages-card--kontekst-mini .advantages-card__content-image {
  flex-shrink: 0;
  width: 80px;
  height: 80px;
}

.page-constructor .advantages-card.advantages-card--kontekst-mini .advantages-card__content-image img {
  width: 80px;
  height: 80px;
  object-fit: contain;
  object-position: center;
}

.page-constructor .advantages-card.advantages-card--kontekst-mini .advantages-card__content-info {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 5px;
  min-width: 0;
}

.page-constructor .advantages-card.advantages-card--kontekst-mini .advantages-card__content-title {
  margin: 0;
  font-size: 64px;
  line-height: 126%;
  font-weight: 500;
  color: #fff;
  white-space: nowrap;
}

.page-constructor .advantages-card.advantages-card--kontekst-mini .advantages-card__content-text {
  max-width: none;
  font-size: 16px;
  line-height: 140%;
  font-weight: 300;
  color: #afafaf;
  text-wrap: balance;
}

/* Планшет и узкий desktop: три фактоида в ряд не помещаются — колонка, иконка слева */
@media screen and (max-width: 1024px) {
  .page-constructor .advantages-card.advantages-card--kontekst-mini {
    padding: 69px 55px !important;
  }

  .page-constructor .advantages-card.advantages-card--kontekst-mini .advantages-card__content-list {
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 40px;
  }

  .page-constructor .advantages-card.advantages-card--kontekst-mini .advantages-card__content-item {
    gap: 35px;
    width: 100%;
    max-width: 100%;
  }

  .page-constructor .advantages-card.advantages-card--kontekst-mini .advantages-card__content-title {
    font-size: 50px;
  }
}

@media screen and (max-width: 719px) {
  .page-constructor > .page-constructor__section > .advantages > .page__container,
  .page-constructor > .page-constructor__section > .advantages > .page__container.desktop {
    padding-left: max(var(--page-inline-start, var(--page-gutter-x, 36px)), 16px) !important;
    padding-right: max(var(--page-inline-end, var(--page-gutter-x, 36px)), 16px) !important;
  }

  /* Фактоиды: 50px не влезают в колонку справа от иконки */
  .page-constructor .advantages-card.advantages-card--kontekst-mini .advantages-card__content-title {
    font-size: 32px;
    line-height: 1.12;
  }
}

@media screen and (max-width: 550px) {
  .page-constructor .advantages-card.advantages-card--kontekst-mini {
    padding: 57px 40px !important;
    overflow: hidden;
  }

  .page-constructor .advantages-card.advantages-card--kontekst-mini .advantages-card__content-title {
    white-space: normal;
    font-size: 28px;
  }
}

/*
 * «Синергия» после «Награды»: один шаг --home-between (без .page-constructor — как /targeting).
 */
.page-constructor .kontekst-synergy-root .services-unified,
.page-constructor .kontekst-synergy-root .services-unified[data-v-56f85d51],
.kontekst-synergy-root .services-unified,
.kontekst-synergy-root .services-unified[data-v-56f85d51] {
  padding-top: var(--home-between, 112px) !important;
}

/* Inline из partial: иначе +90px к --home-between; на статике скрываем (как /targeting). */
.page-constructor .kontekst-synergy-root .block-padding,
.page-constructor .kontekst-synergy-root .block-padding.block-padding_desktop,
.page-constructor .kontekst-synergy-root .block-padding.block-padding_tablet,
.page-constructor .kontekst-synergy-root .block-padding.block-padding_mobile,
.kontekst-synergy-root .block-padding,
.kontekst-synergy-root .block-padding.block-padding_desktop,
.kontekst-synergy-root .block-padding.block-padding_tablet,
.kontekst-synergy-root .block-padding.block-padding_mobile {
  display: none !important;
  padding: 0 !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  overflow: hidden;
}

/*
 * Заголовок «Пакеты» (section с .content-block непосредственно перед section с .dies): на десктопе по центру,
 * как ряд карточек; в Nuxt .col-6 тянет блок в левую половину контейнера.
 */
@media screen and (min-width: 1025px) {
  .page-constructor
    > .page-constructor__section:has(+ .page-constructor__section > .dies.modern)
    > .modern.content-block
    .numbered-header.number-header__empty
    .row[data-v-490c7534] {
    justify-content: center !important;
  }

  .page-constructor
    > .page-constructor__section:has(+ .page-constructor__section > .dies.modern)
    > .modern.content-block
    .numbered-header__title-column[data-v-490c7534] {
    flex-basis: 100% !important;
    max-width: 100% !important;
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 12px !important;
    margin-bottom: 0 !important;
  }

  .page-constructor
    > .page-constructor__section:has(+ .page-constructor__section > .dies.modern)
    > .modern.content-block
    .numbered-header__title[data-v-490c7534] {
    text-align: center !important;
  }
}

/*
 * «Пакеты»: ширина как у блока контента .content-block
 * (.page__container[data-v-4ed7dc78] в Nuxt-бандле: width calc(100% - 154px), padding 0),
 * без full-bleed во вьюпорт и без второго горизонтального инсета .prices__cards (65px).
 */
@media screen and (min-width: 1025px) {
  .page-constructor .page-constructor__section:has(> .dies.modern .prices)
    .dies.modern[data-v-07db1e8a]
    > .page__container[data-v-07db1e8a] {
    box-sizing: border-box;
    max-width: 1366px !important;
    width: calc(100% - 154px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .page-constructor .page-constructor__section:has(> .dies.modern .prices)
    .dies
    .prices
    .prices__cards.row[data-v-1505791e] {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}

/*
 * Адаптив «Пакеты»: заголовок — поля как у шапки/услуг (--page-gutter-x); ряд карточек — padding на треке
 * (initRow для пакетов без fullBleed, иначе отрицательные margin + overflow:hidden на хосте обрезают края).
 * Заголовок h2 и первая карточка — одна вертикаль: у Nuxt .row margin -20px и .col padding 25px сдвигали текст
 * относительно трека; у секции с карточками убираем общий padding-top --home-between между заголовком и рядом.
 */
@media screen and (max-width: 1024px) {
  .page-constructor > .page-constructor__section:has(+ .page-constructor__section > .dies.modern .prices)
    .modern.content-block
    > .page__container[data-v-4ed7dc78],
  .page-constructor > .page-constructor__section:has(+ .page-constructor__section > .dies.modern .prices)
    .modern.content-block
    > .page__container {
    box-sizing: border-box !important;
    max-width: none !important;
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: var(--page-inline-start, var(--page-gutter-x)) !important;
    padding-right: var(--page-inline-end, var(--page-gutter-x)) !important;
  }

  .page-constructor > .page-constructor__section:has(+ .page-constructor__section > .dies.modern .prices)
    .numbered-header.number-header__empty
    .row[data-v-490c7534] {
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .page-constructor > .page-constructor__section:has(+ .page-constructor__section > .dies.modern .prices)
    .numbered-header.number-header__empty
    .numbered-header__title-column[data-v-490c7534] {
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-bottom: 0 !important;
  }

  .page-constructor > .page-constructor__section:has(+ .page-constructor__section > .dies.modern .prices)
    .numbered-header[data-v-490c7534] {
    margin-bottom: var(--home-ledge, 54px) !important;
  }

  .page-constructor > .page-constructor__section:has(> .dies.modern .prices) > .dies.modern[data-v-07db1e8a],
  .page-constructor > .page-constructor__section:has(> .dies.modern .prices) > .dies.modern {
    padding-top: 0 !important;
  }

  .page-constructor .page-constructor__section:has(> .dies.modern .prices)
    .dies.modern[data-v-07db1e8a]
    > .page__container[data-v-07db1e8a] {
    box-sizing: border-box !important;
    max-width: none !important;
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .page-constructor .page-constructor__section:has(> .dies.modern .prices)
    .dies
    .prices
    .prices__cards.row[data-v-1505791e] {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}

@media screen and (max-width: 719px) {
  .page-constructor > .page-constructor__section:has(+ .page-constructor__section > .dies.modern .prices)
    .numbered-header.number-header__empty
    .numbered-header__title-column[data-v-490c7534] {
    margin-bottom: 0 !important;
  }
}

/*
 * Карточки «Пакеты»: заголовок и цена на 30% меньше Nuxt-типографики; цена внизу карточки.
 * Внутренние отступы карточки: база в 2 раза меньше прежних (верт./гориз. как ниже) + ещё 5px со всех сторон;
 * на десктопе (≥1024px) те же величины ×1.2; зазор между текстом и ценой — margin-top: auto у .price-card__details.
 */
.page-constructor .dies .prices .price-card__wrapper[data-v-1444f1fb] {
  display: flex !important;
  flex-direction: column;
  align-self: stretch;
}

.page-constructor .dies .prices .price-card__wrapper[data-v-1444f1fb] > .price-card.noImg[data-v-1444f1fb] {
  flex: 1 1 auto;
  /* Nuxt: .price-card { height:100%; overflow:hidden }. min-height:0 на flex-ребёнке + hidden обрезали хвост (цена + бюджет). */
  min-height: min-content !important;
  height: auto !important;
  overflow: visible !important;
}

/*
 * Равная высота карточек в ряду «Пакеты»: у .swiper-slide из бандла height:100% — ломает flex-stretch
 * на .prices__packages-track (align-items: stretch в native-row-scroll). Слайд — flex-колонка, карточка на всю высоту.
 */
.page-constructor .dies .prices .prices__packages-track[data-native-row="1"] > .swiper-slide,
.page-constructor .dies .prices .prices__packages-track[data-native-row="1"] > .prices__packages-slide.swiper-slide {
  /* height:auto !important ломает align-items:stretch — карточки разной высоты в ряду. */
  height: unset !important;
  align-self: stretch !important;
  display: flex;
  flex-direction: column;
}

.page-constructor .dies .prices .prices__packages-track[data-native-row="1"] .price-card__wrapper[data-v-1444f1fb] {
  flex: 1 1 auto;
  min-height: 0;
  width: 100%;
}

.page-constructor .dies .prices .prices__packages-track[data-native-row="1"] .price-card__wrapper[data-v-1444f1fb] > .price-card.noImg[data-v-1444f1fb] {
  flex: 1 1 auto !important;
  height: 100% !important;
  min-height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: visible !important;
}

.page-constructor .dies .prices .price-card.noImg[data-v-1444f1fb] .price-card__details[data-v-1444f1fb] {
  margin-top: auto !important;
}

/*
 * Сразу под заголовком тарифа — линия как .live-marketing-block__card-gradient на главной
 * (css__home-snapshot__snapshot.bundle.css): три варианта градиента по колонкам 1–3.
 */
.page-constructor .dies .prices .price-card.noImg[data-v-1444f1fb] .price-card__title-rule {
  display: block;
  height: 1px;
  width: 100%;
  max-width: 100%;
  /* Nuxt-эталон ~20px сверху; минус 15px по ТЗ «воздух» до линии */
  margin: 5px auto 30px;
  border: 0;
  padding: 0;
  flex-shrink: 0;
}

.page-constructor .dies .prices .price-card.noImg[data-v-1444f1fb] .price-card__title-rule--1 {
  background: linear-gradient(90deg, #00f0ff, #ff00b5 355%);
}

.page-constructor .dies .prices .price-card.noImg[data-v-1444f1fb] .price-card__title-rule--2 {
  background: linear-gradient(90deg, #00f0ff -127.33%, #ff00b5 225.33%);
}

.page-constructor .dies .prices .price-card.noImg[data-v-1444f1fb] .price-card__title-rule--3 {
  background: linear-gradient(90deg, #00f0ff -254.33%, #ff00b5 100.08%);
}

@media screen and (max-width: 1024px) {
  .page-constructor .dies .prices .price-card.noImg[data-v-1444f1fb] .price-card__title-rule {
    margin-bottom: 23px;
  }
}

.page-constructor .dies .prices .price-card.noImg[data-v-1444f1fb] {
  padding: calc((50px * 0.8 + 15px) / 2 + 5px) calc((50px * 0.8) / 2 + 5px) !important;
}

@media screen and (min-width: 1024px) {
  .page-constructor .dies .prices .price-card.noImg[data-v-1444f1fb] {
    padding: calc(((50px * 0.8 + 15px) / 2 + 5px) * 1.2) calc(((50px * 0.8) / 2 + 5px) * 1.2) !important;
  }
}

.page-constructor .dies .prices .price-card.noImg[data-v-1444f1fb] h3[data-v-1444f1fb] {
  font-size: calc(40px * 0.7) !important;
}

@media screen and (max-width: 1023px) {
  .page-constructor .dies .prices .price-card.noImg[data-v-1444f1fb] h3[data-v-1444f1fb] {
    font-size: calc(34px * 0.7) !important;
  }
}

@media screen and (max-width: 719px) {
  .page-constructor .dies .prices .price-card.noImg[data-v-1444f1fb] h3[data-v-1444f1fb] {
    font-size: calc(24px * 0.7) !important;
  }
}

.page-constructor .dies .prices .price-card.noImg[data-v-1444f1fb] .price-card__price[data-v-1444f1fb] {
  font-size: calc(32px * 0.7) !important;
  margin-top: 30px !important;
}

/* Бюджет под ценой — <p><i>…</i></p>; зазор от цены */
.page-constructor .dies .prices .price-card__details[data-v-1444f1fb] > p[data-v-1444f1fb],
.page-constructor .dies .prices .price-card__details > p[data-v-1444f1fb] {
  margin-top: 10px !important;
}

/* «Подходит для…» и строка бюджета в разметке в <i> — без курсива */
.page-constructor .dies .prices .price-card.noImg[data-v-1444f1fb] i {
  font-style: normal !important;
}

/*
 * «Пакеты»: ≥1025px — три колонки без сжатия карточек (flex 1 1 0);
 * ≤1024px — горизонтальный слайдер (iPad landscape 1024 остаётся в режиме листания).
 */
@media screen and (min-width: 1025px) {
  /* Десктоп: таблица сравнения вместо карточек — скрыть слайдер (градиентные title-rule не должны накладываться на таблицу). */
  .page-constructor .dies .prices:has(.kontekst-packages-compare) .prices__cards--packages.prices__cards.row[data-v-1505791e],
  .page-constructor .dies .prices:has(.kontekst-packages-compare) .prices__cards--packages.prices__cards.row {
    display: none !important;
  }

  /* Nuxt .row: width calc(100% + 40px) и margin −20px — сдвиг влево относительно центрированного .page__container. */
  .page-constructor .dies .prices .prices__cards--packages.prices__cards.row[data-v-1505791e],
  .page-constructor .dies .prices .prices__cards--packages.prices__cards.row {
    display: block;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .page-constructor .dies .prices .prices__packages-slider.swiper-container[data-native-row="1"] {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
    overflow: visible !important;
  }

  .page-constructor .dies .prices .prices__packages-slider {
    width: 100%;
    max-width: 100%;
    margin-left: 0;
    margin-right: 0;
  }

  .page-constructor .dies .prices .prices__packages-track[data-native-row="1"] {
    width: 100%;
    max-width: 100%;
    margin-left: 0;
    margin-right: 0;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    /* На десктопе все три карточки в кадре — без гаттера под стрелки (78px давал пустое поле справа). */
    padding-right: 0 !important;
    gap: 30px;
    box-sizing: border-box;
  }

  .page-constructor .dies .prices .prices__packages-slide.swiper-slide {
    flex: 1 1 0 !important;
    min-width: 0;
    width: auto;
    max-width: none !important;
    margin-right: 0 !important;
  }

  .page-constructor .dies .prices .prices__packages-slide.swiper-slide:last-child {
    margin-right: 0 !important;
  }
}

@media screen and (max-width: 1024px) {
  /* Nuxt .row: width calc(100% + 40px) и отрицательные margin — без сброса хост слайдера шире .prices. */
  .page-constructor .dies .prices .prices__cards--packages.prices__cards.row[data-v-1505791e],
  .page-constructor .dies .prices .prices__cards--packages.prices__cards.row {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    /* Как .services-section: не клипать full-bleed слайдера. */
    overflow: visible !important;
    box-sizing: border-box;
  }

  .page-constructor .dies.modern .prices[data-v-1505791e],
  .page-constructor .dies.modern section.prices,
  .page-constructor > .page-constructor__section:has(> .dies.modern .prices) > .dies.modern {
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box;
    overflow-x: visible !important;
  }

  /*
   * Геометрия ряда как у .services-unified .services__context-slider (native-row-scroll):
   * первая карточка по линии заголовка, справа — «хвост» следующей плитки.
   */
  .page-constructor .dies .prices .prices__packages-slider.swiper-container[data-native-row="1"] {
    width: calc(100% + 55px) !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: -55px !important;
    box-sizing: border-box;
  }

  /* Nuxt .row .col padding на обёртке — лишний inset слева у первой плашки. */
  .page-constructor .dies .prices .prices__packages-track[data-native-row="1"] .price-card__wrapper[data-v-1444f1fb] {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .page-constructor .dies .prices .prices__packages-slider.swiper-container,
  .page-constructor .dies .prices .prices__packages-slider.swiper-container[data-native-row="1"] {
    touch-action: pan-x pan-y;
  }

  .page-constructor .dies .prices .prices__packages-slider.swiper-container[data-native-row="1"] {
    overflow: hidden !important;
    padding-top: 0 !important;
    padding-bottom: 12px !important;
    margin-bottom: -12px !important;
  }

  /* Свайп на треке: auto (не scroll), полосу режет overflow:hidden на хосте — как у услуг. */
  .page-constructor .dies .prices .prices__packages-track.swiper-wrapper,
  .page-constructor .dies .prices .prices__packages-track[data-native-row="1"] {
    box-sizing: border-box;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    touch-action: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none !important;
    -ms-overflow-style: none !important;
    scroll-padding-inline-end: var(--page-inline-end, var(--page-gutter-x, 55px));
    padding-top: 20px !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
    /* Концевой гаттер — .native-row-end-gutter в initRow (не margin последнего слайда). */
  }

  .page-constructor .dies .prices .prices__packages-track[data-native-row="1"]::-webkit-scrollbar {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    background: transparent !important;
  }

  .page-constructor .dies .prices .prices__packages-track[data-native-row="1"] .prices__packages-slide:last-child,
  .page-constructor .dies .prices .prices__packages-track[data-native-row="1"] > .swiper-slide:last-child {
    margin-right: 0 !important;
  }

  .page-constructor .dies .prices .prices__packages-track[data-native-row="1"] {
    gap: 30px;
  }

  .page-constructor .dies .prices .prices__packages-track[data-native-row="1"] > .swiper-slide,
  .page-constructor .dies .prices .prices__packages-track[data-native-row="1"] > .prices__packages-slide {
    margin-right: 0 !important;
  }

  .page-constructor .dies .prices .prices__packages-slide.swiper-slide {
    flex: 0 0 auto !important;
    box-sizing: border-box;
    width: 309px !important;
    max-width: 309px !important;
  }
}

@media screen and (max-width: 768px) {
  .page-constructor .dies .prices .prices__packages-slider.swiper-container[data-native-row="1"] {
    width: calc(100% + 36px) !important;
    margin-right: -36px !important;
  }

  .page-constructor .dies .prices .prices__packages-slide.swiper-slide {
    width: 270px !important;
    max-width: 270px !important;
  }
}

@media screen and (max-width: 450px) {
  .page-constructor .dies .prices .prices__packages-slider.swiper-container[data-native-row="1"] {
    width: calc(100% + 36px) !important;
    margin-right: -36px !important;
  }

  .page-constructor .dies .prices .prices__packages-slide.swiper-slide {
    width: 270px !important;
    max-width: 270px !important;
  }
}

/*
 * «Пакеты» ≤719px: первая плитка по левой сетке (--page-inline-start), ширина как у «Синергии»
 * (viewport − гаттер − 84px peek). Убираем auto-margin у .price-card внутри слайда. Планшет ≥720px — без изменений.
 */
@media screen and (max-width: 719px) {
  .page-constructor .dies .prices .prices__packages-slider.swiper-container[data-native-row="1"] {
    width: calc(100% + var(--page-inline-end, var(--page-gutter-x, 36px))) !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: calc(-1 * var(--page-inline-end, var(--page-gutter-x, 36px))) !important;
    box-sizing: border-box;
  }

  .page-constructor .dies .prices .prices__packages-track[data-native-row="1"] {
    padding-left: var(--page-inline-start, var(--page-gutter-x, 36px)) !important;
    scroll-padding-inline-start: var(--page-inline-start, var(--page-gutter-x, 36px)) !important;
    padding-top: 0 !important;
    margin-top: 0 !important;
  }

  .page-constructor .dies .prices .prices__packages-slide.swiper-slide {
    flex: 0 0 auto !important;
    width: calc(100vw - var(--page-inline-start, var(--page-gutter-x, 36px)) - 84px) !important;
    max-width: calc(100vw - var(--page-inline-start, var(--page-gutter-x, 36px)) - 84px) !important;
    box-sizing: border-box;
  }

  .page-constructor .dies .prices .prices__packages-slide .price-card__wrapper[data-v-1444f1fb],
  .page-constructor .dies .prices .prices__packages-slide .price-card__wrapper {
    width: 100% !important;
    max-width: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin: 0 !important;
    box-sizing: border-box;
  }

  .page-constructor .dies .prices .prices__packages-slide .price-card.noImg[data-v-1444f1fb],
  .page-constructor .dies .prices .prices__packages-slide .price-card.noImg {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
  }
}

/*
 * «Этапы работы» на телефоне: без горизонтального слайдера — блоки из tablet-сетки
 * подряд в одну колонку (как на iPad, без второй колонки).
 */
@media screen and (max-width: 720px) {
  body .modern.content-block .content-block__slider {
    display: none !important;
  }

  body .modern.content-block .content-block__grid.content-block__grid--tablet.blocks {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box;
    column-gap: 0 !important;
    /* Между двумя .content-block__grid-wrapper (по 3 block-item): без gap схлопывались 3-й и 4-й блоки. */
    row-gap: 57px !important;
  }

  body .modern.content-block .content-block__grid--tablet .content-block__grid-wrapper,
  body .modern.content-block .content-block__grid--tablet > .col-4 {
    display: flex !important;
    flex-direction: column !important;
    flex: 0 0 auto !important;
    width: 100% !important;
    max-width: 100% !important;
    flex-basis: auto !important;
    padding: 0 !important;
    margin: 0 !important;
    row-gap: 57px;
  }

  body .modern.content-block .content-block__grid--tablet .content-block__grid-wrapper + .content-block__grid-wrapper,
  body .modern.content-block .content-block__grid--tablet > .col-4 + .col-4 {
    /* Дублирует row-gap сетки: margin: 0 !important на wrapper обнулял прежний margin-top. */
    margin-top: 0 !important;
  }

  body .modern.content-block .content-block__grid--tablet .block-item {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 auto !important;
    margin-bottom: 0 !important;
  }
}

/*
 * Этапы / форматы (content-block): полоса текста уже на ~15 % за счёт поля справа
 * (слева — по линии контента, как у заголовка).
 */
@media screen and (min-width: 721px) {
  /* Как на /targeting: не ограничиваем ширину правого описания в header content-block. */
  body .page-constructor .numbered-header__subtitle-column .content-block__desc {
    max-width: none !important;
    width: 100% !important;
  }

  body .modern.content-block .block-item {
    padding-left: 0;
    /* Как на /targeting: описание карточек не сужаем дополнительным правым полем. */
    padding-right: 0;
    box-sizing: border-box;
  }

  body .modern .columns-with-progress__column > div:first-child {
    padding-left: 0;
    padding-right: 15%;
    box-sizing: border-box;
  }
}

/* «Команда»: иллюстрация и текст по центру карточки на всех ширинах (слайдер и сетка 3×2). */
body .page-constructor .team-block .team__member-card[data-v-c03ce8dc],
body .page-constructor .team-block .team__member-card {
  text-align: center !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  box-sizing: border-box;
}

.page-constructor .team-block .team__member-card figure[data-v-c03ce8dc],
.page-constructor .team-block .team__member-card figure {
  display: flex !important;
  align-items: flex-end !important;
  justify-content: center !important;
  width: 170px !important;
  height: 170px !important;
  max-width: 100% !important;
  margin: 0 auto 40px !important;
}

.page-constructor .team-block .team__member-card figure img[data-v-c03ce8dc],
.page-constructor .team-block .team__member-card figure img {
  width: 100% !important;
  height: auto !important;
  max-width: 100% !important;
}

.page-constructor .team-block .team__member-card h4[data-v-c03ce8dc],
.page-constructor .team-block .team__member-card h4,
.page-constructor .team-block .team__member-card p[data-v-c03ce8dc],
.page-constructor .team-block .team__member-card p {
  text-align: center !important;
  width: 100% !important;
  max-width: 100% !important;
}

@media screen and (max-width: 720px) {
  body .modern.content-block .block-item {
    padding-right: 0;
  }

  body .modern .columns-with-progress__column > div:first-child {
    padding-right: 0;
  }

  body .team-block .team__member-card {
    padding-right: 0;
  }
}

.page-constructor .team-block .team-carousel-block {
  display: none !important;
}

/*
 * «Команда»: ≥1025 — сетка 3×2 как на serenity.agency/kontekstnaya_reklama (Nuxt .row / .col-4),
 * колонки на 15% уже продовых .col-4 (28.333% + column-gap 7.5% = полная ширина ряда); ≤1024 — свайп ниже.
 */
@media screen and (min-width: 1025px) {
  .page-constructor .team-block {
    overflow: visible !important;
  }

  /* Не перебивать Nuxt .team-block .row: width calc(100% + 40px), margin 0 −20px, row-gap 60px. */
  .page-constructor .team-block .team__cards.team__cards--slider.row {
    overflow: visible !important;
  }

  .page-constructor .team-block .team__members-slider.swiper-container[data-native-row="1"] {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    overflow: visible !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
  }

  .page-constructor .team-block .team__members-track[data-native-row="1"] {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: flex-start !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    row-gap: 60px;
    /* 3×28.333% + 2×7.5% = 100% ряда (как прод 3×33.333%, но колонки уже на 15%). */
    column-gap: 7.5%;
  }

  /* Прод .col-4: 33.333%; статика: 33.333% × 0.85 = 28.333%, без flex-shrink (иначе «сжатие» ряда). */
  .page-constructor .team-block .team__member-slide.swiper-slide {
    flex: 0 0 28.333% !important;
    max-width: 28.333% !important;
    width: 28.333% !important;
    height: auto !important;
    align-self: flex-start !important;
    margin-right: 0 !important;
    box-sizing: border-box;
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

}

@media screen and (max-width: 1024px) {
  /*
   * Nuxt ≤1366px: .team-block .page__container { width: calc(100% - 154px) } — узкая колонка по центру,
   * из‑за неё по бокам «поля», хотя слайдер уже с отрицательным margin. На планшете — полная полоса, как у «Пакеты».
   */
  .page-constructor > .page-constructor__section:has(.team-block),
  .page-constructor .team-block,
  .page-constructor .team-block .page__container,
  .page-constructor .team-block .team,
  .page-constructor .team-block .team__cards.team__cards--slider {
    overflow-x: visible !important;
  }

  .page-constructor .team-block {
    overflow-y: visible !important;
  }

  .page-constructor .team-block .page__container {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
    padding-left: var(--page-inline-start, var(--page-gutter-x)) !important;
    padding-right: var(--page-inline-end, var(--page-gutter-x)) !important;
  }

  .page-constructor .team-block .team__cards.team__cards--slider {
    width: calc(100% + var(--page-inline-start, var(--page-gutter-x)) + var(--page-inline-end, var(--page-gutter-x))) !important;
    max-width: none !important;
    margin-left: calc(-1 * var(--page-inline-start, var(--page-gutter-x))) !important;
    margin-right: calc(-1 * var(--page-inline-end, var(--page-gutter-x))) !important;
    overflow: visible !important;
    box-sizing: border-box;
  }

  /* Full-bleed: хост на всю ширину .team__cards (компенсация padding контейнера). */
  .page-constructor .team-block .team__members-slider.swiper-container[data-native-row="1"],
  .page-constructor .team-block .team__members-slider.swiper-container {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box;
    overflow: hidden !important;
    padding-top: 0 !important;
    padding-bottom: 8px !important;
    margin-bottom: -8px !important;
  }

  .page-constructor .team-block .team__members-track[data-native-row="1"] {
    box-sizing: border-box;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    touch-action: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none !important;
    -ms-overflow-style: none !important;
    scroll-padding-inline-start: var(--page-inline-start, var(--page-gutter-x));
    scroll-padding-inline-end: var(--page-inline-end, var(--page-gutter-x));
    padding-left: var(--page-inline-start, var(--page-gutter-x)) !important;
    padding-right: var(--page-inline-end, var(--page-gutter-x)) !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }

  .page-constructor .team-block .team__members-track[data-native-row="1"]::-webkit-scrollbar {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
  }

  /* Карточки на 10% уже — больше зазор между колонками в горизонтальном слайдере (только ≤1024). */
  .page-constructor .team-block .team__member-slide.swiper-slide {
    flex: 0 0 auto !important;
    width: min(
      270px,
      calc(
        (100vw - var(--page-inline-start, var(--page-gutter-x)) - var(--page-inline-end, var(--page-gutter-x)) - 30px) *
          0.9
      )
    );
    max-width: none !important;
    box-sizing: border-box;
  }

  .page-constructor .team-block .team__member-card {
    padding-right: 0 !important;
  }
}

@media screen and (max-width: 768px) {
  .page-constructor .team-block .team__cards.team__cards--slider {
    width: calc(100% + var(--page-inline-start, var(--page-gutter-x)) + var(--page-inline-end, var(--page-gutter-x))) !important;
    margin-left: calc(-1 * var(--page-inline-start, var(--page-gutter-x))) !important;
    margin-right: calc(-1 * var(--page-inline-end, var(--page-gutter-x))) !important;
  }

  .page-constructor .team-block .team__member-slide.swiper-slide {
    width: min(
      252px,
      calc(
        (100vw - var(--page-inline-start, var(--page-gutter-x)) - var(--page-inline-end, var(--page-gutter-x)) - 30px) *
          0.9
      )
    );
  }
}

/* Планшет: зазор шапки → слайдер — тот же --kontekst-heading-gap (на ≤719px — правила ниже). */
@media screen and (min-width: 720px) and (max-width: 1024px) {
  .page-constructor .team-block .team__head {
    margin-bottom: var(--kontekst-heading-gap, 80px) !important;
  }

  .page-constructor .team-block .page__container .team__head p[data-v-c03ce8dc],
  .page-constructor .team-block .page__container .team__head p {
    margin-bottom: 0 !important;
  }
}

/*
 * «Пакеты» → инлайн-форма: дополнительный зазор +30px.
 */
.page-constructor .page-constructor__section.sa-service-lead-section {
  margin-top: var(--home-between, 112px);
}

/*
 * Хвост страницы (форма → «Команда» → … → «Синергия»): ритм как /targeting.
 * Между секциями — --home-between; заголовок → контент — --kontekst-heading-gap (80 / 45).
 */
:root {
  --kontekst-heading-gap: 80px;
}

@media screen and (max-width: 768px) {
  :root {
    --kontekst-heading-gap: 45px;
  }
}

/* Форма → «Команда»: у контейнера был padding-bottom 72px — суммировался с padding-top .team-block. */
.page-constructor .sa-service-lead-section__container {
  padding-bottom: 0 !important;
}

/* «Команда»: зазор шапки (h2 + абзац) → карточки. */
.page-constructor .team-block .team__head {
  margin-bottom: var(--kontekst-heading-gap, 80px) !important;
}

/*
 * «Блог»: межсекционный шаг как у «Клиенты» (padding-top у секции, не margin у шапки).
 * Заголовок → карточки — --kontekst-heading-gap.
 */
.page-constructor .kontekst-blog-section {
  padding-top: var(--home-between, 112px) !important;
}

.page-constructor .kontekst-blog-section .blog-block-mainstr.isNewContent .services__text.home-ledge.home-between,
.page-constructor .kontekst-blog-section .blog-block-mainstr.isNewContent .services__text.home-ledge.home-between[data-v-56f85d51] {
  margin-top: 0 !important;
}

.page-constructor .kontekst-blog-section .services__text.home-ledge,
.page-constructor .kontekst-blog-section .services__text.home-ledge[data-v-56f85d51] {
  padding-bottom: var(--kontekst-heading-gap, 80px) !important;
}

.page-constructor .kontekst-blog-section .blog-block__swiper-container,
.page-constructor .kontekst-blog-section .blog-block__swiper-container[data-v-25bf775d] {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}

/* «Наши клиенты»: margin-bottom .clients-new.home-ledge вместо --home-ledge. */
.page-constructor .kontekst-clients-section .clients-new.home-ledge,
.page-constructor .kontekst-clients-section .clients-new.home-ledge[data-v-08586076] {
  margin-bottom: var(--kontekst-heading-gap, 80px) !important;
}

.page-constructor .kontekst-faq-root .questions .questions__title.kontekstnaya-page__section-heading,
.page-constructor .targeting-faq-root .questions .questions__title.kontekstnaya-page__section-heading,
.targeting-faq-root .questions .questions__title.kontekstnaya-page__section-heading {
  margin-bottom: var(--kontekst-heading-gap, 80px) !important;
}

/* FAQ услуг: ответы всегда в DOM/на экране; стрелки скрыты (дубль service-faq.css — stack грузится синхронно). */
.kontekst-faq-root--always-visible .spoiler,
.targeting-faq-root--always-visible .spoiler {
  cursor: default;
}

.kontekst-faq-root--always-visible .spoiler__head,
.targeting-faq-root--always-visible .spoiler__head {
  cursor: default;
  pointer-events: none;
  display: block;
}

.kontekst-faq-root--always-visible .spoiler__ico,
.targeting-faq-root--always-visible .spoiler__ico {
  display: none !important;
}

.kontekst-faq-root--always-visible .spoiler__content,
.targeting-faq-root--always-visible .spoiler__content {
  height: auto !important;
  overflow: visible !important;
  transition: none !important;
}

/* «Блог» / «Наши клиенты»: h2 — 46px (parity-sync на главной даёт 52px с 1440px). */
.page-constructor .kontekst-blog-section .services__title,
.page-constructor .kontekst-blog-section .services__title[data-v-56f85d51],
.page-constructor .kontekst-clients-section .home-clients-awards__title,
.page-constructor .kontekst-clients-section .home-clients-awards__title[data-v-08586076] {
  font-size: 46px !important;
  line-height: 126% !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  color: #f6f6f6;
}

@media screen and (max-width: 768px) {
  .page-constructor .kontekst-blog-section .services__title,
  .page-constructor .kontekst-blog-section .services__title[data-v-56f85d51],
  .page-constructor .kontekst-clients-section .home-clients-awards__title,
  .page-constructor .kontekst-clients-section .home-clients-awards__title[data-v-08586076] {
    font-size: 28px !important;
    line-height: 126% !important;
  }
}

@media screen and (max-width: 550px) {
  .page-constructor .kontekst-blog-section .services__title,
  .page-constructor .kontekst-blog-section .services__title[data-v-56f85d51],
  .page-constructor .kontekst-clients-section .home-clients-awards__title,
  .page-constructor .kontekst-clients-section .home-clients-awards__title[data-v-08586076] {
    font-size: 26px !important;
  }
}

/* Слайдер «Клиенты»: без glow-pb — иначе +40px к --home-between до «Кейсы». */
.page-constructor .kontekst-clients-section .swiper-container-clients-new,
.page-constructor .kontekst-clients-section .swiper-container-clients-new[data-v-08586076] {
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}

/* «Кейсы»: заголовок → сетка — как /targeting. */
.more-case-wr.more-case-wr__main .more-cases h3.kontekstnaya-page__section-heading,
.more-case-wr.more-case-wr__main h3.kontekstnaya-page__section-heading {
  margin: 0 0 var(--kontekst-heading-gap, 80px) !important;
  padding: 0 !important;
  color: #fff !important;
  font-style: normal !important;
  font-weight: 400 !important;
  font-size: 46px !important;
  line-height: 126% !important;
  letter-spacing: 0 !important;
  box-sizing: border-box !important;
}

@media screen and (max-width: 768px) {
  .more-case-wr.more-case-wr__main .more-cases h3.kontekstnaya-page__section-heading,
  .more-case-wr.more-case-wr__main h3.kontekstnaya-page__section-heading {
    font-size: 28px !important;
    line-height: 126% !important;
    margin-bottom: var(--kontekst-heading-gap, 45px) !important;
  }
}

@media screen and (max-width: 550px) {
  .more-case-wr.more-case-wr__main .more-cases h3.kontekstnaya-page__section-heading,
  .more-case-wr.more-case-wr__main h3.kontekstnaya-page__section-heading {
    font-size: 26px !important;
    margin-bottom: 45px !important;
  }
}

/* Ширина тёмной карточки формы = у контейнера пакетов (.dies > .page__container), без max-width:1280 и боковых 24px. */
@media screen and (min-width: 1024px) {
  .page-constructor .page-constructor__section.sa-service-lead-section .sa-service-lead-section__container {
    max-width: 1366px !important;
    width: calc(100% - 154px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
  }

  .page-constructor
    .page-constructor__section.sa-service-lead-section
    #sa-inline-lead-root.sa-service-lead-root
    .order-popup__inner[data-v-2ee28934] {
    max-width: none !important;
    width: 100% !important;
  }
}

@media screen and (max-width: 1023px) and (min-width: 720px) {
  .page-constructor .page-constructor__section.sa-service-lead-section .sa-service-lead-section__container {
    max-width: 1366px !important;
    width: calc(100% - 110px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
  }

  /* Горизонтальный inset — в service-inline-lead-form (inner 87%, как у модалки). */
}

/*
 * Адаптив: мобильный вьюпорт (dvh/svh), герой, команда, кейсы.
 * Правки только в этом файле — snapshot.bundle не трогаем.
 */
/*
 * Кейсы ≤1024px: точки — внутри .cases-block__slider (как на планшете), не у низа section.
 * Неактивные точки: контраст на тёмном фото (бандл #777 / чёрный на iOS — не читаются).
 */
@media screen and (max-width: 1024px) {
  .cases-block .cases-block__slider {
    position: relative !important;
  }

  .cases-block .cases-block__slider .swiper-pagination[data-v-bd2e570a],
  .cases-block .cases-block__slider .swiper-pagination {
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    bottom: 28px !important;
    z-index: 6 !important;
    margin: 0 !important;
    pointer-events: auto;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 10px;
    box-sizing: border-box;
  }

  .cases-block .cases-block__slider .swiper-pagination-bullet[data-v-bd2e570a],
  .cases-block .cases-block__slider .swiper-pagination-bullet {
    flex: 0 0 auto;
    width: 7px !important;
    height: 7px !important;
    margin: 0 !important;
    opacity: 1 !important;
    background: rgba(255, 255, 255, 0.55) !important;
    box-shadow:
      0 0 0 1px rgba(0, 0, 0, 0.4),
      0 1px 3px rgba(0, 0, 0, 0.35);
  }

  .cases-block .cases-block__slider .swiper-pagination-bullet-active[data-v-bd2e570a],
  .cases-block .cases-block__slider .swiper-pagination-bullet-active {
    width: 8px !important;
    height: 8px !important;
    background: #fff !important;
    box-shadow:
      0 0 0 1px rgba(0, 0, 0, 0.25),
      0 0 10px rgba(255, 255, 255, 0.45);
  }
}

@media screen and (max-width: 720px) {
  .page-constructor__section:has(> .cases-block) {
    position: relative;
    z-index: 2;
  }

  .cases-block[data-v-bd2e570a] {
    padding-bottom: 12px !important;
  }

  .cases-block .cases-block__swiper-slide[data-v-bd2e570a] {
    min-height: auto !important;
    height: auto !important;
    overflow: visible !important;
  }

  /*
   * Высота слайда = контент (текст/кнопка не обрезаются). Swiper autoHeight на мобилке
   * подстраивает обёртку под активный слайд; фиксированный 100vh давал пустоту снизу.
   */
  .cases-block .cases-block__slider .cases-block__slider-swiper-container.swiper-container,
  .cases-block .cases-block__slider .cases-block__slider-swiper-container .swiper-wrapper {
    height: auto !important;
    min-height: auto !important;
  }

  /* Полоса под слайдом: точки не на фото и не под следующей секцией. */
  .cases-block .cases-block__slider:has(.swiper-pagination) {
    padding-bottom: 56px !important;
    box-sizing: border-box;
  }

  .cases-block .cases-block__slider .swiper-pagination[data-v-bd2e570a],
  .cases-block .cases-block__slider .swiper-pagination {
    bottom: 12px !important;
    left: 50% !important;
    right: auto !important;
    width: auto !important;
    max-width: calc(100% - 32px);
    transform: translateX(-50%);
    padding: 10px 16px !important;
    border-radius: 999px;
    background: rgba(0, 0, 0, 0.45);
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
  }
}

@media screen and (max-width: 719px) {
  /*
   * Герой мобилка: верх как до правки (flex-start + --service-hero-mobile-top), зазор h1→описание 40px
   * как /targeting/ (--service-hero-mobile-title-gap). Без justify-content:center — иначе едет верх.
   */
  .page-constructor__section .c-title-block .jumbotron {
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    align-items: flex-start !important;
    gap: var(--service-hero-mobile-title-gap, 40px) !important;
    padding-top: var(--service-hero-mobile-top, 222px) !important;
    min-height: auto !important;
    padding-left: max(var(--page-inline-start, var(--page-gutter-x, 36px)), 16px) !important;
    padding-right: max(var(--page-inline-end, var(--page-gutter-x, 36px)), 16px) !important;
  }

  .page-constructor__section .c-title-block .jumbotron-img-aurora__title,
  .page-constructor__section .c-title-block .jumbotron-img-aurora__title-small {
    margin-bottom: 0 !important;
  }

  .page-constructor__section .c-title-block .jumbotron-img-aurora__subtitle {
    margin: 0 !important;
  }
}

/*
 * Мобильный зазор «заголовок секции → контент» (кейсы, FAQ, награды, синергия, команда).
 * На ≤550px в бандле/FAQ было 20px — выравниваем с ритмом 768px (45px). Планшет ≥720px не трогаем.
 */
@media screen and (max-width: 719px) {
  .more-case-wr.more-case-wr__main .more-case-wr__slider-heading {
    margin-bottom: 45px !important;
  }

  .page-constructor .kontekst-clients-section .clients-new.home-ledge,
  .page-constructor .kontekst-clients-section .clients-new.home-ledge[data-v-08586076] {
    margin-bottom: 45px !important;
  }

  .kontekst-faq-root .questions .questions__title.kontekstnaya-page__section-heading,
  .targeting-faq-root .questions .questions__title.kontekstnaya-page__section-heading,
  .korporativnyj-faq-root .questions .questions__title.kontekstnaya-page__section-heading,
  .uks-faq-root .questions .questions__title.kontekstnaya-page__section-heading {
    margin-bottom: 45px !important;
  }

  .page-constructor .kontekst-synergy-root .services__text.home-ledge,
  .page-constructor .kontekst-synergy-root .services__text.home-ledge[data-v-56f85d51],
  .kontekst-synergy-root .services__text.home-ledge,
  .kontekst-synergy-root .services__text.home-ledge[data-v-56f85d51] {
    padding-bottom: 45px !important;
  }

  .page-constructor .kontekst-synergy-root .services__context-slider.swiper-container[data-native-row="1"],
  .page-constructor .kontekst-synergy-root .services__context-slider.swiper-container,
  .page-constructor .kontekst-synergy-root .services__context-slider.swiper-container[data-v-56f85d51],
  .kontekst-synergy-root .services__context-slider.swiper-container[data-native-row="1"],
  .kontekst-synergy-root .services__context-slider.swiper-container,
  .kontekst-synergy-root .services__context-slider.swiper-container[data-v-56f85d51] {
    padding-top: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }

  .page-constructor .kontekst-synergy-root .services__context-wrapper[data-native-row="1"],
  .page-constructor .kontekst-synergy-root .services__context-wrapper[data-v-56f85d51],
  .kontekst-synergy-root .services__context-wrapper[data-v-56f85d51] {
    padding-top: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }

  /*
   * «Команда»: один левый край у h2 и абзаца; зазор вводного текста → слайдер = тот же 45px.
   */
  .page-constructor .team-block .page__container .team__head {
    align-items: stretch !important;
    width: 100%;
    box-sizing: border-box;
  }

  .page-constructor .team-block .page__container .team__head > h2[data-v-c03ce8dc],
  .page-constructor .team-block .page__container .team__head > h2 {
    margin-left: 0 !important;
    margin-right: 0 !important;
    margin-bottom: 24px !important;
    width: 100% !important;
    max-width: none !important;
    text-align: left !important;
    box-sizing: border-box;
  }

  .page-constructor .team-block .page__container .team__head p[data-v-c03ce8dc],
  .page-constructor .team-block .page__container .team__head p {
    margin-left: 0 !important;
    margin-right: 0 !important;
    margin-bottom: 0 !important;
    width: 100% !important;
    max-width: none !important;
    text-align: left !important;
    box-sizing: border-box;
  }

  .page-constructor .team-block .team__head {
    margin-bottom: 45px !important;
  }
}

@media screen and (max-width: 900px) and (min-width: 721px) {
  .cases-block .cases-block__swiper-slide[data-v-bd2e570a] {
    padding-left: max(var(--page-inline-start, var(--page-gutter-x, 78px)), 48px) !important;
    padding-right: max(var(--page-inline-end, var(--page-gutter-x, 78px)), 48px) !important;
  }
}

.page-constructor .cases-block__slider .cases-block__slider-swiper-container.swiper-container {
  max-width: 100%;
  box-sizing: border-box;
}

.page-constructor .cases-block__slider .cases-block__slider-swiper-container .swiper-slide {
  max-width: 100%;
  box-sizing: border-box;
}

/*
 * «Награды» на услугах: home-awards.css грузится async после stack и задаёт padding: 72px … shorthand.
 * body:not(.sa-home-page) — только страницы услуг; главная (.sa-home-page) не трогаем.
 */
body:not(.sa-home-page) .home-awards-block .awards {
  padding-top: var(--home-between, 112px) !important;
  padding-bottom: 0 !important;
  padding-left: var(--page-inline-start, var(--page-gutter-x, 78px)) !important;
  padding-right: var(--page-inline-end, var(--page-gutter-x, 78px)) !important;
}
