

.aa-partners {
  
  --aa-partners-cell: 40px;       
  --aa-partners-gap: 72px;        
  --aa-partners-rows: 26px;       
  --aa-partners-fade: 88px;       
  padding-block: clamp(32px, 3vw, 44px) 0;
  background: var(--aa-white);
}


.aa-partners__inner { display: grid; grid-template-columns: minmax(0, 1fr); row-gap: clamp(18px, 1.8vw, 24px); }
.aa-partners__inner::after { content: ""; height: 1px; margin-top: clamp(14px, 1.4vw, 20px); background: var(--aa-line-soft); }

.aa-partners__head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 2px 24px; }
.aa-partners__title { font-size: clamp(18px, 1.5vw, 21px); font-weight: 700; line-height: 1.4; letter-spacing: -0.03em; color: var(--aa-ink); }


.aa-partners__view { position: relative; }
.aa-partners__view::before,
.aa-partners__view::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: 1;
  width: var(--aa-partners-fade);
  pointer-events: none;
}
.aa-partners__view::before { left: 0; background: linear-gradient(90deg, var(--aa-white), transparent); opacity: 0; }
.aa-partners__view::after { right: 0; background: linear-gradient(270deg, var(--aa-white), transparent); }

.aa-partners__strip {
  display: grid;
  row-gap: var(--aa-partners-rows);
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scrollbar-width: none;
  border-radius: 12px;
}
.aa-partners__strip::-webkit-scrollbar { display: none; }

.aa-partners__row { display: flex; align-items: center; width: max-content; padding-right: var(--aa-partners-fade); }
.aa-partners__item {
  flex: none;
  display: flex;
  align-items: center;
  height: var(--aa-partners-cell);
  padding-right: var(--aa-partners-gap);
}
.aa-partners__row > .aa-partners__item:last-child { padding-right: 0; }
.aa-partners__logo {
  width: auto;
  max-width: none;
  height: calc(var(--aa-partners-cell) * var(--aa-partners-fit, .62));
  user-select: none;
  -webkit-user-drag: none;
}


.aa-partners__item--w1 { --aa-partners-fit: .33; }
.aa-partners__item--w2 { --aa-partners-fit: .46; }
.aa-partners__item--w3 { --aa-partners-fit: .54; }
.aa-partners__item--w4 { --aa-partners-fit: .64; }
.aa-partners__item--w5 { --aa-partners-fit: .76; }
.aa-partners__item--w6 { --aa-partners-fit: .88; }
.aa-partners__item--w7 { --aa-partners-fit: 1; }


.aa-partners__item[aria-hidden="true"] { display: none; }

@media (max-width: 1100px) {
  .aa-partners { --aa-partners-cell: 38px; --aa-partners-gap: 56px; --aa-partners-rows: 22px; --aa-partners-fade: 64px; }
}


@media (max-width: 760px) {
  .aa-partners { --aa-partners-cell: 34px; --aa-partners-gap: 36px; --aa-partners-rows: 16px; --aa-partners-fade: 40px; padding-top: 28px; }
  .aa-partners__inner { row-gap: 16px; }
  .aa-partners__inner::after { margin-top: 12px; }
  .aa-partners__head { display: grid; gap: 2px; }
  .aa-partners__title { font-size: 17px; }
  .aa-partners__view { margin-inline: calc(var(--aa-gutter) * -1); }
  .aa-partners__strip { border-radius: 0; scroll-padding-inline: var(--aa-gutter); }
  .aa-partners__row { padding-left: var(--aa-gutter); }
}


@media (prefers-reduced-motion: no-preference) {
  .aa-partners[data-partners-motion] .aa-partners__view::before { opacity: 1; }
  .aa-partners[data-partners-motion] .aa-partners__strip { overflow: hidden; }
  .aa-partners[data-partners-motion] .aa-partners__item[aria-hidden="true"] { display: flex; }
  .aa-partners[data-partners-motion] .aa-partners__row { padding-inline: 0; }
  .aa-partners[data-partners-motion] .aa-partners__row > .aa-partners__item:last-child { padding-right: var(--aa-partners-gap); }
  .aa-partners[data-partners-motion] .aa-partners__row {
    animation: aa-partners-drift var(--aa-partners-dur, 90s) linear infinite;
    animation-play-state: paused;
    will-change: transform;
  }
  .aa-partners[data-partners-motion][data-partners-live="true"] .aa-partners__row { animation-play-state: running; }
  .aa-partners[data-partners-motion] .aa-partners__strip:hover .aa-partners__row,
  .aa-partners[data-partners-motion] .aa-partners__strip:focus-within .aa-partners__row { animation-play-state: paused; }
}
@keyframes aa-partners-drift { to { transform: translate3d(-50%, 0, 0); } }
