/* PARCEIROS: an endless loop of paper tiles, original logos, never recoloured.
 *
 * The track holds the list twice and slides left by exactly one list (-50%),
 * so the loop is seamless. It pauses while hovered or while a logo has keyboard
 * focus. The edges fade into the page. With reduced motion: one static row.
 *
 * Optical balance: each logo gets roughly the same visible area (--h is the
 * image height on a tile); --k scales them all with the tile size. */

.partners { position: relative; z-index: 1; padding: var(--s8) 0 var(--s9); }
.pa-label { text-align: center; margin: 0 var(--rail) var(--s6); }

.pa-loop {
  --tile-w: 228px; --tile-h: 128px; --gap: var(--s4); --k: 1;
  overflow: hidden;
  -webkit-mask: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
          mask: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
}
.pa-track { display: flex; width: max-content; animation: pa-loop 32s linear infinite; }
.pa-loop:hover .pa-track, .pa-loop:focus-within .pa-track { animation-play-state: paused; }
@keyframes pa-loop { from { transform: translateX(0); } to { transform: translateX(-50%); } }

.pa-row { display: flex; gap: var(--gap); padding-right: var(--gap); }
.pa-tile {
  width: var(--tile-w); height: var(--tile-h); padding: var(--s5); border-radius: 18px; background: var(--paper);
  display: flex; align-items: center; justify-content: center; overflow: hidden;
  transition: transform .35s var(--ease), box-shadow .35s var(--ease);
}
.pa-tile:hover, .pa-tile:focus-visible { transform: translateY(-3px); box-shadow: 0 0 0 2px var(--signal); }
.pa-tile img { width: auto; height: calc(var(--h) * var(--k)); max-width: 100%; object-fit: contain; }

.pa-idealiza       { --h: 86px; }   /* the SVG has ~20% empty margin around the art */
.pa-fraiha         { --h: 50px; }
.pa-inx            { --h: 62px; }
.pa-netcorp        { --h: 62px; }
.pa-independencia  { --h: 37px; }

@media (max-width: 599px) {
  .pa-loop { --tile-w: 164px; --tile-h: 94px; --gap: var(--s3); --k: .74; }
  .pa-tile { padding: var(--s4); border-radius: 14px; }
  .pa-track { animation-duration: 26s; }
}

/* reduced motion: no loop; the first list as a centred, wrapping row */
@media (prefers-reduced-motion: reduce) {
  .pa-loop { -webkit-mask: none; mask: none; }
  .pa-track { animation: none; width: auto; justify-content: center; }
  .pa-row { flex-wrap: wrap; justify-content: center; padding: 0 var(--rail); }
  .pa-row[aria-hidden="true"] { display: none; }
}
