.pull-quote {
	position: relative;
	max-width: 1144px;
	padding: 0 36px;
	margin: 0 auto 48px;
}

.pull-quote .author-photo {
	width: 100%;
	max-width: 280px;
	aspect-ratio: 1;
	margin: 0 auto;
	border: 5px solid var(--white);
	border-radius: var(--rounded-circle);
	box-shadow: 0 14px 30px rgba(0, 0, 0, 0.09);
	object-fit: cover;
	overflow: hidden;
}

.pull-quote .quote-icon {
	width: 48px;
	margin-bottom: 24px;
}

.pull-quote p {
	font-weight: var(--font-weight-light);
	font-size: var(--text-base);
	line-height: 1.5;
	color: var(--gray-dark);
}

.pull-quote p strong,
.pull-quote p b {
	font-weight: var(--font-weight-medium);
}

.pull-quote .author {
	margin-top: 32px;
	font-weight: var(--font-weight-medium);
	font-size: var(--text-sm);
	line-height: 1.2;
	color: var(--gray-dark);
}

.pull-quote .author::before {
	content: '\2014';
}

/*----- compact style -----*/

.pull-quote.compact {
	max-width: none;
	margin: 0 0 48px;
}

.pull-quote.compact .author {
	display: flex;
	align-items: center;
	gap: 16px;
	margin-top: 16px;
}

.pull-quote.compact .author::before {
	display: none;
}

.pull-quote.compact .author-photo {
	width: 64px;
	margin: 0;
	border-width: 1px;
	box-shadow: 0 4px 10px rgba(0, 0, 0, 0.161);
}

/*----- media queries -----*/

@media (min-width: 40em) {
	.pull-quote.has-photo {
		display: grid;
		grid-template: auto / minmax(0, 1fr) minmax(0, 2fr);
		gap: 24px;
		align-items: center;
	}
}

@media (min-width: 64em) {
	.pull-quote:not(.compact) {
		margin-bottom: 120px;
	}

	.pull-quote.has-photo {
		grid-template: auto / 280px minmax(0, 1fr);
		align-items: end;
		padding-top: 49px;
	}

	.pull-quote.has-photo .quote {
		display: grid;
		grid-template: auto / 96px minmax(0, 1fr);
		gap: 32px;
		align-items: start;
	}

	.pull-quote.has-photo .quote-icon {
		transform: translateY(-49px);
		width: 96px;
		margin: 0;
	}

	.pull-quote.has-photo .author {
		margin-left: 128px;
	}

	.pull-quote p {
		font-size: 1.1875rem;
		line-height: calc(28/19);
	}

	.pull-quote .author {
		font-size: var(--text-base);
	}

	.pull-quote.compact .quote-icon {
		width: 65px;
		margin-bottom: 16px;
	}
}