.partners-page { padding-bottom: 5rem; }
.partners-page .co-hero { margin-bottom: 2.5rem; }

.partner-intro {
  display: grid;
  grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
  gap: clamp(2rem, 6vw, 6rem);
  padding: 2.5rem 0 4rem;
  border-top: 1px solid var(--co-rule);
}
.partner-intro .k-eyebrow { margin: 0 0 1rem; color: #756b52; }
.partner-intro h2 {
  margin: 0;
  color: #294b35;
  font: 400 clamp(2.1rem, 3.5vw, 3.1rem)/1.18 var(--serif);
}
.partner-intro-copy { align-self: end; max-width: 68ch; }
.partner-intro-copy p { margin: 0; line-height: 1.7; }
.partner-intro-copy p + p { margin-top: 1rem; }

.partners-page #organizations { padding-top: 2.5rem; border-top: 1px solid var(--co-rule); }
.partners-page #organizations > .k-eyebrow { margin: 0 0 1rem; color: #756b52; }
.partners-page #organizations h2 {
  margin: 0 0 2.5rem;
  font-size: clamp(2.1rem, 3.5vw, 3.1rem);
  line-height: 1.18;
}

.partner-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid var(--co-rule);
}
.partner-organization {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 1.5rem 1.6rem 2rem 0;
  border-bottom: 1px solid var(--co-rule);
}
.partner-organization:not(:nth-child(3n + 1)) {
  padding-left: 1.6rem;
  border-left: 1px solid var(--co-rule);
}
.partner-mark {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1rem;
  min-height: 7rem;
  margin-bottom: 1rem;
}
.partner-mark .k-eyebrow { margin: 0; color: #756b52; }
.partner-logo {
  display: flex;
  justify-content: flex-end;
  align-items: flex-start;
  width: min(65%, 11rem);
  height: 6.25rem;
  margin: 0;
}
.partner-logo img {
  display: block;
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
  mix-blend-mode: multiply;
}
.partner-organization h3 {
  max-width: 34ch;
  margin: auto 0 0;
  color: #294b35;
  font: 400 clamp(1.25rem, 1.65vw, 1.55rem)/1.27 var(--serif);
  overflow-wrap: break-word;
}

@media (max-width: 900px) {
  .partner-intro { grid-template-columns: 1fr; gap: 1.5rem; }
  .partner-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .partner-organization:not(:nth-child(3n + 1)) { padding-left: 0; border-left: 0; }
  .partner-organization:nth-child(2n) { padding-left: 1.6rem; border-left: 1px solid var(--co-rule); }
}

@media (max-width: 600px) {
  .partners-page .co-hero { margin-bottom: 1.5rem; }
  .partner-intro { padding: 2rem 0 3.5rem; }
  .partner-intro h2 { font-size: 2.15rem; }
  .partners-page #organizations h2 { margin-bottom: 1.8rem; font-size: 2.15rem; }
  .partner-grid { grid-template-columns: 1fr; }
  .partner-organization,
  .partner-organization:not(:nth-child(3n + 1)),
  .partner-organization:nth-child(2n) { padding: 1.4rem 0 1.8rem; border-left: 0; }
  .partner-mark { min-height: 6.5rem; }
}
