.ewh-container,
.alignwide {
	width: min(100% - (2 * var(--ewh-gutter)), var(--ewh-content-width));
	margin-inline: auto;
}

.ewh-container--reading {
	max-width: var(--ewh-reading-width);
}

.ewh-section {
	padding-block: var(--ewh-section-space);
}

.ewh-section--compact {
	padding-block: clamp(3rem, 5vw, 6rem);
}

.ewh-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: clamp(var(--ewh-space-3), 3vw, var(--ewh-space-4));
}

.ewh-grid > * {
	grid-column: span 4;
}

.ewh-stack > * {
	margin-block: 0;
}

.ewh-stack > * + * {
	margin-block-start: var(--ewh-stack-space, var(--ewh-space-3));
}

@media (min-width: 48rem) {
	.ewh-grid {
		grid-template-columns: repeat(8, minmax(0, 1fr));
	}

	.ewh-grid > * {
		grid-column: span 8;
	}

	.ewh-grid--halves > * {
		grid-column: span 4;
	}
}

@media (min-width: 64rem) {
	.ewh-grid {
		grid-template-columns: repeat(12, minmax(0, 1fr));
	}

	.ewh-grid > * {
		grid-column: span 12;
	}

	.ewh-grid--halves > * {
		grid-column: span 6;
	}

	.ewh-grid--thirds > * {
		grid-column: span 4;
	}
}
