/* 04 · Сетка, контейнеры, секции */
.wrap{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:var(--gutter)}
.wrap--wide{max-width:var(--container-wide)}
.wrap--narrow{max-width:920px}
.section{position:relative;padding-block:var(--section-y);isolation:isolate}
.section--soft{background:var(--bg-soft)}
.section--alt{background:var(--bg-alt)}
.section--warm{background:var(--bg-warm)}
.section--tight{padding-block:clamp(2rem,1.4rem + 2.6vw,3.6rem)}
.section__head{max-width:70ch;margin-bottom:clamp(1.6rem,1rem + 2vw,3rem)}
.section__head h2{margin-bottom:.5em}
.section__head .lead{margin-top:.2em}
.section__eyebrow{margin-bottom:.9rem}

.grid{display:grid;gap:var(--gap)}
.grid--2{grid-template-columns:1fr}
.grid--3{grid-template-columns:1fr}
.grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid--auto{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}
.grid--sidebar{grid-template-columns:1fr}
.stack>*+*{margin-top:var(--gap)}
.stack--sm>*+*{margin-top:.6rem}
.stack--lg>*+*{margin-top:clamp(1.4rem,1rem + 1.6vw,2.4rem)}
.cluster{display:flex;flex-wrap:wrap;gap:.75rem 1rem;align-items:center}
.between{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:space-between}

@media (min-width:640px){
  .grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (min-width:900px){
  .grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
  .grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
  .grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}
  .grid--sidebar{grid-template-columns:minmax(0,1fr) 340px}
  .grid--sidebar-left{grid-template-columns:320px minmax(0,1fr)}
}
@media (min-width:1100px){
  .grid--4-wide{grid-template-columns:repeat(4,minmax(0,1fr))}
}
/* Защита от горизонтального переполнения на любых ширинах */
.section,.wrap{max-width:100%}
.section{overflow-x:clip}
