/* Franja de marcas aliadas · portada */
@keyframes al-run { to { transform: translateX(-50%); } }
@keyframes al-veins { from { transform: translateX(-3%); } to { transform: translateX(3%) translateY(-2%); } }
.aliados { position: relative; isolation: isolate; overflow: hidden; padding: clamp(36px, 5vw, 56px) 0 clamp(40px, 5.5vw, 64px); background: radial-gradient(120% 140% at 50% 0%, #163646 0%, #0e2431 65%); color: #d8e7ee; }
.aliados-veins { position: absolute; inset: -20%; z-index: -1; opacity: .3; animation: al-veins 16s ease-in-out infinite alternate;
  background: radial-gradient(35% 30% at 20% 40%, rgba(143,208,230,.35), transparent 70%), radial-gradient(30% 25% at 80% 70%, rgba(79,179,212,.3), transparent 70%); }
.aliados-head { text-align: center; margin-bottom: clamp(22px, 3vw, 32px); }
.aliados-head .eyebrow { color: var(--larimar); }
.aliados-head h2 { color: #fff; font-size: clamp(22px, 3vw, 32px); }
.aliados-track { overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent); mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent); }
.aliados-row { list-style: none; margin: 0; padding: 6px 0; display: flex; gap: 16px; width: max-content; animation: al-run 55s linear infinite; }
.aliados-track:hover .aliados-row, .aliados-track:focus-within .aliados-row { animation-play-state: paused; }
.al-item { flex: none; width: 210px; height: 116px; border-radius: 16px; display: grid; place-items: center; padding: 18px 22px; transition: transform .3s, box-shadow .3s, border-color .3s; }
.al-item > a { display: grid; place-items: center; width: 100%; height: 100%; }
.al-item img { max-width: 100%; max-height: 72px; width: auto; height: auto; object-fit: contain; }
.al-dark { background: rgba(255,255,255,.05); border: 1px solid rgba(143,208,230,.22); }
.al-light { background: #fff; border: 1px solid #fff; }
.al-item:hover { transform: translateY(-4px); box-shadow: 0 14px 30px rgba(0,0,0,.35); border-color: var(--larimar); }
@media (max-width: 560px) {
  .al-item { width: 160px; height: 92px; padding: 14px 16px; border-radius: 13px; }
  .al-item img { max-height: 56px; }
  .aliados-row { gap: 12px; animation-duration: 42s; }
}
@media (prefers-reduced-motion: reduce) {
  .aliados-veins { animation: none; }
  .aliados-track { -webkit-mask-image: none; mask-image: none; }
  .aliados-row { animation: none; width: auto; flex-wrap: wrap; justify-content: center; padding-inline: 18px; }
  .aliados-row > [aria-hidden="true"] { display: none; }
}
