/**
 * Partner logo strip — full-bleed white band + true infinite marquee.
 */

.prep-partners {
	--prep-partners-ink: var(--e-global-color-94228e8, #053264);
	--prep-partners-font: "Gilam", var(--e-global-typography-text-font-family, sans-serif);
	--prep-partners-bg: #ffffff;
	--prep-partners-gap: 2.5rem;
	--prep-partners-pad-x: max(1.25rem, calc(50vw - 560px));
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1.25rem;
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	padding: 1.75rem 0 2rem;
	background: var(--prep-partners-bg);
	font-family: var(--prep-partners-font);
	box-sizing: border-box;
	overflow: hidden;
}

.prep-partners *,
.prep-partners *::before,
.prep-partners *::after {
	box-sizing: border-box;
}

.prep-partners__title {
	margin: 0;
	padding: 0 var(--prep-partners-pad-x);
	width: 100%;
	text-align: center;
	font-family: var(--prep-partners-font) !important;
	font-size: clamp(1.75rem, 4vw, 2.25rem) !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;
	letter-spacing: 0.01em !important;
	text-transform: none !important;
	color: var(--prep-partners-ink) !important;
}

.prep-partners__viewport {
	overflow: hidden;
	width: 100%;
	mask-image: linear-gradient(to right, transparent, #000 4%, #000 96%, transparent);
	-webkit-mask-image: linear-gradient(to right, transparent, #000 4%, #000 96%, transparent);
}

.prep-partners__track {
	display: flex;
	width: max-content;
	align-items: center;
}

.prep-partners__track--animated {
	animation: prep-partners-marquee var(--prep-partners-duration, 30s) linear infinite;
	will-change: transform;
}

.prep-partners__track--animated:hover,
.prep-partners.is-paused .prep-partners__track--animated {
	animation-play-state: paused;
}

.prep-partners__group {
	display: flex;
	flex-shrink: 0;
	align-items: center;
	gap: var(--prep-partners-gap);
	padding-right: var(--prep-partners-gap);
}

.prep-partners__item {
	display: flex;
	flex: 0 0 auto;
	align-items: center;
	justify-content: center;
	width: 140px;
	height: 56px;
}

.prep-partners__link {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	text-decoration: none;
	transition: opacity 0.2s ease;
}

.prep-partners__link:hover,
.prep-partners__link:focus-visible {
	opacity: 0.75;
}

.prep-partners__img {
	display: block;
	width: 100% !important;
	max-width: 100% !important;
	height: 100% !important;
	max-height: 100% !important;
	object-fit: contain;
	object-position: center;
}

@keyframes prep-partners-marquee {
	from {
		transform: translate3d(0, 0, 0);
	}
	to {
		transform: translate3d(calc(-1 * var(--prep-partners-shift, 50%)), 0, 0);
	}
}

@media (min-width: 768px) {
	.prep-partners {
		gap: 1.5rem;
		padding: 2rem 0 2.25rem;
		--prep-partners-gap: 3.5rem;
		--prep-partners-pad-x: max(2rem, calc(50vw - 600px));
	}

	.prep-partners__title {
		font-size: clamp(2rem, 3.2vw, 2.5rem) !important;
	}

	.prep-partners__item {
		width: 180px;
		height: 72px;
	}
}

@media (max-width: 767px) {
	.prep-partners {
		gap: 1rem;
		padding: 1.35rem 0 1.5rem;
		--prep-partners-gap: 1.75rem;
	}

	.prep-partners__title {
		font-size: clamp(1.5rem, 7vw, 1.875rem) !important;
	}

	.prep-partners__item {
		width: 112px;
		height: 44px;
	}

	.prep-partners__track--animated:hover {
		animation-play-state: running;
	}
}

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

	.prep-partners--reduced .prep-partners__viewport,
	.prep-partners__viewport {
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		mask-image: none;
		-webkit-mask-image: none;
	}

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

	.prep-partners__group {
		padding: 0 var(--prep-partners-pad-x);
	}
}
