.ao-accessibility-toolbar {
	position: fixed;
	top: var(--ao-a11y-adminbar-height, 0px);
	right: 0;
	left: 0;
	z-index: 10002;
	width: 100%;
	margin: 0;
	border-bottom: 2px solid #fff;
	background: #000;
	color: #fff;
	font-family: Arial, Helvetica, sans-serif;
}

.ao-accessibility-toolbar-inner {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 12px 24px;
	max-width: 1600px;
	margin: 0 auto;
	padding: 12px 24px;
}

.ao-accessibility-toolbar strong,
.ao-accessibility-option,
.ao-accessibility-option span {
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

.ao-accessibility-toolbar button,
.ao-accessibility-toolbar a,
.ao-footer-accessibility {
	min-height: 38px;
	padding: 8px 12px;
	border: 2px solid currentColor;
	border-radius: 4px;
	background: #000;
	color: #fff;
	font: inherit;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;
	cursor: pointer;
}

.ao-accessibility-toolbar button[aria-pressed="true"] {
	background: #fff;
	color: #000;
}

.ao-accessibility-toolbar button:focus-visible,
.ao-accessibility-toolbar a:focus-visible,
.ao-footer-accessibility:focus-visible,
body.ao-accessibility-mode :focus-visible {
	outline: 3px solid #ffdd57 !important;
	outline-offset: 3px !important;
}

.v41-footer-bottom .ao-footer-accessibility {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 30px;
	padding: 4px 8px;
}

body.ao-accessibility-mode {
	--ao-a11y-adminbar-height: 0px;
	--ao-a11y-bg: #000;
	--ao-a11y-surface: #111;
	--ao-a11y-text: #fff;
	--ao-a11y-link: #72e4ff;
	--ao-a11y-on-link: #000;
	--ao-a11y-focus: #ffdd57;
	background: var(--ao-a11y-bg) !important;
	color: var(--ao-a11y-text) !important;
	padding-top: var(--ao-a11y-toolbar-height, 0px) !important;
}

body.admin-bar.ao-accessibility-mode {
	--ao-a11y-adminbar-height: 32px;
}

body.ao-accessibility-mode.ao-accessibility-light {
	--ao-a11y-bg: #fff;
	--ao-a11y-surface: #f3f3f3;
	--ao-a11y-text: #000;
	--ao-a11y-link: #004f9e;
	--ao-a11y-on-link: #fff;
	--ao-a11y-focus: #7a3e00;
}

@media (min-width: 800px) {
	body.ao-accessibility-mode #persistentHeader {
		top: calc(
			var(--ao-a11y-adminbar-height, 0px) +
				var(--ao-a11y-toolbar-height, 0px)
		) !important;
	}
}

@media (max-width: 782px) {
	body.admin-bar.ao-accessibility-mode {
		--ao-a11y-adminbar-height: 46px;
	}
}

body.ao-accessibility-mode #wrapper,
body.ao-accessibility-mode #persistentHeader,
body.ao-accessibility-mode #mainHeader,
body.ao-accessibility-mode #contentAreaWrap,
body.ao-accessibility-mode #contentArea,
body.ao-accessibility-mode #mainContent,
body.ao-accessibility-mode #mainFooter {
	background: var(--ao-a11y-bg) !important;
	color: var(--ao-a11y-text) !important;
}

body.ao-accessibility-mode #wrapper *:not(img):not(video):not(svg):not(path):not(input):not(textarea):not(select) {
	border-color: var(--ao-a11y-text) !important;
	box-shadow: none !important;
	text-shadow: none !important;
}

body.ao-accessibility-mode #wrapper section,
body.ao-accessibility-mode #wrapper article,
body.ao-accessibility-mode #wrapper aside,
body.ao-accessibility-mode #wrapper header,
body.ao-accessibility-mode #wrapper footer,
body.ao-accessibility-mode #wrapper nav,
body.ao-accessibility-mode #wrapper div {
	background-color: var(--ao-a11y-bg) !important;
	color: var(--ao-a11y-text) !important;
}

body.ao-accessibility-mode #wrapper h1,
body.ao-accessibility-mode #wrapper h2,
body.ao-accessibility-mode #wrapper h3,
body.ao-accessibility-mode #wrapper h4,
body.ao-accessibility-mode #wrapper h5,
body.ao-accessibility-mode #wrapper h6,
body.ao-accessibility-mode #wrapper p,
body.ao-accessibility-mode #wrapper li,
body.ao-accessibility-mode #wrapper span,
body.ao-accessibility-mode #wrapper strong,
body.ao-accessibility-mode #wrapper label {
	color: var(--ao-a11y-text) !important;
}

body.ao-accessibility-mode #wrapper a {
	color: var(--ao-a11y-link) !important;
	text-decoration: none !important;
	text-underline-offset: 0.15em;
}

/* Keep a non-color cue for links embedded in prose, without underlining UI chrome. */
body.ao-accessibility-mode #wrapper p a {
	text-decoration: underline !important;
}

body.ao-accessibility-mode #wrapper button,
body.ao-accessibility-mode #wrapper input,
body.ao-accessibility-mode #wrapper textarea,
body.ao-accessibility-mode #wrapper select {
	border: 2px solid var(--ao-a11y-text) !important;
	background: var(--ao-a11y-bg) !important;
	color: var(--ao-a11y-text) !important;
}

body.ao-accessibility-mode #wrapper input::placeholder,
body.ao-accessibility-mode #wrapper textarea::placeholder {
	color: var(--ao-a11y-text) !important;
	opacity: 1;
}

body.ao-accessibility-mode *,
body.ao-accessibility-mode *::before,
body.ao-accessibility-mode *::after {
	animation: none !important;
	animation-delay: 0s !important;
	transition: none !important;
	scroll-behavior: auto !important;
}

body.ao-accessibility-mode .animate__animated,
body.ao-accessibility-mode .animated {
	opacity: 1 !important;
	visibility: visible !important;
	transform: none !important;
}

body.ao-accessibility-mode .adaBtn {
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

body.ao-accessibility-mode .adaBtn:focus-visible {
	outline: 3px solid var(--ao-a11y-focus) !important;
	outline-offset: 3px !important;
}

/* Keep the original transparent logo legible against the dark WCAG header. */
body.ao-accessibility-mode:not(.ao-accessibility-light) #logo-main {
	background: transparent !important;
}

body.ao-accessibility-mode:not(.ao-accessibility-light) #logo-main img {
	filter: brightness(0) invert(1) !important;
}

/* Desktop navigation dropdowns. */
body.ao-accessibility-mode #persistentHeader nav.mm ul ul,
body.ao-accessibility-mode #persistentHeader nav.mm ul ul li {
	background: var(--ao-a11y-surface) !important;
	color: var(--ao-a11y-text) !important;
}

body.ao-accessibility-mode #persistentHeader nav.mm ul ul a {
	background: var(--ao-a11y-surface) !important;
	color: var(--ao-a11y-link) !important;
}

body.ao-accessibility-mode #persistentHeader nav.mm ul ul li:hover > a,
body.ao-accessibility-mode #persistentHeader nav.mm ul ul li:focus-within > a {
	background: var(--ao-a11y-link) !important;
	color: var(--ao-a11y-on-link) !important;
}

/* Solid calls to action must not inherit accent text on an accent surface. */
body.ao-accessibility-mode #wrapper .v41-button,
body.ao-accessibility-mode #wrapper .call-button,
body.ao-accessibility-mode #wrapper .svc-cta a,
body.ao-accessibility-mode #wrapper .mc-cta a {
	border-color: var(--ao-a11y-link) !important;
	background: var(--ao-a11y-link) !important;
	color: var(--ao-a11y-on-link) !important;
	text-decoration: none !important;
}

/* Homepage proof, FAQ, and hero controls. */
body.ao-accessibility-mode #wrapper .v41-hero {
	background: var(--ao-a11y-bg) !important;
}

body.ao-accessibility-mode #wrapper .v41-hero::after,
body.ao-accessibility-mode #wrapper .v41-hero-visual::after {
	display: none !important;
}

body.ao-accessibility-mode #wrapper .v41-hero-google,
body.ao-accessibility-mode #wrapper .v41-hero-google * {
	background: var(--ao-a11y-surface) !important;
	color: var(--ao-a11y-text) !important;
}

body.ao-accessibility-mode #wrapper .v41-checks li {
	border: 1px solid var(--ao-a11y-text) !important;
	background: var(--ao-a11y-bg) !important;
	box-shadow: none !important;
	color: var(--ao-a11y-text) !important;
}

body.ao-accessibility-mode #wrapper .v41-checks li span {
	color: inherit !important;
}

body.ao-accessibility-mode #wrapper .v41-check-icon circle {
	fill: var(--ao-a11y-bg) !important;
	stroke: var(--ao-a11y-link) !important;
}

body.ao-accessibility-mode #wrapper .v41-check-icon path {
	stroke: var(--ao-a11y-link) !important;
}

body.ao-accessibility-mode #wrapper .v41-faq details {
	border: 0 !important;
	border-top: 1px solid var(--ao-a11y-text) !important;
	background: var(--ao-a11y-bg) !important;
}

body.ao-accessibility-mode #wrapper .v41-faq summary,
body.ao-accessibility-mode #wrapper .v41-faq details p {
	background: var(--ao-a11y-bg) !important;
	color: var(--ao-a11y-text) !important;
}

/* Blog index cards and topic controls. */
body.ao-accessibility-mode #wrapper .bd-featured,
body.ao-accessibility-mode #wrapper .bd-featured > *,
body.ao-accessibility-mode #wrapper .bd-pill,
body.ao-accessibility-mode #wrapper .bd-pa-links a,
body.ao-accessibility-mode #wrapper .bd-topic-count {
	border-color: var(--ao-a11y-text) !important;
	background: var(--ao-a11y-surface) !important;
	color: var(--ao-a11y-text) !important;
}

body.ao-accessibility-mode #wrapper .bd-featured a,
body.ao-accessibility-mode #wrapper .bd-pa-links a,
body.ao-accessibility-mode #wrapper .bd-topic-count {
	color: var(--ao-a11y-link) !important;
}

body.ao-accessibility-mode #wrapper small {
	color: var(--ao-a11y-text) !important;
}

/* Category pagination and FAQ buttons. */
body.ao-accessibility-mode #wrapper .mc-page-link a,
body.ao-accessibility-mode #wrapper .mc-page-link span {
	border-color: var(--ao-a11y-text) !important;
	background: var(--ao-a11y-surface) !important;
	color: var(--ao-a11y-link) !important;
}

body.ao-accessibility-mode #wrapper .mc-page-link span.current {
	border-color: var(--ao-a11y-link) !important;
	background: var(--ao-a11y-link) !important;
	color: var(--ao-a11y-on-link) !important;
}

body.ao-accessibility-mode #wrapper .mc-faq {
	border: 0 !important;
	background: var(--ao-a11y-bg) !important;
}

body.ao-accessibility-mode #wrapper .mc-faq-item {
	border: 0 !important;
	border-bottom: 1px solid var(--ao-a11y-text) !important;
}

body.ao-accessibility-mode #wrapper .mc-faq-item:last-child {
	border-bottom: 0 !important;
}

body.ao-accessibility-mode #wrapper .mc-faq-q {
	border: 0 !important;
	background: transparent !important;
	color: var(--ao-a11y-text) !important;
}

/* Attorney Profile and shared resource cards. */
body.ao-accessibility-mode #wrapper .credentials dd,
body.ao-accessibility-mode #wrapper .svc-resource-card strong,
body.ao-accessibility-mode #wrapper .svc-resource-card p,
body.ao-accessibility-mode #wrapper .sp-related-card strong,
body.ao-accessibility-mode #wrapper .sp-related-card p {
	color: var(--ao-a11y-text) !important;
}

body.ao-accessibility-mode #wrapper .svc-resource-card,
body.ao-accessibility-mode #wrapper .svc-resource-card > *,
body.ao-accessibility-mode #wrapper .sp-related-card,
body.ao-accessibility-mode #wrapper .sp-related-card > * {
	border-color: var(--ao-a11y-text) !important;
	background: var(--ao-a11y-surface) !important;
}

body.ao-accessibility-mode[data-ao-text-size]:not([data-ao-text-size="100"]) #wrapper {
	overflow-wrap: anywhere;
}

body.ao-accessibility-mode[data-ao-text-size]:not([data-ao-text-size="100"]) #wrapper .v41-hero-grid {
	height: auto !important;
	min-height: 620px !important;
	max-height: none !important;
	overflow: visible !important;
}

body.ao-accessibility-mode[data-ao-text-size]:not([data-ao-text-size="100"]) #wrapper .v41-hero-copy {
	overflow: visible !important;
}

body.ao-accessibility-mode[data-ao-text-size]:not([data-ao-text-size="100"]) #wrapper .v41-actions {
	flex-wrap: wrap !important;
}

@media (max-width: 799px) {
	body.ao-accessibility-mode[data-ao-text-size]:not([data-ao-text-size="100"]) #wrapper .v41-hero-grid {
		min-height: 0 !important;
	}

	.ao-accessibility-toolbar-inner {
		display: grid;
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
		align-items: center;
		justify-content: stretch;
		gap: 8px;
		padding: 8px 10px;
	}

	.ao-accessibility-toolbar-inner > strong {
		position: absolute;
		width: 1px;
		height: 1px;
		padding: 0;
		margin: -1px;
		overflow: hidden;
		clip: rect(0, 0, 0, 0);
		white-space: nowrap;
		border: 0;
	}

	.ao-accessibility-option {
		justify-content: center;
		gap: 5px;
		white-space: nowrap;
	}

	.ao-accessibility-option span {
		gap: 5px;
	}

	.ao-accessibility-toolbar button,
	.ao-accessibility-toolbar a {
		min-height: 34px;
		padding: 6px;
		font-size: 13px;
	}

	.ao-accessibility-toolbar [data-ao-accessibility-exit] {
		grid-column: 1 / -1;
		justify-self: stretch;
		text-align: center;
	}
}

@media (max-width: 359px) {
	.ao-accessibility-toolbar-inner {
		grid-template-columns: 1fr;
	}

	.ao-accessibility-toolbar [data-ao-accessibility-exit] {
		grid-column: 1;
	}
}

/* Component-owned accessibility surfaces. Keep this final so each component
   resolves as one deliberate state after the global accessibility reset. */

/* Shared header language control. */
body.ao-accessibility-mode #wrapper .mh-lang-btn,
body.ao-accessibility-mode #wrapper .mh-lang-btn span {
	border-color: var(--ao-a11y-link) !important;
	background: var(--ao-a11y-link) !important;
	color: var(--ao-a11y-on-link) !important;
}

/* Homepage proof and action pairs. */
body.ao-accessibility-mode #wrapper .v41-hero-news,
body.ao-accessibility-mode #wrapper .v41-hero-news * {
	border-color: var(--ao-a11y-text) !important;
	background: var(--ao-a11y-surface) !important;
	color: var(--ao-a11y-text) !important;
}

body.ao-accessibility-mode #wrapper .v41-button-solid,
body.ao-accessibility-mode #wrapper .ao-team-open,
body.ao-accessibility-mode #wrapper .v41-area-copy > a {
	border-color: var(--ao-a11y-link) !important;
	background: var(--ao-a11y-link) !important;
	color: var(--ao-a11y-on-link) !important;
}

body.ao-accessibility-mode #wrapper .v41-button-outline {
	border-color: var(--ao-a11y-text) !important;
	background: var(--ao-a11y-bg) !important;
	color: var(--ao-a11y-text) !important;
}

/* Homepage services. Images remain editorial; captions own their surfaces. */
body.ao-accessibility-mode #wrapper .v41-services,
body.ao-accessibility-mode #wrapper .v41-services > .v41-shell,
body.ao-accessibility-mode #wrapper .v41-section-intro-light,
body.ao-accessibility-mode #wrapper .v41-services-grid {
	background: var(--ao-a11y-bg) !important;
	color: var(--ao-a11y-text) !important;
}

body.ao-accessibility-mode #wrapper .v41-service-card {
	border-color: var(--ao-a11y-text) !important;
	background: var(--ao-a11y-surface) !important;
	color: var(--ao-a11y-text) !important;
}

body.ao-accessibility-mode #wrapper .v41-service-card > span {
	background: var(--ao-a11y-bg) !important;
	color: var(--ao-a11y-text) !important;
}

body.ao-accessibility-mode #wrapper .v41-service-card img {
	display: block !important;
	opacity: 1 !important;
	visibility: visible !important;
}

/* Homepage editorial images and media controls. */
body.ao-accessibility-mode #wrapper .v41-about-visual,
body.ao-accessibility-mode #wrapper .v41-media-gallery,
body.ao-accessibility-mode #wrapper .v41-media-item,
body.ao-accessibility-mode #wrapper .v41-map,
body.ao-accessibility-mode #wrapper .v41-map-figure {
	background: transparent !important;
}

body.ao-accessibility-mode #wrapper .v41-about-visual::before,
body.ao-accessibility-mode #wrapper .v41-about-visual::after,
body.ao-accessibility-mode #wrapper .v41-map::after {
	display: none !important;
}

body.ao-accessibility-mode #wrapper .v41-about-visual img,
body.ao-accessibility-mode #wrapper .v41-media-choice img,
body.ao-accessibility-mode #wrapper .v41-map-image {
	display: block !important;
	opacity: 1 !important;
	visibility: visible !important;
}

body.ao-accessibility-mode #wrapper .v41-media-choice {
	padding: 0 !important;
	border-color: var(--ao-a11y-text) !important;
	background: transparent !important;
}

/* Homepage team section. Remove retained pastel strips without hiding photos. */
body.ao-accessibility-mode #wrapper #ao-team-inline,
body.ao-accessibility-mode #wrapper #ao-team-inline .ao-team-inline-inner,
body.ao-accessibility-mode #wrapper #ao-team-inline .ao-team-inline-header,
body.ao-accessibility-mode #wrapper #ao-team-inline .ao-team-tabs,
body.ao-accessibility-mode #wrapper #ao-team-inline .ao-team-panels,
body.ao-accessibility-mode #wrapper #ao-team-inline .ao-team-profile,
body.ao-accessibility-mode #wrapper #ao-team-inline .ao-team-profile-copy {
	background: var(--ao-a11y-bg) !important;
	color: var(--ao-a11y-text) !important;
}

body.ao-accessibility-mode #wrapper #ao-team-inline .ao-team-card {
	border-color: var(--ao-a11y-text) !important;
	background: var(--ao-a11y-surface) !important;
}

body.ao-accessibility-mode #wrapper #ao-team-inline .ao-team-card > span {
	background: var(--ao-a11y-bg) !important;
	color: var(--ao-a11y-text) !important;
}

body.ao-accessibility-mode #wrapper #ao-team-inline .ao-team-profile-photo {
	background: var(--ao-a11y-bg) !important;
}

body.ao-accessibility-mode #wrapper #ao-team-inline img {
	opacity: 1 !important;
	visibility: visible !important;
}

/* Shared consultation module. */
body.ao-accessibility-mode #wrapper #schedule-consultation.v41-contact {
	background: var(--ao-a11y-bg) !important;
	color: var(--ao-a11y-text) !important;
}

body.ao-accessibility-mode #wrapper #schedule-consultation.v41-contact::before {
	display: none !important;
}

body.ao-accessibility-mode #wrapper #schedule-consultation .contact-inner,
body.ao-accessibility-mode #wrapper #schedule-consultation .contact-container,
body.ao-accessibility-mode #wrapper #schedule-consultation .contact-top,
body.ao-accessibility-mode #wrapper #schedule-consultation .contact-header,
body.ao-accessibility-mode #wrapper #schedule-consultation .contact-right,
body.ao-accessibility-mode #wrapper #schedule-consultation .contact-wrap,
body.ao-accessibility-mode #wrapper #schedule-consultation .contact-box,
body.ao-accessibility-mode #wrapper #schedule-consultation .contact-form,
body.ao-accessibility-mode #wrapper #schedule-consultation .cf-box,
body.ao-accessibility-mode #wrapper #schedule-consultation .cf-row,
body.ao-accessibility-mode #wrapper #schedule-consultation .cf-bottom {
	background: transparent !important;
	color: var(--ao-a11y-text) !important;
}

body.ao-accessibility-mode #wrapper #schedule-consultation .contact-phone-box,
body.ao-accessibility-mode #wrapper #schedule-consultation .cf-submit input {
	border-color: var(--ao-a11y-link) !important;
	background: var(--ao-a11y-link) !important;
	color: var(--ao-a11y-on-link) !important;
}

/* Contact page. Remove exposed nested seams and retain clear form hierarchy. */
body.ao-accessibility-mode #wrapper .pv-page,
body.ao-accessibility-mode #wrapper .pv-heading,
body.ao-accessibility-mode #wrapper .oa-contact-form-shell,
body.ao-accessibility-mode #wrapper .oa-contact-editorial,
body.ao-accessibility-mode #wrapper .oa-contact-panel,
body.ao-accessibility-mode #wrapper .oa-contact-box,
body.ao-accessibility-mode #wrapper .oa-contact-footer {
	background: var(--ao-a11y-bg) !important;
	color: var(--ao-a11y-text) !important;
}

body.ao-accessibility-mode #wrapper .oa-contact-form-shell,
body.ao-accessibility-mode #wrapper .pv-heading {
	border-color: var(--ao-a11y-text) !important;
}

body.ao-accessibility-mode #wrapper .oa-contact-panel {
	border: 0 !important;
}

body.ao-accessibility-mode #wrapper .pv-phone,
body.ao-accessibility-mode #wrapper .oa-contact-submit {
	border-color: var(--ao-a11y-link) !important;
	background: var(--ao-a11y-link) !important;
	color: var(--ao-a11y-on-link) !important;
}

body.ao-accessibility-mode #wrapper .pv-phone::before {
	display: none !important;
}

body.ao-accessibility-mode #wrapper .pv-phone span,
body.ao-accessibility-mode #wrapper .oa-contact-submit {
	color: var(--ao-a11y-on-link) !important;
}

/* Blog feature panel. The parent owns the surface; children stay transparent. */
body.ao-accessibility-mode #wrapper .bd-featured {
	border-color: var(--ao-a11y-text) !important;
	background: var(--ao-a11y-surface) !important;
	color: var(--ao-a11y-text) !important;
}

body.ao-accessibility-mode #wrapper .bd-featured > *,
body.ao-accessibility-mode #wrapper .bd-featured > * > * {
	background: transparent !important;
}

body.ao-accessibility-mode #wrapper .bd-featured .bd-featured-icon {
	border-color: var(--ao-a11y-link) !important;
	background: var(--ao-a11y-link) !important;
	color: var(--ao-a11y-on-link) !important;
}

/* Page Service and Attorney Profile FAQ only. */
body.ao-accessibility-mode #wrapper .svc-faq {
	padding: 0 !important;
	border: 0 !important;
	background: var(--ao-a11y-bg) !important;
}

body.ao-accessibility-mode #wrapper .svc-faq-item {
	border: 0 !important;
	border-bottom: 1px solid var(--ao-a11y-text) !important;
	background: transparent !important;
}

body.ao-accessibility-mode #wrapper .svc-faq-item:last-child {
	border-bottom: 0 !important;
}

body.ao-accessibility-mode #wrapper .svc-faq-q,
body.ao-accessibility-mode #wrapper .svc-faq-a,
body.ao-accessibility-mode #wrapper .svc-faq-a-inner {
	border: 0 !important;
	background: transparent !important;
	color: var(--ao-a11y-text) !important;
}

/* V41 404 action pair. */
body.ao-accessibility-mode #wrapper .ao-404-primary {
	border-color: var(--ao-a11y-link) !important;
	background: var(--ao-a11y-link) !important;
	color: var(--ao-a11y-on-link) !important;
}

body.ao-accessibility-mode #wrapper .ao-404-secondary {
	border-color: var(--ao-a11y-text) !important;
	background: var(--ao-a11y-bg) !important;
	color: var(--ao-a11y-text) !important;
}
