/**
 * OKA RU — полная мобильная версия
 * Подключается ПОСЛЕ main.css.
 * Шапка: phone ≤767 (компактная RU), tablet 768–1280 (как EN), desktop ≥1281.
 */

/* Desktop: скрыть mobile-only разметку */
@media (min-width: 1025px) {
  .mobile-bottom-cta,
  .page-header__ai,
  .footer__mobile-links,
  .services-compare__pagination,
  .services-compare__controls,
  .cases-promo__pagination,
  .cases-promo__slider-toolbar,
  .services-list__popover-close {
    display: none !important;
  }

  .services-compare__slide,
  .cases-promo__slide {
    display: contents;
  }
}

@media (min-width: 1281px) {
  .main-nav__item-ai,
  .main-nav__item-lang-wrapper {
    display: none !important;
  }
}

/* =========================================================
   LANGUAGE ≤1280 — слот/порядок; единый блок уже в main.css
   ========================================================= */
@media (max-width: 1280px) {
  .page-header__language-toggle::after,
  .page-header__language-dropdown::before {
    display: none !important;
    content: none !important;
  }

  .page-header__language.open .page-header__language-panel {
    top: -0.375rem !important;
    left: -0.375rem !important;
    right: auto !important;
    width: calc(100% + 0.75rem) !important;
  }

  .page-header__language-toggle,
  .page-header__language-current {
    color: var(--color-text) !important;
  }

  .page-header__language.open .page-header__language-current,
  .page-header__language-toggle.active .page-header__language-current {
    color: var(--color-white) !important;
  }

  .page-header__language-link,
  .page-header__language-link:link,
  .page-header__language-link:visited {
    color: var(--color-text) !important;
    text-decoration: none !important;
  }
}

/* =========================================================
   TABLET 768–1280 — масштаб сайта + шапка как на EN
   ========================================================= */
@media (min-width: 768px) and (max-width: 1280px) {
  /*
   * Заметное уменьшение всего UI на планшете.
   * clamp(…15.5px) почти = 16px на iPad — глазом не видно.
   * zoom масштабирует и rem, и px.
   */
  html.page {
    font-size: 16px !important;
    zoom: 0.82;
  }

  .page {
    font-size: 16px !important;
  }

  .page__body {
    font-size: 1.125rem !important;
  }

  .wrapper {
    max-width: 76.125rem !important;
    padding-left: 1.5rem !important;
    padding-right: 1.5rem !important;
  }

  .page-header__head .wrapper {
    max-width: 76.125rem !important;
    padding-left: 1.5rem !important;
    padding-right: 1.5rem !important;
  }

  .page-header {
    overflow: visible !important;
    z-index: 100 !important;
  }

  .page-header::before {
    height: var(--oka-header-h, 5.125rem) !important;
  }

  .page-header__head {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    background-color: var(--color-white) !important;
    border-bottom: none !important;
    overflow: visible !important;
    z-index: 100 !important;
  }

  .page-header__wrapper {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    position: relative !important;
    min-height: auto !important;
    height: auto !important;
    padding: 1rem 0 !important;
    gap: 1rem !important;
    border-radius: 0.625rem !important;
    background-color: var(--color-white) !important;
    overflow: visible !important;
  }

  .page-header__link-logo {
    order: 0 !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
    flex-shrink: 0 !important;
  }

  .page-header__logo {
    width: 6.25rem !important;
    height: auto !important;
  }

  /* Бургер — точная копия mobile (≤767), order 5 под планшетную шапку */
  .page-header__burger {
    order: 5 !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 2.75rem !important;
    height: 2.75rem !important;
    margin: 0 !important;
    flex-shrink: 0;
  }

  .page-header__burger-item {
    width: 1.35rem !important;
    left: 50% !important;
    margin-left: -0.675rem !important;
    height: 0.125rem !important;
  }

  .page-header__burger-item:first-child {
    top: 0.95rem !important;
  }

  .page-header__burger-item:last-child {
    bottom: 0.95rem !important;
  }

  .page-header__burger.active .page-header__burger-item:first-child {
    top: 50% !important;
    bottom: auto !important;
    transform: translateY(-50%) rotate(45deg) !important;
  }

  .page-header__burger.active .page-header__burger-item:last-child {
    top: 50% !important;
    bottom: auto !important;
    transform: translateY(-50%) rotate(-45deg) !important;
  }

  /* Меню вплотную под шапкой — без зазора */
  .page-header__nav {
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    top: var(--oka-header-h, 5.125rem) !important;
    width: 100% !important;
    height: calc(100dvh - var(--oka-header-h, 5.125rem)) !important;
    padding: 1.5rem !important;
    margin: 0 !important;
    transform: none !important;
    background-color: var(--color-white) !important;
    overflow: auto !important;
    z-index: 50 !important;
    flex-grow: 0 !important;
    box-sizing: border-box !important;
  }

  .page-header__nav.open {
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }

  .page-header__menu-list,
  .main-nav__list {
    position: static !important;
    top: auto !important;
    right: auto !important;
    transform: none !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0 !important;
    text-align: left !important;
  }

  .main-nav__item {
    justify-content: flex-start !important;
    width: 100% !important;
  }

  .main-nav__item.mobile {
    display: flex !important;
  }

  .main-nav__item-lang-wrapper {
    display: none !important;
  }

  .main-nav__link {
    display: flex !important;
    justify-content: flex-start !important;
    align-items: center !important;
    width: 100% !important;
    min-height: 0 !important;
    padding: 1rem 0 !important;
    font-size: 1.375rem !important;
    line-height: 1.75rem !important;
    font-weight: 500 !important;
    white-space: nowrap !important;
    border-bottom: 1px solid #efefef !important;
    text-align: left !important;
  }

  .main-nav__decor-line {
    display: none !important;
  }

  .main-nav__item-ai {
    display: flex !important;
    justify-content: stretch !important;
    margin-top: 1.5rem !important;
    padding-top: 0.25rem !important;
  }

  .main-nav__item-ai .page-header__ai {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 3rem !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0.875rem 1.25rem !important;
    border: 1.5px solid var(--color-green) !important;
    border-radius: 0.5rem !important;
    background: transparent !important;
    color: var(--color-green) !important;
    font-family: inherit !important;
    font-size: 1.0625rem !important;
    line-height: 1.2 !important;
    font-weight: 500 !important;
    white-space: nowrap !important;
    text-align: center !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
  }

  .main-nav__item-ai .page-header__ai:hover,
  .main-nav__item-ai .page-header__ai:focus {
    background: var(--color-light-green, #e8f5e8) !important;
    color: var(--color-green) !important;
    box-shadow: none !important;
  }

  .main-nav__item-ai .page-header__ai:active {
    background: var(--color-light-green-2, #d4ebd4) !important;
    color: var(--color-green) !important;
    box-shadow: none !important;
  }

  .main-nav__item-ai .page-header__ai::before,
  .main-nav__item-ai .page-header__ai::after {
    display: none !important;
    content: none !important;
  }

  .main-nav__item-ai .page-header__ai span {
    font-size: inherit !important;
    line-height: inherit !important;
    font-weight: inherit !important;
    color: inherit !important;
  }

  /* Язык — фиксированный слот; единый блок = .language-panel при .open */
  .page-header__language {
    display: block !important;
    order: 2 !important;
    position: relative !important;
    width: 6.6875rem !important;
    min-width: 6.6875rem !important;
    max-width: 6.6875rem !important;
    height: 2.75rem !important;
    margin: 0 0 0 auto !important;
    flex-shrink: 0 !important;
    z-index: 200 !important;
    overflow: visible !important;
  }

  .page-header__language-toggle {
    width: 100% !important;
    height: 2.75rem !important;
    min-height: 2.75rem !important;
  }

  .page-header__search {
    order: 3 !important;
    width: auto !important;
    height: auto !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    position: static !important;
  }

  .page-header__open-search {
    position: static !important;
    transform: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 2rem !important;
    height: 2rem !important;
    flex-shrink: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .page-header__open-search .page-header__search-svg-open {
    width: 100% !important;
    height: 100% !important;
  }

  .page-header__consultation {
    display: inline-flex !important;
    order: 4 !important;
    margin-right: 0 !important;
    flex-shrink: 0 !important;
  }

  .page-header__search-wrapper {
    position: absolute !important;
    left: 50% !important;
    right: auto !important;
    top: auto !important;
    bottom: 1px !important;
    width: 100% !important;
    transform: translateX(-50%) translateY(100%) !important;
    padding: 1rem 0 !important;
    border: none !important;
    border-radius: 0 !important;
    border-bottom: none !important;
    background: transparent !important;
    z-index: 60 !important;
  }

  .page-header__search-wrapper::before {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    z-index: -1 !important;
    width: 100vw !important;
    height: 100% !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    background-color: var(--color-white) !important;
  }

  .page-header__search_opened .page-header__search-wrapper {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }

  .page-header__search-form {
    padding: 0.125rem 0.125rem 0.125rem 1.1875rem !important;
    border-radius: 6.25rem !important;
    border: 1px solid var(--color-grey) !important;
  }

  .page-header__close-search {
    display: none !important;
  }

  /* FAB AI на планшете не нужен — «Написать в чат» уже в бургер-меню */
  .ai-helper,
  .ai-helper__fab {
    display: none !important;
  }

  /* Форма заявки: больше воздуха между степпером и формой, форму не расширять */
  .request-form__wrapper {
    grid-template-columns: minmax(0, 18rem) minmax(0, 41.875rem) !important;
    justify-content: space-between !important;
    justify-items: stretch !important;
    gap: 4rem !important;
    max-width: 73.125rem !important;
  }

  .request-form__aside,
  .request-form__steps-container {
    width: 18rem !important;
    max-width: 18rem !important;
    flex-direction: column !important;
  }

  .request-form__steps {
    max-width: 100% !important;
    width: 100% !important;
  }

  .request-form__form-container,
  .request-form__form {
    width: 100% !important;
    max-width: 41.875rem !important;
    margin-left: auto !important;
  }
}

/* =========================================================
   PHONE HEADER ≤767 — компактная RU-шапка
   ========================================================= */
@media (max-width: 767px) {
  /* Phone: rem не схлопывается от vw */
  html.page,
  .page {
    font-size: 16px !important;
  }

  .wrapper {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }

  .page-header::before {
    height: var(--oka-header-h, 3.75rem) !important;
  }

  .page-header {
    overflow: visible !important;
    z-index: 100 !important;
  }

  .page-header__head {
    padding: 0 !important;
    background: #fff !important;
    border-bottom: 1px solid #ececec;
    overflow: visible !important;
    z-index: 100 !important;
  }

  .page-header__head.fixed {
    box-shadow: 0 2px 12px rgba(12, 37, 12, 0.08);
  }

  .page-header__wrapper {
    min-height: 3.75rem !important;
    height: 3.75rem !important;
    padding: 0 !important;
    gap: 0.25rem !important;
    border-radius: 0 !important;
    background: transparent !important;
    align-items: center !important;
    justify-content: flex-start !important;
    overflow: visible !important;
  }

  .page-header__link-logo {
    order: 1 !important;
    margin-right: 0 !important;
  }

  .page-header__logo {
    width: 5.25rem !important;
    height: auto !important;
  }

  .page-header__consultation {
    display: none !important;
  }

  /* Язык phone — компактный слот; единый блок = .language-panel */
  .page-header__language {
    display: block !important;
    order: 2 !important;
    position: relative !important;
    width: 4.75rem !important;
    min-width: 4.75rem !important;
    max-width: 4.75rem !important;
    height: 2.375rem !important;
    margin: 0 0.25rem 0 auto !important;
    flex-shrink: 0 !important;
    z-index: 200 !important;
    overflow: visible !important;
  }

  .page-header__language-toggle {
    width: 100% !important;
    height: 2.375rem !important;
    min-height: 2.375rem !important;
    padding: 0.25rem 0.25rem 0.25rem 1.875rem !important;
    gap: 0.125rem !important;
  }

  .page-header__language-toggle::before {
    width: 1.375rem !important;
    height: 1.375rem !important;
    left: 0.25rem !important;
  }

  .page-header__language-current {
    font-size: 0.8125rem !important;
  }

  .page-header__language-arrow {
    width: 1.125rem !important;
    height: 0.875rem !important;
  }

  .page-header__language-dropdown {
    gap: 0.25rem !important;
  }

  .page-header__language-link {
    height: 2.375rem !important;
    min-height: 2.375rem !important;
    padding-left: 1.875rem !important;
    padding-right: 0.25rem !important;
    font-size: 0.8125rem !important;
    color: var(--color-black) !important;
  }

  .page-header__language-link:link,
  .page-header__language-link:visited {
    color: var(--color-black) !important;
  }

  .page-header__language-link::before {
    width: 1.375rem !important;
    height: 1.375rem !important;
    left: 0.25rem !important;
  }

  .page-header__search {
    order: 3 !important;
    margin: 0 !important;
    width: 2.75rem !important;
    height: 2.75rem !important;
  }

  .page-header__open-search {
    position: static !important;
    transform: none !important;
    margin: 0 !important;
    width: 2.75rem !important;
    height: 2.75rem !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
  }

  .page-header__open-search .page-header__search-svg-open {
    width: 1.5rem !important;
    height: 1.5rem !important;
  }

  .page-header__burger {
    order: 4 !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 2.75rem !important;
    height: 2.75rem !important;
    margin: 0 !important;
    flex-shrink: 0;
  }

  .page-header__burger-item {
    width: 1.35rem !important;
    left: 50% !important;
    margin-left: -0.675rem !important;
    height: 0.125rem !important;
  }

  .page-header__burger-item:first-child {
    top: 0.95rem !important;
  }

  .page-header__burger-item:last-child {
    bottom: 0.95rem !important;
  }

  .page-header__burger.active .page-header__burger-item:first-child {
    top: 50% !important;
    bottom: auto !important;
    transform: translateY(-50%) rotate(45deg) !important;
  }

  .page-header__burger.active .page-header__burger-item:last-child {
    top: 50% !important;
    bottom: auto !important;
    transform: translateY(-50%) rotate(-45deg) !important;
  }

  .page-header__nav {
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    top: var(--oka-header-h, 3.75rem) !important;
    width: 100% !important;
    height: calc(100dvh - var(--oka-header-h, 3.75rem)) !important;
    padding: 0.75rem 1.25rem 5rem !important;
    margin: 0 !important;
    transform: none !important;
    background: #fff !important;
    z-index: 50 !important;
    overflow: auto !important;
    -webkit-overflow-scrolling: touch;
    box-sizing: border-box !important;
  }

  .page-header__nav.open {
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }

  .page-header__menu-list,
  .main-nav__list {
    position: static !important;
    transform: none !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0 !important;
    right: auto !important;
    text-align: left !important;
  }

  .main-nav__item {
    justify-content: flex-start !important;
    width: 100% !important;
  }

  .main-nav__link {
    display: flex !important;
    justify-content: flex-start !important;
    align-items: center;
    width: 100% !important;
    min-height: 3.25rem !important;
    padding: 0.9rem 0 !important;
    font-size: 1.35rem !important;
    line-height: 1.3 !important;
    font-weight: 500 !important;
    white-space: normal !important;
    border-bottom: 1px solid #efefef !important;
    text-align: left !important;
  }

  .main-nav__decor-line {
    display: none !important;
  }

  .main-nav__item.mobile {
    display: flex !important;
  }

  .main-nav__item-lang-wrapper {
    display: none !important;
  }

  .main-nav__item-ai {
    display: flex !important;
    justify-content: stretch !important;
    margin-top: 1.5rem !important;
    padding-top: 0.25rem !important;
  }

  .main-nav__item-ai .page-header__ai {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 3rem !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0.875rem 1.25rem !important;
    border: 1.5px solid var(--color-green) !important;
    border-radius: 0.5rem !important;
    background: transparent !important;
    color: var(--color-green) !important;
    font-family: inherit !important;
    font-size: 1.0625rem !important;
    line-height: 1.2 !important;
    font-weight: 500 !important;
    white-space: nowrap !important;
    text-align: center !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
  }

  .main-nav__item-ai .page-header__ai:hover,
  .main-nav__item-ai .page-header__ai:focus {
    background: var(--color-light-green, #e8f5e8) !important;
    color: var(--color-green) !important;
    box-shadow: none !important;
  }

  .main-nav__item-ai .page-header__ai:active {
    background: var(--color-light-green-2, #d4ebd4) !important;
    color: var(--color-green) !important;
    box-shadow: none !important;
  }

  .main-nav__item-ai .page-header__ai::before,
  .main-nav__item-ai .page-header__ai::after {
    display: none !important;
    content: none !important;
  }

  .main-nav__item-ai .page-header__ai span {
    font-size: inherit !important;
    line-height: inherit !important;
    font-weight: inherit !important;
    color: inherit !important;
  }

  .page-header__search-wrapper {
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    top: 3.75rem !important;
    width: 100% !important;
    transform: none !important;
    padding: 0.75rem 1rem !important;
    background: #fff !important;
    border: none !important;
    border-radius: 0 !important;
    border-bottom: 1px solid #ececec !important;
    box-sizing: border-box !important;
    z-index: 60;
  }

  .page-header__search-wrapper::before {
    display: none !important;
  }

  .page-header__search_opened .page-header__search-wrapper {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }

  .page-header__search-form {
    min-height: 2.75rem;
    padding: 0.125rem 0.125rem 0.125rem 1rem !important;
    border: 1px solid var(--color-grey, #ccc) !important;
    border-radius: 6.25rem !important;
  }

  .page-header__close-search {
    height: 2.75rem;
    min-width: 2.75rem;
  }
}

/* =========================================================
   TABLET + PHONE ≤1024
   ========================================================= */
@media (max-width: 1024px) {
  /* --- Foundation --- */
  .page,
  .page__body,
  .page__main {
    overflow-x: hidden !important;
  }

  .page__body {
    font-size: 1rem !important;
    line-height: 1.45 !important;
  }

  /* Скрыть все полосы прокрутки на mobile, сохранив сам скролл */
  * {
    scrollbar-width: none !important;      /* Firefox */
    -ms-overflow-style: none !important;   /* IE/Edge legacy */
  }

  *::-webkit-scrollbar {
    width: 0 !important;
    height: 0 !important;
    display: none !important;              /* Chrome/Safari */
    background: transparent !important;
  }

  /* Единый mobile-стандарт underline, как на desktop */
  .link,
  .content a,
  .breadcrumbs__link,
  .request-form__meta .request-form__report.link,
  .contacts-page__guide-text {
    text-decoration-thickness: var(--underline-thickness) !important;
    text-underline-offset: var(--underline-offset) !important;
    text-decoration-skip-ink: none !important;
  }

  .link:hover,
  .content a:hover,
  .request-form__meta .request-form__report.link:hover {
    text-decoration-color: var(--color-light-green) !important;
  }

  .link:active,
  .content a:active,
  .request-form__meta .request-form__report.link:active {
    text-decoration-color: var(--color-dark-green) !important;
  }

  /* Единый стандарт CTA/текстовых ссылок с border-bottom */
  .main-services__card-link,
  .success-stories__card-more,
  .success-stories__mini .success-stories__mini-read,
  .main-news__read,
  .services-list__details,
  .cases-promo__link,
  .news-list__link {
    text-decoration: none !important;
    border-bottom-width: var(--underline-thickness) !important;
    border-bottom-style: solid !important;
    border-bottom-color: currentColor !important;
    border-radius: 0 !important;
    transition: color 0.2s ease-out, border-color 0.2s ease-out !important;
  }

  .main-services__card-link:hover,
  .success-stories__card-more:hover,
  .success-stories__mini .success-stories__mini-read:hover,
  .main-news__read:hover,
  .services-list__details:hover,
  .cases-promo__link:hover,
  .news-list__link:hover {
    border-bottom-color: currentColor !important;
  }

  .main-services__card-link:active,
  .success-stories__card-more:active,
  .success-stories__mini .success-stories__mini-read:active,
  .main-news__read:active,
  .services-list__details:active,
  .cases-promo__link:active,
  .news-list__link:active {
    border-bottom-color: currentColor !important;
  }

  /* Межсекционные spacer’ы — скрыты на mobile */
  .success-stories__spacer,
  .promo-slider__spacer,
  .main-about__spacer,
  .main-stages__spacer,
  .main-advantages__spacer,
  .lead-section__spacer,
  .lead-section-main-2__spacer,
  .lead-section-main-3__spacer,
  .case-hero__spacer,
  [class$="__spacer"]:not(.main-footer-spacer):not(.service-footer-spacer):not(.contacts-page__spacer):not(.service-cta-spacer) {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  /* Пустые блоки перед футером — 2.5rem (как section pad).
     Перед CTA spacer’ы выключаем: зазор даёт padding секций. */
  .main-footer-spacer,
  .service-footer-spacer,
  .cases-frame-5879 {
    display: block !important;
    width: 100% !important;
    height: 2.5rem !important;
    min-height: 2.5rem !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #fff !important;
    overflow: visible !important;
  }

  .contacts-page__spacer,
  .service-cta-spacer {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  /* Шапка: phone ≤767 / tablet 768–1280 — см. блоки выше */

  /* --- Sticky bottom CTA --- */
  .mobile-bottom-cta {
    display: block !important;
    position: fixed;
    left: 1rem;
    right: 1rem;
    bottom: calc(0.75rem + env(safe-area-inset-bottom, 0px));
    z-index: 1150;
    padding: 0;
    background: none;
    pointer-events: none;
  }

  .mobile-bottom-cta .btn {
    pointer-events: auto;
    width: 100%;
    min-height: 3rem;
    justify-content: center;
    box-shadow: 0 8px 24px rgba(9, 89, 9, 0.28);
  }

  body.has-cookie-banner .mobile-bottom-cta {
    display: none !important;
  }

  .page__main {
    padding-bottom: 0 !important;
  }

  .footer {
    padding-bottom: 5.25rem !important;
  }

  /* --- Typography / vertical rhythm ---
     section pad: 2.5rem
     content → CTA: section pb 2.5rem + cta pt 2.5rem (без отдельных spacer’ов)
  */
  .section,
  .section_second {
    padding-top: 2.5rem !important;
    padding-bottom: 2.5rem !important;
  }

  .section_first {
    padding-top: 2.5rem !important;
  }

  .section_last {
    padding-bottom: 2.5rem !important;
  }

  .section__title-h1 {
    margin-bottom: 1.5rem !important;
  }

  .title-h1 {
    font-size: 1.75rem !important;
    line-height: 1.15 !important;
  }

  .title-h2,
  h2.title-h2 {
    font-size: 1.625rem !important;
    line-height: 1.15 !important;
  }

  h2.title-h2.title-h2_white.lead-section__header-title {
    font-size: 1.75rem !important;
    line-height: 1.1 !important;
  }

  .title-h3,
  p.title-h3,
  h3.title-h3 {
    font-size: 2rem !important;
    line-height: 1 !important;
  }

  p.title-h3.main-about__number-title,
  h3.title-h3.main-about__number-title,
  p.title-h3.about-advantages__num,
  .about-intro__stat-value {
    font-size: 2.25rem !important;
    line-height: 1 !important;
  }

  .services-hero__title,
  .blog-content__title,
  .header-promo__title,
  .cases-promo__title,
  .cases-promo__title-h1,
  h1.cases-promo__title-h1 {
    font-size: 1.75rem !important;
    line-height: 1.15 !important;
  }

  .main-news__title {
    font-size: 1.75rem !important;
    width: auto !important;
    line-height: 1.15 !important;
  }

  /* ========== MAIN-NEWS: title → image → CTA → articles ========== */
  .section.main-news.animation,
  .section.main-news {
    overflow-x: clip !important;
    padding-top: 2.5rem !important;
    padding-bottom: 2rem !important;
  }

  .main-news .animation__wrapper,
  .main-news .wrapper.animation__wrapper {
    display: flex !important;
    flex-direction: column !important;
    overflow-x: clip !important;
    max-width: 100% !important;
    width: 100% !important;
    box-sizing: border-box !important;
    gap: 1rem !important;
  }

  /* Flatten so we can order: title, image, all, list */
  .main-news__header,
  .main-news__body {
    display: contents !important;
  }

  .main-news__title,
  h2.title-h2.main-news__title {
    order: 1 !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    font-size: 1.75rem !important;
    line-height: 1.15 !important;
  }

  .main-news__preview {
    order: 2 !important;
    position: relative !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    border-radius: 0.5rem !important;
    overflow: hidden !important;
  }

  .main-news__preview::after {
    display: none !important;
  }

  .main-news__image {
    position: static !important;
    inset: auto !important;
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    aspect-ratio: 16 / 10 !important;
    object-fit: cover !important;
    border-radius: 0.5rem !important;
  }

  .main-news__all,
  a.btn.btn_white.main-news__all {
    order: 3 !important;
    position: static !important;
    top: auto !important;
    right: auto !important;
    width: 100% !important;
    min-height: 2.75rem !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0.75rem 1rem !important;
    justify-content: center !important;
    box-sizing: border-box !important;
  }

  .main-news__all span {
    width: auto !important;
    height: auto !important;
  }

  .main-news__list {
    order: 4 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 0 !important;
    height: auto !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  .main-news__item {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 0 !important;
    padding: 1.25rem 0 !important;
    gap: 0.75rem !important;
    border-bottom: 1px solid #E5E5E5 !important;
    box-sizing: border-box !important;
  }

  .main-news__item:first-child {
    padding-top: 0 !important;
  }

  .main-news__item:last-child {
    border-bottom: none !important;
    padding-bottom: 0 !important;
  }

  .main-news__item:nth-child(1),
  .main-news__item:nth-child(2) {
    min-height: 0 !important;
  }

  .main-news__item-title {
    width: 100% !important;
    max-width: 100% !important;
    order: 0 !important;
    margin: 0 !important;
    font-size: 1.125rem !important;
    line-height: 1.3 !important;
  }

  .main-news__excerpt {
    width: 100% !important;
    max-width: 100% !important;
    order: 1 !important;
    margin: 0 !important;
    font-size: 0.9375rem !important;
    line-height: 1.45 !important;
    -webkit-line-clamp: 3 !important;
    line-clamp: 3 !important;
  }

  .main-news__time {
    width: 100% !important;
    max-width: 100% !important;
    order: 2 !important;
    margin: 0 !important;
    font-size: 0.8125rem !important;
    line-height: 1.35 !important;
    opacity: 0.7 !important;
  }

  .main-news__read {
    order: 3 !important;
    min-height: 0 !important;
    height: 1.1875rem !important;
    padding: 0 !important;
    align-items: center !important;
    font-size: 1rem !important;
    line-height: 1.1875rem !important;
  }

  /* --- Hero / promo: размеры как раньше (картинка на весь экран) --- */
  .promo-slider {
    position: relative !important;
    min-height: 100dvh !important;
    height: auto !important;
    margin-top: -3.75rem !important;
    display: flex !important;
    flex-direction: column !important;
  }

  .promo-slider__slider {
    display: flex !important;
    flex-direction: column !important;
    flex-grow: 1 !important;
    position: relative !important;
    width: 100% !important;
    height: auto !important;
    min-height: 100dvh !important;
  }

  .promo-slider__slider-wrapper {
    flex-grow: 1 !important;
    height: auto !important;
    min-height: 100dvh !important;
  }

  .promo-slider__slider-item {
    position: relative !important;
    height: 100% !important;
    min-height: 100dvh !important;
    padding-bottom: 6.5rem !important;
  }

  .promo-slider__img {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
    border-radius: 0 !important;
  }

  .promo-slider__content {
    position: relative !important;
    z-index: 1 !important;
    padding-top: 12.5rem !important;
    padding-bottom: 0 !important;
    height: 100% !important;
    display: flex !important;
    align-items: flex-start !important;
    justify-content: center !important;
  }

  .promo-slider__card {
    height: auto !important;
    width: 100% !important;
    gap: 0 !important;
    margin-top: 1.25rem !important;
  }

  .promo-slider__title {
    font-size: 2.5rem !important;
    line-height: 1.05 !important;
    height: auto !important;
    min-height: 0 !important;
    width: 100% !important;
    margin: 0 0 2.5rem !important;
  }

  .promo-slider__text {
    font-size: 1rem !important;
    line-height: 120% !important;
    letter-spacing: 0.06em !important;
    width: 100% !important;
    margin: 0 0 1.5rem !important;
  }

  .promo-slider__btn {
    min-width: 10rem !important;
    min-height: 2.75rem !important;
    height: auto !important;
  }

  /* Пагинация вне overflow Swiper — поверх картинки */
  .promo-slider__pagination {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: absolute !important;
    left: 50% !important;
    right: auto !important;
    bottom: 2.5rem !important;
    transform: translateX(-50%) !important;
    z-index: 30 !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    gap: 0.5625rem !important;
    pointer-events: auto !important;
  }

  .promo-slider__pagination.swiper-pagination-lock,
  .pagination.promo-slider__pagination.swiper-pagination-lock {
    display: flex !important;
  }

  /* --- Lead / about --- */
  .lead-section__wrapper {
    flex-direction: column !important;
    gap: 1.25rem !important;
    padding-top: 2rem !important;
    padding-bottom: 2rem !important;
    min-height: 0 !important;
  }

  .lead-section__wrapper::after {
    width: 100% !important;
    left: 0 !important;
    transform: none !important;
  }

  .lead-section__text-container {
    max-width: none !important;
  }

  .lead-section__text {
    margin-bottom: 1.25rem !important;
    font-size: 1rem !important;
  }

  .lead-section__image,
  .lead-section__image-container .lead-section__image {
    border-radius: 8px !important;
  }

  .lead-section__btn,
  .btn:not(.page-header__ai) {
    min-height: 2.75rem !important;
  }

  .main-about__number-text {
    font-size: 1rem !important;
  }

  .main-about__img,
  .main-about__img-base,
  .main-about__img-second {
    width: 100% !important;
    border-radius: 8px !important;
  }

  /* Mobile: единое скругление 8 для медиа/карточек */
  .main-news__preview,
  .main-news__image,
  .main-services__card,
  .main-advantages__slide,
  .main-advantages__card,
  .cases-card,
  .cases-promo__item,
  .blog-card,
  img.main-about__img,
  img.main-about__img-base,
  img.main-about__img-second {
    border-radius: 8px !important;
  }

  /* ========== MAIN-ABOUT: product mobile layout ========== */
  .section.main-about.animation,
  .section.main-about {
    overflow-x: clip !important;
    overflow-y: visible !important;
    padding-top: 2.5rem !important;
    padding-bottom: 2rem !important;
  }

  .main-about .animation__wrapper,
  .main-about .wrapper.animation__wrapper {
    overflow-x: clip !important;
    max-width: 100% !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  .main-about .section__header,
  .main-about__header {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 0.75rem !important;
    margin-bottom: 1.5rem !important;
  }

  .main-about__header-title {
    font-size: 1.75rem !important;
    line-height: 1.15 !important;
    margin: 0 !important;
  }

  .main-about__header-text {
    width: 100% !important;
    max-width: 100% !important;
    text-align: left !important;
    font-size: 0.9375rem !important;
    line-height: 1.5 !important;
    margin: 0 !important;
  }

  /* Proof metrics: stable 2×2, numbers never clip */
  .main-about__number-cards {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0.75rem !important;
    margin: 0 0 1.75rem !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  .main-about__number-item {
    min-width: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    padding: 1rem 0.875rem !important;
    gap: 0.5rem !important;
    border-radius: 0.5rem !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }

  .main-about__number-item_green {
    box-shadow: none !important;
  }

  .main-about__number-title,
  p.title-h3.main-about__number-title,
  h3.title-h3.main-about__number-title,
  h3.title-h3.title-h3_white.main-about__number-title {
    font-size: clamp(1.5rem, 8vw, 2rem) !important;
    line-height: 1.05 !important;
    letter-spacing: -0.02em !important;
    margin: 0 !important;
    max-width: 100% !important;
    overflow-wrap: anywhere !important;
    word-break: break-word !important;
  }

  .main-about__number-text,
  .main-about__number-item .main-about__number-text {
    font-size: 0.875rem !important;
    line-height: 1.3 !important;
    margin: 0 !important;
  }

  .main-about__number-text br {
    display: none !important;
  }

  .request-form-facts .main-about__number-text br {
    display: revert !important;
  }

  /* Story first, photo after CTAs */
  .main-about__wrapper {
    display: flex !important;
    flex-direction: column !important;
    gap: 1.5rem !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .main-about__col_2 {
    order: 1 !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
  }

  .main-about__col_1 {
    order: 2 !important;
    display: block !important;
    width: 100% !important;
  }

  .main-about__lead {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 0 !important;
    font-size: 1.25rem !important;
    line-height: 1.35 !important;
    margin: 0 0 1.25rem !important;
  }

  .main-about__info {
    margin: 0 0 1.5rem !important;
  }

  .main-about__info-text {
    width: 100% !important;
    font-size: 1rem !important;
    line-height: 1.45 !important;
    margin-bottom: 0.875rem !important;
  }

  .main-about__info-text:last-child {
    margin-bottom: 0 !important;
  }

  .main-about__aditional-info {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0.75rem !important;
    margin-top: 0 !important;
    width: 100% !important;
  }

  .main-about__telegram,
  .main-about__about-link.btn,
  a.btn.btn_white.main-about__about-link {
    width: 100% !important;
    height: 3rem !important;
    min-height: 3rem !important;
    max-height: 3rem !important;
    padding: 0 1.25rem !important;
    gap: 0.5rem !important;
    justify-content: center !important;
    align-items: center !important;
    box-sizing: border-box !important;
    font-size: 1rem !important;
    line-height: 1.2 !important;
  }

  .main-about__telegram-icon {
    width: 1.25rem !important;
    height: 1.25rem !important;
  }

  .main-about__img-base,
  .main-about__img {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 0 !important;
    height: auto !important;
    aspect-ratio: 4 / 5 !important;
    object-fit: cover !important;
    border-radius: 0.5rem !important;
    display: block !important;
  }

  /* Services: equal-height cards + gap to pagination */
  .main-services__track.swiper-wrapper {
    align-items: stretch !important;
  }

  .main-services__slide.swiper-slide {
    height: auto !important;
    display: flex !important;
    box-sizing: border-box !important;
  }

  .main-services__card {
    width: 100% !important;
    height: 100% !important;
    min-height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    box-sizing: border-box !important;
  }

  .main-services__card-body {
    flex: 1 1 auto !important;
  }

  .main-services__card-link {
    margin-top: auto !important;
  }

  .main-services__pagination {
    margin-top: 1rem !important;
  }

  /* Пагинация слайдеров — эталон главной: 30×15, gap 9px */
  .pagination,
  .main-services__pagination,
  .main-advantages__pagination,
  .about-team__pagination,
  .partners__pagination,
  .about-approach__pagination,
  .services-compare__pagination,
  .cases-promo__pagination {
    gap: 0.5625rem !important;
  }

  .pagination li,
  .main-services__pagination li,
  .main-advantages__pagination li,
  .about-team__pagination li,
  .partners__pagination li,
  .about-approach__pagination li,
  .services-compare__pagination li,
  .cases-promo__pagination li {
    min-width: 0 !important;
    min-height: 0 !important;
    width: auto !important;
    height: auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .main-services__pagination .pagination__item,
  .main-advantages__pagination .pagination__item,
  .about-team__pagination .pagination__item,
  .partners__pagination .pagination__item,
  .about-approach__pagination .pagination__item,
  .services-compare__pagination .pagination__item,
  .cases-promo__pagination .pagination__item {
    flex: none !important;
    width: 30px !important;
    height: 15px !important;
    min-width: 30px !important;
    min-height: 15px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    border-radius: 4px !important;
    background-color: #f8f8f8 !important;
    opacity: 1 !important;
  }

  .main-services__pagination .pagination__item.is-active,
  .main-advantages__pagination .pagination__item.is-active,
  .about-team__pagination li.slick-active .pagination__item,
  .partners__pagination li.slick-active .pagination__item,
  .about-approach__pagination li.slick-active .pagination__item,
  .services-compare__pagination li.slick-active .pagination__item,
  .cases-promo__pagination li.slick-active .pagination__item {
    background-color: #095909 !important;
    opacity: 1 !important;
  }

  /* Главный слайдер — как на desktop: белые точки, active через opacity */
  .promo-slider__pagination .pagination__item,
  .promo-slider__pagination .pagination__item_white,
  .pagination.promo-slider__pagination .pagination__item {
    display: block !important;
    flex: none !important;
    width: 1.875rem !important;
    height: 0.9375rem !important;
    min-width: 1.875rem !important;
    min-height: 0.9375rem !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    border-radius: 0.25rem !important;
    background-color: var(--color-white) !important;
    opacity: 0.3 !important;
    cursor: pointer !important;
    transition: background-color 0.2s ease-out, opacity 0.2s ease-out !important;
  }

  .promo-slider__pagination .pagination__item.is-active,
  .promo-slider__pagination .pagination__item_white.is-active,
  .pagination.promo-slider__pagination .pagination__item.is-active,
  .pagination.promo-slider__pagination .pagination__item_white.is-active {
    background-color: var(--color-white) !important;
    opacity: 1 !important;
  }

  /* --- Main-advantages: mobile slider like services --- */
  .main-advantages__header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex-wrap: nowrap !important;
    gap: 1rem !important;
    margin-bottom: 1.25rem !important;
  }

  .main-advantages__title {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    margin: 0 !important;
  }

  .main-advantages__controls_header {
    display: flex !important;
    flex-shrink: 0 !important;
    gap: 0.5rem !important;
    margin: 0 !important;
  }

  .main-advantages__controls_slider {
    display: none !important;
  }

  .main-advantages__slider {
    max-width: 100% !important;
    width: 100% !important;
    overflow: hidden !important;
  }

  .main-advantages__wrapper > .wrapper {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }

  .main-advantages__pagination {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 0.5625rem !important;
    margin: 1rem auto 0 !important;
    height: auto !important;
    position: relative !important;
    left: auto !important;
    right: auto !important;
    width: auto !important;
    max-width: 100% !important;
    overflow: visible !important;
    transform: none !important;
  }

  .main-advantages__pagination_steps .pagination__item {
    flex: none !important;
    cursor: pointer !important;
  }

  .main-advantages__bubble {
    opacity: 1 !important;
  }

  .main-advantages__slide.swiper-slide-active .main-advantages__bubble,
  .main-advantages__slide.swiper-slide-prev .main-advantages__bubble,
  .main-advantages__slide.swiper-slide-next .main-advantages__bubble {
    left: 1rem !important;
    right: 1rem !important;
    bottom: 1rem !important;
    max-width: none !important;
  }

  .main-advantages__bubble-text,
  p.text.text_medium.text_no-spacing.main-advantages__bubble-text {
    font-size: 1rem !important;
    line-height: 1.3 !important;
  }

  /* --- Sliders --- */
  .main-advantages__slide {
    width: 100% !important;
    filter: none !important;
    opacity: 1 !important;
  }

  .main-advantages__slide.swiper-slide-prev,
  .main-advantages__slide.swiper-slide-next,
  .main-advantages__slide.swiper-slide-active {
    filter: none !important;
    opacity: 1 !important;
  }

  .main-advantages__nav {
    width: 2.75rem !important;
    height: 2.75rem !important;
    border-radius: 50% !important;
  }

  /* ========== MAIN-STAGES: product mobile layout ========== */
  .section.main-stages {
    overflow-x: clip !important;
    padding-top: 2.5rem !important;
    padding-bottom: 2rem !important;
  }

  .main-stages__wrapper {
    display: flex !important;
    flex-direction: column !important;
    overflow-x: clip !important;
    max-width: 100% !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  /* title → panel → tabs (tabs были внутри intro над панелью) */
  .main-stages__intro,
  .main-stages__intro .animation__wrapper {
    display: contents !important;
  }

  .main-stages__intro {
    margin-bottom: 0 !important;
  }

  .main-stages__header {
    order: 1 !important;
    margin-bottom: 1.25rem !important;
  }

  .main-stages__panels {
    order: 2 !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
    transition: none !important;
    margin-bottom: 1.25rem !important;
  }

  .main-stages__tabs {
    order: 3 !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    flex-wrap: nowrap !important;
    gap: 0.5rem !important;
    overflow: visible !important;
    margin-bottom: 0 !important;
    margin-top: 0 !important;
    padding-bottom: 0 !important;
    width: 100% !important;
  }

  .main-stages__intro .animation__wrapper {
    overflow-x: visible !important;
  }

  .main-stages__title,
  h2.title-h2.main-stages__title,
  h3.title-h4.main-stages__header-title,
  p.title-h4.main-stages__header-title {
    font-size: 1.75rem !important;
    line-height: 1.15 !important;
    margin: 0 !important;
  }

  .main-stages__tab {
    flex: none !important;
    width: 100% !important;
    min-height: 2.75rem !important;
    height: auto !important;
    padding: 0.75rem 0.5rem !important;
    white-space: nowrap;
    box-sizing: border-box !important;
  }

  .main-stages__panels .swiper-wrapper {
    align-items: stretch !important;
    transition: opacity 0.4s ease !important;
    height: 100% !important;
  }

  .main-stages__panel,
  .main-stages__panel.swiper-slide {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 1.25rem !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  .main-stages__panel-aside {
    position: static !important;
    top: auto !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .main-stages__stage-num {
    margin: 0 0 0.5rem !important;
    font-size: 1.5rem !important;
    line-height: 1.1 !important;
  }

  .main-stages__stage-desc {
    margin: 0 !important;
    max-width: 100% !important;
    font-size: 0.9375rem !important;
    line-height: 1.45 !important;
  }

  .main-stages__timeline {
    width: 100% !important;
    max-width: 100% !important;
    flex: none !important;
  }

  /* Vertical step list: dots + segments on one axis (like desktop track) */
  .main-stages__timeline-track {
    display: none !important;
  }

  .main-stages__timeline_cols_3 .main-stages__timeline-cols,
  .main-stages__timeline_cols_2 .main-stages__timeline-cols,
  .main-stages__timeline-cols {
    --stages-dot: 0.875rem;
    --stages-dot-top: 0.25rem;
    --stages-rail: 2px;
    --stages-rail-gap: 0.75rem;
    display: flex !important;
    flex-direction: column !important;
    grid-template-columns: none !important;
    gap: 0 !important;
    row-gap: 0 !important;
    column-gap: 0 !important;
    position: relative !important;
    padding-left: 0 !important;
    margin: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  /* Continuous rail replaced by per-step segments for exact dot alignment */
  .main-stages__timeline-cols::before {
    display: none !important;
    content: none !important;
  }

  .main-stages__timeline-col {
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 0.35rem !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 0 1.5rem calc(var(--stages-dot) + var(--stages-rail-gap)) !important;
    box-sizing: border-box !important;
  }

  .main-stages__timeline-col:last-child {
    padding-bottom: 0 !important;
  }

  /* Dot — same visual language as desktop (solid green circle) */
  .main-stages__timeline-col::before {
    content: "";
    position: absolute;
    left: 0;
    top: var(--stages-dot-top);
    width: var(--stages-dot);
    height: var(--stages-dot);
    border-radius: 50%;
    background: var(--color-green, #095909);
    box-shadow: none;
    z-index: 1;
  }

  /* Line segment from this dot center to the next — same axis */
  .main-stages__timeline-col:not(:last-child)::after {
    content: "";
    position: absolute;
    left: calc((var(--stages-dot) - var(--stages-rail)) / 2);
    top: calc(var(--stages-dot-top) + var(--stages-dot) / 2);
    bottom: calc(-1 * (var(--stages-dot-top) + var(--stages-dot) / 2));
    width: var(--stages-rail);
    background: var(--color-green, #095909);
    border-radius: 1px;
    z-index: 0;
    pointer-events: none;
  }

  .main-stages__timeline-title {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    font-size: 1.125rem !important;
    line-height: 1.25 !important;
  }

  .main-stages__timeline-text,
  .main-stages__timeline_cols_2 .main-stages__timeline-col:first-child .main-stages__timeline-text,
  .main-stages__timeline_cols_2 .main-stages__timeline-col:last-child .main-stages__timeline-text {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    font-size: 0.9375rem !important;
    line-height: 1.4 !important;
  }

  .main-stages__line-nowrap {
    white-space: normal !important;
  }

  .main-stages__timeline-title br,
  .main-stages__timeline-text br {
    display: none !important;
  }

  .main-stages__timeline-title .main-stages__line-nowrap:not(:first-of-type)::before,
  .main-stages__timeline-text .main-stages__line-nowrap:not(:first-of-type)::before {
    content: "\00a0";
  }

  .partners__slider.is-static {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
    gap: 1rem !important;
  }

  /* Партнёры: один слайд на ширину, карточка 270×150 по центру */
  .partners__slider .slick-list {
    overflow: hidden !important;
    margin: 0 !important;
  }

  .partners__slider .slick-track {
    display: flex !important;
    align-items: center !important;
  }

  .partners__slider .slick-slide {
    margin-right: 0 !important;
    height: 150px !important;
    float: none !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
  }

  .partners__slider .slick-slide > div {
    width: 100% !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin: 0 !important;
  }

  .partners__slider {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .partners__slide {
    width: 16.875rem !important; /* 270px */
    min-width: 16.875rem !important;
    max-width: 16.875rem !important;
    height: 150px !important;
    margin: 0 auto !important;
  }

  .partners__img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
  }

  /* --- Services --- */
  .services-list {
    padding-bottom: 2.5rem !important;
  }

  .services-list__toolbar {
    margin-bottom: 1.25rem !important;
    margin-left: 0 !important;
    margin-right: -1rem !important;
  }

  .services-list__category-filter {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    gap: 0.5rem !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
    scroll-snap-type: x proximity;
    padding: 0.15rem 1rem 0.35rem 0 !important;
    scrollbar-width: none;
  }

  .services-list__category-filter::-webkit-scrollbar {
    display: none;
  }

  .services-list__filter-item {
    flex: 0 0 auto !important;
    scroll-snap-align: start;
  }

  .services-list__filter-btn {
    height: auto !important;
    min-height: 2.5rem !important;
    padding: 0.55rem 1rem !important;
    white-space: nowrap !important;
    line-height: 1.2 !important;
    font-size: 0.9375rem !important;
  }

  /* --- Blog / news-list filter (как услуги + sort справа) --- */
  .news-list__filter.filter,
  .filter.news-list__filter {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 0.5rem !important;
    margin-bottom: 1.25rem !important;
    overflow: visible !important;
  }

  .news-list .filter__btn-wrapper {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    gap: 0.5rem !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
    scroll-snap-type: x proximity;
    margin-right: 0 !important;
    padding: 0.15rem 0.25rem 0.35rem 0 !important;
    scrollbar-width: none;
  }

  .news-list .filter__btn-wrapper::-webkit-scrollbar {
    display: none;
  }

  .news-list .filter__btn {
    flex: 0 0 auto !important;
    height: auto !important;
    min-height: 2.5rem !important;
    padding: 0.55rem 1rem !important;
    white-space: nowrap !important;
    line-height: 1.2 !important;
    font-size: 0.9375rem !important;
    scroll-snap-align: start;
  }

  .news-list .filter__btn.is-checked {
    padding-right: 1rem !important;
  }

  .news-list .filter__select-wrapper {
    flex: 0 0 auto !important;
    width: auto !important;
    margin-left: 0 !important;
    padding-top: 0 !important;
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
    align-self: center !important;
  }

  .news-list .filter__sort {
    flex-shrink: 0 !important;
  }

  .news-list .filter__sort-btn {
    width: 2.5rem !important;
    height: 2.5rem !important;
    min-width: 2.5rem !important;
    min-height: 2.5rem !important;
    padding: 0 !important;
    flex-shrink: 0 !important;
  }

  .news-list .filter__sort-btn::before {
    width: 1.5rem !important;
    height: 1.5rem !important;
    right: 50% !important;
    transform: translate(50%, -50%) !important;
  }

  .news-list .filter__sort-btn.is-reversed::before {
    transform: translate(50%, -50%) rotate(180deg) !important;
  }

  /* --- FAQ / ВиО: табы как фильтры услуг --- */
  .faq-page .section__header {
    margin-bottom: 1.25rem !important;
  }

  .faq-page__title-h1 {
    font-size: 1.75rem !important;
    line-height: 1.15 !important;
  }

  .faq-page .faq__tabs {
    gap: 1.5rem !important;
  }

  .faq-page .faq__btn-wrapper,
  .faq-page .tabs__tabs-btn-wrapper {
    display: block !important;
    margin: 0 0 0 !important;
    margin-right: -1rem !important;
    gap: 0 !important;
    overflow: visible !important;
  }

  .faq-page .faq__btn-wrapper .animation__wrapper,
  .faq-page .tabs__tabs-btn-wrapper .animation__wrapper {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    gap: 0.5rem !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
    scroll-snap-type: x proximity;
    padding: 0.15rem 1rem 0.35rem 0 !important;
    scrollbar-width: none;
    max-width: none !important;
    width: auto !important;
  }

  .faq-page .faq__btn-wrapper .animation__wrapper::-webkit-scrollbar,
  .faq-page .tabs__tabs-btn-wrapper .animation__wrapper::-webkit-scrollbar {
    display: none;
  }

  .faq-page__tab-btn,
  .faq-page .tabs__tabs-btn,
  .faq-page .faq-page__tab-btn {
    flex: 0 0 auto !important;
    height: auto !important;
    min-height: 2.5rem !important;
    padding: 0.55rem 1rem !important;
    white-space: nowrap !important;
    line-height: 1.2 !important;
    font-size: 0.9375rem !important;
    scroll-snap-align: start;
  }

  /* --- Cases promo slider (как about-team) --- */
  .section.cases-promo {
    padding-top: 2rem !important;
    padding-bottom: 2rem !important;
    overflow-x: clip !important;
  }

  .cases-promo__header {
    margin-bottom: 1rem !important;
  }

  .cases-promo__lead {
    margin-bottom: 1.25rem !important;
    font-size: 1rem !important;
    line-height: 1.4 !important;
  }

  .cases-promo__slider-toolbar {
    display: flex !important;
    justify-content: flex-end !important;
    margin-bottom: 1rem !important;
  }

  .cases-promo__controls.slider-nav {
    display: flex !important;
    flex-shrink: 0 !important;
    gap: 0.5rem !important;
    margin: 0 !important;
  }

  .cases-promo__nav,
  .cases-promo__nav.slider-nav__arrow {
    width: 2.75rem !important;
    height: 2.75rem !important;
    min-width: 2.75rem !important;
    min-height: 2.75rem !important;
  }

  .cases-promo__grid {
    display: block !important;
    grid-template-columns: none !important;
    row-gap: 0 !important;
    column-gap: 0 !important;
  }

  .cases-promo__grid:not(.is-static) {
    margin: 0 auto 1rem !important;
    width: 100% !important;
    max-width: 23.125rem !important;
    overflow: hidden !important;
  }

  .cases-promo__grid .slick-list {
    margin: 0 !important;
    overflow: hidden !important;
  }

  .cases-promo__grid .slick-track {
    display: flex !important;
    align-items: stretch !important;
  }

  .cases-promo__grid .slick-slide {
    height: auto !important;
    float: none !important;
  }

  .cases-promo__grid .slick-slide > div {
    padding-left: 0 !important;
    padding-right: 0 !important;
    height: 100% !important;
  }

  .cases-promo__slide {
    width: 100% !important;
    height: 100% !important;
  }

  .cases-promo__item {
    width: 100% !important;
    min-height: 0 !important;
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    transition: background-color 0.2s ease-out, box-shadow 0.2s ease-out, color 0.2s ease-out !important;
  }

  /* Текущий слайд — как hover на desktop */
  .cases-promo__grid .slick-slide.slick-current .cases-promo__item {
    background: var(--color-green) !important;
    color: var(--color-white) !important;
    box-shadow: 4px 6px 8px rgba(0, 0, 0, 0.25) !important;
  }

  .cases-promo__grid .slick-slide.slick-current .cases-promo__name,
  .cases-promo__grid .slick-slide.slick-current .cases-promo__quote,
  .cases-promo__grid .slick-slide.slick-current .cases-promo__link {
    color: var(--color-white) !important;
  }

  .cases-promo__grid .slick-slide.slick-current .cases-promo__link {
    border-bottom-color: var(--color-white) !important;
  }

  .cases-promo__media {
    width: 100% !important;
    flex-shrink: 0 !important;
  }

  .cases-promo__img {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 1 / 1 !important;
    object-fit: cover !important;
    border-radius: 8px 8px 0 0 !important;
  }

  .cases-promo__content {
    position: static !important;
    left: auto !important;
    top: auto !important;
    width: auto !important;
    height: auto !important;
    flex: 1 1 auto !important;
    gap: 1.25rem !important;
    padding: 1.25rem !important;
  }

  .cases-promo__text-group {
    width: 100% !important;
    min-height: 0 !important;
    gap: 0.75rem !important;
  }

  .cases-promo__name {
    font-size: 1.25rem !important;
    line-height: 1.2 !important;
    max-width: 100% !important;
  }

  .cases-promo__quote {
    font-size: 0.9375rem !important;
    line-height: 1.4 !important;
  }

  .cases-promo__link {
    font-size: 0.9375rem !important;
  }

  .cases-promo__pagination {
    display: flex !important;
    justify-content: center !important;
    margin-top: 0.75rem !important;
    max-height: none !important;
    overflow: visible !important;
  }

  /* --- Cases / blog footer: share + nav в одну линию --- */
  .cases-footer__wrapper,
  .blog-content .cases-footer__wrapper {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 1rem !important;
    /* Зазор до CTA даёт padding-bottom секции, не wrapper */
    padding-bottom: 0 !important;
  }

  .cases-footer__btn,
  .blog-content .cases-footer__btn {
    flex-shrink: 0 !important;
  }

  .cases-footer__navigation,
  .blog-content .cases-footer__navigation {
    display: flex !important;
    margin-left: auto !important;
    flex-shrink: 0 !important;
    gap: 0.75rem !important;
  }

  /* ========== CASE DETAIL: плотнее ритм между блоками ========== */
  .section.case-hero,
  .case-hero {
    padding-top: 1.5rem !important;
    padding-bottom: 0 !important;
  }

  .case-hero .animation__wrapper {
    min-height: 0 !important;
    gap: 0 !important;
  }

  .case-hero .case-hero__header + .case-section__lead {
    margin-top: 1rem !important;
  }

  .case-hero .case-section__lead + .case-hero__media,
  .case-hero .case-hero__header + .case-hero__media {
    margin-top: 1.25rem !important;
  }

  .case-hero__title,
  .case-hero .title-h2.case-hero__title {
    font-size: 1.75rem !important;
    line-height: 1.15 !important;
  }

  .case-hero .case-section__lead,
  .case-hero .case-section__lead.text_mid,
  .case-section__lead {
    font-size: 1.0625rem !important;
    line-height: 1.4 !important;
  }

  .case-hero__media {
    height: auto !important;
    aspect-ratio: 1170 / 600 !important;
    max-width: 100% !important;
  }

  .case-hero__img {
    min-height: 0 !important;
  }

  .case-hero__bubble-text {
    font-size: 0.9375rem !important;
    line-height: 1.3 !important;
  }

  .section.case-section,
  .case-section {
    padding-top: 2rem !important;
    padding-bottom: 2rem !important;
  }

  .case-section .animation__wrapper {
    gap: 1.25rem !important;
  }

  .case-section__title,
  .case-section .title-h2.case-section__title {
    font-size: 1.5rem !important;
    line-height: 1.15 !important;
  }

  .case-section__grid {
    gap: 1.25rem !important;
    width: 100% !important;
    height: auto !important;
  }

  .case-section__img {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
  }

  .case-section__note {
    gap: 0.875rem !important;
    width: 100% !important;
    height: auto !important;
  }

  .case-section__text-title,
  .case-section__text-title_spaced {
    font-size: 1.125rem !important;
    line-height: 1.25 !important;
  }

  .case-section__text {
    font-size: 0.9375rem !important;
    line-height: 1.4 !important;
  }

  .section.case-adaptation,
  .case-adaptation {
    padding-top: 2rem !important;
    padding-bottom: 2rem !important;
  }

  .case-adaptation__title {
    font-size: 1.125rem !important;
    line-height: 1.25 !important;
    max-width: 100% !important;
  }

  .case-adaptation__grid {
    margin-top: 1.25rem !important;
    gap: 1.25rem !important;
  }

  .case-adaptation__col_1,
  .case-adaptation__col_2 {
    gap: 1.25rem !important;
  }

  .case-adaptation__note-title {
    margin-bottom: 0.75rem !important;
    font-size: 1.25rem !important;
  }

  .case-adaptation__text {
    font-size: 1rem !important;
    line-height: 1.4 !important;
  }

  .section.case-outro,
  .case-outro {
    padding-top: 2rem !important;
    padding-bottom: 2rem !important;
  }

  .case-outro__grid {
    gap: 1.25rem !important;
    height: auto !important;
    width: 100% !important;
  }

  .case-outro__note {
    gap: 0.875rem !important;
  }

  .section.cases-footer {
    padding-top: 1.5rem !important;
    padding-bottom: 2.5rem !important;
  }

  .services-list__cards {
    grid-template-columns: 1fr !important;
    gap: 0.75rem !important;
  }

  .services-list__card-item {
    min-height: 0 !important;
    padding: 1.25rem 3.25rem 1.25rem 1.25rem !important;
  }

  .services-list__card-item:hover,
  .services-list__card-item:active,
  .services-list__card-item_popover-open {
    background: var(--color-green) !important;
    box-shadow: 4px 6px 8px rgba(0, 0, 0, 0.25) !important;
  }

  .services-list__card-item:hover .services-list__tag,
  .services-list__card-item:hover .services-list__title-card,
  .services-list__card-item:hover .services-list__details,
  .services-list__card-item:hover .services-list__specify,
  .services-list__card-item:active .services-list__tag,
  .services-list__card-item:active .services-list__title-card,
  .services-list__card-item:active .services-list__details,
  .services-list__card-item:active .services-list__specify,
  .services-list__card-item_popover-open .services-list__tag,
  .services-list__card-item_popover-open .services-list__title-card,
  .services-list__card-item_popover-open .services-list__details {
    color: var(--color-white) !important;
  }

  .services-list__card-item:hover .services-list__details,
  .services-list__card-item:active .services-list__details,
  .services-list__card-item_popover-open .services-list__details {
    color: var(--color-white) !important;
    border-bottom-color: var(--color-white) !important;
  }

  .services-list__card-item:hover .services-list__specify,
  .services-list__card-item:active .services-list__specify,
  .services-list__card-item_popover-open .services-list__specify {
    color: var(--color-white) !important;
    border-color: var(--color-white) !important;
  }

  .services-list__text-wrapper {
    order: 1 !important;
  }

  .services-list__tag {
    margin-bottom: 0.75rem !important;
    padding-right: 0.25rem !important;
  }

  .services-list__title-card {
    margin-bottom: 1rem !important;
    font-size: 1.125rem !important;
    line-height: 1.25 !important;
  }

  .services-list__details {
    font-size: 0.9375rem !important;
  }

  .services-list__specify {
    display: flex !important;
    order: 0 !important;
    width: 2.5rem !important;
    height: 2.5rem !important;
    right: 0.75rem !important;
    top: 0.75rem !important;
    font-size: 1.125rem !important;
    line-height: 1 !important;
    border-width: 2px !important;
    color: var(--color-light-grey) !important;
    border-color: var(--color-light-grey) !important;
    background: transparent !important;
    z-index: 5 !important;
  }

  /* Bottom sheet: off-screen until opened (may be moved to body) */
  .services-list__popover {
    display: flex !important;
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    top: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 1.5rem 1.25rem calc(1.5rem + env(safe-area-inset-bottom, 0px)) !important;
    border: none !important;
    border-radius: 8px 8px 0 0 !important;
    background: #fff !important;
    box-shadow: 0 -8px 32px rgba(0, 0, 0, 0.18) !important;
    flex-direction: column !important;
    z-index: 220 !important;
    max-height: min(85dvh, 85vh) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
    opacity: 1 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translate3d(0, 105%, 0) !important;
    transition: transform 0.32s ease, visibility 0s linear 0.32s !important;
  }

  .services-list__popover.is-sheet-open {
    pointer-events: auto !important;
    visibility: visible !important;
    transform: translate3d(0, 0, 0) !important;
    transition: transform 0.32s ease, visibility 0s linear 0s !important;
  }

  .services-list__sheet-backdrop {
    position: fixed !important;
    inset: 0 !important;
    z-index: 210 !important;
    background: rgba(12, 37, 12, 0.45) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transition: opacity 0.28s ease, visibility 0.28s ease !important;
  }

  .services-list__sheet-backdrop.is-open {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }

  .services-list__popover-header {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 0.75rem !important;
    margin-bottom: 1.25rem !important;
    padding-right: 2.5rem !important;
  }

  .services-list__popover-close {
    position: absolute !important;
    top: 50% !important;
    right: -0.35rem !important;
    transform: translateY(-50%) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 2.75rem !important;
    height: 2.75rem !important;
    padding: 0 !important;
    border: none !important;
    border-radius: 50% !important;
    background: transparent !important;
    color: #3d3e40 !important;
    font-size: 1.75rem !important;
    line-height: 1 !important;
    cursor: pointer !important;
    z-index: 2 !important;
  }

  .services-list__popover-tag {
    margin: 0 !important;
    font-size: 0.75rem !important;
    letter-spacing: 0.12em !important;
    color: #3d3e40 !important;
  }

  .services-list__popover-content {
    margin-bottom: 1.5rem !important;
    flex: 1 1 auto !important;
  }

  .services-list__popover-text {
    font-size: 1rem !important;
    line-height: 1.4 !important;
    max-width: 100% !important;
    margin: 0 0 0.75rem !important;
    color: #3d3e40 !important;
  }

  .services-list__popover-text:last-child {
    margin-bottom: 0 !important;
  }

  .services-list__popover-actions {
    display: flex !important;
    flex-direction: column !important;
    gap: 0.5rem !important;
    margin-top: auto !important;
    flex-shrink: 0 !important;
  }

  .services-list__popover-btn {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 2.75rem !important;
    height: auto !important;
    white-space: normal !important;
  }

  /* Вторая кнопка скрыта, место в макете сохраняем */
  .services-list__popover-btn_green {
    visibility: hidden !important;
    pointer-events: none !important;
  }

  .difficulties__specify-wrapper {
    width: 100% !important;
    max-width: 100% !important;
  }

  #pag {
    margin-top: 1.5rem !important;
  }

  /* --- Services compare (как about-team) --- */
  .section.services-compare.animation,
  .section.services-compare {
    overflow-x: clip !important;
    overflow-y: visible !important;
    padding-top: 2.5rem !important;
    padding-bottom: 2rem !important;
    min-height: 0 !important;
  }

  .services-compare .animation__wrapper,
  .services-compare > .wrapper {
    overflow: visible !important;
    max-width: 100% !important;
  }

  .services-compare__header {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 0.75rem !important;
    margin-bottom: 1.25rem !important;
  }

  .services-compare__title,
  h2.title-h2.services-compare__title {
    margin: 0 !important;
    font-size: 1.5rem !important;
    line-height: 1.15 !important;
    min-width: 0 !important;
    max-width: none !important;
    flex: 1 1 auto !important;
  }

  .services-compare__title br {
    display: none !important;
  }

  .services-compare__controls.slider-nav {
    display: flex !important;
    flex-shrink: 0 !important;
    gap: 0.5rem !important;
    margin: 0 !important;
  }

  .services-compare__nav,
  .services-compare__nav.slider-nav__arrow {
    width: 2.75rem !important;
    height: 2.75rem !important;
    min-width: 2.75rem !important;
    min-height: 2.75rem !important;
  }

  .services-compare__grid.js-services-compare {
    display: block !important;
    margin: 0 auto 1rem !important;
    max-width: 22.5rem !important;
    width: 100% !important;
    overflow: hidden !important;
  }

  .services-compare__grid.is-static {
    display: block !important;
  }

  .services-compare__grid .slick-list {
    margin: 0 !important;
    overflow: hidden !important;
  }

  .services-compare__grid .slick-track {
    display: flex !important;
    align-items: stretch !important;
  }

  .services-compare__grid .slick-slide {
    height: auto !important;
    float: none !important;
  }

  .services-compare__grid .slick-slide > div {
    padding-left: 0 !important;
    padding-right: 0 !important;
    height: 100% !important;
  }

  .services-compare__slide {
    width: 100% !important;
    max-width: 22.5rem !important;
    height: auto !important;
    min-height: 22.5rem !important;
    flex: none !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    margin: 0 auto !important;
  }

  .services-compare__card {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 22.5rem !important;
    height: 100% !important;
    padding: 1.5rem !important;
    gap: 1.25rem !important;
    box-sizing: border-box !important;
    border-radius: 8px !important;
  }

  .services-compare__card_alone,
  .services-compare__card_help {
    min-height: 22.5rem !important;
    height: 100% !important;
  }

  .services-compare__card_help .services-compare__card-inner {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    gap: 1.25rem !important;
  }

  .services-compare__card-title {
    font-size: 1.375rem !important;
    line-height: 1.2 !important;
  }

  .services-compare__list {
    width: 100% !important;
    min-height: 0 !important;
    height: auto !important;
    gap: 0.75rem !important;
    font-size: 1rem !important;
    line-height: 1.4 !important;
  }

  .services-compare__card_help .services-compare__list {
    min-height: 0 !important;
    height: auto !important;
  }

  .services-compare__pagination {
    display: flex !important;
    justify-content: center !important;
    margin-top: 0.75rem !important;
    max-height: none !important;
    overflow: visible !important;
  }

  /* --- Service CTA (единый зазор content → CTA: pt 2.5rem) --- */
  .section.cases-cta.cases-cta_service,
  .cases-cta.cases-cta_service,
  .section.cases-cta.cases-cta_blog,
  .cases-cta.cases-cta_blog {
    min-height: 0 !important;
    padding-top: 2.5rem !important;
    padding-bottom: 1.5rem !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    background: #f3f1ec !important;
  }

  .cases-cta_service .cases-cta__bg,
  .cases-cta_blog .cases-cta__bg {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    overflow: hidden !important;
  }

  /* Мягкая вуаль как на десктоп-фото (воздушность / меньше контраста) */
  .cases-cta_service .cases-cta__bg::after,
  .cases-cta_blog .cases-cta__bg::after,
  .cases-cta_faq .cases-cta__bg::after {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;
    pointer-events: none !important;
    background: linear-gradient(
      to bottom,
      rgba(243, 241, 236, 0.38) 0%,
      rgba(243, 241, 236, 0.18) 42%,
      rgba(243, 241, 236, 0.06) 68%,
      rgba(243, 241, 236, 0) 100%
    ) !important;
  }

  .cases-cta_service .cases-cta__picture,
  .cases-cta_blog .cases-cta__picture,
  .cases-cta_faq .cases-cta__picture {
    position: absolute !important;
    inset: 0 !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
  }

  .cases-cta_service .cases-cta__img,
  .cases-cta_blog .cases-cta__img {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    object-fit: cover !important;
    object-position: center center !important;
    transform: none !important;
    filter: brightness(1.02) contrast(0.95) saturate(0.97) !important;
  }

  .cases-cta_service .cases-cta__inner,
  .cases-cta_blog .cases-cta__inner {
    gap: 1rem !important;
    min-height: 0 !important;
    justify-content: flex-start !important;
  }

  .cases-cta_service .cases-cta__content_second,
  .cases-cta_blog .cases-cta__content_blog {
    max-width: 100% !important;
  }

  .cases-cta_service .cases-cta__title,
  .cases-cta_blog .cases-cta__title {
    margin: 0 0 0.75rem !important;
    font-size: 1.75rem !important;
    line-height: 1.1 !important;
    max-width: 100% !important;
  }

  .cases-cta_service .cases-cta__subtitle,
  .cases-cta_service .cases-cta__subtitle_second,
  .cases-cta_blog .cases-cta__subtitle_blog {
    max-width: 100% !important;
    margin-bottom: 1.25rem !important;
    font-size: 1rem !important;
    line-height: 1.4 !important;
  }

  .cases-cta_service .cases-cta__btn,
  .cases-cta_blog .cases-cta__btn {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: 2.75rem !important;
    height: auto !important;
    margin-bottom: 0.75rem !important;
  }

  .cases-cta_service .cases-cta__note,
  .cases-cta_blog .cases-cta__note {
    max-width: 100% !important;
    margin: 0 !important;
    font-size: 0.8125rem !important;
    line-height: 1.35 !important;
  }

  /* --- Service detail page --- */
  .section.service-intro,
  .section.service-details,
  .section.service-steps,
  .section.faq,
  .section.faq.faq-page,
  .section.faq.service-faq,
  .section.faq.faq-page.service-faq {
    padding-top: 2.5rem !important;
    padding-bottom: 2.5rem !important;
    overflow-x: clip !important;
  }

  .service-intro.nomarbot {
    padding-bottom: 0 !important;
  }

  .service-intro > .wrapper,
  .service-details > .wrapper,
  .service-steps > .wrapper,
  .service-faq > .wrapper,
  .service-faq .faq__wrapper {
    max-width: 100% !important;
    width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  .service-intro__header,
  .service-steps__header,
  .service-faq .section__header,
  .section.faq > .faq__wrapper > .section__header {
    margin-bottom: 1.25rem !important;
  }

  .service-intro__header:has(+ .service-intro__text-wrapper),
  .service-intro__header:has(+ .service-intro__text-wrapper.sm) {
    margin-bottom: 1rem !important;
  }

  .section__header.service-intro__header .title-h1,
  .section__header.service-intro__header .title-h2,
  .service-intro__header .title-h2 {
    max-width: 100% !important;
    font-size: 1.75rem !important;
    line-height: 1.15 !important;
    letter-spacing: -0.02em !important;
    overflow-wrap: anywhere !important;
  }

  .service-intro__label {
    font-size: 0.8125rem !important;
    line-height: 1.3 !important;
    letter-spacing: 0.06em !important;
  }

  .service-intro__text-wrapper,
  .service-intro__text-wrapper.sm {
    max-width: 100% !important;
    width: 100% !important;
    gap: 1rem !important;
  }

  .service-intro__text,
  .service-intro__text-wrapper.sm .service-intro__text {
    max-width: 100% !important;
    font-size: 1rem !important;
    line-height: 1.4 !important;
    overflow-wrap: anywhere !important;
  }

  .service-intro__list {
    grid-template-columns: 1fr !important;
    column-gap: 0 !important;
    row-gap: 0.75rem !important;
    padding-left: 1.25rem !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .service-details__container {
    gap: 1.5rem !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .service-details__title,
  .service-details__difficulties .service-details__title,
  .title-h4.title-h4_second.service-details__title {
    max-width: 100% !important;
    margin: 0 0 1.25rem !important;
    font-size: 1.5rem !important;
    line-height: 1.15 !important;
    overflow-wrap: anywhere !important;
  }

  .service-details__difficulties {
    gap: 1.25rem !important;
    max-width: 100% !important;
  }

  .service-details__grid {
    gap: 1rem !important;
  }

  .service-details__img,
  .service-steps__img {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    border-radius: 0.5rem !important;
  }

  .difficulties__tabs-list {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 1.25rem !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .difficulties__tabs-item,
  .difficulties__tabs-item_specify {
    display: flex !important;
    align-items: flex-start !important;
    gap: 0.875rem !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
  }

  .difficulties__icon-wrapper {
    width: 3rem !important;
    height: 3rem !important;
    min-width: 3rem !important;
    padding: 0.625rem !important;
    border-radius: 0.5rem !important;
  }

  .difficulties__icon {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
  }

  .difficulties__text {
    min-width: 0 !important;
    max-width: 100% !important;
    flex: 1 1 auto !important;
    font-size: 0.9375rem !important;
    line-height: 1.35 !important;
    overflow-wrap: anywhere !important;
  }

  .difficulties__specify {
    right: 0 !important;
    top: 0 !important;
  }

  .difficulties__specify-wrapper {
    width: min(20rem, calc(100vw - 2rem)) !important;
    max-width: calc(100vw - 2rem) !important;
    right: 0 !important;
  }

  .service-steps__title-h4,
  .service-intro__title-h4,
  .section.faq > .faq__wrapper > .section__header .title-h4_second,
  .service-faq .title-h4_second {
    max-width: 100% !important;
    font-size: 1.5rem !important;
    line-height: 1.15 !important;
    overflow-wrap: anywhere !important;
  }

  .service-steps__list {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 1.5rem !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .service-steps__list + .service-steps__important-block {
    margin-top: 1.5rem !important;
  }

  .service-steps__item {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  .service-steps__text-wrapper {
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start !important;
    gap: 0.875rem !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  .service-steps__number,
  p.title-h2.service-steps__number,
  .title-h2.service-steps__number {
    width: auto !important;
    min-width: 2.5rem !important;
    flex-shrink: 0 !important;
    margin: 0 !important;
    font-size: 2rem !important;
    line-height: 1 !important;
  }

  .service-steps__description {
    width: auto !important;
    max-width: 100% !important;
    min-width: 0 !important;
    flex: 1 1 auto !important;
  }

  .service-steps__description-title {
    margin-bottom: 0.75rem !important;
    font-size: 1.125rem !important;
    line-height: 1.25 !important;
    overflow-wrap: anywhere !important;
  }

  .service-steps__description-text {
    font-size: 0.9375rem !important;
    line-height: 1.4 !important;
    overflow-wrap: anywhere !important;
  }

  .service-steps__columns {
    flex-direction: column !important;
    gap: 1rem !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  .service-steps__description_secondary {
    padding-top: 0 !important;
  }

  .service-steps__important-block,
  .service-steps__important-block.green-block {
    display: flex !important;
    flex-direction: column !important;
    gap: 0.75rem !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    padding: 1.25rem !important;
    border-radius: 0.5rem !important;
  }

  .service-steps__important-block p,
  .service-steps__important-block .service-steps__important-text,
  .service-steps__important-block.green-block .service-steps__important-text {
    max-width: 100% !important;
    font-size: 1rem !important;
    line-height: 1.45 !important;
    overflow-wrap: anywhere !important;
  }

  .service-steps__important-block .service-steps__important-text span,
  .service-steps__important-block .service-steps__important-text .text_mid,
  .service-steps__important-block.green-block .service-steps__important-text span,
  .service-steps__important-block.green-block .service-steps__important-text .text_mid {
    margin-bottom: 0.75rem !important;
    font-size: 0.875rem !important;
    line-height: 1.3 !important;
    letter-spacing: 0.06em !important;
  }

  .service-faq .faq__list,
  .service-faq .faq__item,
  .service-faq .faq__text,
  .service-faq .faq__answer,
  .service-faq .faq__answer-inner {
    max-width: 100% !important;
    min-width: 0 !important;
  }

  .service-faq .faq__text,
  .service-faq .faq__points-item {
    font-size: 0.9375rem !important;
    line-height: 1.4 !important;
    overflow-wrap: anywhere !important;
  }

  .breadcrumbs {
    padding-top: 0.75rem !important;
    padding-bottom: 0.75rem !important;
    overflow-x: hidden !important;
  }

  .breadcrumbs > .wrapper {
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  .breadcrumbs__nav {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .breadcrumbs__list {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .breadcrumbs__item {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: baseline !important;
    max-width: 100% !important;
    min-width: 0 !important;
    font-size: 0.8125rem !important;
    line-height: 1.35 !important;
  }

  .breadcrumbs__item:after {
    content: "—" !important;
    margin-left: 0.375rem !important;
    margin-right: 0.375rem !important;
    flex-shrink: 0 !important;
  }

  /* Скрываем только текущую страницу; тире между остальными оставляем */
  .breadcrumbs__item_current {
    display: none !important;
  }

  .breadcrumbs__item:has(+ .breadcrumbs__item_current)::after {
    display: none !important;
  }

  .breadcrumbs__link,
  .breadcrumbs__current {
    font-size: 0.8125rem !important;
    line-height: 1.35 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: break-word !important;
    max-width: 100% !important;
  }

  /* --- Contacts page --- */
  .section.contacts.contacts-page,
  .section.contacts-page,
  .contacts-page {
    padding-top: 2.5rem !important;
    padding-bottom: 2.5rem !important;
    overflow-x: clip !important;
  }

  .contacts-page__wrapper {
    max-width: 100% !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  .contacts-page__intro {
    margin-bottom: 1.75rem !important;
  }

  .contacts-page__intro-inner {
    gap: 1.25rem !important;
  }

  .contacts-page__title-h1 {
    max-width: 100% !important;
    font-size: 1.75rem !important;
    line-height: 1.15 !important;
    letter-spacing: -0.02em !important;
  }

  .contacts-page__hero-inner {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 1.25rem !important;
  }

  .contacts-page__hero-copy {
    max-width: 100% !important;
    flex: none !important;
    gap: 0.75rem !important;
  }

  .contacts-page__lead-h4 {
    max-width: 100% !important;
    font-size: 1.125rem !important;
    line-height: 1.25 !important;
    letter-spacing: 0.02em !important;
  }

  .contacts-page__consult-text {
    max-width: 100% !important;
    gap: 0.5rem !important;
  }

  .contacts-page__text {
    font-size: 1rem !important;
    line-height: 1.4 !important;
  }

  .contacts-page__text_empty {
    display: none !important;
  }

  .contacts-page__hero-actions {
    width: 100% !important;
    max-width: 100% !important;
    align-self: stretch !important;
    align-items: stretch !important;
    gap: 0.75rem !important;
  }

  .contacts-page__telegram-btn {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 3rem !important;
    height: auto !important;
    padding: 0.75rem 1.25rem !important;
    justify-content: center !important;
    gap: 0.75rem !important;
  }

  .contacts-page__telegram-icon {
    width: 1.75rem !important;
    height: 1.75rem !important;
  }

  .contacts-page__telegram-icon svg {
    width: 1.75rem !important;
    height: 1.75rem !important;
  }

  .contacts-page__guide-link {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 0 !important;
    padding: 0.75rem 0 !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 0.75rem !important;
  }

  .contacts-page__guide-icon {
    width: 1.75rem !important;
    height: 2.125rem !important;
  }

  .contacts-page__guide-icon svg {
    width: 1.5rem !important;
    height: 1.875rem !important;
  }

  .contacts-page__guide-text {
    max-width: none !important;
    font-size: 0.9375rem !important;
    line-height: 1.3 !important;
  }

  .contacts-page__guide-text br {
    display: none !important;
  }

  .contacts-page__cards {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    justify-content: stretch !important;
    gap: 0.75rem !important;
    margin-bottom: 1.25rem !important;
  }

  .contacts-page__card {
    min-height: 0 !important;
    height: 100% !important;
    gap: 1rem !important;
    padding: 1.25rem !important;
  }

  .contacts-page__card-title {
    font-size: 1rem !important;
    line-height: 1.2 !important;
  }

  .contacts-page__card-label {
    font-size: 0.875rem !important;
    line-height: 1.3 !important;
  }

  .contacts-page__card-value {
    font-size: 0.9375rem !important;
    line-height: 1.35 !important;
    word-break: break-word !important;
  }

  .contacts-page__card_time .contacts-page__time,
  .contacts-page__time {
    font-size: 1.375rem !important;
    line-height: 1 !important;
  }

  .contacts-page__status-slot {
    width: auto !important;
    min-height: 8.5rem !important;
    position: relative !important;
  }

  .contacts-page__status-slot .contacts-page__card {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
  }

  .contacts-page__card_status,
  .contacts-page__card_status_closed {
    gap: 1rem !important;
  }

  .contacts-page__status {
    font-size: 1.75rem !important;
    line-height: 1 !important;
  }

  .contacts-page__details {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 1rem !important;
    margin-bottom: 1.75rem !important;
  }

  .contacts-page__card_address {
    min-height: 0 !important;
    gap: 0.75rem !important;
  }

  .contacts-page__company {
    width: 100% !important;
    min-height: 0 !important;
    margin-top: 0 !important;
  }

  .contacts-page__company-name {
    width: 100% !important;
    font-size: 0.9375rem !important;
    line-height: 1.4 !important;
  }

  .contacts-page__company-meta {
    position: static !important;
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: baseline !important;
    gap: 0.5rem 1.25rem !important;
    width: 100% !important;
    height: auto !important;
    margin-top: 0.75rem !important;
  }

  .contacts-page__company-id,
  .contacts-page__company-id_inn,
  .contacts-page__company-id_ogrn {
    position: static !important;
    left: auto !important;
    width: auto !important;
    font-size: 1rem !important;
    line-height: 1.2 !important;
  }

  .contacts-page__map {
    border-radius: 0.5rem !important;
    margin-bottom: 0 !important;
  }

  .contacts-page__map::after {
    border-radius: 0.5rem !important;
  }

  .contacts-page__iframe {
    height: 16rem !important;
    border-radius: 0.5rem !important;
  }

  /* CTA на FAQ / контактах — тот же ритм, что service/blog */
  .section.cases-cta.cases-cta_faq,
  .cases-cta.cases-cta_faq {
    min-height: 0 !important;
    padding-top: 2.5rem !important;
    padding-bottom: 1.5rem !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    background: #f3f1ec !important;
  }

  .cases-cta_faq .cases-cta__bg {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    overflow: hidden !important;
  }

  .cases-cta_faq .cases-cta__img {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    object-fit: cover !important;
    object-position: center center !important;
    transform: none !important;
    filter: brightness(1.02) contrast(0.95) saturate(0.97) !important;
  }

  .cases-cta_faq .cases-cta__inner {
    gap: 1rem !important;
    min-height: 0 !important;
    justify-content: flex-start !important;
  }

  .cases-cta_faq .cases-cta__content_second {
    max-width: 100% !important;
  }

  .cases-cta_faq .cases-cta__title {
    margin: 0 0 0.75rem !important;
    font-size: 1.75rem !important;
    line-height: 1.1 !important;
    max-width: 100% !important;
  }

  .cases-cta_faq .cases-cta__subtitle,
  .cases-cta_faq .cases-cta__subtitle_second {
    max-width: 100% !important;
    margin-bottom: 1.25rem !important;
    font-size: 1rem !important;
    line-height: 1.4 !important;
  }

  .cases-cta_faq .cases-cta__btn {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: 2.75rem !important;
    height: auto !important;
    margin-bottom: 0.75rem !important;
  }

  .cases-cta_faq .cases-cta__note {
    max-width: 100% !important;
    margin: 0 !important;
    font-size: 0.8125rem !important;
    line-height: 1.35 !important;
  }

  /* --- Forms / request-form --- */
  .section.request-form,
  .section.request-form.form {
    padding-top: 2rem !important;
    padding-bottom: 2rem !important;
    overflow-x: clip !important;
  }

  .request-form > .wrapper,
  .request-form .wrapper.animation__wrapper {
    max-width: 100% !important;
    width: 100% !important;
    box-sizing: border-box !important;
    overflow-x: clip !important;
  }

  .request-form .section__header,
  .request-form__header {
    margin-bottom: 1.5rem !important;
  }

  h1.request-form__title.title-h2,
  .request-form__title {
    max-width: 100% !important;
    font-size: 1.75rem !important;
    line-height: 1.15 !important;
    letter-spacing: -0.02em !important;
    overflow-wrap: anywhere !important;
  }

  .request-form__wrapper {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 1.5rem !important;
    max-width: 100% !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  .request-form__aside,
  .request-form__steps-container {
    display: flex !important;
    flex-direction: column-reverse !important;
    gap: 1.25rem !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  .request-form__steps {
    width: 100% !important;
    max-width: 100% !important;
    gap: 1.5rem !important;
  }

  .request-form__steps-item {
    align-items: center !important;
    gap: 1rem !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  .request-form__steps-item::before {
    left: 1.375rem !important;
    top: calc(50% + 1.375rem) !important;
    height: calc(100% - 2.75rem + 1.5rem) !important;
  }

  .request-form__step-number {
    width: 2.75rem !important;
    height: 2.75rem !important;
    font-size: 1.25rem !important;
    line-height: 1 !important;
  }

  .request-form__step-title {
    min-width: 0 !important;
    padding-top: 0 !important;
    font-size: 1.125rem !important;
    line-height: 1.25 !important;
    letter-spacing: 0.02em !important;
    overflow-wrap: anywhere !important;
  }

  .request-form__privacy-card {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  .request-form__img {
    height: auto !important;
    aspect-ratio: 355 / 268 !important;
    max-width: 100% !important;
  }

  .request-form__privacy-quote {
    margin: 1.25rem 1rem 0 !important;
    padding: 0 !important;
    font-size: 1rem !important;
    line-height: 1.4 !important;
    overflow-wrap: anywhere !important;
  }

  .request-form__privacy-quote br {
    display: none !important;
  }

  .request-form__privacy-author {
    margin: 1rem 1rem 1.5rem !important;
    font-size: 0.875rem !important;
    line-height: 1.35 !important;
    overflow-wrap: anywhere !important;
  }

  .request-form__form-container,
  .request-form__form {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  .request-form__form {
    min-height: 0 !important;
    overflow: visible !important;
  }

  .request-form__form-field {
    min-width: 0 !important;
    max-width: 100% !important;
  }

  .request-form__form-legend {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 1.25rem 1rem !important;
    gap: 0.5rem !important;
    justify-content: flex-start !important;
    align-items: flex-start !important;
    flex-wrap: nowrap !important;
  }

  .request-form__form-legend-num {
    flex: 0 0 auto !important;
    width: auto !important;
    font-size: 1.25rem !important;
    line-height: 1.2 !important;
  }

  .request-form__form-legend-text {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    font-size: 1.25rem !important;
    line-height: 1.2 !important;
    overflow-wrap: anywhere !important;
  }

  .request-form__form-body,
  .request-form__form-body_step-2 {
    padding: 1.25rem 1rem 0 !important;
    gap: 1.25rem !important;
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  .request-form__item,
  .request-form__discovery,
  .form__item {
    min-width: 0 !important;
    max-width: 100% !important;
  }

  .form__input,
  .request-form .form__input {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 3rem !important;
    height: auto !important;
    font-size: 1rem !important;
  }

  .request-form .form__select,
  .request-form .select2-container {
    width: 100% !important;
    max-width: 100% !important;
  }

  .request-form .select2-container .select2-selection--single {
    min-height: 3rem !important;
    height: auto !important;
    box-sizing: border-box !important;
  }

  .request-form .select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 1.3 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }

  .request-form .select2-results__option {
    padding: 0.75rem 1rem !important;
    min-height: 2.75rem !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }

  .request-form__discovery-label,
  .request-form .form__label.form__label_lg {
    max-width: 100% !important;
    font-size: 1rem !important;
    line-height: 1.35 !important;
    overflow-wrap: anywhere !important;
  }

  .form__checkboxes,
  .request-form__checkboxes {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  .form__checkbox,
  .form__radio,
  .request-form__checkboxes .form__checkbox,
  .request-form .marbot .form__checkbox {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    align-items: flex-start !important;
    gap: 0.75rem !important;
  }

  .form__checkbox-mark,
  .request-form__checkboxes .form__checkbox-mark,
  .form__checkbox-mark.sm {
    flex-shrink: 0 !important;
    margin-top: 0.125rem !important;
  }

  .form__checkbox-text,
  .request-form__checkboxes .form__checkbox-text,
  .request-form .form__checkbox-text.sm,
  span.form__checkbox-text.sm {
    min-width: 0 !important;
    max-width: 100% !important;
    flex: 1 1 auto !important;
    font-size: 0.9375rem !important;
    line-height: 1.35 !important;
    overflow-wrap: anywhere !important;
    word-break: break-word !important;
    white-space: normal !important;
  }

  .request-form__control,
  .form__control,
  .form__textarea-wrapper,
  .form__upload-wrapper,
  .form__upload {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  .request-form__textarea.form__textarea-custom,
  .form__textarea-custom {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  .form__upload-label {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  .form__upload-text,
  .form__upload-hint {
    overflow-wrap: anywhere !important;
  }

  .form__name-file {
    max-width: 100% !important;
  }

  .request-form__actions,
  .request-form__actions_step-2 {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 0.75rem !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .request-form__actions .btn,
  .request-form__actions button,
  .request-form__actions .request-form__btn {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: 3rem !important;
    box-sizing: border-box !important;
  }

  .request-form__meta {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 1.25rem 1rem 1.5rem !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 0.75rem !important;
    overflow: visible !important;
  }

  .request-form__report-wrapper {
    max-width: 100% !important;
    flex-wrap: wrap !important;
  }

  .request-form__report,
  .request-form__meta .request-form__report.link {
    max-width: 100% !important;
    overflow-wrap: anywhere !important;
  }

  .request-form__tooltip-wrapper {
    right: auto !important;
    left: 0 !important;
    max-width: calc(100vw - 2rem) !important;
    width: min(20rem, calc(100vw - 2rem)) !important;
  }

  .request-form__tooltip-text {
    font-size: 0.9375rem !important;
    line-height: 1.4 !important;
    overflow-wrap: anywhere !important;
  }

  .section.request-form-facts,
  .request-form-facts {
    padding-top: 1.5rem !important;
    padding-bottom: 2rem !important;
    overflow-x: clip !important;
  }

  .request-form-facts__cards,
  .request-form-facts .main-about__number-cards {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0.75rem !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .request-form-facts .main-about__number-item {
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    padding: 1rem 0.75rem !important;
  }

  .request-form-facts .main-about__number-title,
  .request-form-facts .title-h3.main-about__number-title {
    font-size: 1.5rem !important;
    line-height: 1 !important;
  }

  .request-form-facts .main-about__number-text {
    font-size: 0.8125rem !important;
    line-height: 1.35 !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
    hyphens: manual !important;
  }

  /* --- FAQ / content --- */
  .faq__btn-toggler,
  .faq-page .faq__btn-toggler {
    min-height: 3rem !important;
  }

  .popup__close {
    width: 2.75rem !important;
    height: 2.75rem !important;
  }

  /* ========== FOOTER: compact mobile (logo / social / 2 links / disclaimer) ========== */
  .footer {
    padding-top: 2rem !important;
    padding-bottom: 5.25rem !important;
    overflow-x: clip !important;
    min-height: 0 !important;
  }

  .footer__inner {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    gap: 1rem !important;
    max-width: 100% !important;
  }

  /* Убираем лишние колонки и меню — только компакт */
  .footer__col_logo .fmen,
  .footer__col_social .fmen,
  .footer__col_contacts,
  .footer__col_legal {
    display: none !important;
  }

  .footer__col_logo,
  .footer__col_social {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 0.875rem !important;
  }

  .footer__logo-link img {
    width: 120px !important;
    height: auto !important;
  }

  .minisoc_icons {
    gap: 0.5rem !important;
  }

  .minisoc_icons .icons_item,
  .minisoc_icons .icons_item a {
    width: 2.5rem !important;
    height: 2.5rem !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
  }

  .minisoc_icons .icons_item svg {
    width: 1.5rem !important;
    height: 1.5rem !important;
  }

  .footer__mobile-links {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
    width: 100% !important;
    margin: 0.25rem 0 0 !important;
    border-top: 1px solid rgba(255, 255, 255, 0.12) !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12) !important;
  }

  .footer__mobile-link {
    display: flex !important;
    align-items: center;
    min-height: 3rem !important;
    padding: 0.75rem 0 !important;
    font-size: 1rem !important;
    font-weight: 500 !important;
    line-height: 1.3 !important;
    color: #fff !important;
    text-decoration: none !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
  }

  .footer__mobile-link:last-child {
    border-bottom: none !important;
  }

  .lawdesk {
    max-width: 100% !important;
    margin: 0.25rem 0 0 !important;
    font-size: 0.625rem !important;
    line-height: 1.35 !important;
    opacity: 0.45 !important;
    min-height: 0 !important;
  }

  /* --- Overlays --- */
  /* FAB/карточка с роботом на mobile не нужна — кнопка в шапке */
  .ai-helper {
    display: none !important;
  }

  .cookie-banner {
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
  }

  .cookie-banner__inner {
    max-width: none !important;
    border-radius: 0 !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0.75rem !important;
    padding: 1rem !important;
    padding-bottom: calc(1rem + env(safe-area-inset-bottom, 0px)) !important;
  }

  .cookie-banner__accept {
    width: 100% !important;
    min-height: 2.75rem !important;
  }


  /* =========================================================
     ЕДИНЫЙ ЗАЗОР content → CTA
     (ВиО / контакты / услуги / кейсы / блог)
     Белый отступ = padding-bottom предыдущей секции (2.5rem).
     Внутренний верх CTA = padding-top 2.5rem.
     ========================================================= */
  .section.faq,
  .section.faq.faq-page,
  .section.faq.service-faq,
  .section.faq.faq-page.service-faq,
  .section.section_last.faq,
  .section.section_last.faq.faq-page,
  .section.contacts.contacts-page,
  .section.contacts-page,
  .contacts-page,
  .section.cases-footer,
  .section.blog-content,
  .blog-content {
    padding-bottom: 2.5rem !important;
  }

  .contacts-page__spacer,
  .service-cta-spacer {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .section.cases-cta,
  .cases-cta,
  .section.cases-cta.cases-cta_faq,
  .cases-cta.cases-cta_faq,
  .section.cases-cta.cases-cta_service,
  .cases-cta.cases-cta_service,
  .section.cases-cta.cases-cta_blog,
  .cases-cta.cases-cta_blog {
    margin-top: 0 !important;
    padding-top: 2.5rem !important;
  }
}


/* =========================================================
   PHONE ≤650
   ========================================================= */
@media (max-width: 650px) {
  .promo-slider__title {
    font-size: 2.25rem !important;
    margin-bottom: 2rem !important;
  }

  .promo-slider__text {
    font-size: 0.9375rem !important;
    line-height: 120% !important;
    margin-bottom: 1.25rem !important;
  }

  .case-hero__title,
  .case-hero .title-h2.case-hero__title {
    font-size: 1.5rem !important;
  }

  .case-hero .case-section__lead,
  .case-hero .case-section__lead.text_mid,
  .case-section__lead {
    font-size: 1rem !important;
  }

  .case-section__title,
  .case-section .title-h2.case-section__title {
    font-size: 1.375rem !important;
  }

  .section.case-section,
  .case-section,
  .section.case-adaptation,
  .case-adaptation,
  .section.case-outro,
  .case-outro {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
  }

  .case-hero .case-hero__header + .case-section__lead,
  .case-hero .case-section__lead + .case-hero__media,
  .case-hero .case-hero__header + .case-hero__media {
    margin-top: 0.875rem !important;
  }

  .case-section .animation__wrapper,
  .case-adaptation__grid {
    gap: 1rem !important;
  }

  .case-adaptation__grid {
    margin-top: 1rem !important;
  }

  .main-about__number-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0.625rem !important;
  }

  .main-about__number-item {
    padding: 0.875rem 0.75rem !important;
  }

  .main-about__number-title,
  p.title-h3.main-about__number-title,
  h3.title-h3.main-about__number-title,
  h3.title-h3.title-h3_white.main-about__number-title {
    font-size: 1.625rem !important;
  }

  .main-about__lead {
    font-size: 1.125rem !important;
  }

  .main-stages__title,
  h2.title-h2.main-stages__title {
    font-size: 1.5rem !important;
  }

  .main-stages__stage-num {
    font-size: 1.375rem !important;
  }

  .main-stages__timeline-title {
    font-size: 1.0625rem !important;
  }

  .main-news__title,
  h2.title-h2.main-news__title {
    font-size: 1.5rem !important;
  }

  .main-news__item-title {
    font-size: 1.0625rem !important;
  }

  .main-about__img-second {
    border-radius: 0.5rem !important;
  }
}

/* =========================================================
   ABOUT PAGE — intro stats + team (≤1024)
   ========================================================= */
@media (max-width: 1024px) {
  /* --- about-intro --- */
  .section.about-intro.animation,
  .section.about-intro {
    overflow-x: clip !important;
    padding-top: 2.5rem !important;
    padding-bottom: 2rem !important;
  }

  .about-intro .animation__wrapper {
    display: flex !important;
    flex-direction: column !important;
    gap: 1.5rem !important;
    max-width: 100% !important;
    overflow-x: clip !important;
  }

  .about-intro__header {
    margin: 0 !important;
  }

  .about-intro__header-title {
    margin: 0 !important;
    font-size: 1.75rem !important;
    line-height: 1.15 !important;
  }

  .about-intro__lead {
    margin: 0 !important;
    max-width: 100% !important;
    font-size: 1rem !important;
    line-height: 1.45 !important;
  }

  .about-intro__hero {
    margin: 0 !important;
    border-radius: 8px !important;
    overflow: hidden !important;
  }

  .about-intro__hero-img {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 16 / 10 !important;
    object-fit: cover !important;
    border-radius: 8px !important;
  }

  .about-intro__content {
    display: flex !important;
    flex-direction: column !important;
    gap: 1.5rem !important;
    width: 100% !important;
  }

  .about-intro__text-col {
    width: 100% !important;
    gap: 1.5rem !important;
  }

  .about-intro__text-block {
    gap: 0.75rem !important;
    min-height: 0 !important;
  }

  .about-intro__text-block:nth-child(1),
  .about-intro__text-block:nth-child(2) {
    min-height: 0 !important;
  }

  .about-intro__title-h2 {
    font-size: 1.25rem !important;
    line-height: 1.2 !important;
  }

  .about-intro__text {
    font-size: 0.9375rem !important;
    line-height: 1.45 !important;
  }

  /* Stats: 2×2 cards like main-about metrics */
  .about-intro__stats {
    list-style: none !important;
    position: static !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0.75rem !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .about-intro__stats-col,
  .about-intro__stats-col_left,
  .about-intro__stats-col_right {
    list-style: none !important;
    position: static !important;
    display: contents !important;
    width: auto !important;
    height: auto !important;
    left: auto !important;
    top: auto !important;
    gap: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .about-intro__stat-item,
  .about-intro__stat-item_docs,
  .about-intro__stat-item_people,
  .about-intro__stat-item_shield,
  .about-intro__stat-item_family {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 0.75rem !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 1rem 0.875rem !important;
    background: #f8f8f8 !important;
    border-radius: 8px !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }

  .about-intro__stat-icon {
    width: 2.75rem !important;
    height: 2.75rem !important;
    border-radius: 8px !important;
    background: #fff !important;
  }

  .about-intro__stat-icon-img,
  .about-intro__stat-icon-img_docs,
  .about-intro__stat-icon-img_shield,
  .about-intro__stat-icon-img_family,
  .about-intro__stat-icon-img_people {
    width: 1.5rem !important;
    height: 1.5rem !important;
  }

  .about-intro__stat-body,
  .about-intro__stat-item_docs .about-intro__stat-body,
  .about-intro__stat-item_people .about-intro__stat-body,
  .about-intro__stat-item_shield .about-intro__stat-body,
  .about-intro__stat-item_family .about-intro__stat-body {
    display: flex !important;
    flex-direction: column !important;
    gap: 0.5rem !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-width: 0 !important;
  }

  .about-intro__stat-value,
  h3.about-intro__stat-value {
    margin: 0 !important;
    font-size: 1.75rem !important;
    line-height: 1 !important;
    letter-spacing: 0.02em !important;
  }

  .about-intro__stat-label,
  .about-intro__stat-item_docs .about-intro__stat-label,
  .about-intro__stat-item_people .about-intro__stat-label,
  .about-intro__stat-item_shield .about-intro__stat-label,
  .about-intro__stat-item_family .about-intro__stat-label {
    margin: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    font-size: 0.8125rem !important;
    line-height: 1.3 !important;
  }

  /* --- about-team --- */
  .section.about-team.animation,
  .section.about-team {
    overflow-x: clip !important;
    overflow-y: visible !important;
    padding-top: 2.5rem !important;
    padding-bottom: 2rem !important;
  }

  .about-team::after {
    display: none !important;
    content: none !important;
    height: 0 !important;
  }

  .about-team .animation__wrapper,
  .about-team > .wrapper {
    overflow: visible !important;
    max-width: 100% !important;
  }

  .about-team__header {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 0.75rem !important;
    margin-bottom: 1.25rem !important;
  }

  .about-team__title,
  h2.title-h2.about-team__title {
    margin: 0 !important;
    font-size: 1.75rem !important;
    line-height: 1.15 !important;
    min-width: 0 !important;
  }

  .about-team__controls.slider-nav {
    display: flex !important;
    flex-shrink: 0 !important;
    gap: 0.5rem !important;
  }

  .about-team__nav,
  .about-team__nav.slider-nav__arrow {
    width: 2.75rem !important;
    height: 2.75rem !important;
    min-width: 2.75rem !important;
    min-height: 2.75rem !important;
  }

  .about-team__slider {
    display: block !important;
    margin: 0 0 1rem !important;
    max-width: 100% !important;
    width: 100% !important;
    overflow: hidden !important;
  }

  .about-team__slider.is-static {
    display: block !important;
  }

  .about-team__slider .slick-list {
    margin: 0 !important;
    overflow: hidden !important;
  }

  .about-team__slider .slick-track {
    display: flex !important;
    align-items: stretch !important;
  }

  .about-team__slider .slick-slide {
    height: auto !important;
    float: none !important;
  }

  .about-team__slider .slick-slide > div {
    padding-left: 0 !important;
    padding-right: 0 !important;
    height: 100% !important;
  }

  /* Слайд на всю ширину (свайп как у остальных), фото — прежний размер по центру */
  .about-team__slide {
    width: 100% !important;
    max-width: 100% !important;
    height: 22.5rem !important; /* 360px */
    max-height: 22.5rem !important;
    aspect-ratio: auto !important;
    flex: none !important;
    border-radius: 0 !important;
    overflow: visible !important;
    background: transparent !important;
    margin: 0 !important;
    display: flex !important;
    justify-content: center !important;
    align-items: stretch !important;
  }

  .about-team__item_photo {
    position: relative !important;
    width: 16.875rem !important; /* 270px */
    max-width: 16.875rem !important;
    height: 22.5rem !important;
    min-height: 0 !important;
    flex: none !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    background: #f8f8f8 !important;
  }

  .about-team__img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center top !important;
    border-radius: 8px !important;
    -webkit-user-drag: none !important;
    user-select: none !important;
    pointer-events: none !important;
  }

  .about-team__caption {
    left: 1rem !important;
    right: 1rem !important;
    bottom: 1rem !important;
    width: auto !important;
    max-width: none !important;
    gap: 0.375rem !important;
    pointer-events: none !important;
  }

  .about-team__name-wrap {
    width: auto !important;
    max-width: 100% !important;
    gap: 0.125rem !important;
  }

  .about-team__name {
    font-size: 1.125rem !important;
    line-height: 1.2 !important;
  }

  .about-team__role {
    font-size: 0.8125rem !important;
    line-height: 1.3 !important;
  }

  .about-team__pagination {
    display: flex !important;
    justify-content: center !important;
    margin-top: 0.75rem !important;
    max-height: none !important;
    overflow: visible !important;
  }
}

@media (max-width: 650px) {
  .about-intro__header-title {
    font-size: 1.75rem !important;
  }

  .about-intro__stat-value,
  h3.about-intro__stat-value {
    font-size: 1.625rem !important;
  }

  .about-intro__stat-label {
    font-size: 0.75rem !important;
  }

  .about-team__title,
  h2.title-h2.about-team__title {
    font-size: 1.5rem !important;
  }

  .about-team__slide {
    height: 20rem !important; /* 320px */
    max-height: 20rem !important;
  }

  .about-team__item_photo {
    width: 15rem !important; /* 240px */
    max-width: 15rem !important;
    height: 20rem !important;
  }

  .about-team__name {
    font-size: 1rem !important;
  }

  .about-team__role {
    font-size: 0.75rem !important;
  }

  .services-compare__title,
  h2.title-h2.services-compare__title {
    font-size: 1.375rem !important;
  }

  .services-compare__grid.js-services-compare {
    max-width: 20rem !important;
  }

  .services-compare__slide {
    max-width: 20rem !important;
    min-height: 20rem !important;
  }

  .services-compare__card,
  .services-compare__card_alone,
  .services-compare__card_help {
    min-height: 20rem !important;
  }

  .cases-cta_service .cases-cta__title,
  .cases-cta_blog .cases-cta__title {
    font-size: 1.5rem !important;
  }

  .section.cases-cta.cases-cta_service,
  .cases-cta.cases-cta_service,
  .section.cases-cta.cases-cta_blog,
  .cases-cta.cases-cta_blog,
  .section.cases-cta.cases-cta_faq,
  .cases-cta.cases-cta_faq,
  .section.cases-cta,
  .cases-cta {
    padding-top: 2rem !important;
    padding-bottom: 1.25rem !important;
  }

  .section.faq,
  .section.faq.faq-page,
  .section.faq.service-faq,
  .section.contacts.contacts-page,
  .contacts-page,
  .section.cases-footer,
  .section.blog-content,
  .blog-content {
    padding-bottom: 2rem !important;
  }

  .contacts-page__title-h1 {
    font-size: 1.625rem !important;
  }

  .contacts-page__lead-h4 {
    font-size: 1.0625rem !important;
  }

  .contacts-page__cards {
    gap: 0.625rem !important;
  }

  .contacts-page__card {
    padding: 1rem !important;
    gap: 0.75rem !important;
  }

  .contacts-page__status-slot {
    min-height: 7.5rem !important;
  }

  .contacts-page__status {
    font-size: 1.5rem !important;
  }

  .contacts-page__iframe {
    height: 14rem !important;
  }

  .cases-cta_faq .cases-cta__title {
    font-size: 1.5rem !important;
  }

  h1.request-form__title.title-h2,
  .request-form__title {
    font-size: 1.625rem !important;
  }

  .request-form__form-legend-num,
  .request-form__form-legend-text {
    font-size: 1.125rem !important;
  }

  .request-form__step-title {
    font-size: 1rem !important;
  }

  .request-form-facts__cards,
  .request-form-facts .main-about__number-cards {
    gap: 0.625rem !important;
  }

  .section__header.service-intro__header .title-h1,
  .section__header.service-intro__header .title-h2,
  .service-intro__header .title-h2 {
    font-size: 1.5rem !important;
  }

  .service-details__title,
  .service-steps__title-h4,
  .service-intro__title-h4 {
    font-size: 1.375rem !important;
  }

  .service-steps__number,
  p.title-h2.service-steps__number {
    font-size: 1.75rem !important;
    min-width: 2.25rem !important;
  }
}

/* =========================================================
   SMALL PHONE ≤480 — kill vw font from main.css
   ========================================================= */
@media (max-width: 480px) {
  html.page,
  .page {
    font-size: 16px !important;
  }

  .page-header__logo {
    width: 4.5rem !important;
  }

  .page-header__language {
    width: 4.25rem !important;
    min-width: 4.25rem !important;
    max-width: 4.25rem !important;
    margin-left: auto !important;
  }

  .cookie-banner__text {
    font-size: 0.875rem !important;
  }
}
