/* Partner cards are served directly; no frontend rebuild is required. */
.partner-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; margin-top: 2rem; }
.partner-card { display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 1rem; min-width: 0; padding: 1.5rem 3rem; background: #fff; border: 1px solid #e2e8f0; border-radius: .25rem; box-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1); }
.partner-card__logo { width: 100%; height: auto; object-fit: contain; }
.partner-card__content { min-width: 0; width: 100%; overflow-wrap: anywhere; }
.partner-card__content h3 { font-size: 1.125rem; font-weight: 700; line-height: 1.4; color: #00223a; }
.partner-card__description { margin-top: .75rem; font-size: 1rem; line-height: 1.7; color: #475569; }
.partner-card__description p + p { margin-top: .75rem; }
.partner-card__content a { display: inline-block; margin-top: .75rem; color: #00518b; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.partner-card__content a:focus-visible { outline: 2px solid #0081dd; outline-offset: 4px; }
.partner-card--detailed { grid-column: span 2; align-items: center; padding: 1.5rem; text-align: center; }
/* Match a single-column logo area, accounting for the gap, padding and borders. */
.partner-card--detailed .partner-card__logo { width: calc(50% - 4.875rem - 1px); height: auto; }
@media (min-width: 640px) { .partner-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .partner-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
