/* Clients Logo, by Akel Alkubeh. Loaded only on pages that use [clients_logo]. */
.clients-logo {
	--clients-logo-gap: 18px;
	--clients-logo-tile-w: 200px;
	--clients-logo-tile-h: 128px;
	--clients-logo-radius: 26px;
	--clients-logo-bg: var(--outline-hover, #f5f1fa);
	--clients-logo-ring: var(--gold, #e8c38f);
	display: flex;
	flex-direction: column;
	gap: var(--clients-logo-gap);
	width: 100%;
	overflow: hidden;
}
.clients-logo__row {
	display: flex;
	gap: var(--clients-logo-gap);
	width: max-content;
}
.clients-logo__track {
	display: flex;
	flex-shrink: 0;
	gap: var(--clients-logo-gap);
	margin: 0;
	padding: 0;
	list-style: none;
	animation: clients-logo-scroll var(--clients-logo-duration, 46s) linear infinite;
}
.clients-logo__track--reverse {
	animation-name: clients-logo-scroll-reverse;
}
.clients-logo--pause:hover .clients-logo__track,
.clients-logo--pause:focus-within .clients-logo__track {
	animation-play-state: paused;
}
.clients-logo__tile {
	flex: 0 0 var(--clients-logo-tile-w);
	width: var(--clients-logo-tile-w);
	height: var(--clients-logo-tile-h);
	box-sizing: border-box;
	margin: 0;
	padding: 22px 26px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: var(--clients-logo-radius);
	background: var(--clients-logo-bg);
	transition: transform .35s cubic-bezier(.2, .8, .2, 1), box-shadow .35s ease, background-color .35s ease;
}
.clients-logo__tile:hover {
	transform: translateY(-6px);
	background: #ffffff;
	box-shadow: 0 0 0 3px var(--clients-logo-ring), 0 18px 36px rgba(66, 24, 100, .14);
}
.clients-logo__link {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
}
.clients-logo__link:focus-visible {
	outline: none;
	box-shadow: 0 0 0 3px var(--focus, #eedda4);
	border-radius: 12px;
}
.clients-logo__tile img {
	display: block;
	max-width: 100%;
	max-height: 100%;
	width: auto;
	height: auto;
	object-fit: contain;
	transition: transform .45s cubic-bezier(.2, .8, .2, 1);
}
.clients-logo__tile:hover img {
	transform: scale(1.06);
}

@keyframes clients-logo-scroll {
	to { transform: translateX(calc(-100% - var(--clients-logo-gap))); }
}
@keyframes clients-logo-scroll-reverse {
	from { transform: translateX(calc(-100% - var(--clients-logo-gap))); }
	to { transform: translateX(0); }
}

/* tablet */
@media (max-width: 1024px) {
	.clients-logo { --clients-logo-tile-w: 180px; --clients-logo-tile-h: 116px; --clients-logo-gap: 16px; }
}
/* mobile */
@media (max-width: 767px) {
	.clients-logo { --clients-logo-tile-w: 150px; --clients-logo-tile-h: 100px; --clients-logo-gap: 12px; --clients-logo-radius: 20px; }
	.clients-logo__tile { padding: 16px 18px; }
}
/* small phones */
@media (max-width: 380px) {
	.clients-logo { --clients-logo-tile-w: 128px; --clients-logo-tile-h: 88px; }
}

@media (prefers-reduced-motion: reduce) {
	.clients-logo__track { animation: none; }
	.clients-logo__row { width: 100%; flex-wrap: wrap; justify-content: center; }
	.clients-logo__track[aria-hidden="true"] { display: none; }
	.clients-logo__track { flex-wrap: wrap; justify-content: center; flex-shrink: 1; }
	.clients-logo__tile, .clients-logo__tile img { transition: none; }
}
