.partners-section { padding: clamp(64px, 8vw, 112px) 0; background: #f5f8fc; }
.partners-heading { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: end; margin-bottom: 42px; }
.partners-heading h2 { margin: 8px 0 0; max-width: 620px; color: #0a315d; font-size: clamp(30px, 3vw, 48px); line-height: 1.08; }
.partners-heading > p { margin: 0; max-width: 540px; color: #536b84; font-size: 17px; line-height: 1.7; }
.partner-groups { display: grid; gap: 42px; }
.partner-group h3 { margin: 0 0 17px; color: #315c81; font-size: 15px; line-height: 1.4; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.partners-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px; margin: 0; padding: 0; list-style: none; }
.partners-grid[data-count="4"] { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.partner-card { display: grid; grid-template-rows: 78px auto; place-items: center; align-content: center; gap: 12px; min-height: 160px; padding: 21px 22px 18px; border: 1px solid #d8e5f0; border-radius: 12px; background: #fff; box-shadow: 0 10px 28px rgba(8, 43, 79, .045); }
.partner-card img { display: block; width: min(100%, 205px); max-height: 72px; object-fit: contain; }
.partner-name { color: #49657f; font-size: 13px; line-height: 1.35; font-weight: 600; text-align: center; }
.partner-note { margin: 28px 0 0; color: #6b8095; font-size: 13px; }
@media (max-width: 980px) { .partners-grid, .partners-grid[data-count="4"] { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 700px) {
  .partners-heading { grid-template-columns: 1fr; gap: 18px; }
  .partner-groups { gap: 34px; }
  .partner-group h3 { margin-bottom: 13px; font-size: 13px; }
  .partners-grid, .partners-grid[data-count="4"] { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .partner-card { grid-template-rows: 62px auto; gap: 9px; min-height: 128px; padding: 15px 12px 13px; }
  .partner-card img { max-height: 58px; }
  .partner-name { font-size: 11px; }
}
