*,
*::before,
*::after {
	box-sizing: border-box;
}

:root {
	--ast-global-color-0: var(--homvnd-color-primary);
	--ast-global-color-1: var(--homvnd-color-primary-strong);
}

::selection {
	color: var(--homvnd-color-surface);
	background: var(--homvnd-color-primary);
	text-shadow: none;
}

::-moz-selection {
	color: var(--homvnd-color-surface);
	background: var(--homvnd-color-primary);
	text-shadow: none;
}

body {
	color: var(--homvnd-color-text);
	background: var(--homvnd-color-surface);
	font-family: var(--homvnd-font-family-base);
	font-size: var(--homvnd-font-size-md);
	line-height: var(--homvnd-line-height-md);
}

a {
	color: var(--homvnd-color-primary);
}

a:hover,
a:active {
	color: var(--homvnd-color-primary-strong);
}

:where(a, button, summary, input, select, textarea):focus-visible {
	outline: var(--homvnd-focus-width) solid var(--homvnd-color-focus);
	outline-offset: var(--homvnd-focus-offset);
}

.homvnd-button {
	display: inline-flex;
	min-block-size: var(--homvnd-target-min);
	align-items: center;
	justify-content: center;
	padding: var(--homvnd-space-2) var(--homvnd-space-4);
	border: var(--homvnd-border-width) solid transparent;
	border-radius: var(--homvnd-radius-md);
	font-weight: var(--homvnd-font-weight-semibold);
	line-height: var(--homvnd-line-height-sm);
	text-align: center;
	text-decoration: none;
}

.homvnd-button--primary,
.homvnd-button--primary:visited {
	color: var(--homvnd-color-surface);
	background: var(--homvnd-color-accent);
}

.homvnd-button--primary:hover,
.homvnd-button--primary:active {
	color: var(--homvnd-color-surface);
	background: var(--homvnd-color-accent-strong);
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
	}
}
