
.partners-grid{
  display:grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap:16px;
  margin:16px 0 24px;
}
.partner-card{
  display:flex;
  flex-direction:column;
  background:#fff;
  border:1px solid #e8ecf5;
  border-radius:16px;
  text-decoration:none;
  color:inherit;
  overflow:hidden;
  transition:transform .12s ease, box-shadow .12s ease, border-color .12s;
}
.partner-card:hover{ transform:translateY(-2px); box-shadow:0 10px 24px rgba(40,60,100,.08); border-color:#d9e2f3; }
.logo-wrap{
  width:100%;
  aspect-ratio: 7 / 4;
  background:#f5f7fb;
  border-bottom:1px solid #eef2fa;
  display:flex; align-items:center; justify-content:center;
  overflow:hidden;
}
.logo-wrap img{
  width:100%; height:100%; object-fit:contain; object-position:center; display:block;
}
.partner-body{ padding:12px 14px 14px; display:grid; gap:6px }
.partner-body h3{ margin:0; font-size:16px; line-height:1.25; }
.partner-body p{ margin:0; color:#51607a; font-size:14px; line-height:1.35; min-height:2.7em; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.partner-body .ext{ color:#164da5; font-size:14px; margin-top:4px; }
@media (max-width: 600px){
  .partners-grid{ grid-template-columns: 1fr 1fr; }
}
@media (max-width: 420px){
  .partners-grid{ grid-template-columns: 1fr; }
}
