/* Final company-proof treatment: one refined horizontal ribbon, not a grid. */
.company-marquee {
  width: 100%;
  overflow: hidden;
  padding: 8px 0 14px;
  mask-image: linear-gradient(90deg, transparent 0, #000 5%, #000 95%, transparent 100%);
}

.company-marquee .company-logo-rows {
  display: flex !important;
  flex-direction: row !important;
  align-items: center;
  width: max-content;
  gap: 14px;
  animation: company-ribbon 84s linear infinite;
  will-change: transform;
}

.company-marquee:hover .company-logo-rows,
.company-marquee:focus-within .company-logo-rows {
  animation-play-state: paused;
}

.company-marquee .company-logo-row {
  display: flex !important;
  flex-direction: row !important;
  align-items: center;
  width: max-content !important;
  max-width: none !important;
  gap: 14px !important;
}

.company-marquee .company-logo {
  box-sizing: border-box;
  flex: 0 0 142px !important;
  flex-direction: row !important;
  width: 142px !important;
  height: 54px !important;
  min-height: 54px;
  padding: 8px 14px !important;
  gap: 9px !important;
  border: 1px solid #e0e6ea;
  border-radius: 3px;
  background: #fff;
  box-shadow: 0 3px 10px rgba(16, 38, 66, .045);
}

.company-marquee .company-logo:after { display: none !important; }

.company-marquee .company-logo img {
  flex: 0 1 auto;
  width: auto;
  max-width: 90px !important;
  max-height: 28px !important;
  object-fit: contain;
  filter: none !important;
  opacity: 1 !important;
  transform: none !important;
}

.company-marquee .company-logo b { display: none; }
.company-marquee .company-logo.logo-fallback b {
  display: block !important;
  max-width: none;
  overflow: visible;
  color: #263d56;
  font: 700 18px/1.1 var(--sans);
  letter-spacing: -.035em;
  text-align: center;
  white-space: nowrap;
}

/* Optical sizing: equal visual weight despite very different logo proportions. */
.company-marquee .company-logo:has(img[alt="Amazon"]) img { width: 88px; max-height: 27px !important; }
.company-marquee .company-logo:has(img[alt="Meta"]) img,
.company-marquee .company-logo:has(img[alt="Apple"]) img,
.company-marquee .company-logo:has(img[alt="Microsoft"]) img,
.company-marquee .company-logo:has(img[alt="TikTok"]) img,
.company-marquee .company-logo:has(img[alt="Spotify"]) img,
.company-marquee .company-logo:has(img[alt="Intel"]) img { width: 31px; height: 31px; max-height: 31px !important; }
.company-marquee .company-logo:has(img[alt="Uber"]) img { width: 82px; max-height: 28px !important; }
.company-marquee .company-logo:has(img[alt="Google"]) img { width: 90px; max-height: 29px !important; }
.company-marquee .company-logo:has(img[alt="Deloitte"]) img { width: 90px; max-height: 22px !important; }
.company-marquee .company-logo:has(img[alt="PwC"]) img { width: 58px; max-height: 28px !important; }
.company-marquee .company-logo:has(img[alt="Citi"]) img { width: 62px; max-height: 29px !important; }
.company-marquee .company-logo:has(img[alt="P&G"]) img { width: 62px; max-height: 28px !important; }
.company-marquee .company-logo:has(img[alt="Tesla"]) img { width: 92px; max-height: 20px !important; }
.company-marquee .company-logo:has(img[alt="Johnson & Johnson"]) img { width: 92px; max-height: 20px !important; }
.company-marquee .company-logo:has(img[alt="Coca-Cola"]) img { width: 90px; max-height: 26px !important; }
.company-marquee .company-logo:has(img[alt="Accenture"]) img { width: 90px; max-height: 24px !important; }

@keyframes company-ribbon {
  to { transform: translateX(-50%); }
}

@media (max-width: 800px) {
  .company-marquee {
    overflow-x: auto;
    mask-image: none;
    scrollbar-width: thin;
    scroll-snap-type: x proximity;
  }

  .company-marquee .company-logo-rows { animation: none; }
  .company-marquee .company-logo-row[aria-hidden="true"] { display: none !important; }
  .company-marquee .company-logo {
    flex-basis: 132px !important;
    width: 132px !important;
    height: 50px !important;
    min-height: 50px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .company-marquee .company-logo-rows { animation: none; }
}
