.partners-section {
  margin-bottom: 60.5px;
  position: relative;
  overflow-x: clip; /* safety net: never let the slider widen the page */
}

/* Never let the slider stretch its parents */
.partners-wrapper {
  width: 100%;
  min-width: 0;
}

.partners-slider.swiper {
  min-width: 0;
  max-width: 100%;
}

.partners-wrapper .section-header h2 > .section-title__text::after {
    display: none !important;
}
/* Full-bleed on tablet and mobile (same behavior as the videos slider) */
@media (max-width: 1023.98px) {
  .partners-section--bleed {
    width: 100vw;
    max-width: 100vw;
    margin-inline: calc(50% - 50vw);
    box-sizing: border-box;
  }

  .partners-section--bleed .partners-section__inner {
    max-width: none;
    padding-inline: 0px;
    margin-right: 0;
  }
}

@media (max-width: 767.98px) {
  .partners-section--bleed .partners-section__inner {
    padding-inline: 0px;
    margin-right: 0;
  }
}


/* =================================================
   Endless logos strip (pure CSS marquee, no JS)
   Markup: .partners-marquee > .partners-marquee__viewport > .partners-marquee__track
           > 2 x .partners-marquee__group > .partners-marquee__item
   Inline variables (partners.php): --slides-desktop / --slides-tablet / --slides-mobile / --partners-duration
   ================================================= */
.partners-marquee {
  --partners-gap: 24px;
  --partners-view: var(--slides-mobile, 1);
}

@media (min-width: 768px) {
  .partners-marquee {
    --partners-view: var(--slides-tablet, 2);
  }
}

@media (min-width: 1024px) {
  .partners-marquee {
    --partners-view: var(--slides-desktop, 3.6);
  }
}

.partners-marquee__viewport {
  overflow: hidden;
  container-type: inline-size; /* lets the items use cqw units (= viewport width) */
}

.partners-marquee__track {
  display: flex;
  width: max-content;
  padding: 8px 0;
  animation: partners-marquee-ltr var(--partners-duration, 30s) linear infinite;
  will-change: transform;
}

/* RTL: the first group sits on the right, so the strip moves to the right */
html[dir="rtl"] .partners-marquee__track {
  animation-name: partners-marquee-rtl;
}

.partners-marquee__group {
  display: flex;
  flex: 0 0 auto;
  gap: var(--partners-gap);
  padding-inline-end: var(--partners-gap); /* keeps both groups exactly the same width */
}

.partners-marquee__item {
  flex: 0 0 auto;
  width: 280px; /* fallback for browsers without container query units */
}

@supports (width: 1cqw) {
  .partners-marquee__item {
    width: calc((100cqw - (var(--partners-view) - 1) * var(--partners-gap)) / var(--partners-view));
  }
}
@supports (width: 750px) {
.partners-marquee__item{
  width:274px !important
}
}

@keyframes partners-marquee-ltr {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}

@keyframes partners-marquee-rtl {
  from { transform: translateX(0); }
  to   { transform: translateX(50%); }
}

/* Respect the "reduce motion" system setting: static, scrollable strip */
@media (prefers-reduced-motion: reduce) {
  .partners-marquee__track {
    animation: none;
  }

  .partners-marquee__viewport {
    overflow-x: auto;
  }

  .partners-marquee__group[aria-hidden="true"] {
    display: none;
  }
}