.partners-page-wrapper {
  --partners-navy: #0d2d6b;
  --partners-muted: #64748b;
  background:
    radial-gradient(circle at 93% 4%, rgba(22, 87, 160, 0.09), transparent 28rem),
    #ffffff;
}

.partners-page-wrapper .cycle_section_3 {
  float: none;
  overflow: visible;
}

.partners-page-wrapper .partners-tier-layout {
  display: block;
  max-width: 820px;
}

.partners-page-wrapper .partners-tier-copy {
  min-width: 0;
}

.partners-page-wrapper .partners-tier-copy .cycles_text {
  float: none;
}

.partners-page-wrapper .partners-tier-groups {
  display: grid;
  gap: clamp(48px, 7vw, 76px);
  margin-top: clamp(62px, 8vw, 100px);
}

.partners-page-wrapper .partners-tier-group {
  --category-color: #0d2d6b;
  scroll-margin-top: 110px;
}

.partners-page-wrapper .partners-tier-group--manufacturers {
  --category-color: #0d2d6b;
}

.partners-page-wrapper .partners-tier-group--automotive {
  --category-color: #1e5794;
}

.partners-page-wrapper .partners-tier-group--industrial {
  --category-color: #3d6f9f;
}

.partners-page-wrapper .partners-tier-group--logistics {
  --category-color: #57738f;
}

.partners-page-wrapper .partners-tier-group__header {
  position: relative;
  margin-bottom: 28px;
  padding-bottom: 12px;
}

.partners-page-wrapper .partners-tier-group__header::after {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 2px;
  background: var(--category-color);
  content: "";
  transform-origin: left center;
}

.partners-page-wrapper .partners-tier-group__header h2 {
  margin: 0;
  color: var(--category-color);
  font-size: clamp(26px, 3vw, 36px);
  line-height: 1.1;
}

.partners-page-wrapper .partners-tier-grid,
.partners-page-wrapper .partners-tier-grid--single {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap: 34px 42px;
  align-items: center;
}

.partners-page-wrapper .partners-tier-logo {
  display: block;
  width: 100%;
  max-width: 180px;
  height: 110px;
  justify-self: center;
  object-fit: contain;
  transform-origin: center;
}

/* Motion is enabled only after JavaScript is ready, so logos remain visible if JS is unavailable. */
.partners-page-wrapper .partners-motion-ready .partners-tier-group__header {
  opacity: 0;
  transform: translateY(18px);
  transition:
    opacity 0.55s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.55s cubic-bezier(0.22, 1, 0.36, 1);
  will-change: opacity, transform;
}

.partners-page-wrapper .partners-motion-ready .partners-tier-group__header::after {
  transform: scaleX(0);
  transition: transform 0.75s 0.08s cubic-bezier(0.22, 1, 0.36, 1);
}

.partners-page-wrapper .partners-motion-ready .partners-tier-logo {
  opacity: 0;
  transform: translateY(22px) scale(0.94);
  transition:
    opacity 0.55s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.55s cubic-bezier(0.22, 1, 0.36, 1),
    filter 0.3s ease;
  transition-delay: calc(0.1s + (var(--partners-logo-index, 0) * 0.065s));
  will-change: opacity, transform;
}

.partners-page-wrapper .partners-motion-ready.partners-motion-setup .partners-tier-group__header,
.partners-page-wrapper .partners-motion-ready.partners-motion-setup .partners-tier-group__header::after,
.partners-page-wrapper .partners-motion-ready.partners-motion-setup .partners-tier-logo {
  transition: none;
}

.partners-page-wrapper .partners-motion-ready .partners-tier-group.is-visible .partners-tier-group__header,
.partners-page-wrapper .partners-motion-ready .partners-tier-group.is-visible .partners-tier-logo {
  opacity: 1;
  transform: none;
}

.partners-page-wrapper .partners-motion-ready .partners-tier-group.is-visible .partners-tier-group__header::after {
  transform: scaleX(1);
}

@media (hover: hover) and (pointer: fine) {
  .partners-page-wrapper .partners-motion-ready .partners-tier-group.is-visible .partners-tier-logo:hover,
  .partners-page-wrapper .partners-tier-logo:hover {
    filter: drop-shadow(0 10px 12px rgba(13, 45, 107, 0.16));
    transform: translateY(-6px) scale(1.04);
  }
}

@media (max-width: 767px) {
  .partners-page-wrapper .partners-tier-copy .cycles_text {
    text-align: left;
  }

  .partners-page-wrapper .partners-tier-grid,
  .partners-page-wrapper .partners-tier-grid--single {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 26px 22px;
  }

  .partners-page-wrapper .partners-tier-logo {
    max-width: 130px;
    height: 82px;
  }

  .partners-page-wrapper .partners-motion-ready .partners-tier-logo {
    transition-delay: calc(0.08s + (var(--partners-logo-index, 0) * 0.05s));
  }
}

@media (prefers-reduced-motion: reduce) {
  .partners-page-wrapper .partners-motion-ready .partners-tier-group__header,
  .partners-page-wrapper .partners-motion-ready .partners-tier-group__header::after,
  .partners-page-wrapper .partners-motion-ready .partners-tier-logo,
  .partners-page-wrapper .partners-motion-ready .partners-tier-group.is-visible .partners-tier-logo:hover {
    opacity: 1;
    filter: none;
    transform: none;
    transition: none;
  }
}
