/**
 * Section 07 — one consented Client Story in an editorial composition.
 */

.lupet-client-story {
	overflow: clip;
}

.lupet-client-story__header {
	align-items: end;
}

.lupet-client-story__title-group,
.lupet-client-story__intro {
	grid-column: 1 / -1;
}

.lupet-client-story__eyebrow {
	margin-bottom: var(--lupet-space-5);
	color: var(--lupet-color-accent-soft);
}

.lupet-client-story__heading {
	max-width: 9em;
}

.lupet-client-story__intro {
	max-width: 31rem;
	margin-top: var(--lupet-space-6);
	color: var(--lupet-color-inverse-muted);
}

.lupet-client-story__composition {
	align-items: start;
	margin-top: var(--lupet-space-9);
}

.lupet-client-story__story,
.lupet-client-story__media {
	grid-column: 1 / -1;
}

.lupet-client-story__story {
	position: relative;
	z-index: 1;
	padding-top: var(--lupet-space-5);
	border-top: 1px solid var(--lupet-color-line-inverse);
}

.lupet-client-story__context {
	color: var(--lupet-color-inverse-subtle);
}

.lupet-client-story__story-title {
	max-width: 10em;
	margin-top: var(--lupet-space-6);
}

.lupet-client-story__quote {
	margin: var(--lupet-space-6) 0 0;
	padding: 0;
}

.lupet-client-story__quote p {
	margin: 0;
	color: var(--lupet-color-inverse);
	font-family: var(--lupet-font-serif);
	font-size: clamp(2rem, 8vw, 2.75rem);
	font-weight: var(--lupet-font-weight-medium);
	letter-spacing: var(--lupet-letter-spacing-heading);
	line-height: 1.08;
	text-wrap: balance;
}

.lupet-client-story__credit {
	margin-top: var(--lupet-space-6);
	color: var(--lupet-color-inverse-muted);
	font-family: var(--lupet-font-sans);
	font-size: var(--lupet-font-size-caption);
	font-style: normal;
	font-weight: var(--lupet-font-weight-semibold);
	letter-spacing: var(--lupet-letter-spacing-label);
	line-height: var(--lupet-line-height-caption);
	text-transform: uppercase;
}

.lupet-client-story__credit cite {
	font-style: normal;
}

.lupet-client-story__body {
	max-width: 30rem;
	margin-top: var(--lupet-space-6);
	color: var(--lupet-color-inverse-muted);
}

.lupet-client-story__link {
	margin-top: var(--lupet-space-6);
}

.lupet-client-story__media {
	aspect-ratio: 4 / 5;
	margin: var(--lupet-space-9) 0 0;
	background: var(--lupet-color-media-placeholder-dark);
}

.lupet-client-story__media picture {
	display: block;
	width: 100%;
	height: 100%;
}

.lupet-client-story__placeholder {
	position: absolute;
	right: var(--lupet-space-4);
	bottom: var(--lupet-space-4);
	z-index: 1;
	max-width: calc(100% - (var(--lupet-space-4) * 2));
	color: var(--lupet-color-on-media-muted);
	font-family: var(--lupet-font-sans);
	font-size: 0.55rem;
	font-weight: var(--lupet-font-weight-semibold);
	letter-spacing: var(--lupet-letter-spacing-label);
	line-height: 1.4;
	text-align: right;
}

.lupet-client-story.lupet-motion-ready .lupet-client-story__composition {
	transition-duration: var(--lupet-motion-duration-image), var(--lupet-motion-duration-image);
}

@media (min-width: 48rem) {
	.lupet-client-story__title-group {
		grid-column: 1 / span 5;
	}

	.lupet-client-story__intro {
		grid-column: 6 / span 3;
		margin-top: 0;
	}

	.lupet-client-story__composition {
		margin-top: var(--lupet-space-10);
	}

	.lupet-client-story__story {
		grid-column: 6 / span 3;
		grid-row: 1;
		margin-top: var(--lupet-space-10);
	}

	.lupet-client-story__media {
		grid-column: 1 / span 5;
		grid-row: 1;
		aspect-ratio: 3 / 2;
		margin-top: 0;
	}
}

@media (min-width: 75rem) {
	.lupet-client-story__title-group {
		grid-column: 1 / span 6;
	}

	.lupet-client-story__intro {
		grid-column: 9 / span 4;
	}

	.lupet-client-story__composition {
		margin-top: var(--lupet-space-12);
	}

	.lupet-client-story__story {
		grid-column: 9 / span 4;
		margin-top: var(--lupet-space-12);
	}

	.lupet-client-story__media {
		grid-column: 1 / span 8;
	}

	.lupet-client-story__quote p {
		font-size: clamp(2.25rem, 3.4vw, 3.25rem);
	}
}

@media (max-width: 47.99rem) {
	.lupet-client-story__heading {
		max-width: 7.8em;
		font-size: clamp(2.4rem, 11vw, 2.85rem);
	}

	.lupet-client-story__intro {
		font-size: 1rem;
	}

	.lupet-client-story__composition {
		display: flex;
		flex-direction: column;
	}

	.lupet-client-story__story {
		width: min(100%, 22rem);
	}

	.lupet-client-story__media {
		width: min(100%, 24.375rem);
	}
}
