/* Shared sponsor recognition on event and registration pages. */
.sponsor-presenting { margin: 0 auto 36px; max-width: 1000px; }
.sponsor-heading { font: 800 .8rem/1.4 Arial, sans-serif; text-transform: uppercase; letter-spacing: .16em; text-align: center; margin: 0 0 16px; }
.sponsor-grid { display: grid; gap: 18px; list-style: none; padding: 0; margin: 0; }
.sponsor-presenting .sponsor-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.sponsor-card { background: #fff; color: #171717; border: 1px solid #e5e3dc; border-radius: 14px; display: flex; align-items: center; justify-content: center; padding: 24px; min-width: 0; text-align: center; }
.sponsor-presenting .sponsor-card { min-height: 210px; }
.sponsor-card img { display: block; width: auto; height: auto; max-width: 100%; max-height: 120px; object-fit: contain; }
.sponsor-presenting .sponsor-card img { max-height: 170px; }
.sponsor-clark { font: 600 clamp(1.35rem, 3vw, 2.3rem)/1.2 Arial, sans-serif; }
.sponsor-partners { background: #091b13; color: #fff; padding: 56px 0; }
.sponsor-partners h2 { text-align: center; font-size: clamp(1.8rem, 4vw, 2.5rem); margin: 0 0 32px; }
.sponsor-featured { grid-template-columns: repeat(3, minmax(0, 1fr)); margin-bottom: 32px; }
.sponsor-featured .sponsor-card { min-height: 180px; }
.sponsor-standard { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.sponsor-standard .sponsor-card { min-height: 145px; padding: 20px; }
.sponsor-standard img { max-height: 100px; }
.sponsor-caravetta { font: 500 clamp(1.1rem, 2vw, 1.55rem)/1.3 Georgia, serif; }
.sponsor-godspeaks { gap: 10px; font: 600 1rem/1.3 Arial, sans-serif; }
.sponsor-godspeaks img { width: 58px; flex: 0 0 58px; }
.registration-presenting { background: #091b13; color: #fff; padding: 30px 0 1px; }
@media (max-width: 760px) {
 .sponsor-standard { grid-template-columns: repeat(2, minmax(0, 1fr)); }
 .sponsor-featured { grid-template-columns: 1fr; }
 .sponsor-featured .sponsor-card { min-height: 145px; }
 .sponsor-featured img { max-width: 280px; width: 100%; max-height: 110px; }
}
@media (max-width: 480px) {
 .sponsor-presenting .sponsor-grid { grid-template-columns: 1fr; }
 .sponsor-presenting .sponsor-card { min-height: 190px; }
 .sponsor-card { padding: 20px; }
 .sponsor-standard { grid-template-columns: 1fr; }
 .sponsor-standard .sponsor-card { min-height: 130px; }
}
