/* Client marks extracted from page 30 of the company brochure. */
.home-page .partners-section {
  padding-inline: var(--gutter);
  overflow: hidden;
  background: transparent;
  /* Blend the brochure images' white paper into the page without redrawing logos. */
  mix-blend-mode: multiply;
  border-top: 1px solid #dce5d6;
}
.partners-section .section-header {
  display: block;
  max-width: var(--page-width);
  margin-bottom: 36px;
}
.partners-section .section-subtitle { max-width: 760px; margin: 14px 0 0; }
.partners-marquee {
  --partner-width: 148px;
  --partner-height: 76px;
  --partner-gap: 28px;
  display: grid;
  gap: 24px;
  max-width: var(--page-width);
  margin-inline: auto;
  padding-block: 4px;
  mask-image: linear-gradient(90deg, transparent, #000 5%, #000 95%, transparent);
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 5%, #000 95%, transparent);
}
.partner-row { overflow: hidden; min-width: 0; }
.partner-track {
  display: flex;
  width: max-content;
  animation: partners-left 72s linear infinite;
  animation-delay: var(--row-delay, 0s);
  will-change: transform;
}
.partner-row:nth-child(2) .partner-track { animation-name: partners-right; }
.partner-group {
  display: flex;
  flex: none;
  align-items: center;
  gap: var(--partner-gap);
  padding: 0 var(--partner-gap) 0 0;
  margin: 0;
  list-style: none;
}
.partner-logo {
  display: flex;
  flex: 0 0 var(--partner-width);
  align-items: center;
  justify-content: center;
  width: var(--partner-width);
  height: var(--partner-height);
  padding: 14px;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
.partner-logo img {
  display: block;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 44px;
  object-fit: contain;
}
.partners-section.is-out-of-view .partner-track { animation-play-state: paused; }
@keyframes partners-left {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}
@keyframes partners-right {
  from { transform: translateX(-50%); }
  to { transform: translateX(0); }
}
@media (max-width: 760px) {
  .partners-section .section-header { margin-bottom: 28px; }
  .partners-marquee { --partner-width: 120px; --partner-height: 66px; --partner-gap: 20px; gap: 20px; }
  .partner-logo { padding: 12px; }
  .partner-logo img { max-height: 38px; }
  .partner-track { animation-duration: 62s; }
}
@media (prefers-reduced-motion: reduce) {
  .partners-marquee { mask-image: none; -webkit-mask-image: none; }
  .partner-row { overflow-x: auto; scrollbar-width: thin; padding-bottom: 6px; }
  .partner-track { animation: none; transform: none; will-change: auto; }
  .partner-group { padding-inline: var(--partner-gap); }
  .partner-group[aria-hidden="true"] { display: none; }
}
