/* Sponsor recognition */
.sponsors-section {
    width: min(100% - 2rem, 72rem);
    margin: 2.5rem auto;
    padding: 1.5rem;
    background: var(--color-white, #ffffff);
    border: 1px solid rgb(7 31 74 / 0.14);
    border-radius: var(--radius-sm, 0.5rem);
    box-shadow: 0 4px 16px rgb(7 31 74 / 0.08);
}

.sponsors-section__heading {
    margin: 0 0 1.25rem;
    color: var(--color-navy, #071f4a);
    font-size: clamp(1.35rem, 3vw, 1.75rem);
    font-weight: 700;
    line-height: 1.25;
    text-align: center;
}

.sponsors-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr));
    gap: 1rem;
    align-items: stretch;
}

.sponsor-card {
    display: flex;
    overflow: hidden;
    aspect-ratio: 2 / 1;
    align-items: center;
    justify-content: center;
    color: inherit;
    background: #ffffff;
    border: 1px solid rgb(7 31 74 / 0.18);
    border-radius: var(--radius-xs, 0.25rem);
}

a.sponsor-card { transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease; }
a.sponsor-card:hover { border-color: var(--color-gold, #f6cc4f); box-shadow: 0 4px 12px rgb(7 31 74 / 0.14); transform: translateY(-2px); }
a.sponsor-card:focus-visible { outline: 3px solid var(--color-gold, #f6cc4f); outline-offset: 3px; }

.sponsor-card__image { display: block; width: 100%; height: 100%; object-fit: contain; }
.site-footer-sponsors { width: min(100%, 42rem); margin: 0 auto 1.1rem; }
.site-footer-sponsors__heading { margin: 0 0 0.65rem; color: var(--color-cream, #f7f2d8); font-size: 0.875rem; font-weight: 700; letter-spacing: 0.04em; }
.sponsors-grid--compact { grid-template-columns: repeat(auto-fit, minmax(5.5rem, 1fr)); gap: 0.65rem; }
.sponsor-card--compact { border-color: rgb(255 255 255 / 0.35); }

@media (max-width: 30rem) {
    .sponsors-section { width: min(100% - 1rem, 72rem); padding: 1rem; }
    .site-footer-sponsors { max-width: 23rem; }
}
