.sbc-sponsors { --sbc-accent: #0170b9; --sbc-ink: #0e2233; --sbc-ink-soft: #5c7286; --sbc-line: #e3e0d8; padding: 50px 24px; }

.sbc-sponsors-inner { max-width: 1240px; margin: 0 auto; display: grid; grid-template-columns: 30% 1fr; gap: 56px; align-items: center; }

.sbc-sponsors-panel { padding-right: 48px; border-right: 1px solid var(--sbc-line); }
.sbc-sponsors-eyebrow { display: inline-flex; align-items: center; gap: 10px; font-family: ui-monospace, "SF Mono", "Cascadia Code", Menlo, Consolas, monospace; font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--sbc-accent); margin-bottom: 16px; }
.sbc-sponsors-eyebrow::before { content: ""; width: 22px; height: 1px; background: var(--sbc-accent); opacity: .7; }
.sbc-sponsors-title { margin: 0 0 14px; font-size: clamp(22px, 2.6vw, 27px); font-weight: 700; line-height: 1.3; letter-spacing: -.01em; color: var(--sbc-ink); }
.sbc-sponsors-sub { margin: 0; font-size: 14.5px; line-height: 1.7; color: var(--sbc-ink-soft); max-width: 32ch; }
.sbc-sponsors-stat { display: flex; align-items: center; gap: 16px; margin-top: 28px; padding-top: 22px; border-top: 1px solid var(--sbc-line); }
.sbc-sponsors-stat-num { font-size: 32px; font-weight: 800; color: var(--sbc-accent); line-height: 1; }
.sbc-sponsors-stat-label { font-size: 11.5px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: var(--sbc-ink-soft); line-height: 1.4; }

.sbc-sponsors-lanes { display: flex; flex-direction: column; gap: 36px; padding: 34px 0; min-width: 0; }
.sbc-sponsors-track { position: relative; overflow: hidden; -webkit-mask-image: linear-gradient(to right, transparent, #000 8%, #000 92%, transparent); mask-image: linear-gradient(to right, transparent, #000 8%, #000 92%, transparent); }
.sbc-sponsors-marquee { display: flex; align-items: center; width: max-content; }
.sbc-sponsors-marquee-a { animation: sbc-sponsors-scroll-left 30s linear infinite; }
.sbc-sponsors-marquee-b { animation: sbc-sponsors-scroll-right 34s linear infinite; }
.sbc-sponsors-track:hover .sbc-sponsors-marquee { animation-play-state: paused; }

.sbc-sponsors-logo { flex: none; display: flex; align-items: center; height: 70px; padding: 0 42px; border-left: 1px solid var(--sbc-line); font-size: 26px; font-weight: 700; letter-spacing: -.01em; color: #b6c0c8; transition: opacity .3s ease; }
.sbc-sponsors-logo:first-child { border-left: none; }
.sbc-sponsors-logo:hover { color: var(--sbc-accent); opacity: .8; }
.sbc-sponsors-logo-img { display: block; max-height: 70px; max-width: 210px; width: auto; height: auto; object-fit: contain; filter: grayscale(1); opacity: .55; transition: filter .3s ease, opacity .3s ease; }
.sbc-sponsors-logo:hover .sbc-sponsors-logo-img { filter: grayscale(0); opacity: 1; }

@keyframes sbc-sponsors-scroll-left { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@keyframes sbc-sponsors-scroll-right { from { transform: translateX(-50%); } to { transform: translateX(0); } }

@media (prefers-reduced-motion: reduce) { .sbc-sponsors-marquee-a, .sbc-sponsors-marquee-b { animation: none; flex-wrap: wrap; } }
@media (max-width: 900px) {
	.sbc-sponsors-inner { grid-template-columns: 1fr; gap: 32px; }
	.sbc-sponsors-panel { padding-right: 0; padding-bottom: 28px; border-right: none; border-bottom: 1px solid var(--sbc-line); }
}
@media (max-width: 600px) { .sbc-sponsors-logo { padding: 0 22px; font-size: 19px; } }
