.brand-carousel{--logo-width:156px;--logo-gap:40px;display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:18px}
.carousel-viewport{grid-column:2;min-width:0;overflow-x:auto;overscroll-behavior-x:contain;border-radius:2px;scrollbar-width:thin}
.carousel-track{display:flex;width:max-content}
.carousel-group{display:flex;align-items:center;gap:var(--logo-gap);list-style:none;margin:0;padding:14px var(--logo-gap) 14px 0;flex:none}
.carousel-group li{display:flex;align-items:center;justify-content:center;width:var(--logo-width);height:72px;flex:none}
.carousel-group img{width:100%;height:54px;object-fit:contain;filter:grayscale(1);opacity:.7;transition:filter .2s,opacity .2s;pointer-events:none}
.carousel-group li:hover img{filter:none;opacity:1}
.brand-carousel.is-ready .carousel-viewport{overflow:hidden;cursor:grab;touch-action:pan-y pinch-zoom;user-select:none;-webkit-user-select:none;-webkit-mask-image:linear-gradient(90deg,transparent,#000 20px,#000 calc(100% - 20px),transparent);mask-image:linear-gradient(90deg,transparent,#000 20px,#000 calc(100% - 20px),transparent)}
.brand-carousel.is-ready .carousel-track{will-change:transform}
.brand-carousel.is-dragging .carousel-viewport{cursor:grabbing}
.brand-carousel.is-dragging img{filter:none;opacity:1}
.carousel-arrow{display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid #c9d6df;border-radius:50%;background:white;color:var(--blue);font-size:1.4rem;line-height:1;transition:background .2s,color .2s,border-color .2s;flex:none}
.carousel-arrow:hover,.carousel-arrow:active{color:white;background:var(--blue);border-color:var(--blue)}
.carousel-prev{grid-column:1}.carousel-next{grid-column:3}
.clients .carousel-footer{display:flex;align-items:center;justify-content:center;gap:21px;margin-top:15px;min-height:44px;color:var(--muted)}
.clients .carousel-footer p{font-size:.75rem;margin:0;line-height:1.5}
.carousel-toggle{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;min-width:95px;border:0;padding:9px 10px;background:transparent;color:var(--blue);font-size:.75rem;font-weight:700}
.carousel-toggle:hover{background:var(--paper);border-radius:2px}
.carousel-pause-icon{width:10px;height:11px;display:block;border-left:3px solid currentColor;border-right:3px solid currentColor}
.carousel-toggle[aria-pressed=true] .carousel-pause-icon{border:0;width:10px;height:12px;background:currentColor;clip-path:polygon(0 0,100% 50%,0 100%)}
@media(max-width:800px){.brand-carousel{--logo-width:136px;--logo-gap:28px;gap:12px}.carousel-group img{height:51px}.clients>.wrap>#clients-title{margin-bottom:19px}}
@media(max-width:520px){.brand-carousel{--logo-width:118px;--logo-gap:24px;gap:8px}.carousel-group li{height:68px}.carousel-group img{height:49px}.clients .carousel-footer{gap:9px;margin-top:10px}.clients .carousel-footer p{font-size:.75rem;max-width:160px}.carousel-toggle{min-width:87px}.clients>.wrap>#clients-title{max-width:310px;font-size:.75rem}.brand-carousel.is-ready .carousel-viewport{-webkit-mask-image:linear-gradient(90deg,transparent,#000 10px,#000 calc(100% - 10px),transparent);mask-image:linear-gradient(90deg,transparent,#000 10px,#000 calc(100% - 10px),transparent)}}
@media(prefers-reduced-motion:reduce){.carousel-arrow,.carousel-group img{transition:none}}
@media print{.brand-carousel{display:block}.brand-carousel .carousel-viewport{overflow:visible;mask-image:none;-webkit-mask-image:none}.carousel-track{transform:none!important;width:100%}.carousel-group{flex-wrap:wrap;gap:25px;padding:0}.carousel-group[aria-hidden=true],.carousel-arrow,.clients .carousel-footer{display:none!important}}
