.event-marquee {
  --event-gap: 48px;
  color: var(--home-ink, #071c3d);
  background: var(--home-paper, #f7f9fc);
  border-block: 1px solid var(--home-rule, #cbd5e2);
  padding: 12px 0;
  scroll-margin-top: 100px;
}
.event-marquee-viewport:focus-visible {
  outline: 2px solid var(--home-blue, #075ee8);
  outline-offset: 4px;
}
.event-marquee-viewport {
  width: 100%;
  margin-inline: auto;
  overflow-x: auto;
  scrollbar-width: thin;
  contain: layout paint;
  -webkit-mask-image: linear-gradient(to right, transparent, #000 24px, #000 calc(100% - 24px), transparent);
  mask-image: linear-gradient(to right, transparent, #000 24px, #000 calc(100% - 24px), transparent);
}
.event-marquee.is-ready .event-marquee-viewport { overflow: hidden; }
.event-marquee-track { display: flex; width: max-content; backface-visibility: hidden; }
.event-marquee.is-ready .event-marquee-track {
  animation: event-marquee-scroll var(--event-loop-duration, 36s) linear infinite;
  animation-play-state: paused;
}
.event-marquee.is-running .event-marquee-track { animation-play-state: running; will-change: transform; }
.event-marquee-group {
  display: flex;
  flex: 0 0 auto;
  align-items: start;
  gap: var(--event-gap);
  margin: 0;
  padding: 0 var(--event-gap) 0 0;
  list-style: none;
}
.event-marquee-item {
  flex: 0 0 var(--event-item-width);
  width: var(--event-item-width);
  text-align: center;
}
.event-marquee-item--token { --event-item-width: 196px; }
.event-marquee-item--festival { --event-item-width: 120px; }
.event-marquee-item--hashkey { --event-item-width: 208px; }
.event-marquee-item--wanxiang { --event-item-width: 216px; }
.event-marquee-logo {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 44px;
  margin-bottom: 8px;
}
.event-marquee-logo img { display: block; max-width: 100%; width: auto; height: 44px; object-fit: contain; }
.event-marquee-item--token img { width: 180px; }
.event-marquee-item--festival img { width: 104px; }
.event-marquee-item--hashkey img { width: 144px; }
.event-marquee-item--wanxiang img { width: 192px; }
.event-marquee-caption {
  display: block;
  min-height: 1.5em;
  color: var(--home-copy, #53657e);
  font-size: 13px;
  line-height: 1.5;
}
@keyframes event-marquee-scroll {
  from { transform: translate3d(0, 0, 0); }
  to { transform: translate3d(calc(-1 * var(--event-loop-distance, 0px)), 0, 0); }
}
@media (max-width: 700px) {
  .event-marquee { --event-gap: 28px; padding: 10px 0; }
  .event-marquee-viewport {
    width: calc(100% - 32px);
    -webkit-mask-image: linear-gradient(to right, transparent, #000 14px, #000 calc(100% - 14px), transparent);
    mask-image: linear-gradient(to right, transparent, #000 14px, #000 calc(100% - 14px), transparent);
  }
  .event-marquee-item--token { --event-item-width: 172px; }
  .event-marquee-item--festival { --event-item-width: 100px; }
  .event-marquee-item--hashkey { --event-item-width: 180px; }
  .event-marquee-item--wanxiang { --event-item-width: 192px; }
  .event-marquee-logo { margin-bottom: 6px; }
  .event-marquee-logo, .event-marquee-logo img { height: 38px; }
  .event-marquee-item--token img { width: 158px; }
  .event-marquee-item--festival img { width: 86px; }
  .event-marquee-item--hashkey img { width: 128px; }
  .event-marquee-item--wanxiang img { width: 168px; }
  .event-marquee-caption { font-size: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  .event-marquee.is-ready .event-marquee-viewport { overflow-x: auto; }
  .event-marquee.is-ready .event-marquee-track { animation: none; transform: none; will-change: auto; }
  .event-marquee-clone { display: none; }
}
