.clients {
	position: relative;
	padding: 56px 0 32px;
	background: linear-gradient(180deg, #f4f7fb 0%, #ffffff 100%);
}

.clients__inner {
	max-width: var(--sfm-container);
	margin: 0 auto;
	padding: 0 24px;
}

.clients__title {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	margin: 0 0 48px;
	font-family: var(--sfm-font-sans);
	font-size: 34px;
	font-weight: var(--sfm-weight-bold);
	letter-spacing: 0.3px;
	line-height: 1.2;
	color: var(--sfm-navy);
}

.clients__title::before,
.clients__title::after {
	content: "";
	width: 11px;
	height: 11px;
	border-radius: 50%;
	background: var(--sfm-green);
	flex: none;
}

.clients__marquee {
	position: relative;
	overflow: hidden;
	direction: ltr;
	padding: 8px 0;
}

.clients__marquee::before,
.clients__marquee::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	width: 120px;
	z-index: 2;
	pointer-events: none;
}

.clients__marquee::before {
	left: 0;
	background: linear-gradient(90deg, #f4f7fb 0%, rgba(244, 247, 251, 0) 100%);
}

.clients__marquee::after {
	right: 0;
	background: linear-gradient(270deg, #f4f7fb 0%, rgba(244, 247, 251, 0) 100%);
}

.clients__track {
	display: flex;
	width: max-content;
	animation: sfmClientsScroll var(--clients-duration, var(--clients-speed)) linear infinite;
}

@media (hover: hover) and (pointer: fine) {
	.clients__marquee:hover .clients__track {
		animation-play-state: paused;
	}
}

.clients__row {
	display: flex;
	align-items: center;
}

.clients__item {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 clamp(170px, 20vw, 230px);
	width: clamp(170px, 20vw, 230px);
	height: 108px;
	padding: 16px 24px;
	margin: 0 12px;
	border: 1px solid rgba(0, 19, 87, 0.08);
	border-radius: 12px;
	background: #ffffff;
}

.clients__item img {
	display: block;
	max-width: 100%;
	max-height: 70px;
	object-fit: contain;
	opacity: 0.88;
	transition: opacity 0.3s ease;
}

.clients__item:hover img {
	opacity: 1;
}

@keyframes sfmClientsScroll {
	from { transform: translateX(0); }
	to { transform: translateX(-50%); }
}

@media (pointer: coarse) {
	.clients__marquee {
		touch-action: pan-y;
	}

	.clients__track {
		will-change: transform;
	}
}

@media (prefers-reduced-motion: reduce) {
	.clients__track {
		display: block;
		width: 100%;
		animation: none;
		will-change: auto;
	}

	.clients__row:first-child {
		flex-wrap: wrap;
		justify-content: center;
	}

	.clients__row[aria-hidden="true"] {
		display: none;
	}
}

@media (max-width: 820px) {
	.clients {
		padding: 40px 0 24px;
	}

	.clients__title {
		font-size: 22px;
		gap: 10px;
		margin-bottom: 32px;
	}

	.clients__title::before,
	.clients__title::after {
		width: 9px;
		height: 9px;
	}

	.clients__item {
		flex-basis: 180px;
		width: 180px;
		height: 96px;
		margin-inline: 8px;
	}
}