/**
 * Keyboard, screen-reader and reduced-motion foundations.
 */

:where(a, button, input, textarea, select, [tabindex]):focus-visible {
	outline: var(--am-focus-width) solid var(--am-color-primary-dark);
	outline-offset: var(--am-focus-offset);
}

.am-skip-link {
	position: fixed;
	top: var(--am-space-3);
	left: var(--am-space-3);
	z-index: 1000;
	padding: var(--am-space-3) var(--am-space-4);
	border-radius: var(--am-radius-button);
	background: var(--am-color-text);
	color: var(--am-color-white);
	font-weight: 600;
	transform: translateY(calc(-100% - var(--am-space-6)));
	transition: transform var(--am-duration-micro) var(--am-ease-standard);
}

.am-skip-link:focus-visible {
	transform: translateY(0);
}

.am-visually-hidden {
	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;
}

@media (prefers-reduced-motion: reduce) {
	:root {
		--am-duration-micro: 0.01ms;
		--am-duration-standard: 0.01ms;
		--am-duration-editorial: 0.01ms;
		--am-motion-shift: 0;
	}

	html {
		scroll-behavior: auto;
	}
}

