.partners-main {
  width: min(1100px, calc(100% - 48px));
  margin-inline: auto;
  padding-block: 64px 80px;
}
.partners-intro { max-width: 720px; }
.partners-intro h1 { margin: 0 0 24px; }
.partners-intro p { max-width: 660px; margin: 0 0 18px; }
.partners-lead { font-size: clamp(20px, 2vw, 24px); line-height: 1.55; }
.partners-action {
  display: inline-flex;
  margin-top: 8px;
  padding: 13px 20px;
  border: 1px solid #08182c;
  background: #08182c;
  color: #fff;
  font-weight: 600;
  text-decoration: none;
}
.partners-action:hover { background: #20364f; }
.partners-action:focus-visible { outline: 3px solid #7b5a1a; outline-offset: 4px; }
.partners-thanks { max-width: 720px; margin: 48px 0 0; }
.partners-directory, .partners-recognition, .partner-policies { margin-top: 48px; padding-top: 30px; border-top: 1px solid #d8dde1; }
.partners-directory h2, .partners-recognition h2, .partner-policies h2 { margin: 0 0 20px; }
.partners-recognition p, .partner-policies p { max-width: 720px; margin: 0; }
.partner-policies a { text-decoration: underline; text-underline-offset: 4px; }
.logo-wall, .individual-list, .tribute-list { display: grid; gap: 28px; margin: 0; padding: 0; list-style: none; }
.logo-wall { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.individual-list, .tribute-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.supporter-tile, .individual-list li, .tribute-list li { min-width: 0; overflow-wrap: anywhere; }
.supporter-tile { border: 1px solid #d8dde1; padding: 24px; background: #fff; }
.supporter-logo { height: 120px; display: flex; align-items: center; justify-content: center; margin-bottom: 24px; }
.supporter-logo img { max-width: 100%; max-height: 120px; object-fit: contain; }
.supporter-wordmark { display: none; }
.supporter-caption h3, .individual-list h3, .tribute-list h3 { font-size: 20px; margin: 0 0 8px; }
.supporter-role { color: #526173; font-size: 14px; }
.supporter-detail { margin: 14px 0 0; color: #526173; }
.tribute-kind { margin: 0 0 8px; color: #526173; }
.tribute-list h3 + p { margin-top: 8px; }
@media (max-width: 760px) {
  .partners-main { width: calc(100% - 36px); padding-block: 40px 56px; }
  .logo-wall { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 500px) {
  .logo-wall, .individual-list, .tribute-list { grid-template-columns: 1fr; }
}
