.nb-smallimgs {
  padding: 20px 0;
}
.nb-smallimgs__header {
  max-width: 1440px;
  width: 90%;
  margin: 0 auto 48px;
}
.nb-smallimgs__header h2,
.nb-smallimgs__header h3,
.nb-smallimgs__header h4,
.nb-smallimgs__header h5,
.nb-smallimgs__header h6 {
  margin: 0;
  font-family: "DM Sans";
  font-weight: 700;
  color: #000;
}
.nb-smallimgs__grid {
  max-width: 1440px;
  width: 90%;
  margin: 0 auto;
  padding: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  gap: 32px 50px;
}
.nb-smallimgs__item {
  display: flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
}
.nb-smallimgs__item img {
  min-width: 100px;
  max-width: 120px;
  object-fit: contain;
  filter: grayscale(30%);
  transition:
    filter 0.2s ease,
    transform 0.15s ease;
}
.nb-smallimgs__item a:hover img,
.nb-smallimgs__item img:hover {
  filter: none;
  transform: translateY(-2px);
}

/* Rolling banner structure (desktop behaves like current wrap grid) */
.nb-smallimgs__marquee {
  max-width: 1440px;
  width: 90%;
  margin: 0 auto;
  overflow: visible;
}
.nb-smallimgs__track {
  display: flex;
  flex-wrap: wrap;
  gap: 32px 50px;
  align-items: center;
}
.nb-smallimgs__row {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 32px 50px;
  align-items: center;
}
.nb-smallimgs__row--clone {
  display: none; /* only used for mobile marquee */
}

/* Mobile: smooth rolling banner */
@media (max-width: 720px) {
  .nb-smallimgs__marquee {
    overflow: hidden;
  }
  .nb-smallimgs__track {
    flex-wrap: nowrap;
    gap: 0;
    width: max-content;
    animation: nbSmallImgsMarquee 26s linear infinite;
    will-change: transform;
  }
  .nb-smallimgs__row {
    flex-wrap: nowrap;
    gap: 28px;
    padding-right: 28px; /* breathing room between loops */
  }
  .nb-smallimgs__row--clone {
    display: flex;
  }
  .nb-smallimgs__item img {
    min-width: 90px;
    max-width: 110px;
  }
}

@keyframes nbSmallImgsMarquee {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-50%);
  }
}

@media (prefers-reduced-motion: reduce) {
  .nb-smallimgs__track {
    animation: none;
  }
  .nb-smallimgs__marquee {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  .nb-smallimgs__marquee::-webkit-scrollbar {
    display: none;
  }
  .nb-smallimgs__row--clone {
    display: none;
  }
  .nb-smallimgs__row {
    flex-wrap: nowrap;
  }
}
