/* Reviews: three quotes, ruled columns. */
.reviews { background: var(--ink-2); }
.reviews__source {
	display: inline-flex; align-items: center; gap: 6px; margin-top: 18px;
	font-size: 14.5px; font-weight: 600; color: var(--paper);
	border-bottom: 1px solid var(--line-strong); padding-bottom: 2px; transition: border-color .25s;
}
.reviews__source:hover, .reviews__source:focus-visible { border-color: var(--blue-soft); }

.reviews__list { margin-top: var(--head-gap); display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.review { padding: 8px clamp(18px, 3vw, 40px); }
.review + .review { border-left: 1px solid var(--line); }
.review figure { display: flex; flex-direction: column; height: 100%; }
.review__stars { display: flex; gap: 3px; }
.review__stars span { display: grid; color: rgba(238, 241, 248, .18); }
.review__stars .is-on { color: var(--amber); }
.review__stars .icon { width: 16px; height: 16px; fill: currentColor; stroke: none; }
.review blockquote { margin: 18px 0 0; font-size: 1.08rem; line-height: 1.55; letter-spacing: -.01em; }
.review figcaption { margin-top: auto; padding-top: 24px; display: grid; gap: 2px; }
.review figcaption strong { font-weight: 600; }
.review figcaption span { font-size: 13.5px; color: var(--paper-faint); }

@media (max-width: 899px) {
	.reviews__list { grid-template-columns: 1fr; }
	.review { padding: 28px 0; }
	.review + .review { border-left: 0; border-top: 1px solid var(--line); }
}
