/* Same visual scale as About, with editorial introductions beside logo galleries. */
.partner-directory__group { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: 48px; align-items: start; scroll-margin-top: 24px; }
.partner-directory__group + .partner-directory__group { margin-top: 44px; padding-top: 36px; border-top: 1px solid #d6ded3; }
.partner-directory__intro p:not(.section-kicker) { margin: 16px 0 0; font-size: .85rem; line-height: 1.9; color: #53645a; font-weight: 400; }
.partner-directory__intro .section-kicker { color: #47644f; }
.partner-directory__logos { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.partners-page .partner-card { min-height: 0; border: 1px solid #dce3d8; border-radius: 8px; box-shadow: none; background: #fffdf7; }
.partners-page .partner-card__logo,
.partners-page .partner-card__placeholder { width: 100%; height: 110px; padding: 18px; object-fit: contain; background: #fff; }
.partners-page .partner-card__placeholder { font-size: .8rem; font-weight: 400; }
.partners-page .partner-card [hidden] { display: none !important; }
.partners-page .partner-card__overlay { position: static; display: block; padding: 10px 12px; opacity: 1; background: transparent; border-top: 1px solid #edf0e8; }
.partners-page .partner-card__overlay span { color: #53645a; font-size: .75rem; font-weight: 400; line-height: 1.7; overflow-wrap: anywhere; }
@media (max-width: 820px) {
  .partner-directory__group { grid-template-columns: 1fr; gap: 24px; }
  .partner-directory__group + .partner-directory__group { margin-top: 32px; padding-top: 28px; }
  .partner-directory__intro { max-width: 680px; }
}
@media (max-width: 560px) {
  .partner-directory__logos { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
}
@media (max-width: 360px) {
  .partner-directory__logos { grid-template-columns: 1fr; }
}
