/* ─── CONTAINER ──────────────────────────────────────────────── */
.container       { max-width: 1160px; margin: 0 auto; padding: 0 2rem; }
.container--wide { max-width: 1360px; margin: 0 auto; padding: 0 2rem; }

/* ─── SECTIONS ───────────────────────────────────────────────── */
section { padding: 100px 0; }
section.tight { padding: 60px 0; }

.section--alt {
  background: var(--bg2);
  border-top: 1px solid var(--border2);
  border-bottom: 1px solid var(--border2);
}
.section--article { padding: 80px 0 60px; }

.section-header { max-width: 620px; margin-bottom: 60px; }
.section-header p { margin-top: 16px; font-size: 1.05rem; }
.section-header.center { text-align: center; margin-left: auto; margin-right: auto; }

/* ─── GRIDS ──────────────────────────────────────────────────── */
.grid-2      { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; }
.grid-2--wide { gap: 80px; align-items: start; }
.grid-3      { display: grid; grid-template-columns: repeat(3,1fr); gap: 32px; }
.gap-3px     { gap: 3px; }
.display-grid { display: grid; }

/* ─── FLEX UTILS ─────────────────────────────────────────────── */
.flex-between { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 20px; }
.flex-col     { display: flex; flex-direction: column; }

/* ─── SPACING UTILS ──────────────────────────────────────────── */
.mt-6  { margin-top:  6px; }
.mt-8  { margin-top:  8px; }
.mt-14 { margin-top: 14px; }
.mt-16 { margin-top: 16px; }
.mt-20 { margin-top: 20px; }
.mt-24 { margin-top: 24px; }
.mt-32 { margin-top: 32px; }
.mt-40 { margin-top: 40px; }
.mt-60 { margin-top: 60px; }
.mb-32 { margin-bottom: 32px; }
.mb-60 { margin-bottom: 60px; }

/* ─── RESPONSIVE ─────────────────────────────────────────────── */
@media (max-width: 960px) {
  .footer__grid { grid-template-columns: 1fr 1fr; gap: 40px; }
  .stats-bar__grid { grid-template-columns: repeat(2,1fr); gap: 32px; }
  .stats-bar__item { border-right: none; padding: 0; }
  .stats-bar__item:nth-child(odd) { border-right: 1px solid var(--border2); padding-right: 20px; }
  .process-grid { grid-template-columns: repeat(2,1fr); gap: 40px; }
  .process-grid::before { display: none; }
  .team-grid { grid-template-columns: 1fr; }
  .cta-band__inner { flex-direction: column; text-align: center; }
  .articles-grid { grid-template-columns: repeat(2,1fr); }
  .services-grid { grid-template-columns: 1fr; }
  .form-grid { grid-template-columns: 1fr; }
  .form-group.full { grid-column: auto; }
  .contact-layout { grid-template-columns: 1fr; }
  .contact-sidebar { position: static; }
  .mini-stats { flex-wrap: wrap; gap: 24px; }
  .mini-stats__sep { display: none; }
}
@media (max-width: 860px) {
  .article-layout { grid-template-columns: 1fr; }
  .article-sidebar { position: static; }
}
@media (max-width: 768px) {
  .service-row { grid-template-columns: 1fr; gap: 24px; padding: 32px; }
  .team-full { grid-template-columns: 1fr; padding: 32px; }
}
@media (max-width: 700px) {
  section          { padding: 70px 0; }
  .grid-2, .grid-3 { grid-template-columns: 1fr; }
  .articles-grid   { grid-template-columns: 1fr; }
  .footer__grid    { grid-template-columns: 1fr; }
  h1               { font-size: 2.2rem; }
  .process-grid    { grid-template-columns: 1fr; gap: 32px; }
  .section-header  { margin-bottom: 40px; }
  .cta-band        { padding: 60px 0; }
  .footer__bottom  { flex-direction: column; text-align: center; gap: 8px; }
  .team-full__stats { grid-template-columns: repeat(2, 1fr); }
}
