/**
 * Accessibility helpers — WCAG 2.2 oriented.
 */

.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
	word-wrap: normal !important;
}

.screen-reader-text:focus {
	background: var(--accent);
	color: var(--text-inverse);
	clip: auto !important;
	clip-path: none;
	display: block;
	font-size: var(--text-caption);
	height: auto;
	left: var(--space-4);
	top: var(--space-4);
	line-height: normal;
	padding: var(--space-3) var(--space-4);
	width: auto;
	z-index: 100000;
	border-radius: var(--radius-sm);
}

.ann-skip-link {
	position: absolute;
	left: -999px;
	top: 0;
	background: var(--accent);
	color: var(--text-inverse);
	padding: var(--space-3) var(--space-4);
	z-index: 100000;
	border-radius: var(--radius-sm);
}

.ann-skip-link:focus {
	left: var(--space-4);
	top: var(--space-4);
}

/* Ensure interactive targets ≥ 44px where practical */
.ann-nav__list > li > a,
.ann-footer__list a,
.ann-fab {
	min-height: 44px;
}

/* Contrast helpers on navy surfaces */
.ann-footer,
.ann-section--navy,
.ann-topbar {
	color: rgba(255, 255, 255, 0.9);
}

/* Reduce motion already handled in design-system; reinforce focus visibility */
:focus-visible {
	outline: 3px solid var(--focus-ring);
	outline-offset: 2px;
}
