.epic-partners {
	--epic-partners-gap: clamp(1rem, 2vw, 1.5rem);
	--epic-partners-visible: 4.5;
	--epic-partners-ratio: 467 / 700;
	--epic-partners-duration: 48s;

	padding: clamp(4rem, 8vw, 6.25rem) 0 clamp(2.5rem, 5vw, 3.75rem);
	background: var(--epic-bg-light);
	color: #111;
	font-family: var(--epic-font);
	overflow: hidden;
}

@media (min-width: 1101px) {
	.epic-partners {
		padding: 100px 0;
	}
}

.epic-partners__heading {
	margin-bottom: clamp(2rem, 4vw, 3.75rem);
	color: #bf3d29;
	text-align: center;
}

.epic-partners__marquee {
	width: 100vw;
	margin-left: calc(50% - 50vw);
	overflow: hidden;
}

.epic-partners__track {
	display: flex;
	width: max-content;
	gap: var(--epic-partners-gap);
	will-change: transform;
}

.epic-partners__item {
	flex: 0 0 auto;
	width: calc((100vw - ((var(--epic-partners-visible) - 1) * var(--epic-partners-gap))) / var(--epic-partners-visible));
	aspect-ratio: var(--epic-partners-ratio);
	overflow: hidden;
}

.epic-partners__photo {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
}

.epic-partners__marquee--animated .epic-partners__track {
	animation: epic-partners-marquee var(--epic-partners-duration) linear infinite;
}

@keyframes epic-partners-marquee {
	from {
		transform: translateX(0);
	}

	to {
		transform: translateX(-50%);
	}
}

.epic-partners__actions {
	display: flex;
	justify-content: center;
	margin-top: clamp(2.5rem, 5vw, 3.75rem);
	text-align: center;
}

@media (max-width: 600px) {
	.epic-partners {
		--epic-partners-visible: 2;
		--epic-partners-gap: 0.75rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.epic-partners__marquee--animated .epic-partners__track {
		animation: none;
		transform: none;
	}

	.epic-partners__marquee {
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
	}

	.epic-partners__marquee::-webkit-scrollbar {
		display: none;
	}
}
