/* Community sponsor belt, between the hero and the club introduction. */
.sponsor-belt { padding:28px 0 32px; background:#fff; border-bottom:1px solid #dde4ea; }
.sponsor-belt-heading { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-bottom:20px; }
.sponsor-belt-heading p { margin:0; color:#526778; font-size:10px; font-weight:600; letter-spacing:.16em; }
.sponsor-carousel { overflow:hidden; }
.sponsor-track { display:flex; width:max-content; animation:sponsor-belt-scroll 40s linear infinite; }
.sponsor-belt-group { display:flex; align-items:center; gap:40px; width:max(1280px,100vw); padding:0 40px; flex:0 0 auto; }
.sponsor-belt-group > a { display:flex; flex:1; min-width:0; min-height:110px; justify-content:center; align-items:center; text-decoration:none; }
.belt-sponsor img { width:180px; height:90px; object-fit:contain; }
.sponsor-belt-group .belt-invitation { flex-direction:column; align-items:flex-start; border-left:1px solid #dde4ea; padding-left:28px; color:#23374a; }
.belt-invitation strong { font-size:16px; font-weight:500; }
.belt-invitation span { font-size:11px; color:#194bc2; margin-top:8px; }
.sponsor-carousel:hover .sponsor-track,.sponsor-carousel:focus-within .sponsor-track { animation-play-state:paused; }
@keyframes sponsor-belt-scroll { to { transform:translateX(-50%); } }

/* Annual support ranges, with consistent neutral styling. */
.refresh #sponsors .sponsors-intro { text-align:left; margin:0 0 36px; max-width:760px; font-size:16px; }
.support-tiers { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
.support-tier { display:flex; flex-direction:column; align-items:flex-start; min-width:0; padding:28px 24px; border:1px solid #d5dfe7; border-radius:6px; background:#fff; }
.support-tier-diamond { border-top:3px solid #0c2340; }
.refresh .support-tier h3 { font-size:22px; color:#0c2340; margin:0 0 20px; font-weight:600; }
.support-amount { color:#0c2340; font-weight:600; font-size:clamp(20px,2.2vw,28px); line-height:1.2; margin:0 0 8px; letter-spacing:-.025em; }
.support-period { font-size:12px; color:#526778; margin:0 0 24px; }
.tier-opening { margin-top:auto; padding-top:28px; width:100%; border-top:1px solid #dde4ea; }
.tier-opening p { font-size:14px; margin:0 0 12px; color:#526778; }
.tier-opening a,.tier-join { color:#194bc2; font-size:12px; font-weight:600; text-decoration:none; }
.tier-opening a:hover,.tier-join:hover { text-decoration:underline; }
.tier-supporter { width:100%; padding:20px 0 24px; border-top:1px solid #dde4ea; }
.tier-supporter img { display:block; width:150px; max-width:100%; height:75px; object-fit:contain; margin-bottom:16px; }
.tier-supporter h4 { font-size:16px; margin:0 0 8px; color:#0c2340; }
.tier-supporter p { font-size:12px; color:#23374a; margin:0; line-height:1.6; }
.tier-join { margin-top:auto; }
.support-invitation { margin-top:40px; border-top:1px solid #d5dfe7; padding-top:32px; max-width:760px; }
.refresh .support-invitation h3 { font-size:24px; color:#0c2340; margin:0 0 16px; }
.support-invitation p { margin:0 0 24px; line-height:1.75; }
@media(max-width:1000px) { .support-tiers { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:550px) {
 .support-tiers { grid-template-columns:minmax(0,1fr); }
 .sponsor-belt-heading p { font-size:9px; letter-spacing:.1em; }
 .support-amount { font-size:28px; }
}
@media(prefers-reduced-motion:reduce) {
 .sponsor-track { animation:none; }
 .sponsor-carousel { overflow-x:auto; }
 .sponsor-belt-group[aria-hidden="true"] { display:none; }
}

.sponsorship-page .cta-button { display:inline-block; color:#fff; text-decoration:none; font-weight:600; }
