.story {
	background: var(--bg-surface);
}

.story__inner {
	display: grid;
	gap: clamp(2.75rem, 7vw, 6rem);
	align-items: center;
}

@media (min-width: 1025px) {
	.story__inner {
		grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
		gap: clamp(4rem, 9vw, 8rem);
	}
}

.story__media {
	position: relative;
	aspect-ratio: 4 / 5;
	overflow: hidden;
	background: var(--bg-elevated);
}

@media (min-width: 1025px) {
	.story__media {
		aspect-ratio: 5 / 6;
		max-height: 46rem;
		justify-self: end;
		width: 100%;
	}
}

.story__media img,
.story__media .olv-placeholder {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transform: scale(1.06);
	transition: transform 1.5s var(--ease-premium);
}

.story__media.is-revealed img {
	transform: scale(1);
}

.story__mark {
	display: flex;
	align-items: center;
	gap: var(--space-4);
	margin-bottom: var(--space-5);
}

.story__mark-rule {
	flex: 1;
	max-width: 4.5rem;
	height: 1px;
	background: var(--detail-accent);
}

.story__copy {
	max-width: 32rem;
}

.story__title {
	font-family: var(--font-display);
	font-size: clamp(3rem, 7vw, 5.25rem);
	font-weight: 300;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	line-height: 0.95;
	margin-bottom: var(--space-6);
}

.story__body {
	font-size: 1.08rem;
	line-height: 1.85;
	color: var(--text-secondary);
}

@media (prefers-reduced-motion: reduce) {
	.story__media img,
	.story__media.is-revealed img {
		transform: none;
		transition: none;
	}
}
