/* Preserve published logo slot widths; arrows sit within the existing side whitespace. */
.client-carousel[data-client-carousel]{display:block;position:relative;width:100%}
.client-carousel .client-viewport{overflow:hidden;min-width:0;width:100%;touch-action:pan-y pinch-zoom;cursor:grab}
.client-carousel .client-track{display:flex;touch-action:pan-y pinch-zoom;user-select:none;-webkit-user-select:none}
.client-carousel .client-track>.owl-item{min-width:0;flex:0 0 20%;text-align:center;float:none}
.client-carousel .client-track img{user-select:none;-webkit-user-drag:none}
.client-carousel .client-prev,.client-carousel .client-next{display:block;position:absolute;top:calc(50% - 10px);transform:translateY(-50%);z-index:2;width:44px;height:44px;margin:0;padding:0;border:0;border-radius:50%;background:transparent;color:#fff;font:400 40px/40px Arial,sans-serif;cursor:pointer;touch-action:manipulation}
.client-carousel button[hidden]{visibility:hidden;display:block}
.client-carousel button:hover{background:rgba(255,255,255,.15)}
.client-carousel button:focus-visible{outline:2px solid currentColor;outline-offset:-3px}
.client-carousel .client-position{color:#fff;text-align:center;font:600 12px/1.2 Arial,sans-serif;letter-spacing:.04em;margin:16px 0 0;opacity:.8}
.client-carousel .client-prev{left:0}
.client-carousel .client-next{right:0}
.client-carousel.client-dragging .client-viewport{cursor:grabbing}


/* Homepage carousels follow the intro text column instead of the full-width row. */
body:has(.home-header) .client-carousel[data-client-carousel],body:has(.home-header) .client-video-carousel{width:80% !important;margin-left:auto !important;margin-right:auto !important;box-sizing:border-box}
.client-video-carousel .owl-item{vertical-align:top}

/* Balanced whitespace between homepage actions, logo carousel and intro. */
.home-logo-carousel{padding-top:3em;padding-bottom:3em}
.full_width.column>p:has(+ .home-logo-carousel){margin-bottom:0}
.full_width.column>p:has(+ .home-logo-carousel) .button{margin-bottom:0 !important}

/* Published responsive item counts; original .owl-item image sizing is inherited. */
.client-video-carousel .client-track{align-items:flex-start}
.client-video-carousel .client-track>.client-slide{flex-basis:25%}
@media(max-width:1199px){.client-carousel .client-track>.client-slide{flex-basis:25%}}
@media(max-width:979px){.client-carousel .client-track>.client-slide{flex-basis:33.333333%}}
@media(max-width:768px){.client-carousel .client-track>.client-slide{flex-basis:50%}}
@media(max-width:479px){.client-carousel .client-track>.client-slide{flex-basis:100%}}
.client-carousel .client-track img{touch-action:pan-y pinch-zoom}
