/* Fase 3.0 - solo héroe / FAQs. Se mantienen colores y tipografías Creovibe. */
.banner-section .clients-logo-box { min-width: 0; flex: 1 1 700px; max-width: 820px; }
.banner-section .clients-logo-box .logo-box.am-hero-logo-viewport {
  display: block; width: 100%; max-width: 820px; overflow: hidden;
  padding: 12px 0; position: relative; isolation: isolate;
}
.am-hero-logo-track {
  display: flex; gap: 0; width: max-content;
  animation: am-hero-logos-marquee 21s linear infinite;
  will-change: transform;
}
.am-hero-logo-group {
  --am-logo-gap: clamp(22px, 3vw, 48px);
  display: flex; flex: 0 0 auto; align-items: center;
  gap: var(--am-logo-gap); padding: 0 var(--am-logo-gap) 0 0;
}
.banner-section .clients-logo-box .am-hero-logo-group .logo {
  display: flex; flex: 0 0 auto; align-items: center; opacity: 1;
}
.banner-section .clients-logo-box .am-hero-logo-group .logo:hover { opacity: 1; }
.banner-section .clients-logo-box .am-hero-logo-group .logo a { display: inline-flex; align-items: center; }
.banner-section .clients-logo-box .am-hero-logo-group .logo img {
  display: block; width: 140px; height: 43px; object-fit: contain;
  transition: transform .25s ease; transform-origin: center;
}
.banner-section .clients-logo-box .am-hero-logo-group .logo:hover img,
.banner-section .clients-logo-box .am-hero-logo-group .logo:focus-within img {
  transform: scale(1.12);
}
.am-hero-logo-viewport:hover .am-hero-logo-track,
.am-hero-logo-viewport:focus-within .am-hero-logo-track { animation-play-state: paused; }
@keyframes am-hero-logos-marquee { to { transform: translate3d(-50%, 0, 0); } }
@media (max-width: 991.98px) {
  .banner-section .clients-logo-box { flex-basis: 100%; max-width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .am-hero-logo-track { animation: none; will-change: auto; }
  .banner-section .clients-logo-box .am-hero-logo-group .logo img { transition: none; }
}
