/* Customer website logos: two opposing, seamless rows. */
.customer-logo-roll { padding:62px 0 66px; background:#fff; color:#203b64; }
.customer-logo-roll__heading { display:flex; justify-content:space-between; align-items:flex-end; gap:28px; margin-bottom:32px; }
.customer-logo-roll__eyebrow { color:#296bdf; font-size:11px; letter-spacing:.14em; margin:0 0 13px; }
.customer-logo-roll h2 { margin:0 0 14px; font-size:clamp(25px,2.4vw,35px); line-height:1.45; letter-spacing:-.025em; }
.customer-logo-roll__intro { margin:0; color:#718096; font-size:14px; line-height:1.9; }
.customer-logo-roll__controls { display:flex; gap:10px; flex-shrink:0; }
.customer-logo-roll__controls button { border:1px solid #d9e4f0; border-radius:24px; background:#fff; color:#56718e; padding:10px 17px; font:inherit; font-size:12px; cursor:pointer; min-height:42px; }
.customer-logo-roll__controls button:hover { border-color:#296bdf; color:#296bdf; background:#f4f8ff; }
.customer-logo-roll__controls button:focus-visible,.customer-logo-roll__card:focus-visible { outline:2px solid #296bdf; outline-offset:3px; }
.customer-logo-roll__controls [hidden] { display:none; }
.customer-logo-roll__rows { display:grid; gap:18px; }
.customer-logo-roll__window { overflow-x:auto; padding-block:4px; scrollbar-width:thin; }
.customer-logo-roll__track { display:flex; width:max-content; }
.customer-logo-roll__group { display:flex; gap:18px; padding-right:18px; flex-shrink:0; }
.customer-logo-roll__card { display:flex; flex-direction:column; justify-content:center; flex:0 0 200px; width:200px; min-width:0; background:#fff; border:1px solid #e7edf4; border-radius:10px; padding:5px 9px 9px; text-decoration:none; transition:border-color .2s,box-shadow .2s; }
.customer-logo-roll__card img { display:block; width:180px; height:81px; object-fit:contain; max-width:100%; border-radius:4px; }

.customer-logo-roll__card:hover { border-color:#b7d0ef; box-shadow:0 4px 14px #294a7310; }
.customer-logo-roll.is-ready:not(.is-expanded) .customer-logo-roll__window { overflow:hidden; mask-image:linear-gradient(to right,transparent,#000 48px,#000 calc(100% - 48px),transparent); }
.customer-logo-roll.is-ready:not(.is-expanded) .customer-logo-roll__track { animation:customer-logo-drift 165s linear infinite; will-change:transform; }
.customer-logo-roll.is-ready:not(.is-expanded) .customer-logo-roll__window:nth-child(2) .customer-logo-roll__track { animation-duration:180s; animation-direction:reverse; }
.customer-logo-roll__window:hover .customer-logo-roll__track { animation-play-state:paused!important; }
.customer-logo-roll.is-ready:not(.is-expanded) .customer-logo-roll__window:focus-within { overflow-x:auto; mask-image:none; }
.customer-logo-roll.is-ready:not(.is-expanded) .customer-logo-roll__window:focus-within .customer-logo-roll__track { animation:none; transform:none; }
.customer-logo-roll__hint { text-align:center; margin:22px 0 0; font-size:11px; color:#91a1b4; }
.customer-logo-roll.is-expanded .customer-logo-roll__rows { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:16px; }
.customer-logo-roll.is-expanded .customer-logo-roll__window,
.customer-logo-roll.is-expanded .customer-logo-roll__track,
.customer-logo-roll.is-expanded .customer-logo-roll__group { display:contents; }
.customer-logo-roll.is-expanded .customer-logo-roll__group[data-clone] { display:none; }
.customer-logo-roll.is-expanded .customer-logo-roll__card { width:100%; align-items:center; }
@keyframes customer-logo-drift { from { transform:translateX(0); } to { transform:translateX(-50%); } }
@media(max-width:1050px) { .customer-logo-roll__heading { align-items:flex-start;flex-direction:column;gap:20px; }.customer-logo-roll.is-expanded .customer-logo-roll__rows { grid-template-columns:repeat(4,minmax(0,1fr)); } }
@media(max-width:600px) {
 .customer-logo-roll { padding-block:42px; }.customer-logo-roll__heading { margin-bottom:23px; }.customer-logo-roll h2 { font-size:25px; }.customer-logo-roll__intro { font-size:13px; }.customer-logo-roll__rows { gap:12px; }.customer-logo-roll__group { gap:12px;padding-right:12px; }.customer-logo-roll__card { flex-basis:156px;width:156px;padding:4px 7px 8px; }.customer-logo-roll__card img { width:140px;height:63px; }.customer-logo-roll.is-ready:not(.is-expanded) .customer-logo-roll__window { mask-image:linear-gradient(to right,transparent,#000 18px,#000 calc(100% - 18px),transparent); }.customer-logo-roll.is-expanded .customer-logo-roll__rows { grid-template-columns:repeat(2,minmax(0,1fr));gap:12px; }.customer-logo-roll__controls button { padding-inline:14px; }.customer-logo-roll__hint { font-size:10px; }
}
@media(prefers-reduced-motion:reduce) {
 .customer-logo-roll.is-ready:not(.is-expanded) .customer-logo-roll__track { animation:none;transform:none;will-change:auto; }
 .customer-logo-roll.is-ready:not(.is-expanded) .customer-logo-roll__window { overflow-x:auto;mask-image:none; }
 .customer-logo-roll__group[data-clone] { display:none; }
 .customer-logo-roll__card { transition:none; }
}
