.sponsor-showcase {
  --sponsor-gap: 24px;
  --sponsor-inset: max(50px, calc((100vw - 1320px) / 2));
  --sponsor-width: min(1000px, calc(100vw - 160px));
  border-top: 1px solid var(--line);
  background: radial-gradient(ellipse at 50% 0, rgb(var(--accent-rgb) / 0.039), transparent 65%), #08090c;
  overflow: hidden;
  padding: 80px 0 70px;
}
.sponsor-heading {display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 38px}
.sponsor-heading h2 {font-size: clamp(42px, 5vw, 68px); margin: 0}
.sponsor-heading .eyebrow {margin-bottom: 18px}
.sponsor-heading .text-link {flex-shrink: 0}
.sponsor-rail {
  position: relative;
  display: flex;
  gap: var(--sponsor-gap);
  padding: 3px var(--sponsor-inset) 8px;
  padding-right: max(var(--sponsor-inset), calc(100vw - var(--sponsor-width) - var(--sponsor-inset)));
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scroll-snap-type: x mandatory;
  scroll-padding-left: var(--sponsor-inset);
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}
.sponsor-rail::-webkit-scrollbar {display: none}
.sponsor-slide {flex: 0 0 var(--sponsor-width); min-width: 0; scroll-snap-align: start}
.sponsor-card {display: block; overflow: hidden; border: 1px solid #34353e; border-radius: 20px; background: #14161c; color: var(--white); transition: border-color .25s}
.sponsor-card:hover {border-color: #888892}
.sponsor-art {width: 100%; aspect-ratio: 16 / 5; background: #08090c; overflow: hidden}
.sponsor-art img {display: block; width: 100%; height: 100%; object-fit: contain; max-height: none}
.sponsor-caption {display: flex; justify-content: space-between; gap: 24px; align-items: center; padding: 25px 30px 28px}
.sponsor-kicker {display: block; color: #999aa6; font-size: 8px; letter-spacing: 2px; margin-bottom: 10px}
.sponsor-caption h3 {margin: 0; font-size: clamp(30px, 3.5vw, 44px); line-height: 1; text-transform: uppercase}
.sponsor-visit {display: flex; align-items: center; gap: 16px; font-size: 10px; white-space: nowrap}
.sponsor-visit > span {display: grid; place-items: center; border: 1px solid #545561; border-radius: 50%; width: 43px; height: 43px}
.sponsor-visit svg {width: 22px; height: 22px; transition: transform .25s}
.sponsor-card:hover .sponsor-visit svg {transform: translate(2px, -2px)}
.sponsor-controls {display: flex; justify-content: space-between; align-items: center; gap: 20px; margin-top: 22px}
.sponsor-controls[hidden] {display: none}
.sponsor-pagination, .sponsor-buttons, .sponsor-dots {display: flex; align-items: center}
.sponsor-pagination {gap: 24px}
.sponsor-count {font-size: 10px; letter-spacing: 2px; color: #858591; font-variant-numeric: tabular-nums}
.sponsor-count b {color: #eee; font-weight: 600}
.sponsor-dots {gap: 3px}
.sponsor-dot {border: 0; background: transparent; color: white; min-width: 44px; height: 44px; padding: 18px 6px; cursor: pointer}
.sponsor-dot span {display: block; height: 3px; border-radius: 3px; background: #41424d; transition: background .25s}
.sponsor-dot[aria-current="true"] span {background: var(--accent)}
.sponsor-buttons {gap: 8px}
.sponsor-buttons .circle-control svg {width: 21px; height: 21px}
.sponsor-pause {display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 0 12px; border: 0; background: transparent; color: #c5c6ce; font-size: 10px; cursor: pointer}
.sponsor-pause svg {width: 17px; height: 17px}
.sponsor-pause:disabled {opacity: .65; cursor: default}
.sponsor-showcase :focus-visible {outline: 2px solid var(--accent); outline-offset: 3px}
.sponsor-rail:focus-visible {outline-offset: -2px}
.visually-hidden {position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0}
@media (max-width: 800px) {
  .sponsor-showcase {--sponsor-inset: 30px; --sponsor-width: calc(100vw - 90px)}
  .sponsor-caption {padding: 22px}
  .sponsor-visit {font-size: 0; gap: 0}
}
@media (max-width: 600px) {
  .sponsor-showcase {--sponsor-inset: 20px; --sponsor-gap: 14px; --sponsor-width: calc(100vw - 52px); padding: 52px 0 40px}
  .sponsor-heading {display: block; margin-bottom: 25px}
  .sponsor-heading h2 {font-size: clamp(36px, 10.5vw, 52px); line-height: 1}
  .sponsor-heading .eyebrow {font-size: 8px; letter-spacing: 1.5px; margin-bottom: 15px}
  .sponsor-heading .text-link {display: inline-flex; margin-top: 22px}
  .sponsor-card {border-radius: 14px}
  .sponsor-caption {padding: 20px 17px 23px; gap: 12px; min-height: 116px}
  .sponsor-caption h3 {font-size: clamp(27px, 7.7vw, 36px); line-height: 1.02; max-width: 240px}
  .sponsor-kicker {font-size: 7px; letter-spacing: 1.4px; margin-bottom: 10px}
  .sponsor-visit > span {width: 35px; height: 35px}
  .sponsor-visit svg {width: 18px; height: 18px}
  .sponsor-controls {margin-top: 15px; gap: 8px}
  .sponsor-pagination {gap: 8px}
  .sponsor-count {font-size: 9px; letter-spacing: 1px}
  .sponsor-dot {min-width: 28px; padding: 18px 4px}
  .sponsor-buttons {gap: 5px}
  .sponsor-buttons .circle-control {width: 44px; height: 44px}
  .sponsor-pause {padding: 0 7px; gap: 5px; font-size: 9px}
}
@media (prefers-reduced-motion: reduce) {
  .sponsor-showcase * {transition: none !important}
}
