/* Keep the hero logo strip independent of the page layout stylesheet. */
.b1-home .hero:has(.hero-partners:not([hidden])) { padding-bottom: 32px; }
.b1-home .hero-partners { position: relative; z-index: 1; margin-top: 36px; }
.b1-home .hero-partners-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 10px; }
.b1-home .hero-partners-heading span { color: var(--b1-accent); font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.b1-home .partner-carousel-window { width: 100%; overflow: hidden; }
.b1-home .partner-carousel-track { display: flex; flex-wrap: nowrap; width: max-content; animation: partner-logos-left 65s linear infinite; will-change: transform; }
.b1-home .partner-carousel-group { display: flex; flex-wrap: nowrap; flex: none; gap: 12px; list-style: none; margin: 0; padding: 0 12px 0 0; }
.b1-home .partner-carousel-group li { display: flex; flex: 0 0 120px; align-items: center; justify-content: center; width: 120px; height: 64px; padding: 10px; box-sizing: border-box; border: 1px solid var(--b1-line); border-radius: 12px; background: #f2f5fa; }
.b1-home .partner-carousel-group img { display: block; width: 100%; max-width: 100px; height: 42px; max-height: 100%; object-fit: contain; }
.b1-home .partner-carousel-window:hover .partner-carousel-track { animation-play-state: paused; }
@keyframes partner-logos-left {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}
@media (max-width: 640px) {
  .b1-home .hero-partners { margin-top: 28px; }
  .b1-home .partner-carousel-group li { flex-basis: 104px; width: 104px; height: 56px; padding: 8px; }
  .b1-home .partner-carousel-track { animation-duration: 58s; }
}
@media (prefers-reduced-motion: reduce) {
  .b1-home .partner-carousel-track { animation: none; transform: none; will-change: auto; }
  .b1-home .partner-carousel-window { overflow-x: auto; }
  .b1-home .partner-carousel-group[aria-hidden] { display: none; }
}
