.assoc-wrap { display: flex; align-items: stretch; gap: 0; padding: 2rem 0; }
.assoc-left { flex: 0 0 260px; display: flex; flex-direction: column; justify-content: center; padding-right: 2.5rem; border-right: 1px solid var(--color-border-tertiary); }
.assoc-left h2 em { color: #b89448; font-style: normal; display: block; }
.assoc-left p { margin-top: 1rem; color: var(--color-text-secondary); line-height: 1.6; }
.assoc-grid { flex: 1; display: grid; grid-template-columns: repeat(3, 1fr); border-left: none; }
.logo-cell {
  display: flex; align-items: center; justify-content: center;
  padding: 24px 12px; border-right: 1px solid var(--color-border-tertiary);
  border-bottom: 1px solid var(--color-border-tertiary);
  cursor: pointer; transition: background 0.3s ease;
}
.logo-cell:nth-child(4n) { border-right: none; }
.logo-cell:nth-last-child(-n+4) { border-bottom: none; }
.logo-cell:hover { background: var(--color-background-secondary); }

.logo-inner {
  filter: grayscale(100%) contrast(0.8) brightness(1.1);
  transition: filter 0.45s cubic-bezier(0.4,0,0.2,1), transform 0.35s cubic-bezier(0.4,0,0.2,1);
  display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center;
  transform: scale(1);
}
.logo-cell:hover .logo-inner {
  filter: grayscale(0%) contrast(1) brightness(1);
  transform: scale(1.08);
}

/* Logo text */
.ln { display: flex; flex-direction: column; align-items: center; gap: 2px; }
.ln img {height: 50px;}
@media (max-width: 1200px) {
    .assoc-grid { grid-template-columns: repeat(2, 1fr); }
    .ln img {height: 40px;}
}
@media (max-width: 991px) {
    .assoc-grid { grid-template-columns: repeat(4, 1fr); }
    .ln img {height: 40px;}
    .assoc-wrap {display: block;align-items: normal;}
}
@media (max-width: 768px) {
    .assoc-grid { grid-template-columns: repeat(3, 1fr); }
    .ln img {height: 30px;}
    .logo-cell {padding: 20px 0px;}
    .assoc-wrap {display: block;align-items: normal;}
    .assoc-left {padding-right: 0px;}
}