/*
 * Partners. Figma 2029:40924 desktop: centred header, quote slider (logo 240x64,
 * quote 765 wide in header/M with big light quote marks behind), dots, then the
 * logo marquee (pills 54 high, 24 apart) clipped to the 1220 column.
 * Mobile 2899:67027: same stack in 350, logo 165x44.
 */

.partners .container {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 24px;
}

.partners__head { max-width: 1024px; }
.partners__head .section-head__text { font: var(--f-body-xs); }

/* Quote slider */
.partners__slider {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 24px;
}

.partners__track {
	display: flex;
	width: 100%;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	overscroll-behavior-x: contain;
}

.partners__track::-webkit-scrollbar { display: none; }

.partners__slide {
	flex: none;
	width: 100%;
	scroll-snap-align: start;
}

.partners__figure {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 24px;
	padding: 0 33px 32px;               /* room for the quote marks (the slider clips) */
}

.partners__logo {
	width: 240px;
	height: 64px;
	object-fit: contain;
}

.partners__quote {
	position: relative;
	isolation: isolate;
	max-width: 765px;
	text-align: center;
	font: var(--f-header-m);
	font-weight: 600;
	color: var(--c-text-dark);
}

.partners__quote strong { font-weight: 800; color: var(--c-primary); }

/* Decorative quote marks: one glyph, the opening one turned 180°. */
.partners__quote::before,
.partners__quote::after {
	content: "";
	position: absolute;
	z-index: -1;
	width: 93px;
	height: 74px;
	background: url("../../assets/img/partners-quote.svg") center / contain no-repeat;
}

.partners__quote::before { left: -33px; top: 20px; transform: rotate(180deg); }
.partners__quote::after { right: -32px; top: -32px; }

.partners__dots { display: flex; gap: 8px; }

.partners__dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--c-border-light);
	transition: background-color .2s ease;
}

.partners__dot[aria-current="true"] { background: var(--c-secondary); }

/* Logo marquee */
.partners__marquee { overflow: hidden; }

.partners__belt {
	display: flex;
	width: max-content;
	animation: partners-marquee 40s linear infinite;
}

.partners__marquee:hover .partners__belt { animation-play-state: paused; }

.partners .partners__logos {
	display: flex;
	gap: 24px;
	padding-right: 24px;                /* same as the gap so the loop is seamless */
}

.partners__pill {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 54px;
	padding: 0 15px;
	border: 1px solid var(--c-border-light);
	border-radius: var(--r-pill);
	background: var(--c-bg-white);
}

.partners__pill-img {
	width: auto;
	max-width: 200px;
	height: 34px;
	object-fit: contain;
}

@keyframes partners-marquee {
	to { transform: translateX(-50%); }
}

@media (prefers-reduced-motion: reduce) {
	.partners__belt { animation: none; }
	.partners__marquee { overflow-x: auto; scrollbar-width: none; }
	.partners__logos[aria-hidden="true"] { display: none; }
}

@media (max-width: 767px) {
	.partners__figure { padding: 0 0 36px; }
	.partners__logo { width: 165px; height: 44px; }
	.partners__quote { margin-top: 8px; }
	.partners__quote::before { left: 0; top: -36px; }
	.partners__quote::after { right: 0; top: auto; bottom: -36px; }
	.partners__head { text-align: center; }
}
