/* ===================================
   ADA / WCAG 2.1 AA — Accessibility Styles
   =================================== */

/* Skip-to-content link — hidden until focused */
.skip-link {
	position: absolute;
	top: -40px;
	left: 0;
	z-index: 9999;
	padding: 8px 16px;
	background: #005fcc;
	color: #fff;
	font-weight: 600;
	text-decoration: none;
	border-radius: 0 0 4px 0;
}

.skip-link:focus-visible {
	top: 0;
	outline: 3px solid #00e5ff;
	outline-offset: 2px;
	box-shadow: 0 0 0 6px rgba(0, 229, 255, 0.12), 0 0 16px rgba(0, 229, 255, 0.10);
}

/* ===================================
   Focus-visible (blue box) — keyboard focus indicator
   =================================== */

/* Suppress default focus outline for mouse clicks, keep for keyboard */
:focus:not(:focus-visible) {
	outline: none;
}

/* Links */
a:focus-visible {
	outline: 3px solid #00e5ff;
	outline-offset: 2px;
	box-shadow: 0 0 0 6px rgba(0, 229, 255, 0.12), 0 0 16px rgba(0, 229, 255, 0.10);
	border-radius: 3px;
}

/* Form inputs */
input:focus-visible,
textarea:focus-visible,
select:focus-visible {
	outline: 3px solid #00e5ff;
	outline-offset: 2px;
	box-shadow: 0 0 0 6px rgba(0, 229, 255, 0.12), 0 0 16px rgba(0, 229, 255, 0.10);
	border-radius: 3px;
}

/* Buttons */
button:focus-visible,
.button:focus-visible {
	outline: 3px solid #00e5ff;
	outline-offset: 2px;
	box-shadow: 0 0 0 6px rgba(0, 229, 255, 0.12), 0 0 16px rgba(0, 229, 255, 0.10);
	border-radius: 3px;
}

/* Screen reader only utility */
.sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* Reveal skip link on focus */
.sr-only-focusable:active,
.sr-only-focusable:focus {
	position: absolute;
	width: auto;
	height: auto;
	margin: 0;
	overflow: visible;
	clip: auto;
	white-space: normal;
	background-color: #0b4f98;
	color: #ffffff;
	padding: 15px 25px;
	z-index: 99999;
	top: 0;
	left: 0;
	font-weight: bold;
	text-decoration: none;
}

/* Header phone/tagline — replaces h4/h5 for heading hierarchy */
.header-phone {
	font-size: 1.42857rem;
	font-weight: bold;
	display: block;
}

.header-tagline {
	font-size: 1.14286rem;
	font-weight: bold;
	display: block;
}
