/* Homepage client band: equal-sized slots, a seamless left-to-right loop. */
.home-clients { padding: 0 2rem 3.5rem; background: #fff; }
.home-clients-header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1.25rem; }
.home-clients h2 { margin: 0; font-size: .8rem; font-weight: 500; letter-spacing: .09em; text-transform: uppercase; color: var(--color-gray); }
.home-clients-toggle { border: 0; padding: .4rem .6rem; background: transparent; color: var(--color-gray); font: inherit; font-size: .78rem; cursor: pointer; }
.home-clients-toggle:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 3px; }
.home-clients-viewport { overflow: hidden; mask-image: linear-gradient(to right, transparent, #000 32px, #000 calc(100% - 32px), transparent); }
.home-clients-track { display: flex; width: max-content; }
.home-clients-group { display: flex; align-items: center; gap: 48px; padding: 0 48px 0 0; margin: 0; list-style: none; flex-shrink: 0; }
.home-clients-group li { width: 156px; height: 76px; display: flex; align-items: center; justify-content: center; flex: 0 0 156px; }
.home-clients-group img { display: block; width: auto; height: auto; max-width: 145px; max-height: 48px; object-fit: contain; opacity: .76; }
.home-clients.is-ready .home-clients-track { animation: home-clients-right 60s linear infinite; }
.home-clients.is-paused .home-clients-track,
.home-clients-viewport:hover .home-clients-track { animation-play-state: paused; }
@keyframes home-clients-right { from { transform: translateX(-50%); } to { transform: translateX(0); } }
/* Without JavaScript, present all nine logos as a static, accessible list. */
.home-clients:not(.is-ready) .home-clients-track { width: auto; }
.home-clients:not(.is-ready) .home-clients-group { width: 100%; flex-wrap: wrap; justify-content: center; padding: 0; gap: 1.5rem 3rem; }
.home-clients:not(.is-ready) .home-clients-viewport { mask-image: none; }
.home-clients:not(.is-ready) .home-clients-group[aria-hidden] { display: none; }
@media (max-width: 768px) {
    .home-clients { padding: 0 1rem 2.5rem; }
    .home-clients h2 { font-size: .7rem; letter-spacing: .06em; }
    .home-clients-group { gap: 32px; padding-right: 32px; }
    .home-clients-group li { width: 128px; flex-basis: 128px; height: 68px; }
    .home-clients-group img { max-width: 120px; max-height: 42px; }
}
@media (prefers-reduced-motion: reduce), print {
    .home-clients.is-ready .home-clients-track { animation: none; transform: none; width: auto; }
    .home-clients-viewport { mask-image: none; }
    .home-clients-group { width: 100%; flex-wrap: wrap; justify-content: center; padding: 0; gap: 1rem 2rem; }
    .home-clients-group[aria-hidden], .home-clients-toggle { display: none; }
}
