.reviews {
	position: relative;
	padding-block: var(--air-6);
	overflow: hidden;
}
.reviews__inner {
	position: relative;
	container-type: inline-size;
}
.reviews__label {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
}
.reviews__word {
	position: absolute;
	inset-inline: 0;
	top: 50%;
	margin: 0;
	transform: translateY(-50%);
	color: var(--edge);
	font-size: calc(100cqw / (var(--chars) * 0.72));
	font-weight: var(--fw-display);
	letter-spacing: var(--tr-display);
	line-height: var(--lh-flat);
	text-align: center;
	text-transform: uppercase;
	white-space: nowrap;
	pointer-events: none;
	user-select: none;
}
.reviews__list {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: flex-start;
	gap: var(--air-5) calc(56 * var(--px));
	margin: 0;
	padding: var(--air-5) 0;
	list-style: none;
}
.reviews__list:has(> :nth-child(4)) {
	flex-wrap: nowrap;
	justify-content: flex-start;
	margin-inline-end: calc(-1 * (var(--gutter) + max(0px, (100vw - var(--max-width)) / 2)));
	padding-inline: calc(24 * var(--px)) var(--gutter);
	overflow-x: auto;
	scroll-snap-type: x proximity;
	scrollbar-width: thin;
	scrollbar-color: var(--edge) transparent;
}
.reviews__list:has(> :nth-child(4)) > .reviews__item {
	scroll-snap-align: start;
}
.reviews__item {
	--tilt: -7deg;
	--lift: calc(36 * var(--px));
	position: relative;
	flex: 0 0 auto;
	width: calc(288 * var(--px));
	transform: translateY(var(--lift)) rotate(var(--tilt));
	transition: transform var(--dur) var(--ease);
}
.reviews__item:nth-child(4n + 2) { --tilt: 5deg; --lift: calc(-16 * var(--px)); }
.reviews__item:nth-child(4n + 3) { --tilt: -10deg; --lift: calc(52 * var(--px)); }
.reviews__item:nth-child(4n + 4) { --tilt: 7deg; --lift: 0px; }
.reviews__item:has(.review.is-open) {
	z-index: 2;
	--tilt: 0deg;
}
@media (hover: hover) and (pointer: fine) {
	.reviews__item:hover,
	.reviews__item:focus-within {
		z-index: 2;
		--tilt: 0deg;
	}
}
.review {
	display: flex;
	flex-direction: column;
	gap: var(--sp-3);
	min-height: calc(330 * var(--px));
	margin: 0;
	padding: var(--air-3) var(--air-2);
	background: var(--field);
	border: 1px solid var(--edge);
	border-radius: var(--r-lg);
	color: var(--ink);
}
.review__by {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--sp-1);
}
.review__name {
	font-size: var(--fs-6);
	font-weight: var(--fw-display);
	letter-spacing: var(--tr-tight);
	line-height: var(--lh-snug);
}
.review__link,
.review__more {
	color: var(--ember-60);
	font-size: var(--fs-2);
	text-decoration: none;
	transition: color 0.18s ease;
}
.review__link:hover,
.review__link:focus-visible,
.review__more:hover,
.review__more:focus-visible {
	color: var(--ember-70);
}
.review__link:focus-visible,
.review__more:focus-visible {
	outline: calc(2 * var(--px)) solid var(--ink);
	outline-offset: calc(2 * var(--px));
	border-radius: var(--r-sm);
}
.review__quote {
	flex: 1 0 auto;
	margin: 0;
}
.review__text {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 9;
	overflow: hidden;
	margin: 0;
	font-size: var(--fs-3);
	line-height: var(--lh-text);
}
.review.is-open .review__text {
	display: block;
	-webkit-line-clamp: unset;
}
.review__more {
	align-self: flex-start;
	padding: 0;
	border: 0;
	background: none;
	font-family: inherit;
	font-weight: var(--fw-medium);
	cursor: pointer;
}
@media (prefers-reduced-motion: reduce) {
	.reviews__item { transition: none; }
}
@media (max-width: 900px) {
	.reviews__word { display: none; }
	.reviews__label {
		position: relative;
		width: auto;
		height: auto;
		overflow: visible;
		clip-path: none;
		white-space: normal;
	}
	.reviews__list {
		flex-wrap: nowrap;
		justify-content: flex-start;
		gap: var(--sp-4);
		margin-inline: calc(-1 * var(--gutter));
		padding: var(--air-4) var(--gutter);
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		scroll-padding-inline: var(--gutter);
		scrollbar-width: none;
	}
	.reviews__list::-webkit-scrollbar { display: none; }
	.reviews__list:has(> :only-child) { justify-content: center; }
	.reviews__item {
		width: min(78vw, 20rem);
		margin-inline: 0;
		scroll-snap-align: center;
	}
	.review { min-height: 18rem; }
	.reviews__item:nth-child(n) { --tilt: -3deg; --lift: 0px; }
	.reviews__item:nth-child(2n) { --tilt: 3deg; }
}
