.mv-container {
	width: min(100% - (var(--space-4) * 2), var(--container-lg));
	margin-inline: auto;
}

.mv-container--narrow {
	width: min(100% - (var(--space-4) * 2), var(--container-narrow));
	margin-inline: auto;
}

.mv-container--wide {
	width: min(100% - (var(--space-4) * 2), var(--container-xl));
	margin-inline: auto;
}

.mv-stack {
	display: flex;
	flex-direction: column;
	gap: var(--stack-gap, var(--space-4));
}

.mv-cluster {
	display: flex;
	flex-wrap: wrap;
	gap: var(--cluster-gap, var(--space-3));
	align-items: center;
}

.mv-grid {
	display: grid;
	gap: var(--grid-gap, var(--space-6));
	grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--grid-min, 16rem)), 1fr));
}

.mv-flow > * + * {
	margin-block-start: var(--flow-space, var(--space-4));
}

.mv-section {
	padding-block: var(--section-padding, var(--space-16));
}

.mv-text-left {
	text-align: left;
}

.mv-text-center {
	text-align: center;
}

.mv-text-right {
	text-align: right;
}

.mv-visually-hidden,
.mv-skip-link:not(:focus):not(:focus-visible) {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
}

.mv-skip-link {
	position: fixed;
	z-index: var(--z-modal);
	inset-block-start: var(--space-3);
	inset-inline-start: var(--space-3);
	padding: var(--space-2) var(--space-4);
	color: var(--color-surface);
	background: var(--color-primary);
	border-radius: var(--radius-sm);
	box-shadow: var(--shadow-md);
}

.mv-touch-target {
	min-width: var(--target-size);
	min-height: var(--target-size);
}
