/* Success stories — split image + quote card. */

.section--stories { background: var(--c-surface-cont); }

.stories__header {
	display: flex;
	flex-direction: column;
	gap: var(--sp-sm);
	margin-bottom: var(--sp-md);
}
@media (min-width: 640px) {
	.stories__header { flex-direction: row; align-items: center; justify-content: space-between; }
}

.stories__grid {
	display: grid;
	gap: var(--sp-md);
}
@media (min-width: 900px) {
	.stories__grid { grid-template-columns: repeat(2, 1fr); }
}

.story-card {
	background: var(--c-bg);
	box-shadow: var(--shadow-ambient);
	display: flex;
	flex-direction: column;
	margin: 0;
	overflow: hidden;
}
@media (min-width: 700px) {
	.story-card { flex-direction: row; align-items: stretch; }
	.story-card:nth-child(even) { flex-direction: row-reverse; }
}

/* Media keeps an editorial 4:5 portrait crop at every breakpoint —
   prevents runaway height when the source image is taller than expected. */
.story-card__media {
	aspect-ratio: 4 / 5;
	overflow: hidden;
	flex-shrink: 0;
}
@media (min-width: 700px) {
	.story-card__media { flex: 0 0 45%; }
}

.story-card__image {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.story-card__body { flex: 1; }

.story-card__body {
	padding: var(--sp-md);
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: var(--sp-unit);
	margin: 0;
}

.story-card__mark {
	font-family: var(--ff-display);
	color: var(--c-primary-fixed-dim);
	font-size: 3rem;
	line-height: 1;
}

.story-card__quote {
	font-family: var(--ff-display);
	font-style: italic;
	font-size: var(--fs-body-lg);
	margin: 0;
}

.story-card__attribution {
	font-size: var(--fs-label);
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--c-on-surface-var);
	margin-top: var(--sp-sm);
}
