.agency-logo-carousel {
	--logo-carousel-line: #d8e2e8;
	--logo-carousel-ink: #243746;
	--logo-carousel-muted: #60717e;
	position: relative;
	width: 100%;
}

.agency-logo-carousel *,
.agency-logo-carousel *::before,
.agency-logo-carousel *::after {
	box-sizing: border-box;
}

.agency-logo-carousel__viewport {
	overflow: hidden;
	border-block: 1px solid var(--logo-carousel-line);
	background: #fff;
}

.agency-logo-carousel__track {
	display: flex;
	width: max-content;
	animation: agency-logo-scroll 34s linear infinite;
	will-change: transform;
}

.agency-logo-carousel:hover .agency-logo-carousel__track {
	animation-play-state: paused;
}

.agency-logo-carousel__set {
	display: flex;
	gap: 20px;
	padding: 18px 20px 18px 0;
}

.agency-logo-carousel__logo {
	display: grid;
	width: 220px;
	height: 102px;
	flex: 0 0 220px;
	place-items: center;
	padding: 17px 24px;
	border: 1px solid var(--logo-carousel-line);
	border-radius: 8px;
	background: #fff;
	text-decoration: none;
	transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}

a.agency-logo-carousel__logo:hover {
	border-color: #0b70af;
	box-shadow: 0 8px 22px rgba(7, 62, 114, .12);
	transform: translateY(-2px);
}

a.agency-logo-carousel__logo:focus-visible {
	outline: 3px solid #0b70af;
	outline-offset: 3px;
}

.agency-logo-carousel__logo img {
	display: block;
	width: 100%;
	height: 100%;
	max-width: 170px;
	max-height: 68px;
	object-fit: contain;
}

@keyframes agency-logo-scroll {
	to {
		transform: translateX(-50%);
	}
}

@media (max-width: 680px) {
	.agency-logo-carousel__logo {
		width: 180px;
		height: 90px;
		flex-basis: 180px;
		padding: 14px 20px;
	}

	.agency-logo-carousel__logo img {
		max-width: 145px;
		max-height: 58px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.agency-logo-carousel__viewport {
		overflow-x: auto;
		scrollbar-width: thin;
	}

	.agency-logo-carousel__track {
		animation: none;
	}

	.agency-logo-carousel__set[aria-hidden="true"] {
		display: none;
	}
}
