.asc-logo-showcase {
  padding: clamp(4rem, 7vw, 6rem) 0;
  background: #f7fafc;
  border-top: 1px solid #dce8f0;
  border-bottom: 1px solid #dce8f0;
  overflow: hidden;
}
.asc-logo-section + .asc-logo-section { margin-top: clamp(3.5rem, 6vw, 5.5rem); }
.asc-logo-heading { max-width: 1180px; margin: 0 auto 1.6rem; padding: 0 20px; }
.asc-logo-heading .asc-kicker { margin: 0 0 .45rem; }
.asc-logo-heading h2 { color: #10243c; font-size: clamp(1.6rem, 2.9vw, 2.55rem); line-height: 1.15; letter-spacing: -.04em; margin: 0; }
.asc-logo-viewport {
  overflow: hidden;
  mask-image: linear-gradient(to right, transparent, #000 6%, #000 94%, transparent);
}
.asc-logo-track { display: flex; width: max-content; animation: asc-logo-scroll 32s linear infinite; }
.asc-logo-section--partners .asc-logo-track { animation-direction: reverse; animation-duration: 38s; }
.asc-logo-viewport:hover .asc-logo-track,
.asc-logo-viewport:focus-within .asc-logo-track { animation-play-state: paused; }
.asc-logo-set { display: flex; gap: 16px; padding-right: 16px; flex: 0 0 auto; }
.asc-logo-card {
  width: clamp(165px, 18vw, 230px);
  height: 112px;
  display: grid;
  place-items: center;
  padding: 18px 24px;
  background: #fff;
  border: 1px solid #dce8f0;
  border-radius: 16px;
  box-shadow: 0 9px 25px #102f490a;
}
.asc-logo-card img { max-width: 100%; max-height: 64px; width: auto; height: auto; object-fit: contain; }
@keyframes asc-logo-scroll { to { transform: translateX(-50%); } }
@media (max-width: 600px) {
  .asc-logo-card { width: 158px; height: 96px; padding: 16px; }
  .asc-logo-card img { max-height: 56px; }
  .asc-logo-viewport { mask-image: linear-gradient(to right, transparent, #000 9%, #000 91%, transparent); }
}
@media (prefers-reduced-motion: reduce) {
  .asc-logo-viewport { overflow-x: auto; mask-image: none; }
  .asc-logo-track { animation: none; }
  .asc-logo-track .asc-logo-set[aria-hidden="true"] { display: none; }
}
