/* =================================================================
   about.css — страница «О компании» (новый дизайн из Figma)
   Контейнер 1200px, gap между секциями 150px.
   Токены: h2 Montserrat Medium 36px, text PT Sans 18px, caption 16px,
   h5 Golos 24px. orange #EC5800, blue #708DD0, black #2D2E32,
   gray #747474, card #EEEEEE, blue_gray #ABB9D7, lightgray #B4B4B4.
   ================================================================= */

.ab2 { overflow-x: hidden; }

/* Вертикальный ритм: 150px между секциями (как в Figma) */
.ab2 > section { margin-top: 150px; }
.ab2 > .ab2-hero { margin-top: 0; }   /* спецификность выше, чтобы перебить 150px */
.ab2-hero { padding-top: 40px; }

/* Общий заголовок секции (Montserrat Medium 36px) */
.ab2-mission__heading,
.ab2-company__heading,
.ab2-products__heading,
.ab2-tech__heading,
.ab2-industry__heading,
.ab2-partner__heading,
.ab2-team__heading {
  font-family: var(--font-montserrat);
  font-weight: var(--fw-medium);
  font-size: clamp(28px, 3.4vw, 36px);
  line-height: var(--lh-heading);
  color: var(--color-black);
  margin: 0;
}


/* ===================== MAINSCREEN ===================== */

.ab2-hero__badge { margin-bottom: 50px; }

/* Крупные бейджи (hero, tech) в Figma — ЗАГЛАВНЫМИ (h5_uppercase) */
.ab2-hero__badge .starlline__label,
.ab2-tech__stage .starlline__label {
  text-transform: uppercase;
}
.ab2-hero__row {
  display: flex;
  gap: 60px;
  align-items: flex-start;
}
.ab2-hero__title {
  flex: 1 1 660px;
  font-family: var(--font-montserrat);
  font-weight: var(--fw-medium);
  font-size: clamp(30px, 3.4vw, 42px);
  line-height: 1.15;
  color: var(--color-black);
  margin: 0;
}
.ab2-hero__right {
  flex: 0 1 480px;
  display: flex;
  flex-direction: column;
  gap: 50px;
  padding-top: 8px;
}
.ab2-hero__desc {
  font-family: var(--font-pt-sans);
  font-size: var(--fs-text);
  line-height: var(--lh-body);
  color: var(--color-black);
  margin: 0;
}
.ab2-hero__links {
  display: flex;
  flex-wrap: wrap;
  gap: 50px;
}

/* Текстовая ссылка-стрелка (uppercase) */
.ab2-link {
  display: inline-flex;
  align-items: center;
  gap: 15px;
  text-decoration: none;
  font-family: var(--font-pt-sans);
  font-size: var(--fs-caption);
  text-transform: uppercase;
  letter-spacing: 0.03em;
  transition: gap var(--transition-fast);
}
.ab2-link--orange { color: var(--color-orange); }
.ab2-link--blue   { color: var(--color-blue); }
.ab2-link__arrow {
  width: 30px;
  height: 30px;
  flex-shrink: 0;
  background-color: currentColor;   /* стрелка цвета ссылки (оранж/синяя) */
  -webkit-mask: url('../assets/icons/ic_arrow_forward_thin.svg') center / contain no-repeat;
  mask: url('../assets/icons/ic_arrow_forward_thin.svg') center / contain no-repeat;
  transition: transform 0.25s ease;
}
/* при ховере стрелка приближается к тексту */
.ab2-link:hover .ab2-link__arrow { transform: translateX(-8px); }


/* ===================== SOLUTIONS (3 cards) ===================== */

.ab2-solutions__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
}
.ab2-scard {
  display: flex;
  flex-direction: column;
  background: #EEEEEE;
  border-radius: 5px;
  padding: 40px 30px;
  text-decoration: none;
  min-height: 380px;
  transition: background var(--transition-fast);
}
.ab2-scard__title {
  font-family: var(--font-golos);
  font-weight: var(--fw-medium);
  font-size: var(--fs-h5);
  line-height: var(--lh-subheading);
  color: var(--color-black);
  margin: 0;
}
.ab2-scard__line {
  display: block;
  height: 1px;
  background: #C9C9C9;
  margin: 20px 0 24px;
}
.ab2-scard__desc {
  font-family: var(--font-pt-sans);
  font-size: var(--fs-caption);
  line-height: var(--lh-body);
  color: var(--color-gray);
  margin: 0 0 auto;
}
.ab2-scard__more {
  display: inline-flex;
  align-items: center;
  gap: 15px;
  margin-top: 40px;
  font-family: var(--font-pt-sans);
  font-size: var(--fs-caption);
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: var(--color-blue);
}
.ab2-scard__more::after {
  content: "";
  width: 30px;
  height: 30px;
  background-color: currentColor;   /* синяя стрелка под цвет ссылки */
  -webkit-mask: url('../assets/icons/ic_arrow_forward_thin.svg') center / contain no-repeat;
  mask: url('../assets/icons/ic_arrow_forward_thin.svg') center / contain no-repeat;
  transition: transform 0.25s ease;
}
.ab2-scard:hover .ab2-scard__more::after { transform: translateX(-8px); }


/* ===================== MISSION ===================== */

.ab2-mission__row {
  display: flex;
  justify-content: space-between;
  gap: 60px;
}
.ab2-mission__heading { flex: 0 0 auto; }
.ab2-mission__quote {
  flex: 0 1 720px;
  margin: 0;
  border-top: 1px solid var(--color-blue);
  border-bottom: 1px solid var(--color-blue);
  padding: 40px 0;
}
.ab2-mission__text {
  font-family: var(--font-pt-sans);
  font-size: var(--fs-text);
  line-height: var(--lh-body);
  color: var(--color-black);
  margin: 0 0 30px;
}
.ab2-mission__author {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.ab2-mission__name {
  font-family: var(--font-golos);
  font-size: var(--fs-h5);
  color: var(--color-black);
}
.ab2-mission__role {
  font-family: var(--font-pt-sans);
  font-size: var(--fs-text);
  color: var(--color-gray);
}


/* ===================== ABOUT PPJ ===================== */

.ab2-company__body {
  display: flex;
  gap: 30px;
  align-items: flex-start;
  margin-top: 50px;
}
.ab2-company__img {
  flex: 0 0 585px;
  height: 373px;
  border-radius: 5px;
  overflow: hidden;
}
.ab2-company__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.ab2-company__desc {
  flex: 1 1 auto;
  font-family: var(--font-pt-sans);
  font-size: var(--fs-text);
  line-height: var(--lh-body);
  color: var(--color-black);
  margin: 0;
}


/* ===================== PRODUCTS (tabs) ===================== */

.ab2-products__wrap {
  display: flex;
  gap: 50px;
  margin-top: 50px;
  border-top: 1px solid #ABB9D7;
  border-bottom: 1px solid #ABB9D7;
}
.ab2-products__tabs {
  flex: 0 0 250px;
  display: flex;
  flex-direction: column;
  gap: 20px;
  padding: 30px 10px 30px 0;
  border-right: 1px solid #ABB9D7;
}
.ab2-products__tab {
  display: flex;
  align-items: center;
  gap: 10px;
  background: none;
  border: none;
  cursor: pointer;
  text-align: left;
  padding: 0;
  font-family: var(--font-pt-sans);
  font-size: var(--fs-caption);
  color: var(--color-gray);
  transition: color var(--transition-fast);
}
.ab2-products__tab-icon {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  opacity: 0.35;
  transition: opacity var(--transition-fast);
}
.ab2-products__tab.is-active { color: var(--color-blue); }
.ab2-products__tab.is-active .ab2-products__tab-icon { opacity: 1; color: var(--color-blue); }
.ab2-products__tab:hover { color: var(--color-blue); }

.ab2-products__panels { flex: 1 1 auto; padding: 30px 0; min-width: 0; }
.ab2-products__panel { display: none; }
.ab2-products__panel.is-active {
  display: flex;
  flex-direction: column;
  gap: 30px;
}
.ab2-products__panel-title {
  font-family: var(--font-golos);
  font-size: var(--fs-h5);
  color: var(--color-black);
  margin: 0;
}
.ab2-products__panel-text {
  font-family: var(--font-pt-sans);
  font-size: var(--fs-text);
  line-height: var(--lh-body);
  color: var(--color-black);
  margin: 0;
}
.ab2-products__img {
  width: 100%;
  max-width: 900px;
  height: auto;
  border: 1px solid #EEEEEE;
  border-radius: 5px;
  display: block;
}


/* ===================== TECH (diagnosis slider) ===================== */

.ab2-tech__row {
  display: flex;
  gap: 125px;
  align-items: flex-start;
}
.ab2-tech__heading { flex: 0 0 395px; }
.ab2-tech__slider {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  gap: 20px;
  min-width: 0;
}
.ab2-tech__top {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.ab2-tech__counter {
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 15px 0;
}
.ab2-tech__btn {
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
  line-height: 0;
}
.ab2-tech__btn img {
  filter: grayscale(1) brightness(0.65);
  transition: filter var(--transition-fast);
}
.ab2-tech__btn:not(:disabled):hover img {
  filter: brightness(0) saturate(100%) invert(56%) sepia(30%) saturate(760%) hue-rotate(196deg) brightness(97%);
}
.ab2-tech__btn:disabled { display: none; }
.ab2-tech__arrow-rev { transform: scaleX(-1); }
.ab2-tech__num {
  font-family: var(--font-golos);
  font-size: var(--fs-h5);
  color: var(--color-gray);
  transition: color var(--transition-fast);
}
.ab2-tech__counter:hover .ab2-tech__num {
  color: var(--color-blue);
}
.ab2-tech__slide { display: none; flex-direction: column; gap: 20px; }
.ab2-tech__slide.is-active { display: flex; animation: ab2fade 0.3s ease both; }
@keyframes ab2fade { from { opacity: 0; } to { opacity: 1; } }
.ab2-tech__desc {
  font-family: var(--font-pt-sans);
  font-size: var(--fs-text);
  line-height: var(--lh-body);
  color: #000;
  margin: 0;
}
.ab2-tech__pic {
  width: 100%;
  max-width: 681px;
  height: auto;
  align-self: center;
  display: block;
}


/* ===================== INDUSTRY (chart + accordion) ===================== */

.ab2-industry__heading { max-width: 710px; }
.ab2-industry__row {
  display: flex;
  gap: 30px;
  align-items: flex-start;
  margin-top: 50px;
}
.ab2-industry__chart { flex: 0 0 585px; }
.ab2-industry__chart img { width: 100%; height: auto; display: block; transition: opacity 0.25s ease; }
.ab2-industry__acc { flex: 1 1 auto; min-width: 0; }

.ab2-acc__item { border-bottom: 1px solid var(--color-gray); }
.ab2-acc__head {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 30px;
  background: none;
  border: none;
  cursor: pointer;
  text-align: left;
  padding: 22px 20px;
}
.ab2-acc__num {
  font-family: var(--font-golos);
  font-size: var(--fs-h5);
  color: var(--color-gray);
  flex-shrink: 0;
  transition: color var(--transition-fast);
}
.ab2-acc__title {
  flex: 1 1 auto;
  font-family: var(--font-golos);
  font-size: var(--fs-h5);
  color: var(--color-black);
  transition: color var(--transition-fast);
}
.ab2-acc__chevron {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  position: relative;
  opacity: 0;                 /* скрыта у неактивных */
  transition: opacity var(--transition-fast), transform var(--transition-fast);
}
/* видна при ховере пункта и у активного */
.ab2-acc__head:hover .ab2-acc__chevron,
.ab2-acc__item.is-open .ab2-acc__chevron { opacity: 1; }
/* у активного — чуть крупнее */
.ab2-acc__item.is-open .ab2-acc__chevron { transform: scale(1.3); }
.ab2-acc__chevron::before,
.ab2-acc__chevron::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 9px;
  height: 1.6px;
  background: var(--color-blue);   /* шеврон синий по умолчанию */
  transition: transform var(--transition-fast);
}
.ab2-acc__chevron::before { right: 50%; transform: translateY(-50%) rotate(45deg); transform-origin: right center; }
.ab2-acc__chevron::after  { left: 50%;  transform: translateY(-50%) rotate(-45deg); transform-origin: left center; }
.ab2-acc__item.is-open .ab2-acc__chevron::before { transform: translateY(-50%) rotate(-45deg); }
.ab2-acc__item.is-open .ab2-acc__chevron::after  { transform: translateY(-50%) rotate(45deg); }
.ab2-acc__item.is-open .ab2-acc__num,
.ab2-acc__item.is-open .ab2-acc__title { color: var(--color-blue); }

/* ховер пункта — номер, название и линия становятся синими */
.ab2-acc__item { transition: border-color var(--transition-fast); }
.ab2-acc__item:hover { border-bottom-color: var(--color-blue); }
.ab2-acc__head:hover .ab2-acc__num,
.ab2-acc__head:hover .ab2-acc__title { color: var(--color-blue); }

.ab2-acc__body { max-height: 0; overflow: hidden; transition: max-height 0.35s ease; }
.ab2-acc__item.is-open .ab2-acc__body { max-height: 220px; }
.ab2-acc__text {
  font-family: var(--font-pt-sans);
  font-size: var(--fs-text);
  line-height: var(--lh-body);
  color: #141414;
  margin: 0;
  padding: 0 20px 30px 73px;
}


/* ===================== PARTNERSHIP ===================== */

.ab2-partner__row {
  display: flex;
  gap: 30px;
  align-items: flex-start;
}
.ab2-partner__heading { flex: 0 0 395px; }
.ab2-partner__box {
  flex: 1 1 auto;
  min-width: 0;
  border-top: 1px solid #B4B4B4;
  border-bottom: 1px solid #B4B4B4;
  padding: 40px 30px;
  display: flex;
  flex-direction: column;
  gap: 50px;
}
.ab2-partner__block { display: flex; flex-direction: column; gap: 20px; }
.ab2-partner__text {
  font-family: var(--font-pt-sans);
  font-size: var(--fs-text);
  line-height: var(--lh-body);
  color: var(--color-black);
  margin: 0;
}
.ab2-partner__logos {
  display: flex;
  justify-content: center;
  gap: 20px;
  width: 100%;
  max-width: 700px;
  align-self: center;
}
.ab2-partner__logo {
  flex: 1 1 0;
  height: 150px;
  background: #EEEEEE;
  border-radius: 5px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 8px;
}
.ab2-partner__logo img {
  max-width: 75%;
  max-height: 60px;
  width: auto;
  height: auto;
  object-fit: contain;
}


/* ===================== TEAM ===================== */

.ab2-team__header {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-bottom: 50px;
}
.ab2-team__scroll-btn {
  width: 60px;
  height: 50px;
  border: none;
  background: none;
  cursor: pointer;
  color: var(--color-gray);
  transition: color var(--transition-fast);
}
.ab2-team__scroll-btn::before {
  content: '';
  display: block;
  width: 36px;
  height: 36px;
  margin: 0 auto;
  background-color: currentColor;
  -webkit-mask: url('../assets/icons/ic_arrow_forward_thin.svg') center / contain no-repeat;
  mask: url('../assets/icons/ic_arrow_forward_thin.svg') center / contain no-repeat;
}
.ab2-team__scroll-btn:hover { color: var(--color-blue); }
.ab2-team__members { overflow: hidden; }
.ab2-team__track {
  display: flex;
  transition: transform 0.45s cubic-bezier(0.4, 0, 0.2, 1);
  will-change: transform;
}
.ab2-team__page {
  min-width: 100%;
  display: flex;
  justify-content: space-between;
}
.ab2-team__member {
  flex: 0 0 240px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
}
.ab2-team__photo-wrap {
  width: 240px;
  height: 240px;
  border-radius: 50%;
  overflow: hidden;
  background: #EEEEEE;
  flex-shrink: 0;
}
.ab2-team__photo { width: 100%; height: 100%; object-fit: cover; display: block; }
.ab2-team__name {
  font-family: var(--font-golos);
  font-size: 16px;
  font-weight: var(--fw-medium);
  color: var(--color-black);
  text-align: center;
  margin: 6px 0 0;
}
.ab2-team__role {
  font-family: var(--font-pt-sans);
  font-size: var(--fs-text);
  line-height: var(--lh-body);
  color: var(--color-gray);
  text-align: center;
  margin: 0;
}
.ab2-team__role--active { font-weight: 700; }


/* ===================== VALUES ===================== */

.ab2-values__row {
  display: flex;
  justify-content: space-between;
  gap: 60px;
  align-items: flex-start;
}
.ab2-values__left {
  flex: 0 1 480px;
  display: flex;
  flex-direction: column;
  gap: 30px;
}
.ab2-values__heading {
  font-family: var(--font-montserrat);
  font-weight: var(--fw-medium);
  font-size: clamp(28px, 3vw, 40px);
  line-height: 1.2;
  color: var(--color-black);
  margin: 0;
}
.ab2-values__grid {
  flex: 0 1 620px;
  display: grid;
  grid-template-columns: 1fr 1fr;
}
.ab2-values__cell {
  display: flex;
  flex-direction: column;
  justify-content: space-between !important;
  height: 330px;
  padding: 30px;
  overflow: hidden;
  border-bottom: 1px solid #B4B4B4;
}
.ab2-values__cell:hover {
  justify-content: flex-start;
  gap: 20px;
}
.ab2-values__cell:nth-child(odd) {
  border-right: 1px solid #B4B4B4;
}
/* 5-я карточка — на всю ширину (2 колонки), как в Figma */
.ab2-values__cell:nth-child(5) {
  grid-column: 1 / -1;
  border-right: none;
}
.ab2-values__num {
  font-family: var(--font-pt-sans);
  font-size: 64px;
  line-height: 1;
  color: var(--color-blue);
  transition: font-size 0.3s ease;
}
.ab2-values__cell:hover .ab2-values__num { font-size: 36px; }
.ab2-values__body {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.ab2-values__label {
  font-family: var(--font-golos);
  font-size: var(--fs-h5);
  line-height: var(--lh-subheading);
  color: var(--color-black);
}
.ab2-values__desc {
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  min-height: 0;
  margin: 0;
  font-family: var(--font-pt-sans);
  font-size: var(--fs-caption);
  line-height: var(--lh-body);
  color: var(--color-gray);
  transition: max-height 0.3s ease, opacity 0.3s ease;
}
.ab2-values__cell:hover .ab2-values__desc {
  max-height: var(--reveal-h, 150px);
  opacity: 1;
}


/* ===================== CALLBACK ===================== */

.ab2-callback {
  padding-bottom: 80px;
}

@media (min-width: 1440px) {
  .ab2-callback {
    padding-bottom: 120px;
  }
}

/* Figma: заголовок слева, форма справа, поля в одну колонку */
.ab2-callback__inner {
  display: flex;
  flex-direction: row;
  gap: 60px;
  align-items: flex-start;
}
.ab2-callback__heading {
  flex: 0 0 400px;
  font-family: var(--font-montserrat);
  font-weight: var(--fw-medium);
  font-size: clamp(28px, 3.4vw, 36px);
  line-height: var(--lh-heading);
  color: var(--color-black);
  margin: 0;
}
.ab2-callback__form {
  flex: 1 1 auto;
  min-width: 0;
}
.ab2-callback__fields {
  display: flex;
  flex-direction: column;
  gap: 30px;
}
.ab2-callback__footer {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 20px;
  margin-top: 30px;
}
.ab2-callback .callback__success {
  font-family: var(--font-golos);
  font-size: var(--fs-h5);
  color: var(--color-orange);
  display: none;
}
.ab2-callback .callback__success--visible { display: block; }


/* ===================== TABLET / MOBILE ===================== */

@media (max-width: 1023px) {
  .ab2 > section { margin-top: 90px; }

  .ab2-hero__row,
  .ab2-mission__row,
  .ab2-company__body,
  .ab2-tech__row,
  .ab2-industry__row,
  .ab2-partner__row,
  .ab2-values__row {
    flex-direction: column;
    gap: 40px;
  }
  /* при колонке flex-basis работает как ВЫСОТА — сбрасываем,
     иначе блоки резервируют пустоту (480/720px) */
  .ab2-hero__title,
  .ab2-hero__right,
  .ab2-mission__quote,
  .ab2-tech__heading,
  .ab2-partner__heading,
  .ab2-values__left { flex-basis: auto; }

  .ab2-solutions__grid { grid-template-columns: 1fr; }
  .ab2-scard { min-height: 0; }
  .ab2-company__img { flex-basis: auto; width: 100%; height: auto; aspect-ratio: 585 / 373; }

  .ab2-products__wrap { flex-direction: column; gap: 0; }
  .ab2-products__tabs {
    flex: 0 0 auto;
    flex-direction: row;
    flex-wrap: wrap;
    border-right: none;
    border-bottom: 1px solid #ABB9D7;
    padding: 24px 0;
    gap: 16px 24px;
  }
  .ab2-products__panels { padding: 30px 0; }

  .ab2-industry__chart { flex-basis: auto; width: 100%; max-width: 480px; align-self: center; }

  .ab2-values__grid { flex-basis: auto; }
  .ab2-values__cell { height: 180px; }

  .ab2-team__page { overflow-x: auto; gap: 20px; scrollbar-width: none; -ms-overflow-style: none; }
  .ab2-team__page::-webkit-scrollbar { display: none; }
  .ab2-team__track { transition: none; }
  .ab2-team__member { flex: 0 0 160px; }
  .ab2-team__photo-wrap { width: 160px; height: 160px; }
  .ab2-team__name { font-size: 14px; }

  .ab2-callback__inner { flex-direction: column; gap: 40px; }
  .ab2-callback__heading { flex-basis: auto; }
}

@media (max-width: 600px) {
  .ab2-values__grid { grid-template-columns: 1fr; }
  .ab2-values__cell:nth-child(odd) { border-right: none; padding-right: 0; }
  .ab2-values__cell { min-height: 0; padding: 24px 0; }
  .ab2-hero__row { gap: 30px; }
  .ab2-hero__links { gap: 24px; }
  .ab2-partner__logos { flex-wrap: wrap; }
}


/* ============================================================
   МОБ (≤767px) — типографика Figma (heading/text mob) + докрутка.
   ПК и планшет НЕ трогаем: всё только внутри этого медиа-запроса.
   Figma mob: h_hero/h1 = 32, h2 = 20, text = 16, h4/h5 = 16.
   ============================================================ */
@media (max-width: 767px) {

  /* Токены под мобильную типографику (about.html не грузит style.css,
     поэтому переопределяем здесь). */
  :root {
    --fs-text: 16px;   /* body-текст 18 → 16 */
    --fs-h5:   16px;   /* подзаголовки/лейблы 24 → 16 (Figma h4/mob) */
    --fs-h4:   16px;
  }

  /* Вертикальный ритм между секциями плотнее */
  .ab2 > section { margin-top: 72px; }

  /* h_hero / h1 → 32 */
  .ab2-hero__title { font-size: 32px; line-height: 1.2; }
  .ab2-hero__badge { margin-bottom: 28px; }
  .ab2-hero__right { gap: 28px; }

  /* h2 — заголовки секций → 20 (clamp(28px,…) сам ниже 28 не падает) */
  .ab2-mission__heading,
  .ab2-company__heading,
  .ab2-products__heading,
  .ab2-tech__heading,
  .ab2-industry__heading,
  .ab2-partner__heading,
  .ab2-team__heading,
  .ab2-values__heading,
  .ab2-callback__heading { font-size: 20px; }

  /* MISSION — цитата компактнее */
  .ab2-mission__quote { padding: 28px 0; }
  .ab2-mission__text { margin-bottom: 20px; }

  /* COMPANY — отступ до фото меньше */
  .ab2-company__body { margin-top: 28px; }

  /* PRODUCTS — отступ и панель */
  .ab2-products__wrap { margin-top: 28px; }
  .ab2-products__panels { padding: 24px 0; }
  .ab2-products__tabs { padding: 20px 0; gap: 14px 20px; }

  /* INDUSTRY — аккордеон: текст на всю ширину, отступы под палец */
  .ab2-industry__row { margin-top: 28px; }
  .ab2-acc__head { gap: 16px; padding: 18px 0; }
  .ab2-acc__text { padding: 0 0 22px; }
  .ab2-acc__item.is-open .ab2-acc__body { max-height: 360px; }

  /* PARTNER — рамка-блок во всю ширину, логотипы ниже */
  .ab2-partner__box { padding: 28px 0; gap: 36px; }
  .ab2-partner__logo { height: 110px; }

  /* TEAM — на мобильном обычный горизонтальный скролл по всем сотрудникам
     (JS не режет на страницы по 4, см. about.js), кнопка не нужна — скрыта.
     Фото уменьшены, чтобы помещалось ровно 2 полных круга без обрезания. */
  .ab2-team__header { margin-bottom: 28px; }
  .ab2-team__scroll-btn { display: none; }
  .ab2-team__members {
    display: flex;
    gap: 24px;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    -ms-overflow-style: none;
  }
  .ab2-team__members::-webkit-scrollbar { display: none; }
  .ab2-team__member {
    flex: 0 0 130px;
    gap: 8px;
    scroll-snap-align: start;
  }
  .ab2-team__photo-wrap { width: 130px; height: 130px; }
  .ab2-team__name { font-size: 14px; }

  /* VALUES — горизонтальная карусель (как «Наши ценности» на Карьере/главной):
     карточки в ряд со скроллом, ширина по контейнеру-обёртке ограничена,
     но САМА карточка высотой по содержимому — height:auto явно
     переопределяет фиксированный height:180px из блока ≤1023px, иначе
     текст внутри карточки обрезается. Описание видно всегда (на тач нет ховера). */
  .ab2-values__grid {
    display: flex;
    width: 100%;
    flex-wrap: nowrap;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    -ms-overflow-style: none;
    align-items: stretch;        /* все карточки = высоте самой длинной */
    gap: 0;
  }
  .ab2-values__grid::-webkit-scrollbar { display: none; }

  .ab2-values__cell,
  .ab2-values__cell:nth-child(odd),
  .ab2-values__cell:nth-child(5) {
    flex: 0 0 78%;               /* одна карточка видна + следующая выглядывает */
    width: auto;
    height: auto;
    min-height: 0;
    overflow: visible;           /* текст не обрезается */
    grid-column: auto;
    scroll-snap-align: start;
    padding: 28px 20px 28px 0;
    border-bottom: none;
    border-right: 1px solid #B4B4B4;   /* вертикальный разделитель между карточками */
  }
  .ab2-values__cell:last-child { border-right: none; }
  .ab2-values__cell:not(:first-child) { padding-left: 20px; }

  /* стр.343: фиксированный отступ цифра→заголовок (убираем margin-bottom: auto) */
  .ab2-values__num { font-size: 48px; margin-bottom: 0; }
  .ab2-values__cell:hover .ab2-values__num { font-size: 48px; }
  .ab2-values__body { margin-top: 24px; }
  .ab2-values__desc { max-height: none; opacity: 1; }

  /* стр.327: PRODUCTS — аккордеон (как «Компоненты решения») */
  .ab2-products__tabs { display: none; }
  .ab2-products__panels { padding: 0; }
  .ab2-products__panel,
  .ab2-products__panel.is-active {
    display: block;
    border-bottom: 1px solid #ABB9D7;
  }
  .ab2-products__panel:last-child { border-bottom: none; }
  .ab2-products__panel-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 16px 0;
    cursor: pointer;
    color: var(--color-gray);
    font-size: 16px;
    margin: 0;
    font-weight: var(--fw-regular);
  }
  .ab2-products__panel-title::after {
    content: '';
    width: 10px;
    height: 10px;
    flex-shrink: 0;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(45deg);
    transition: transform var(--transition-fast);
  }
  .ab2-products__panel.is-mob-open .ab2-products__panel-title { color: var(--color-blue); }
  .ab2-products__panel.is-mob-open .ab2-products__panel-title::after { transform: rotate(-135deg); }
  .ab2-products__panel-text,
  .ab2-products__img { display: none; }
  .ab2-products__panel.is-mob-open .ab2-products__panel-text { display: block; padding-bottom: 16px; }
  .ab2-products__panel.is-mob-open .ab2-products__img { display: block; margin-bottom: 16px; }

  /* CALLBACK — кнопка на всю ширину экрана (как на главной) */
  .ab2-callback__footer { flex-direction: column; align-items: stretch; }
  .ab2-callback__footer .btn { width: 100%; justify-content: space-between; }

  /* стр.352: отступ от формы ОС до футера */
  .ab2-callback { padding-bottom: 60px; }
}
