/*
 * Testimonial pull quote.
 *
 * Measured off the 1440px frame: a ~1090px centred block, a ~40px quote with
 * the closing clause in purple italic, and an attribution row with a rule to
 * the left of the avatar and name.
 */

.testimonial {
	padding-block: var(--section-y);
	background: var(--color-bg-default);
}

.testimonial__inner {
	max-width: 1090px;
}

.testimonial__quote {
	margin: 0;
	font-family: var(--font-display);
	font-size: var(--text-h2);
	font-weight: 500;
	line-height: 1.35;
	color: var(--color-text-primary);
}

.testimonial__quote em {
	font-style: italic;
	color: var(--color-primary);
}

.testimonial__foot {
	display: flex;
	align-items: center;
	gap: var(--space-32);
	margin-top: var(--space-48);
}

.testimonial__rule {
	flex: 1;
	height: 1px;
	background: var(--color-border-default);
}

.testimonial__author {
	flex: none;
	display: flex;
	align-items: center;
	gap: var(--space-12);
	margin: 0;
}

.testimonial__avatar {
	width: 48px;
	height: 48px;
	border-radius: var(--radius-full);
	object-fit: cover;
}

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

.testimonial__name {
	font-family: var(--font-body);
	font-weight: 600;
	color: var(--color-text-heading);
}

.testimonial__role {
	font-family: var(--font-body);
	font-size: var(--text-body-sm);
	color: var(--color-text-muted);
}

@media (max-width: 767px) {
	.testimonial__quote {
		font-size: var(--text-h3-fluid);
	}

	.testimonial__foot {
		flex-direction: column;
		align-items: flex-start;
		gap: var(--space-16);
	}
}
