.reviews__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	gap: var(--sp-md);
	margin: 0;
	padding: 0;
	list-style: none;
}

.review {
	display: flex;
	flex-direction: column;
	gap: var(--sp-sm);
	padding: var(--sp-lg);
	background-color: var(--c-white);
	border: 1px solid var(--c-border);
	border-radius: var(--radius-md);
}

.review__rating {
	color: var(--c-accent-text);
	font-size: var(--fs-md);
	letter-spacing: 0.1em;
	line-height: 1;
}

.review__quote {
	flex: 1;
	margin: 0;
	padding: 0;
	border: 0;
	color: var(--c-text);
	font-size: var(--fs-md);
	line-height: var(--lh-snug);
}

.review__quote p::before { content: "\201C"; }
.review__quote p::after  { content: "\201D"; }

.review__attribution {
	display: flex;
	align-items: center;
	gap: var(--sp-2xs);
	padding-top: var(--sp-sm);
	border-top: 1px solid var(--c-border);
}

.review__logo img {
	width: auto;
	max-height: 28px;
	object-fit: contain;
}

.review__source {
	display: flex;
	flex-direction: column;
}

.review__source cite {
	font-family: var(--font-heading);
	font-size: var(--fs-sm);
	font-weight: var(--fw-bold);
	font-style: normal;
}

.review__role {
	color: var(--c-text-muted);
	font-size: var(--fs-xs);
}

.review__link {
	font-family: var(--font-heading);
	font-size: var(--fs-sm);
	font-weight: var(--fw-semibold);
	text-decoration: none;
}

.review__link::after { content: " \2197"; }
.review__link:hover  { text-decoration: underline; }
