/* ==========================================================================
   Сетка и секции. Контейнер 1200 при полях 120 (десктоп 1440) — как в макете.
   ========================================================================== */

.wrap {
  width: 100%;
  max-width: calc(var(--container) + var(--pad-x) * 2);
  margin: 0 auto;
  padding-inline: var(--pad-x);
}

/* Секция: вертикальные отступы сняты с макета (64 сверху / 64 снизу) */
.section { padding-block: var(--s-64); background: var(--c-bg-base); }
.section--soft { background: var(--c-bg-soft); }
.section--alt { background: var(--c-bg-soft-alt); }
.section--line { border-top: 1px solid var(--c-border-subtle); }
.section--last { padding-bottom: var(--s-80); }

/* Шапка секции: eyebrow + заголовок + ссылка справа */
.section-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: var(--s-24);
  margin-bottom: 28px;
}
.section-head__titles { display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.section-head__link { flex: none; }

/* Простые раскладки */
.stack { display: flex; flex-direction: column; }
.row { display: flex; align-items: center; }
.grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--gutter); }
.grid-2 { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--gutter); }

@media (max-width: 1023px) {
  .grid-3 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 639px) {
  .section { padding-block: 36px; }
  .section--last { padding-bottom: 40px; }
  .section-head { flex-direction: column; align-items: flex-start; gap: 12px; margin-bottom: 20px; }
  .grid-3, .grid-2 { grid-template-columns: 1fr; gap: 16px; }
}
