/* Mobile adaptations — дополняет основные стили */

html,
body {
  overflow-x: clip;
}

@media (max-width: 1024px) {
  ._topRow_brwrw_23 {
    gap: 32px;
  }

  ._card_brwrw_9 {
    gap: 36px;
  }

  ._right_brwrw_89 {
    width: 100%;
    min-height: auto;
  }

  ._logoWrap_brwrw_113 {
    width: 100%;
    max-width: 360px;
    margin-inline: auto;
  }

  ._header_zg1nu_11 {
    margin-bottom: 36px;
  }

  ._title_zg1nu_39 {
    font-size: 40px;
  }

  ._contactBlock_1u7up_11 {
    gap: 36px;
    padding: 36px;
  }
}

@media (max-width: 768px) {
  ._section_brwrw_1,
  ._section_k82nc_1,
  ._section_zg1nu_1 {
    padding-block: 48px;
  }

  ._section_1u7up_1 {
    padding-block: 48px;
    padding-bottom: 72px;
  }

  /* Hero: логотип сверху, текст ниже */
  ._topRow_brwrw_23 {
    display: flex;
    flex-direction: column;
    gap: 28px;
  }

  ._right_brwrw_89 {
    order: -1;
    align-items: center;
    width: 100%;
  }

  ._left_brwrw_37 {
    max-width: 100%;
  }

  ._bio_brwrw_75 {
    max-width: 100%;
  }

  ._card_brwrw_9 {
    gap: 28px;
  }

  ._logoWrap_brwrw_113 {
    height: 300px;
    overflow: hidden;
  }

  ._logoImage_brwrw_131 {
    height: 300px;
    transform: translate(-50%, -50%) scale(1.2);
  }

  ._value_mm711_15 {
    font-size: 34px;
  }

  ._statsRow_brwrw_169 {
    gap: 20px;
    padding-top: 24px;
  }

  /* Проекты */
  ._header_zg1nu_11 {
    gap: 20px;
    margin-bottom: 28px;
    align-items: flex-start;
  }

  ._title_zg1nu_39 {
    font-size: 34px;
  }

  ._description_zg1nu_61,
  ._headerCta_zg1nu_71 {
    align-self: flex-start;
  }

  ._grid_zg1nu_81 {
    gap: 16px;
  }

  ._scrollHint_zg1nu_187 {
    margin-top: 32px;
    text-align: center;
    max-width: 100%;
    font-size: 10px;
    letter-spacing: 0.1em;
    white-space: normal;
    line-height: 1.5;
  }

  /* Процесс — одна колонка, без сетки границ 2×2 */
  ._card_b86b0_1:nth-child(odd) {
    border-right: none !important;
  }

  ._card_b86b0_1:nth-child(-n + 2) {
    border-bottom: none !important;
  }

  ._card_b86b0_1:not(:last-child) {
    border-bottom: 1px solid var(--border-light);
  }

  ._introRow_k82nc_9 {
    margin-bottom: 28px;
  }

  ._ctas_k82nc_65 {
    width: 100%;
  }

  ._ctas_k82nc_65 ._button_9jw1i_1 {
    max-width: 100%;
  }

  /* Контакты */
  ._contactBlock_1u7up_11 {
    gap: 28px;
    padding: 24px;
  }

  ._contactLeft_1u7up_31 {
    width: 100%;
  }

  ._infoRow_1u7up_87 {
    gap: 12px;
    padding-block: 16px;
  }

  /* Кнопки на всю ширину при необходимости */
  ._button_9jw1i_1 {
    max-width: 100%;
  }
}

@media (max-width: 480px) {
  :root {
    --container-padding: 16px;
    --section-padding: 48px;
  }

  ._headline_brwrw_53 {
    font-size: 32px;
    line-height: 1.12;
  }

  ._title_k82nc_31,
  ._title_zg1nu_39 {
    font-size: 30px;
  }

  ._contactTitle_1u7up_45 {
    font-size: 28px;
  }

  ._card_brwrw_9 {
    padding: 20px;
    gap: 24px;
  }

  ._logoWrap_brwrw_113 {
    height: 240px;
  }

  ._logoImage_brwrw_131 {
    height: 240px;
    transform: translate(-50%, -50%) scale(1.05);
  }

  ._card_1gdhh_1 {
    min-height: auto;
    padding: 20px;
  }

  ._value_mm711_15 {
    font-size: 28px;
  }

  ._label_mm711_27 {
    font-size: 9px;
    letter-spacing: 0.12em;
  }

  ._title_1yjca_65 {
    font-size: 20px;
  }

  ._mockup_1yjca_25 {
    height: 160px;
  }

  ._card_1yjca_1 {
    padding: 16px;
    gap: 16px;
    border-radius: 16px;
  }

  ._card_b86b0_1 {
    padding: 20px 16px;
  }

  ._contactBlock_1u7up_11 {
    padding: 20px;
    border-radius: 20px;
  }

  ._rowValue_1u7up_135 {
    font-size: 14px;
    word-break: break-word;
  }

  ._section_1u7up_1 {
    padding-bottom: 56px;
  }

  .glass-card {
    border-radius: 20px;
  }
}

@media (max-width: 390px) {
  ._headline_brwrw_53 {
    font-size: 28px;
  }

  ._title_k82nc_31,
  ._title_zg1nu_39 {
    font-size: 26px;
  }

  ._contactTitle_1u7up_45 {
    font-size: 24px;
  }

  ._button_9jw1i_1 {
    font-size: 10px;
    letter-spacing: 0.1em;
    padding-inline-start: 16px;
  }

  ._primary_9jw1i_137 {
    padding: 9px 9px 9px 16px;
  }

  ._outline_9jw1i_207 {
    padding: 8px 8px 8px 14px;
  }
}
