/* Layout: text-image */
.sw-text-image__inner { display: grid; gap: var(--gap-ml); }

.sw-text-image__label {
	margin: 0;
	font-family: var(--font-heading);
	font-size: var(--text-small);
	line-height: var(--leading-small);
	font-weight: var(--weight-medium);
	letter-spacing: var(--tracking-label);
	color: var(--color-heading);
}

.sw-text-image__body { display: grid; justify-items: start; gap: var(--gap-l); }
.sw-text-image__text { max-inline-size: 29rem; }

.sw-text-image__media { margin-block-start: var(--space-40); } /* extra space above the image when stacked */

/* The frame holds the size; the image moves inside it (.sw-parallax) */
.sw-text-image__media { aspect-ratio: 503 / 627; }
.sw-text-image__media img {
	inline-size: 100%;
	block-size: 100%;
	object-fit: cover;
}

@media (min-width: 62em) {
	.sw-text-image__inner {
		grid-template-columns: 12.125rem minmax(0, 29rem) minmax(0, 31.5rem);
		justify-content: space-between;
		align-items: end;
		gap: var(--space-96);
	}

	.sw-text-image__label { align-self: start; max-inline-size: 12.125rem; }
	.sw-text-image__media { margin-block-start: 0; }

	/* Pull the image up over the section above: past this section's top padding, plus 228px. */
	.sw-text-image--overlap .sw-text-image__media {
		position: relative;
		margin-block-start: calc(-1 * (var(--section-space) + 14.25rem));
	}
}
