.partners-section { padding-block: 3.5rem; }
.partner-card { display: grid; grid-template-columns: minmax(0, 1fr) minmax(220px, 300px); gap: clamp(1.5rem, 4vw, 3rem); align-items: center; padding: clamp(1.5rem, 4vw, 3rem); border: 1px solid #d5e4ee; border-radius: 1rem; background: linear-gradient(115deg, #f4f9fc 0%, #f8f6fc 100%); }
.partner-copy { min-width: 0; }
.partner-copy .section-kicker { margin-bottom: .65rem; }
.partner-copy h2 { font-size: clamp(1.75rem, 2.6vw, 2.5rem); }
.partner-copy p:not(.section-kicker) { max-width: 44rem; margin: 1rem 0 0; color: var(--muted); }
.partner-copy p.partner-note { margin-top: .65rem; font-size: .875rem; }
.partner-action { display: flex; flex-direction: column; align-items: flex-start; gap: .4rem; padding: 1.5rem; border: 1px solid #e0eaf1; border-radius: .7rem; background: #fff; }
.partner-name { color: var(--blue-dark); font-size: 1.6rem; line-height: 1.2; font-weight: 700; }
.partner-caption { color: var(--muted); font-size: .9rem; line-height: 1.45; }
.partner-action .button { max-width: 100%; margin-top: .8rem; text-align: center; }
.partner-detail { margin-block: 1.5rem 2rem; }
@media (max-width: 700px) {
  .partners-section { padding-block: 2.5rem; }
  .partner-card { grid-template-columns: minmax(0, 1fr); gap: 1.25rem; padding: 1.35rem; }
  .partner-action { padding: 1.15rem; }
  .partner-action .button { width: 100%; }
}
