/* ============================================================
   KidmaTech — страница «О нас» (/about/)
   Только то, чего нет в styles.css. Цвета сайта — из tokens.css.
   Подключать ПОСЛЕ tokens.css и styles.css.
   ============================================================ */

main > section[id] { scroll-margin-block-start: calc(var(--space-8) + var(--space-4)); }

.ab-intro { padding-block-end: 0; }
.ab-intro h1 {
  font-size: var(--text-3xl);
  line-height: var(--leading-tight);
  letter-spacing: var(--tracking-tight);
}
.ab-intro .lead,
.ab-quiz .lead,
.ab-final .lead {
  color: var(--color-ink-muted);
  font-size: var(--text-lg);
  max-width: 46em;
  margin-block-start: var(--space-4);
}

.ab-text { max-width: var(--content-measure, 46em); margin-block-start: var(--space-4); }
.ab-text p + p { margin-block-start: var(--space-4); }

/* ---------- Кто мы: два портрета рядом, на узком экране друг под другом ---------- */
.ab-people {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr));
  gap: var(--space-6);
  margin-block-start: var(--space-6);
}
.ab-person {
  min-width: 0;
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  padding: var(--space-5);
  box-shadow: var(--shadow-sm);
}
.ab-person img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  border-radius: var(--radius-md);
}
.ab-person h3 { margin-block-start: var(--space-4); font-size: var(--text-xl); }
.ab-role { color: var(--color-brand); font-weight: 600; margin-block: var(--space-1) var(--space-3); }
.ab-links { margin-block-start: var(--space-3); }

/* ---------- Продукты ---------- */
.ab-cards {
  list-style: none;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 19rem), 1fr));
  gap: var(--space-5);
  margin-block-start: var(--space-6);
}
.ab-card {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  padding: var(--space-5);
}
.ab-card h3 { font-size: var(--text-lg); }
.ab-card p { color: var(--color-ink-muted); flex: 1; }
.ab-card-volunteer { border-color: var(--color-cta); }
.ab-more { font-weight: 700; color: var(--color-brand); min-height: 44px; display: inline-flex; align-items: center; }
.ab-more:focus-visible,
.ab-social a:focus-visible,
.ab-links a:focus-visible { outline: 3px solid var(--color-cta); outline-offset: 3px; }

/* ---------- Квиз и финал ---------- */
.ab-quiz .btn,
.ab-final .btn { margin-block-start: var(--space-5); }

/* ---------- Реквизиты ---------- */
.ab-dl {
  display: grid;
  grid-template-columns: minmax(8rem, max-content) 1fr;
  gap: var(--space-2) var(--space-5);
  margin-block-start: var(--space-5);
}
.ab-dl dt { color: var(--color-ink-muted); }
.ab-dl dd { margin: 0; min-width: 0; overflow-wrap: anywhere; }
@media (max-width: 30rem) {
  .ab-dl { grid-template-columns: 1fr; gap: 0; }
  .ab-dl dd { margin-block-end: var(--space-3); }
}
.ab-social-h { margin-block-start: var(--space-6); font-size: var(--text-lg); }
.ab-social { list-style: none; padding: 0; margin-block-start: var(--space-3); display: flex; flex-wrap: wrap; gap: var(--space-3) var(--space-5); }
.ab-social a { display: inline-flex; align-items: center; min-height: 44px; font-weight: 600; }

/* ---------- Выделения в истории и картинки карточек (правки Дианы 30.10) ---------- */
.ab-story strong { font-weight: 700; color: var(--color-ink); }
.ab-card img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  aspect-ratio: 1 / 1;
  object-fit: contain;
  max-height: 11rem;
  margin-inline: auto;
}
/* СМОХ не продаём: волонтёрская карточка идёт во всю ширину под продуктами,
   картинка слева от текста; на узком экране снова столбиком. Седьмой продукт
   (секретарь, с 31.10.2026 после телефонного бота) так же во всю ширину: иначе
   в сетке 3×3 и 2×4 он стоит один в ряду. */
.ab-card-volunteer, .ab-card-wide { grid-column: 1 / -1; }
@media (min-width: 48rem) {
  .ab-card-volunteer, .ab-card-wide {
    display: grid;
    grid-template-columns: 11rem 1fr;
    grid-template-rows: auto 1fr auto;
    column-gap: var(--space-6);
    row-gap: var(--space-3);
  }
  .ab-card-volunteer img, .ab-card-wide img { grid-row: 1 / -1; align-self: center; }
}
