:root {
	--aiedi-a11y-accent: #2B78B0;
	--aiedi-a11y-brand-primary: #2B78B0;
	--aiedi-a11y-brand-secondary: #DF9F00;
	--aiedi-a11y-ink: #0C181E;
	--aiedi-a11y-muted: #5f687a;
	--aiedi-a11y-surface: #ffffff;
	--aiedi-a11y-soft: #F4F9FC;
	--aiedi-a11y-border: #dfe3ee;
	--aiedi-a11y-focus: #ffd84d;
	--aiedi-a11y-text-scale: 1;
	--aiedi-a11y-panel-width: min(470px, calc(100vw - 24px));
	--aiedi-a11y-shadow: 0 28px 80px rgba(12, 24, 30, 0.25);
}

.aiedi-a11y,
.aiedi-a11y * {
	box-sizing: border-box;
}

.aiedi-a11y [hidden] {
	display: none !important;
}

.aiedi-a11y__sr-only {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

.aiedi-a11y__skip-link {
	position: fixed;
	z-index: 2147483647;
	top: 12px;
	left: 50%;
	min-height: 48px;
	padding: 13px 22px;
	border: 3px solid #fff;
	border-radius: 14px;
	background: var(--aiedi-a11y-brand-primary);
	color: #fff !important;
	box-shadow: 0 12px 36px rgba(12, 24, 30, 0.34);
	font: 800 16px/1.25 Arial, Helvetica, sans-serif;
	text-decoration: none !important;
	transform: translate(-50%, calc(-100% - 28px));
	transition: transform 160ms ease;
}

.aiedi-a11y__skip-link:focus,
.aiedi-a11y__skip-link:focus-visible {
	outline: 4px solid var(--aiedi-a11y-focus) !important;
	outline-offset: 3px !important;
	transform: translate(-50%, 0);
}

.aiedi-a11y__launcher {
	position: fixed;
	z-index: 2147483000;
	bottom: 24px;
	width: 66px;
	height: 66px;
	padding: 0;
	border: 3px solid #fff;
	border-radius: 22px;
	background: linear-gradient(145deg, var(--aiedi-a11y-brand-primary) 0%, #3992CF 62%, var(--aiedi-a11y-brand-secondary) 145%);
	color: #fff;
	box-shadow: 0 16px 38px rgba(43, 120, 176, 0.34), 0 0 0 5px rgba(223, 159, 0, 0.15);
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	isolation: isolate;
	transition: transform 160ms ease, box-shadow 160ms ease, filter 160ms ease;
}

.aiedi-a11y__launcher::before {
	content: "";
	position: absolute;
	inset: 7px;
	z-index: -1;
	border: 1px solid rgba(255, 255, 255, 0.24);
	border-radius: 15px;
}

.aiedi-a11y__launcher-mark,
.aiedi-a11y__launcher-mark svg {
	display: block;
	width: 44px;
	height: 44px;
}

.aiedi-a11y--size-small .aiedi-a11y__launcher {
	width: 58px;
	height: 58px;
	border-radius: 19px;
}

.aiedi-a11y--size-small .aiedi-a11y__launcher::before {
	border-radius: 12px;
}

.aiedi-a11y--size-small .aiedi-a11y__launcher-mark,
.aiedi-a11y--size-small .aiedi-a11y__launcher-mark svg {
	width: 38px;
	height: 38px;
}

.aiedi-a11y--size-large .aiedi-a11y__launcher {
	width: 74px;
	height: 74px;
	border-radius: 25px;
}

.aiedi-a11y--size-large .aiedi-a11y__launcher::before {
	border-radius: 18px;
}

.aiedi-a11y--size-large .aiedi-a11y__launcher-mark,
.aiedi-a11y--size-large .aiedi-a11y__launcher-mark svg {
	width: 50px;
	height: 50px;
}

.aiedi-a11y--shape-circle .aiedi-a11y__launcher,
.aiedi-a11y--shape-circle .aiedi-a11y__launcher::before {
	border-radius: 50%;
}

.aiedi-a11y--panel-compact {
	--aiedi-a11y-panel-width: min(410px, calc(100vw - 24px));
}

.aiedi-a11y--panel-wide {
	--aiedi-a11y-panel-width: min(540px, calc(100vw - 24px));
}

.aiedi-a11y__mark-head,
.aiedi-a11y__mark-line {
	fill: none;
	stroke: #fff;
	stroke-width: 4;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.aiedi-a11y__mark-node {
	fill: var(--aiedi-a11y-brand-secondary);
	stroke: #fff;
	stroke-width: 2.4;
}

.aiedi-a11y__mark-bowl {
	fill: rgba(223, 159, 0, 0.9);
	stroke: #fff;
	stroke-width: 2.5;
	stroke-linejoin: round;
}



.aiedi-a11y__position-details {
	margin: 14px 0 18px;
	border: 1px solid #dbe2ed;
	border-radius: 16px;
	background: #f8fafc;
}

.aiedi-a11y__position-details summary {
	padding: 14px 16px;
	font-weight: 800;
	cursor: pointer;
}

.aiedi-a11y__position-details > p {
	margin: 0;
	padding: 0 16px 12px;
	color: #475467;
	font-size: 14px;
}

.aiedi-a11y__position-details .aiedi-a11y__choice-options {
	padding: 0 14px 14px;
}
.aiedi-a11y__launcher:hover {
	filter: brightness(1.07) saturate(1.05);
	transform: translateY(-3px);
	box-shadow: 0 20px 44px rgba(43, 120, 176, 0.4), 0 0 0 6px rgba(223, 159, 0, 0.18);
}

.aiedi-a11y__launcher:active {
	transform: translateY(0);
}

.aiedi-a11y__launcher:focus-visible,
.aiedi-a11y__dialog button:focus-visible,
.aiedi-a11y__dialog a:focus-visible {
	outline: 4px solid var(--aiedi-a11y-focus) !important;
	outline-offset: 4px !important;
}

.aiedi-a11y__backdrop {
	position: fixed;
	z-index: 2147483001;
	inset: 0;
	background: rgba(19, 13, 45, 0.56);
	backdrop-filter: blur(3px);
}

.aiedi-a11y__dialog {
	position: fixed;
	z-index: 2147483002;
	top: 12px;
	bottom: 12px;
	width: var(--aiedi-a11y-panel-width);
	max-height: calc(100dvh - 24px);
	border: 1px solid rgba(43, 120, 176, 0.18);
	border-radius: 28px;
	background: var(--aiedi-a11y-surface);
	color: var(--aiedi-a11y-ink);
	box-shadow: var(--aiedi-a11y-shadow);
	overflow: auto;
	overscroll-behavior: contain;
	font-family: Arial, Helvetica, sans-serif;
	line-height: 1.5;
	scrollbar-color: rgba(43, 120, 176, 0.45) transparent;
	scrollbar-width: thin;
}

.aiedi-a11y__dialog::before {
	content: "";
	position: absolute;
	top: 0;
	left: 28px;
	right: 28px;
	height: 4px;
	border-radius: 0 0 5px 5px;
	background: linear-gradient(90deg, var(--aiedi-a11y-brand-primary), var(--aiedi-a11y-brand-secondary));
}

.aiedi-a11y__header {
	position: sticky;
	top: 0;
	z-index: 2;
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 18px;
	padding: 24px 22px 18px;
	border-bottom: 1px solid var(--aiedi-a11y-border);
	border-radius: 28px 28px 0 0;
	background: linear-gradient(145deg, #fff 0%, #F4F9FC 68%, #FFF7E3 135%);
}

.aiedi-a11y__brand {
	min-width: 0;
	display: flex;
	align-items: center;
	gap: 14px;
}

.aiedi-a11y__brand-logo-wrap {
	flex: 0 0 auto;
	width: 118px;
	padding: 6px 8px;
	border: 1px solid rgba(43, 120, 176, 0.12);
	border-radius: 13px;
	background: #fff;
	box-shadow: 0 7px 18px rgba(43, 120, 176, 0.08);
}

.aiedi-a11y__brand-logo {
	display: block;
	width: 100%;
	height: auto;
}

.aiedi-a11y__brand-copy {
	min-width: 0;
}

.aiedi-a11y__eyebrow {
	margin: 0 0 4px;
	color: var(--aiedi-a11y-brand-secondary);
	font-size: 11px;
	font-weight: 900;
	letter-spacing: 0.08em;
	line-height: 1.35;
	text-transform: uppercase;
}

.aiedi-a11y__title {
	margin: 0;
	color: var(--aiedi-a11y-brand-primary);
	font-size: 21px;
	font-weight: 900;
	line-height: 1.18;
}

.aiedi-a11y__close {
	flex: 0 0 auto;
	width: 46px;
	height: 46px;
	border: 1px solid #d4d9e5;
	border-radius: 15px;
	background: #fff;
	color: var(--aiedi-a11y-brand-primary);
	box-shadow: 0 6px 16px rgba(43, 120, 176, 0.08);
	font-size: 30px;
	font-weight: 400;
	line-height: 1;
	cursor: pointer;
	transition: border-color 140ms ease, background 140ms ease, transform 140ms ease;
}

.aiedi-a11y__close:hover {
	border-color: var(--aiedi-a11y-brand-primary);
	background: #EAF5FC;
	transform: rotate(2deg);
}

.aiedi-a11y__content {
	padding: 20px 22px 22px;
}

.aiedi-a11y__intro {
	margin: 0 0 18px;
	padding: 13px 15px;
	border-left: 4px solid var(--aiedi-a11y-brand-secondary);
	border-radius: 0 12px 12px 0;
	background: #f2fafb;
	color: #485164;
	font-size: 14px;
	line-height: 1.55;
}

.aiedi-a11y__text-control {
	margin-bottom: 19px;
	padding: 16px;
	border: 1px solid rgba(43, 120, 176, 0.16);
	border-radius: 18px;
	background: linear-gradient(145deg, #F7FBFD, #f3f8fb);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

.aiedi-a11y__control-label,
.aiedi-a11y__section-title {
	display: block;
	margin: 0 0 11px;
	color: var(--aiedi-a11y-ink);
	font-size: 14px;
	font-weight: 900;
	letter-spacing: 0.01em;
}

.aiedi-a11y__section-title {
	margin-top: 2px;
	margin-bottom: 12px;
}

.aiedi-a11y__stepper {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	gap: 10px;
}

.aiedi-a11y__stepper button {
	min-height: 48px;
	border: 2px solid var(--aiedi-a11y-brand-primary);
	border-radius: 13px;
	background: #fff;
	color: var(--aiedi-a11y-brand-primary);
	font-size: 17px;
	font-weight: 900;
	cursor: pointer;
	transition: background 130ms ease, color 130ms ease, transform 130ms ease;
}

.aiedi-a11y__stepper button:hover {
	background: var(--aiedi-a11y-brand-primary);
	color: #fff;
	transform: translateY(-1px);
}

.aiedi-a11y__stepper output {
	min-width: 67px;
	padding: 8px 7px;
	border-radius: 10px;
	background: #fff;
	color: var(--aiedi-a11y-brand-primary);
	box-shadow: 0 5px 14px rgba(43, 120, 176, 0.08);
	font-weight: 900;
	text-align: center;
}


.aiedi-a11y__profiles {
	margin-bottom: 18px;
	padding: 14px;
	border: 1px solid rgba(223, 159, 0, 0.24);
	border-radius: 18px;
	background: linear-gradient(145deg, #f4fbfc, #F7FBFD);
}

.aiedi-a11y__profiles-heading h3 {
	margin: 0;
	color: var(--aiedi-a11y-ink);
	font-size: 14px;
	font-weight: 900;
}

.aiedi-a11y__profiles-heading p {
	margin: 3px 0 11px;
	color: var(--aiedi-a11y-muted);
	font-size: 11.5px;
}

.aiedi-a11y__profile-list {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 8px;
}

.aiedi-a11y__profile-list button {
	min-height: 68px;
	padding: 9px 7px;
	border: 1px solid rgba(43, 120, 176, 0.18);
	border-radius: 13px;
	background: #fff;
	color: var(--aiedi-a11y-brand-primary);
	cursor: pointer;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 5px;
	font: 800 10.5px/1.25 Arial, Helvetica, sans-serif;
	text-align: center;
	transition: transform 140ms ease, border-color 140ms ease, box-shadow 140ms ease;
}

.aiedi-a11y__profile-list button:hover {
	border-color: var(--aiedi-a11y-brand-primary);
	box-shadow: 0 8px 18px rgba(43, 120, 176, 0.1);
	transform: translateY(-1px);
}

.aiedi-a11y__profile-list button > span {
	font-size: 20px;
	font-weight: 900;
	line-height: 1;
}

.aiedi-a11y__contrast-control {
	margin: 0 0 19px;
	padding: 15px;
	border: 1px solid rgba(43, 120, 176, 0.16);
	border-radius: 18px;
	background: #F7FBFD;
}

.aiedi-a11y__contrast-control legend {
	padding: 0 4px;
	color: var(--aiedi-a11y-ink);
	font-size: 14px;
	font-weight: 900;
}

.aiedi-a11y__contrast-control > p {
	margin: 0 0 11px;
	color: var(--aiedi-a11y-muted);
	font-size: 11.5px;
	line-height: 1.45;
}

.aiedi-a11y__contrast-options {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 8px;
}

.aiedi-a11y__contrast-options button {
	min-height: 66px;
	padding: 8px 6px;
	border: 1.5px solid var(--aiedi-a11y-border);
	border-radius: 13px;
	background: #fff;
	color: #1E303A;
	cursor: pointer;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 6px;
	font: 800 10.5px/1.2 Arial, Helvetica, sans-serif;
	text-align: center;
}

.aiedi-a11y__contrast-options button[aria-pressed="true"] {
	border-color: var(--aiedi-a11y-brand-primary);
	box-shadow: 0 0 0 2px rgba(43, 120, 176, 0.13);
}

.aiedi-a11y__contrast-swatch {
	display: block;
	width: 34px;
	height: 22px;
	border: 1px solid rgba(17, 17, 17, 0.28);
	border-radius: 7px;
	box-shadow: inset 0 0 0 2px rgba(255, 255, 255, 0.18);
}

.aiedi-a11y__contrast-swatch--none {
	background: linear-gradient(90deg, #fff 0 50%, #2B78B0 50%);
}

.aiedi-a11y__contrast-swatch--dark {
	background: linear-gradient(90deg, #000 0 64%, #ffea00 64%);
}

.aiedi-a11y__contrast-swatch--light {
	background: linear-gradient(90deg, #fff 0 64%, #0037a5 64%);
}

.aiedi-a11y__contrast-swatch--yellow-black {
	background: linear-gradient(90deg, #000 0 64%, #fff200 64%);
}

.aiedi-a11y__contrast-swatch--black-yellow {
	background: linear-gradient(90deg, #ffec00 0 64%, #000 64%);
}

.aiedi-a11y__contrast-swatch--low-brightness {
	background: linear-gradient(90deg, #10172a 0 64%, #7ce9f0 64%);
}

.aiedi-a11y__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 11px;
}

.aiedi-a11y__tool {
	position: relative;
	min-height: 108px;
	padding: 14px 12px 13px;
	border: 1.5px solid var(--aiedi-a11y-border);
	border-radius: 17px;
	background: #fff;
	color: #1E303A;
	box-shadow: 0 7px 18px rgba(12, 24, 30, 0.045);
	cursor: pointer;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 8px;
	font: 800 13.5px/1.28 Arial, Helvetica, sans-serif;
	text-align: center;
	transition: border-color 140ms ease, background 140ms ease, box-shadow 140ms ease, transform 140ms ease;
}

.aiedi-a11y__tool:hover {
	border-color: rgba(43, 120, 176, 0.55);
	background: #F7FBFD;
	box-shadow: 0 11px 24px rgba(43, 120, 176, 0.1);
	transform: translateY(-2px);
}

.aiedi-a11y__tool[aria-pressed="true"] {
	border-color: var(--aiedi-a11y-brand-primary);
	background: linear-gradient(145deg, var(--aiedi-a11y-brand-primary), #3992CF 72%, #315e91 145%);
	color: #fff;
	box-shadow: 0 13px 28px rgba(43, 120, 176, 0.22);
}

.aiedi-a11y__tool-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	border: 1px solid rgba(43, 120, 176, 0.14);
	border-radius: 13px;
	background: linear-gradient(145deg, #EAF5FC, #edf8fa);
	color: var(--aiedi-a11y-brand-primary);
	font-size: 19px;
	font-weight: 900;
	line-height: 1;
	text-decoration: none;
}

.aiedi-a11y__tool[aria-pressed="true"] .aiedi-a11y__tool-icon {
	border-color: rgba(255, 255, 255, 0.45);
	background: rgba(255, 255, 255, 0.14);
	color: #fff;
}

.aiedi-a11y__tool-state {
	position: absolute;
	top: 10px;
	right: 10px;
	width: 8px;
	height: 8px;
	border: 2px solid #fff;
	border-radius: 50%;
	background: #c7ccd8;
	box-shadow: 0 0 0 1px rgba(43, 120, 176, 0.12);
}

.aiedi-a11y__tool[aria-pressed="true"] .aiedi-a11y__tool-state {
	background: #5ee4d2;
	box-shadow: 0 0 0 2px rgba(94, 228, 210, 0.2);
}

.aiedi-a11y__footer {
	padding: 18px 22px 22px;
	border-top: 1px solid var(--aiedi-a11y-border);
	background: #F7FBFD;
}

.aiedi-a11y__reset {
	width: 100%;
	min-height: 49px;
	border: 0;
	border-radius: 14px;
	background: var(--aiedi-a11y-ink);
	color: #fff;
	font-weight: 900;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	transition: background 140ms ease, transform 140ms ease;
}

.aiedi-a11y__reset:hover {
	background: var(--aiedi-a11y-brand-primary);
	transform: translateY(-1px);
}

.aiedi-a11y__footer-links {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px 14px;
	margin-top: 14px;
	color: #687185;
	font-size: 11.5px;
	text-align: center;
}

.aiedi-a11y__footer-links a {
	color: var(--aiedi-a11y-brand-primary);
	font-weight: 800;
	text-underline-offset: 0.18em;
}

.aiedi-a11y__reading-guide {
	position: fixed;
	z-index: 2147482999;
	top: 0;
	left: 0;
	width: 100vw;
	height: 48px;
	border-top: 3px solid var(--aiedi-a11y-brand-secondary);
	border-bottom: 3px solid var(--aiedi-a11y-brand-secondary);
	background: rgba(223, 159, 0, 0.13);
	box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.65) inset;
	pointer-events: none;
	will-change: transform;
}

.aiedi-a11y__reading-mask {
	position: fixed;
	z-index: 2147482998;
	top: 0;
	left: 0;
	width: 100vw;
	height: 118px;
	border-top: 2px solid rgba(223, 159, 0, 0.95);
	border-bottom: 2px solid rgba(223, 159, 0, 0.95);
	background: rgba(255, 255, 255, 0.04);
	box-shadow: 0 -100vh 0 100vh rgba(6, 17, 23, 0.72), 0 100vh 0 100vh rgba(6, 17, 23, 0.72);
	pointer-events: none;
	will-change: transform;
}

body.aiedi-a11y-panel-open {
	/* 2.8.25: deliberately do NOT change overflow on BODY. The AIEDI Nexo
	 * theme keeps its institutional header sticky by ensuring BODY never becomes
	 * a clipping/scroll ancestor. Background interaction is blocked by inert and
	 * by the modal backdrop listeners in frontend.js instead. */
	overscroll-behavior: none;
}

html.aiedi-a11y-text-scaled {
	--aiedi-a11y-text-active: 1;
}

html.aiedi-a11y-line-height body,
html.aiedi-a11y-line-height body *:not(script):not(style):not(svg):not(path):not(.aiedi-a11y):not(.aiedi-a11y *) {
	line-height: 1.8 !important;
}

html.aiedi-a11y-letter-spacing body,
html.aiedi-a11y-letter-spacing body *:not(script):not(style):not(svg):not(path):not(.aiedi-a11y):not(.aiedi-a11y *) {
	letter-spacing: 0.08em !important;
	word-spacing: 0.12em !important;
}

html.aiedi-a11y-readable-font body,
html.aiedi-a11y-readable-font body *:not(code):not(pre):not(kbd):not(samp):not(.aiedi-a11y):not(.aiedi-a11y *) {
	font-family: Arial, Helvetica, sans-serif !important;
}

html.aiedi-a11y-contrast-dark {
	--aiedi-contrast-bg: #000000;
	--aiedi-contrast-text: #ffffff;
	--aiedi-contrast-action: #ffea00;
	--aiedi-contrast-action-text: #000000;
}

html.aiedi-a11y-contrast-light {
	--aiedi-contrast-bg: #ffffff;
	--aiedi-contrast-text: #000000;
	--aiedi-contrast-action: #0037a5;
	--aiedi-contrast-action-text: #ffffff;
}

html.aiedi-a11y-contrast-yellow-black {
	--aiedi-contrast-bg: #000000;
	--aiedi-contrast-text: #fff200;
	--aiedi-contrast-action: #00ffff;
	--aiedi-contrast-action-text: #001111;
}

html.aiedi-a11y-contrast-black-yellow {
	--aiedi-contrast-bg: #ffec00;
	--aiedi-contrast-text: #000000;
	--aiedi-contrast-action: #0000a8;
	--aiedi-contrast-action-text: #ffffff;
}

html.aiedi-a11y-contrast-low-brightness {
	--aiedi-contrast-bg: #10172a;
	--aiedi-contrast-text: #f3f0df;
	--aiedi-contrast-action: #7ce9f0;
	--aiedi-contrast-action-text: #061117;
}

html.aiedi-a11y-contrast-active,
html.aiedi-a11y-contrast-active body,
html.aiedi-a11y-contrast-active body *:not(img):not(video):not(svg):not(path):not(.aiedi-a11y):not(.aiedi-a11y *) {
	background-color: var(--aiedi-contrast-bg) !important;
	background-image: none !important;
	color: var(--aiedi-contrast-text) !important;
	-webkit-text-fill-color: currentColor !important;
	background-clip: border-box !important;
	-webkit-background-clip: border-box !important;
	border-color: var(--aiedi-contrast-text) !important;
	box-shadow: none !important;
	text-shadow: none !important;
}

/*
 * Recover text that themes render with a gradient clipped to the glyphs.
 * When high contrast removes the gradient, properties such as
 * -webkit-text-fill-color: transparent can otherwise make headings like
 * “404” disappear completely.
 */
html.aiedi-a11y-contrast-active body *:not(.aiedi-a11y):not(.aiedi-a11y *)::before,
html.aiedi-a11y-contrast-active body *:not(.aiedi-a11y):not(.aiedi-a11y *)::after {
	-webkit-text-fill-color: currentColor !important;
	background-image: none !important;
	background-clip: border-box !important;
	-webkit-background-clip: border-box !important;
	text-shadow: none !important;
}

/*
 * Strong fallback for theme components that use an ID selector plus
 * !important to keep gradient text transparent. The AIEDI 404 code
 * uses #contenido .dt-error-code, so this selector must outrank it.
 */
html.aiedi-a11y-contrast-active body #contenido .dt-error-code,
html.aiedi-a11y-contrast-active body #contenido [class*="gradient-text"],
html.aiedi-a11y-contrast-active body #contenido [class*="degradado"] {
	color: var(--aiedi-contrast-text) !important;
	-webkit-text-fill-color: var(--aiedi-contrast-text) !important;
	background: none !important;
	background-image: none !important;
	background-clip: border-box !important;
	-webkit-background-clip: border-box !important;
	text-shadow: none !important;
	opacity: 1 !important;
	visibility: visible !important;
}

html.aiedi-a11y-contrast-active body a:not(.aiedi-a11y *),
html.aiedi-a11y-contrast-active body button:not(.aiedi-a11y *),
html.aiedi-a11y-contrast-active body input:not(.aiedi-a11y *),
html.aiedi-a11y-contrast-active body select:not(.aiedi-a11y *),
html.aiedi-a11y-contrast-active body textarea:not(.aiedi-a11y *) {
	color: var(--aiedi-contrast-action) !important;
	border-color: var(--aiedi-contrast-action) !important;
}

html.aiedi-a11y-contrast-active body a:not(.aiedi-a11y *) {
	text-decoration: underline !important;
	text-decoration-thickness: 0.12em !important;
	text-underline-offset: 0.16em !important;
}

html.aiedi-a11y-contrast-active .aiedi-a11y__brand-logo-wrap {
	background: #ffffff !important;
}

html.aiedi-a11y-contrast-active .aiedi-a11y__backdrop {
	background: transparent !important;
	backdrop-filter: none !important;
}

/* AIEDI brand marks are interface graphics, not photographs. In contrast
 * modes they become monochrome so the header and footer logo remain legible
 * against the selected contrast surface. */
html.aiedi-a11y-contrast-dark body :is(.site-branding img, .custom-logo, .site-footer__brand img),
html.aiedi-a11y-contrast-low-brightness body :is(.site-branding img, .custom-logo, .site-footer__brand img) {
	filter: grayscale(1) brightness(0) invert(1) !important;
}

html.aiedi-a11y-contrast-light body :is(.site-branding img, .custom-logo, .site-footer__brand img),
html.aiedi-a11y-contrast-black-yellow body :is(.site-branding img, .custom-logo, .site-footer__brand img) {
	filter: grayscale(1) brightness(0) !important;
}

html.aiedi-a11y-contrast-yellow-black body :is(.site-branding img, .custom-logo, .site-footer__brand img) {
	filter: grayscale(1) brightness(0) invert(91%) sepia(99%) saturate(1530%) hue-rotate(359deg) brightness(105%) contrast(104%) !important;
}

html.aiedi-a11y-contrast-active .aiedi-a11y__tool[aria-pressed="true"],
html.aiedi-a11y-contrast-active .aiedi-a11y__contrast-options button[aria-pressed="true"] {
	background: var(--aiedi-contrast-action) !important;
	color: var(--aiedi-contrast-action-text) !important;
	border-color: var(--aiedi-contrast-action) !important;
}

html.aiedi-a11y-contrast-active ::selection {
	background: var(--aiedi-contrast-action) !important;
	color: var(--aiedi-contrast-action-text) !important;
}

html.aiedi-a11y-grayscale body > *:not(.aiedi-a11y) {
	filter: grayscale(1) !important;
}

html.aiedi-a11y-underline-links a:not(.aiedi-a11y__launcher) {
	text-decoration: underline !important;
	text-decoration-thickness: 0.15em !important;
	text-underline-offset: 0.18em !important;
}

html.aiedi-a11y-focus-highlight :focus,
html.aiedi-a11y-focus-highlight :focus-visible {
	outline: 4px solid #DF9F00 !important;
	outline-offset: 4px !important;
}

html.aiedi-a11y-highlight-headings body :where(h1, h2, h3, h4, h5, h6):not(.aiedi-a11y *) {
	padding: 0.22em 0.38em !important;
	border-left: 5px solid var(--aiedi-a11y-brand-secondary) !important;
	border-radius: 0 8px 8px 0 !important;
	background: rgba(223, 159, 0, 0.12) !important;
	text-decoration: underline !important;
	text-decoration-color: var(--aiedi-a11y-brand-primary) !important;
	text-decoration-thickness: 0.08em !important;
	text-underline-offset: 0.15em !important;
}

html.aiedi-a11y-reading-width body :where(main, article, [role="main"]) :where(p, li, dd, blockquote, figcaption):not(.aiedi-a11y *) {
	max-width: 72ch !important;
}

html.aiedi-a11y-large-targets body :where(button, input:not([type="hidden"]), select, textarea, summary, [role="button"]):not(.aiedi-a11y *) {
	min-width: 44px !important;
	min-height: 44px !important;
}

html.aiedi-a11y-large-targets body :where(nav, .menu, .navigation) a:not(.aiedi-a11y *) {
	min-height: 44px !important;
	padding-top: 0.55rem !important;
	padding-bottom: 0.55rem !important;
	display: inline-flex !important;
	align-items: center !important;
}

html.aiedi-a11y-reduce-motion,
html.aiedi-a11y-reduce-motion body,
html.aiedi-a11y-reduce-motion *,
html.aiedi-a11y-reduce-motion *::before,
html.aiedi-a11y-reduce-motion *::after {
	scroll-behavior: auto !important;
	animation: none !important;
	animation-delay: 0s !important;
	animation-duration: 0s !important;
	animation-iteration-count: 1 !important;
	transition: none !important;
	transition-delay: 0s !important;
	transition-duration: 0s !important;
}

html.aiedi-a11y-reduce-motion [data-aiedi-a11y-motion-source="true"],
html.aiedi-a11y-reduce-motion [data-aiedi-a11y-motion-source="true"]::before,
html.aiedi-a11y-reduce-motion [data-aiedi-a11y-motion-source="true"]::after {
	transform: none !important;
	translate: none !important;
	rotate: none !important;
	scale: none !important;
}

html.aiedi-a11y-large-cursor,
html.aiedi-a11y-large-cursor body,
html.aiedi-a11y-large-cursor body * {
	cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 40 40'%3E%3Cpath d='M5 3v29l8-7 6 12 6-3-6-12h11z' fill='white' stroke='black' stroke-width='3' stroke-linejoin='round'/%3E%3C/svg%3E") 5 3, default !important;
}

html.aiedi-a11y-large-cursor a,
html.aiedi-a11y-large-cursor button,
html.aiedi-a11y-large-cursor input,
html.aiedi-a11y-large-cursor select,
html.aiedi-a11y-large-cursor textarea,
html.aiedi-a11y-large-cursor [role="button"] {
	cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 40 40'%3E%3Cpath d='M12 3c-2 0-3 2-3 4v14l-2-3c-2-3-7 0-5 3l8 13c1 2 3 3 6 3h8c5 0 9-4 9-9V15c0-4-5-5-7-2v-2c0-4-5-5-7-2V7c0-3-4-5-7-2z' fill='white' stroke='black' stroke-width='3' stroke-linejoin='round'/%3E%3C/svg%3E") 12 4, pointer !important;
}

@media (max-width: 560px) {
	.aiedi-a11y__dialog {
		top: 8px;
		bottom: 8px;
		width: calc(100vw - 16px);
		max-height: calc(100dvh - 16px);
		border-radius: 22px;
	}

	.aiedi-a11y__header {
		padding: 21px 17px 16px;
		border-radius: 22px 22px 0 0;
	}

	.aiedi-a11y__brand {
		gap: 10px;
	}

	.aiedi-a11y__brand-logo-wrap {
		width: 98px;
		padding: 5px 6px;
	}

	.aiedi-a11y__eyebrow {
		display: none;
	}

	.aiedi-a11y__title {
		font-size: 18px;
	}

	.aiedi-a11y__content,
	.aiedi-a11y__footer {
		padding-left: 17px;
		padding-right: 17px;
	}

	.aiedi-a11y__launcher {
		bottom: 14px;
		width: 58px;
		height: 58px;
		border-radius: 19px;
	}

	.aiedi-a11y__launcher-mark,
	.aiedi-a11y__launcher-mark svg {
		width: 39px;
		height: 39px;
	}

	.aiedi-a11y--size-small .aiedi-a11y__launcher {
		width: 52px;
		height: 52px;
	}

	.aiedi-a11y--size-small .aiedi-a11y__launcher-mark,
	.aiedi-a11y--size-small .aiedi-a11y__launcher-mark svg {
		width: 34px;
		height: 34px;
	}

	.aiedi-a11y--size-large .aiedi-a11y__launcher {
		width: 66px;
		height: 66px;
	}

	.aiedi-a11y--size-large .aiedi-a11y__launcher-mark,
	.aiedi-a11y--size-large .aiedi-a11y__launcher-mark svg {
		width: 45px;
		height: 45px;
	}

}

@media (max-width: 370px) {
	.aiedi-a11y__grid {
		grid-template-columns: 1fr;
	}

	.aiedi-a11y__tool {
		min-height: 88px;
		flex-direction: row;
		justify-content: flex-start;
		text-align: left;
	}
}

@media (prefers-reduced-motion: reduce) {
	.aiedi-a11y__launcher,
	.aiedi-a11y__skip-link,
	.aiedi-a11y__tool,
	.aiedi-a11y__close,
	.aiedi-a11y__reset,
	.aiedi-a11y__stepper button {
		transition: none;
	}
}

@media print {
	.aiedi-a11y,
	.aiedi-a11y__skip-link {
		display: none !important;
	}
}


/* 0.3.0: pictogramas semánticos y bloque público de estándares. */
.aiedi-a11y__tool {
	min-height: 116px;
	padding: 13px 11px;
	gap: 7px;
}

.aiedi-a11y__tool-icon {
	width: 48px;
	height: 48px;
	border-radius: 15px;
}

.aiedi-a11y__tool-icon svg {
	display: block;
	width: 30px;
	height: 30px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.aiedi-a11y__tool-icon .aiedi-a11y__icon-fill {
	fill: currentColor;
	stroke: none;
}

.aiedi-a11y__tool-icon .aiedi-a11y__icon-fill-soft {
	fill: currentColor;
	stroke: none;
	opacity: 0.2;
}

.aiedi-a11y__tool-copy {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 2px;
	min-width: 0;
}

.aiedi-a11y__tool-label {
	font-size: 13.5px;
	font-weight: 900;
	line-height: 1.22;
}

.aiedi-a11y__tool-description {
	display: block;
	color: #667085;
	font-size: 10.5px;
	font-weight: 600;
	line-height: 1.28;
}

.aiedi-a11y__tool[aria-pressed="true"] .aiedi-a11y__tool-description {
	color: rgba(255, 255, 255, 0.84);
}

.aiedi-a11y__standards {
	margin: 0 22px 20px;
	padding: 16px;
	border: 1px solid rgba(223, 159, 0, 0.28);
	border-radius: 18px;
	background: linear-gradient(145deg, #f5fbfc, #F7FBFD);
	color: #344054;
}

.aiedi-a11y__standards-heading {
	display: flex;
	align-items: flex-start;
	gap: 11px;
}

.aiedi-a11y__standards-icon {
	display: inline-flex;
	flex: 0 0 39px;
	align-items: center;
	justify-content: center;
	width: 39px;
	height: 39px;
	border-radius: 13px;
	background: var(--aiedi-a11y-brand-primary);
	color: #fff;
}

.aiedi-a11y__standards-icon svg {
	width: 24px;
	height: 24px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.aiedi-a11y__standards h3 {
	margin: 0 0 3px;
	color: var(--aiedi-a11y-brand-primary);
	font-size: 15px;
	line-height: 1.25;
}

.aiedi-a11y__standards-heading p,
.aiedi-a11y__standards-note {
	margin: 0;
	font-size: 11.5px;
	line-height: 1.48;
}

.aiedi-a11y__standard-list {
	display: grid;
	grid-template-columns: 1fr;
	gap: 7px;
	margin: 13px 0;
	padding: 0;
	list-style: none;
}

.aiedi-a11y__standard-list li {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	padding: 8px 10px;
	border: 1px solid rgba(43, 120, 176, 0.12);
	border-radius: 11px;
	background: rgba(255, 255, 255, 0.88);
}

.aiedi-a11y__standard-list strong {
	color: var(--aiedi-a11y-brand-primary);
	font-size: 11.5px;
}

.aiedi-a11y__standard-list span {
	color: #667085;
	font-size: 10.5px;
	text-align: right;
}

.aiedi-a11y__standards-note {
	padding-left: 10px;
	border-left: 3px solid #9A6700;
	color: #594a00;
}

.aiedi-a11y__standards-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 12px;
}

.aiedi-a11y__standards-actions a {
	display: inline-flex;
	align-items: center;
	min-height: 36px;
	padding: 7px 10px;
	border: 1px solid var(--aiedi-a11y-brand-primary);
	border-radius: 10px;
	color: var(--aiedi-a11y-brand-primary);
	background: #fff;
	font-size: 11px;
	font-weight: 900;
	text-decoration: none;
}

.aiedi-a11y__standards-actions a:hover {
	background: var(--aiedi-a11y-brand-primary);
	color: #fff;
}

html.aiedi-a11y-contrast-active .aiedi-a11y__standards {
	border-color: var(--aiedi-contrast-text) !important;
	background: var(--aiedi-contrast-bg) !important;
	color: var(--aiedi-contrast-text) !important;
}

html.aiedi-a11y-contrast-active .aiedi-a11y__standards h3,
html.aiedi-a11y-contrast-active .aiedi-a11y__standard-list strong,
html.aiedi-a11y-contrast-active .aiedi-a11y__standards-note,
html.aiedi-a11y-contrast-active .aiedi-a11y__standard-list span {
	color: var(--aiedi-contrast-text) !important;
}

html.aiedi-a11y-contrast-active .aiedi-a11y__standard-list li,
html.aiedi-a11y-contrast-active .aiedi-a11y__standards-actions a {
	border-color: var(--aiedi-contrast-text) !important;
	background: var(--aiedi-contrast-bg) !important;
	color: var(--aiedi-contrast-action) !important;
}

@media (max-width: 520px) {
	.aiedi-a11y__profile-list,
	.aiedi-a11y__contrast-options {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.aiedi-a11y__tool {
		min-height: 120px;
	}

	.aiedi-a11y__standards {
		margin-right: 14px;
		margin-left: 14px;
	}

	.aiedi-a11y__standard-list li {
		align-items: flex-start;
		flex-direction: column;
		gap: 2px;
	}

	.aiedi-a11y__standard-list span {
		text-align: left;
	}
}

/* Version 0.6: mapa de página y comunicación de barreras. */
.aiedi-a11y__dialog--subview > .aiedi-a11y__content,
.aiedi-a11y__dialog--subview > .aiedi-a11y__standards,
.aiedi-a11y__dialog--subview > .aiedi-a11y__footer {
	display: none !important;
}

.aiedi-a11y__subview {
	padding: 0 22px 24px;
}

.aiedi-a11y__subview-header {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	margin: 0 -22px 18px;
	padding: 18px 22px;
	border-bottom: 1px solid #e6e8f2;
	background: linear-gradient(135deg, rgba(43, 120, 176, 0.06), rgba(223, 159, 0, 0.08));
}

.aiedi-a11y__subview-header > div {
	min-width: 0;
}

.aiedi-a11y__subview-header p {
	margin: 0 0 3px;
	color: var(--aiedi-a11y-brand-secondary);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.09em;
	text-transform: uppercase;
}

.aiedi-a11y__subview-header h3 {
	margin: 0;
	color: #1E5C86;
	font-size: 22px;
	line-height: 1.2;
}

.aiedi-a11y__subview-back {
	display: inline-flex;
	flex: 0 0 auto;
	align-items: center;
	gap: 6px;
	min-height: 42px;
	padding: 8px 12px;
	border: 1px solid rgba(43, 120, 176, 0.24);
	border-radius: 12px;
	background: #fff;
	color: #2B78B0;
	font-weight: 800;
	cursor: pointer;
}

.aiedi-a11y__subview-intro {
	margin: 0 0 18px;
	color: #4A5E6A;
}

.aiedi-a11y__map-group + .aiedi-a11y__map-group {
	margin-top: 22px;
}

.aiedi-a11y__map-group h4 {
	margin: 0 0 10px;
	color: #1E5C86;
	font-size: 15px;
}

.aiedi-a11y__map-group ul {
	display: grid;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.aiedi-a11y__map-link {
	display: grid;
	grid-template-columns: auto 1fr;
	align-items: center;
	gap: 10px;
	width: 100%;
	min-height: 46px;
	padding: 10px 12px;
	border: 1px solid #dfe2ed;
	border-radius: 13px;
	background: #fff;
	color: #1E303A;
	text-align: left;
	cursor: pointer;
}

.aiedi-a11y__map-link:hover {
	border-color: var(--aiedi-a11y-brand-secondary);
	background: #f2fbfc;
}

.aiedi-a11y__map-level {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 48px;
	min-height: 28px;
	padding: 4px 8px;
	border-radius: 999px;
	background: rgba(43, 120, 176, 0.1);
	color: #2B78B0;
	font-size: 11px;
	font-weight: 900;
	letter-spacing: 0.04em;
}

.aiedi-a11y__map-empty {
	padding: 18px;
	border: 1px dashed #cfd4e4;
	border-radius: 14px;
	background: #FBFDFE;
	color: #526674;
}

.aiedi-a11y__report-form {
	display: grid;
	gap: 15px;
}

.aiedi-a11y__report-form > p {
	margin: 0;
	color: #4A5E6A;
}

.aiedi-a11y__form-row {
	display: grid;
	gap: 6px;
}

.aiedi-a11y__form-row label,
.aiedi-a11y__privacy-check {
	color: #1E303A;
	font-weight: 800;
}

.aiedi-a11y__form-row input,
.aiedi-a11y__form-row select,
.aiedi-a11y__form-row textarea {
	width: 100%;
	min-height: 46px;
	padding: 10px 12px;
	border: 1px solid #cfd4e4;
	border-radius: 12px;
	background: #fff;
	color: #1E5C86;
	font: inherit;
}

.aiedi-a11y__form-row textarea {
	min-height: 130px;
	resize: vertical;
}

.aiedi-a11y__form-row small {
	color: #5B6C77;
	font-size: 12px;
}

.aiedi-a11y__privacy-check {
	display: grid;
	grid-template-columns: 22px 1fr;
	align-items: start;
	gap: 10px;
	font-size: 13px;
	line-height: 1.45;
}

.aiedi-a11y__privacy-check input {
	width: 20px;
	height: 20px;
	margin: 0;
}

.aiedi-a11y__honeypot {
	position: absolute !important;
	left: -10000px !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
}

.aiedi-a11y__report-submit,
.aiedi-a11y__standards-actions button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 46px;
	padding: 10px 16px;
	border: 0;
	border-radius: 13px;
	background: linear-gradient(135deg, var(--aiedi-a11y-brand-primary), #2B78B0);
	color: #fff;
	font-weight: 850;
	cursor: pointer;
}

.aiedi-a11y__report-submit:disabled {
	opacity: 0.65;
	cursor: wait;
}

.aiedi-a11y__report-status {
	min-height: 0;
	padding: 0;
	border-radius: 10px;
	font-size: 13px;
	font-weight: 750;
}

.aiedi-a11y__report-status:not(:empty) {
	padding: 11px 12px;
	background: #F4F9FC;
	color: #2B78B0;
}

.aiedi-a11y__report-status.is-success {
	background: #e9f8f0;
	color: #17643c;
}

.aiedi-a11y__report-status.is-error {
	background: #fff0ef;
	color: #8f231d;
}

@media (max-width: 520px) {
	.aiedi-a11y__subview {
		padding-right: 16px;
		padding-left: 16px;
	}

	.aiedi-a11y__subview-header {
		margin-right: -16px;
		margin-left: -16px;
		padding-right: 16px;
		padding-left: 16px;
	}
}

.aiedi-a11y__tool-arrow {
	position: absolute;
	top: 9px;
	right: 11px;
	color: var(--aiedi-a11y-brand-secondary);
	font-size: 17px;
	font-weight: 900;
}

/* 0.7.0: adaptation of PNG branding, visitor image controls and movable launcher. */
.aiedi-a11y__visual-controls {
	display: grid;
	gap: 14px;
	margin: 0 0 20px;
}

.aiedi-a11y__choice-control {
	margin: 0;
	padding: 15px;
	border: 1px solid var(--aiedi-a11y-border);
	border-radius: 18px;
	background: linear-gradient(145deg, #ffffff 0%, #F4F9FC 100%);
}

.aiedi-a11y__choice-control legend {
	padding: 0 6px;
	color: var(--aiedi-a11y-ink);
	font-size: 15px;
	font-weight: 800;
}

.aiedi-a11y__choice-control > p {
	margin: 2px 0 12px;
	color: var(--aiedi-a11y-muted);
	font-size: 13px;
	line-height: 1.48;
}

.aiedi-a11y__choice-options {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 8px;
}

.aiedi-a11y__choice-options--position {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.aiedi-a11y__choice-options button {
	display: flex;
	min-width: 0;
	min-height: 62px;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	gap: 5px;
	padding: 8px 5px;
	border: 1px solid #D5E4ED;
	border-radius: 13px;
	background: #fff;
	color: #1E303A;
	font: 700 11px/1.2 Arial, Helvetica, sans-serif;
	text-align: center;
	cursor: pointer;
}

.aiedi-a11y__choice-options button > span:first-child {
	display: inline-flex;
	width: 28px;
	height: 28px;
	align-items: center;
	justify-content: center;
	border-radius: 9px;
	background: rgba(43, 120, 176, 0.08);
	color: var(--aiedi-a11y-brand-primary);
	font-size: 19px;
	font-weight: 900;
}

.aiedi-a11y__choice-options button[aria-pressed="true"] {
	border-color: var(--aiedi-a11y-brand-primary);
	background: rgba(43, 120, 176, 0.09);
	box-shadow: 0 0 0 2px rgba(43, 120, 176, 0.12);
}

.aiedi-a11y__choice-options button[aria-pressed="true"] > span:first-child {
	background: var(--aiedi-a11y-brand-primary);
	color: #fff;
}

/* The administrative position is only the default; visitors can override it locally. */
.aiedi-a11y--bottom-right .aiedi-a11y__launcher {
	top: auto;
	right: 24px;
	bottom: 24px;
	left: auto;
	transform: none;
}

.aiedi-a11y--bottom-left .aiedi-a11y__launcher {
	top: auto;
	right: auto;
	bottom: 24px;
	left: 24px;
	transform: none;
}

.aiedi-a11y--top-right .aiedi-a11y__launcher {
	top: 24px;
	right: 24px;
	bottom: auto;
	left: auto;
	transform: none;
}

.aiedi-a11y--top-left .aiedi-a11y__launcher {
	top: 24px;
	right: auto;
	bottom: auto;
	left: 24px;
	transform: none;
}

.aiedi-a11y--bottom-right .aiedi-a11y__launcher:hover,
.aiedi-a11y--bottom-left .aiedi-a11y__launcher:hover,
.aiedi-a11y--top-right .aiedi-a11y__launcher:hover,
.aiedi-a11y--top-left .aiedi-a11y__launcher:hover {
	transform: translateY(-3px);
}

.aiedi-a11y--bottom-right .aiedi-a11y__launcher:active,
.aiedi-a11y--bottom-left .aiedi-a11y__launcher:active,
.aiedi-a11y--top-right .aiedi-a11y__launcher:active,
.aiedi-a11y--top-left .aiedi-a11y__launcher:active {
	transform: none;
}

.aiedi-a11y--bottom-right .aiedi-a11y__dialog,
.aiedi-a11y--top-right .aiedi-a11y__dialog {
	right: 12px;
	left: auto;
}

.aiedi-a11y--bottom-left .aiedi-a11y__dialog,
.aiedi-a11y--top-left .aiedi-a11y__dialog {
	right: auto;
	left: 12px;
}

/* Content photographs remain recognisable; only explicit image modes alter them. */
html.aiedi-a11y-images-dim body img[data-aiedi-a11y-visual="content"],
html.aiedi-a11y-images-dim body img[data-aiedi-a11y-visual="decorative"] {
	filter: brightness(0.68) contrast(1.06) !important;
}

html.aiedi-a11y-images-grayscale body img[data-aiedi-a11y-visual="content"],
html.aiedi-a11y-images-grayscale body img[data-aiedi-a11y-visual="decorative"] {
	filter: grayscale(1) !important;
}

html.aiedi-a11y-images-enhanced body img[data-aiedi-a11y-visual="content"],
html.aiedi-a11y-images-enhanced body img[data-aiedi-a11y-visual="decorative"] {
	filter: contrast(1.24) saturate(1.08) brightness(1.02) !important;
}

html.aiedi-a11y-images-hide-decorative body img[data-aiedi-a11y-visual="decorative"] {
	display: none !important;
}

/* Automatic contrast variants for transparent PNG logos and pictograms. */
html.aiedi-a11y-contrast-dark img[data-aiedi-a11y-visual="logo"],
html.aiedi-a11y-contrast-dark img[data-aiedi-a11y-visual="icon"] {
	filter: brightness(0) invert(1) !important;
}

html.aiedi-a11y-contrast-light img[data-aiedi-a11y-visual="logo"],
html.aiedi-a11y-contrast-light img[data-aiedi-a11y-visual="icon"],
html.aiedi-a11y-contrast-black-yellow img[data-aiedi-a11y-visual="logo"],
html.aiedi-a11y-contrast-black-yellow img[data-aiedi-a11y-visual="icon"] {
	filter: brightness(0) saturate(100%) !important;
}

html.aiedi-a11y-contrast-yellow-black img[data-aiedi-a11y-visual="logo"],
html.aiedi-a11y-contrast-yellow-black img[data-aiedi-a11y-visual="icon"] {
	filter: brightness(0) saturate(100%) invert(92%) sepia(98%) saturate(1485%) hue-rotate(358deg) brightness(103%) contrast(104%) !important;
}

html.aiedi-a11y-contrast-low-brightness img[data-aiedi-a11y-visual="logo"],
html.aiedi-a11y-contrast-low-brightness img[data-aiedi-a11y-visual="icon"] {
	filter: brightness(0) saturate(100%) invert(91%) sepia(21%) saturate(564%) hue-rotate(137deg) brightness(99%) contrast(91%) !important;
}

html.aiedi-a11y-contrast-active body img[data-aiedi-a11y-visual="content"],
html.aiedi-a11y-contrast-active body img[data-aiedi-a11y-visual="decorative"] {
	outline: 2px solid var(--aiedi-contrast-action) !important;
	outline-offset: 2px !important;
}

html.aiedi-a11y-contrast-active .aiedi-a11y__brand-logo-wrap {
	background: var(--aiedi-contrast-bg) !important;
}

@media (max-width: 560px) {
	.aiedi-a11y__choice-options,
	.aiedi-a11y__choice-options--position {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.aiedi-a11y--bottom-right .aiedi-a11y__launcher,
	.aiedi-a11y--top-right .aiedi-a11y__launcher {
		right: 14px;
	}

	.aiedi-a11y--bottom-left .aiedi-a11y__launcher,
	.aiedi-a11y--top-left .aiedi-a11y__launcher {
		left: 14px;
	}

	.aiedi-a11y--top-right .aiedi-a11y__launcher,
	.aiedi-a11y--top-left .aiedi-a11y__launcher {
		top: 14px;
	}

	.aiedi-a11y--bottom-right .aiedi-a11y__launcher,
	.aiedi-a11y--bottom-left .aiedi-a11y__launcher {
		bottom: 14px;
	}

	.aiedi-a11y--bottom-right .aiedi-a11y__dialog,
	.aiedi-a11y--top-right .aiedi-a11y__dialog {
		right: 8px;
	}

	.aiedi-a11y--bottom-left .aiedi-a11y__dialog,
	.aiedi-a11y--top-left .aiedi-a11y__dialog {
		left: 8px;
	}
}

/* =========================================================
   0.9.0 - Panel simple con tarjetas y niveles
   ========================================================= */

.aiedi-a11y__dialog {
	--aiedi-a11y-panel-width: min(430px, calc(100vw - 20px));
	border-radius: 22px;
}

.aiedi-a11y__header {
	align-items: center;
	padding: 18px 18px 16px;
	border-radius: 22px 22px 0 0;
	background: linear-gradient(135deg, var(--aiedi-a11y-brand-primary), #1E5C86 72%, #1E5C86 130%);
	color: #fff;
}

.aiedi-a11y__header .aiedi-a11y__brand {
	gap: 12px;
}

.aiedi-a11y__header .aiedi-a11y__brand-logo-wrap {
	width: 104px;
	padding: 5px 7px;
	border-color: rgba(255, 255, 255, 0.42);
	background: #fff;
}

.aiedi-a11y__header .aiedi-a11y__eyebrow {
	color: #8de8f0;
	font-size: 10px;
}

.aiedi-a11y__header .aiedi-a11y__title {
	color: #fff;
	font-size: 19px;
}

.aiedi-a11y__header .aiedi-a11y__close {
	width: 42px;
	height: 42px;
	border: 2px solid rgba(255, 255, 255, 0.75);
	border-radius: 50%;
	background: transparent;
	color: #fff;
	box-shadow: none;
}

.aiedi-a11y__header .aiedi-a11y__close:hover {
	border-color: #fff;
	background: rgba(255, 255, 255, 0.14);
}

.aiedi-a11y__content {
	padding: 16px 18px 18px;
	background: #f3f5f9;
}

.aiedi-a11y__intro {
	margin: 0 0 14px;
	padding: 10px 12px;
	border: 0;
	border-radius: 12px;
	background: #fff;
	color: #454d60;
	box-shadow: 0 2px 8px rgba(12, 24, 30, 0.06);
	font-size: 13px;
	text-align: center;
}

.aiedi-a11y__level-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
}

.aiedi-a11y__level-card {
	position: relative;
	display: flex;
	min-width: 0;
	min-height: 145px;
	padding: 16px 12px 13px;
	border: 2px solid transparent;
	border-radius: 16px;
	background: #fff;
	color: #0C181E;
	box-shadow: 0 4px 14px rgba(12, 24, 30, 0.07);
	cursor: pointer;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	font-family: Arial, Helvetica, sans-serif;
	text-align: center;
	transition: border-color 140ms ease, transform 140ms ease, box-shadow 140ms ease, background 140ms ease;
}

.aiedi-a11y__level-card:hover {
	transform: translateY(-2px);
	border-color: rgba(43, 120, 176, 0.28);
	box-shadow: 0 9px 22px rgba(12, 24, 30, 0.12);
}

.aiedi-a11y__level-card.is-active {
	border-color: var(--aiedi-a11y-brand-primary);
	background: linear-gradient(180deg, #fff, #EAF5FC);
}

.aiedi-a11y__level-card.is-active::before {
	content: "";
	position: absolute;
	top: 8px;
	right: 8px;
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: var(--aiedi-a11y-brand-secondary);
	box-shadow: 0 0 0 3px rgba(223, 159, 0, 0.15);
}

.aiedi-a11y__level-icon {
	display: inline-flex;
	width: 42px;
	height: 42px;
	margin-bottom: 9px;
	align-items: center;
	justify-content: center;
	color: var(--aiedi-a11y-brand-primary);
}

.aiedi-a11y__level-icon svg {
	width: 38px;
	height: 38px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.aiedi-a11y__level-icon .aiedi-a11y__icon-fill {
	fill: currentColor;
	stroke: none;
}

.aiedi-a11y__level-label {
	display: block;
	max-width: 100%;
	color: #0C181E;
	font-size: 15px;
	font-weight: 800;
	line-height: 1.2;
}

.aiedi-a11y__level-value {
	display: block;
	min-height: 18px;
	margin-top: 5px;
	color: #5c6473;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.25;
}

.aiedi-a11y__level-card.is-active .aiedi-a11y__level-value {
	color: var(--aiedi-a11y-brand-primary);
}

.aiedi-a11y__level-dots {
	display: flex;
	min-height: 8px;
	margin-top: auto;
	padding-top: 9px;
	gap: 4px;
	align-items: center;
	justify-content: center;
}

.aiedi-a11y__level-dots span {
	display: block;
	width: 7px;
	height: 7px;
	border: 1px solid #a8afbd;
	border-radius: 50%;
	background: transparent;
}

.aiedi-a11y__level-dots span.is-filled {
	border-color: var(--aiedi-a11y-brand-primary);
	background: var(--aiedi-a11y-brand-primary);
}

.aiedi-a11y__position-details {
	margin: 13px 0 0;
	border-radius: 13px;
	background: #fff;
}

.aiedi-a11y__position-details summary {
	padding: 12px 14px;
	font-size: 13px;
}

.aiedi-a11y__footer {
	padding: 14px 18px 17px;
	background: #e9ecf3;
}

.aiedi-a11y__reset {
	width: 100%;
	min-height: 48px;
	border: 0;
	border-radius: 13px;
	background: var(--aiedi-a11y-brand-primary);
	color: #fff;
	font-weight: 800;
	justify-content: center;
}

.aiedi-a11y__footer-links {
	justify-content: center;
	text-align: center;
}

.aiedi-a11y__footer-links button {
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--aiedi-a11y-brand-primary);
	font: inherit;
	text-decoration: underline;
	cursor: pointer;
}

/* Niveles reales de espaciado y altura de línea. */
html.aiedi-a11y-spacing-1 body *:not(script):not(style):not(svg):not(path):not(.aiedi-a11y):not(.aiedi-a11y *) {
	letter-spacing: 0.025em !important;
	word-spacing: 0.06em !important;
}

html.aiedi-a11y-spacing-2 body *:not(script):not(style):not(svg):not(path):not(.aiedi-a11y):not(.aiedi-a11y *) {
	letter-spacing: 0.055em !important;
	word-spacing: 0.12em !important;
}

html.aiedi-a11y-spacing-3 body *:not(script):not(style):not(svg):not(path):not(.aiedi-a11y):not(.aiedi-a11y *) {
	letter-spacing: 0.09em !important;
	word-spacing: 0.2em !important;
}

html.aiedi-a11y-line-height-1 body *:not(script):not(style):not(svg):not(path):not(.aiedi-a11y):not(.aiedi-a11y *) {
	line-height: 1.6 !important;
}

html.aiedi-a11y-line-height-2 body *:not(script):not(style):not(svg):not(path):not(.aiedi-a11y):not(.aiedi-a11y *) {
	line-height: 1.8 !important;
}

html.aiedi-a11y-line-height-3 body *:not(script):not(style):not(svg):not(path):not(.aiedi-a11y):not(.aiedi-a11y *) {
	line-height: 2 !important;
}

/* El panel mantiene su estructura incluso cuando el sitio usa contraste. */
html.aiedi-a11y-contrast-active .aiedi-a11y__level-card {
	border-color: var(--aiedi-contrast-text) !important;
}

html.aiedi-a11y-contrast-active .aiedi-a11y__level-card.is-active {
	background: var(--aiedi-contrast-action) !important;
	color: var(--aiedi-contrast-action-text) !important;
}

html.aiedi-a11y-contrast-active .aiedi-a11y__level-card.is-active .aiedi-a11y__level-label,
html.aiedi-a11y-contrast-active .aiedi-a11y__level-card.is-active .aiedi-a11y__level-value,
html.aiedi-a11y-contrast-active .aiedi-a11y__level-card.is-active .aiedi-a11y__level-icon {
	color: var(--aiedi-contrast-action-text) !important;
}

@media (max-width: 480px) {
	.aiedi-a11y__content {
		padding: 13px;
	}

	.aiedi-a11y__level-grid {
		gap: 8px;
	}

	.aiedi-a11y__level-card {
		min-height: 132px;
		padding: 13px 8px 11px;
		border-radius: 14px;
	}

	.aiedi-a11y__level-icon {
		width: 36px;
		height: 36px;
		margin-bottom: 7px;
	}

	.aiedi-a11y__level-icon svg {
		width: 33px;
		height: 33px;
	}

	.aiedi-a11y__level-label {
		font-size: 13px;
	}

	.aiedi-a11y__level-value {
		font-size: 11px;
	}
}

.aiedi-a11y__level-card[data-aiedi-a11y-level-tool="page-map"] .aiedi-a11y__level-dots {
	display: none;
}

html.aiedi-a11y-contrast-active .aiedi-a11y__level-dots span {
	border-color: var(--aiedi-contrast-text) !important;
	background: transparent !important;
}

html.aiedi-a11y-contrast-active .aiedi-a11y__level-dots span.is-filled {
	border-color: var(--aiedi-contrast-action) !important;
	background: var(--aiedi-contrast-action) !important;
}

/* 0.10.0: controles claros por niveles y aislamiento visual del widget. */
html.aiedi-a11y-contrast-active .aiedi-a11y,
html.aiedi-a11y-contrast-active .aiedi-a11y * {
	-webkit-text-fill-color: currentColor !important;
	background-clip: border-box !important;
	-webkit-background-clip: border-box !important;
	text-shadow: initial;
}

html.aiedi-a11y-contrast-active .aiedi-a11y__dialog {
	border-color: rgba(43, 120, 176, 0.18) !important;
	background: #fff !important;
	color: #0C181E !important;
	box-shadow: var(--aiedi-a11y-shadow) !important;
}

html.aiedi-a11y-contrast-active .aiedi-a11y__header {
	border-color: rgba(255, 255, 255, 0.16) !important;
	background: linear-gradient(135deg, #1E5C86, #2B78B0) !important;
	color: #fff !important;
}

html.aiedi-a11y-contrast-active .aiedi-a11y__content,
html.aiedi-a11y-contrast-active .aiedi-a11y__footer {
	background: #f3f5f9 !important;
	color: #0C181E !important;
}

html.aiedi-a11y-contrast-active .aiedi-a11y__level-card {
	border-color: transparent !important;
	background: #fff !important;
	color: #0C181E !important;
	box-shadow: 0 4px 14px rgba(12, 24, 30, 0.07) !important;
}

html.aiedi-a11y-contrast-active .aiedi-a11y__level-card.is-active {
	border-color: var(--aiedi-a11y-brand-primary) !important;
	background: linear-gradient(180deg, #fff, #EAF5FC) !important;
	color: #0C181E !important;
}

html.aiedi-a11y-contrast-active .aiedi-a11y__level-card .aiedi-a11y__level-label {
	color: #0C181E !important;
}

html.aiedi-a11y-contrast-active .aiedi-a11y__level-card .aiedi-a11y__level-value {
	color: #5c6473 !important;
}

html.aiedi-a11y-contrast-active .aiedi-a11y__level-card .aiedi-a11y__level-icon {
	color: var(--aiedi-a11y-brand-primary) !important;
}

html.aiedi-a11y-contrast-active .aiedi-a11y__level-dots span {
	border-color: #a8afbd !important;
	background: transparent !important;
}

html.aiedi-a11y-contrast-active .aiedi-a11y__level-dots span.is-filled {
	border-color: var(--aiedi-a11y-brand-primary) !important;
	background: var(--aiedi-a11y-brand-primary) !important;
}

html.aiedi-a11y-contrast-active .aiedi-a11y__backdrop {
	background: rgba(19, 13, 45, 0.56) !important;
	backdrop-filter: blur(3px) !important;
}

.aiedi-a11y__level-icon .aiedi-a11y__icon-fill-soft {
	fill: currentColor;
	stroke: none;
	opacity: 0.22;
}

/* Saturación mediante una capa de filtrado situada debajo del widget. */
.aiedi-a11y__saturation-overlay {
	position: fixed;
	z-index: 2147481800;
	inset: 0;
	display: none;
	background: rgba(255, 255, 255, 0.001);
	pointer-events: none;
}

html.aiedi-a11y-saturation-1 .aiedi-a11y__saturation-overlay {
	display: block;
	backdrop-filter: saturate(0.45);
	-webkit-backdrop-filter: saturate(0.45);
}

html.aiedi-a11y-saturation-2 .aiedi-a11y__saturation-overlay {
	display: block;
	backdrop-filter: grayscale(1);
	-webkit-backdrop-filter: grayscale(1);
}

html.aiedi-a11y-saturation-3 .aiedi-a11y__saturation-overlay {
	display: block;
	backdrop-filter: saturate(1.75) contrast(1.05);
	-webkit-backdrop-filter: saturate(1.75) contrast(1.05);
}

/* Alineación aplicada a bloques de lectura, nunca al widget. */
html.aiedi-a11y-text-align-1 body :is(p, li, dd, dt, blockquote, figcaption, h1, h2, h3, h4, h5, h6):not(.aiedi-a11y *) {
	text-align: left !important;
}
html.aiedi-a11y-text-align-2 body :is(p, li, dd, dt, blockquote, figcaption, h1, h2, h3, h4, h5, h6):not(.aiedi-a11y *) {
	text-align: center !important;
}
html.aiedi-a11y-text-align-3 body :is(p, li, dd, dt, blockquote, figcaption, h1, h2, h3, h4, h5, h6):not(.aiedi-a11y *) {
	text-align: right !important;
}
html.aiedi-a11y-text-align-4 body :is(p, li, dd, dt, blockquote, figcaption):not(.aiedi-a11y *) {
	text-align: justify !important;
	text-justify: inter-word !important;
}

/* Cursores escalables. */
html.aiedi-a11y-cursor-1 body,
html.aiedi-a11y-cursor-1 body *:not(.aiedi-a11y):not(.aiedi-a11y *) {
	cursor: url("../images/cursor-medium.svg") 3 2, auto !important;
}
html.aiedi-a11y-cursor-2 body,
html.aiedi-a11y-cursor-2 body *:not(.aiedi-a11y):not(.aiedi-a11y *) {
	cursor: url("../images/cursor-large.svg") 4 3, auto !important;
}

/* Ocultación de imágenes por niveles. */
html.aiedi-a11y-images-1 [data-aiedi-a11y-image="decorative"] {
	display: none !important;
}
html.aiedi-a11y-images-1 [data-aiedi-a11y-background-image="decorative"],
html.aiedi-a11y-images-2 [data-aiedi-a11y-background-image] {
	background-image: none !important;
}
html.aiedi-a11y-images-2 [data-aiedi-a11y-image] {
	display: none !important;
}

/*
 * Do not erase CSS gradients when images are hidden. Gradients frequently
 * provide the solid/tonal surface that makes white theme text readable.
 * Only elements whose computed background really contains url(...) are marked
 * by JavaScript and stripped above.
 */

/* Guía y máscara de lectura. */
.aiedi-a11y__reading-guide {
	position: fixed;
	z-index: 2147482500;
	right: 0;
	left: 0;
	height: 5px;
	border-top: 1px solid rgba(255, 255, 255, 0.92);
	border-bottom: 1px solid rgba(255, 255, 255, 0.92);
	background: #DF9F00;
	box-shadow: 0 0 0 2px rgba(25, 20, 45, 0.34), 0 4px 18px rgba(25, 20, 45, 0.26);
	pointer-events: none;
	transform: translateY(-50%);
}

.aiedi-a11y__reading-mask {
	position: fixed;
	z-index: 2147482400;
	inset: 0;
	pointer-events: none;
}

.aiedi-a11y__reading-mask-top,
.aiedi-a11y__reading-mask-bottom {
	position: fixed;
	right: 0;
	left: 0;
	background: rgba(4, 7, 18, 0.72);
	backdrop-filter: blur(1px);
}

.aiedi-a11y__reading-mask-top {
	top: 0;
}

.aiedi-a11y__reading-mask-bottom {
	bottom: 0;
}

body.aiedi-a11y-panel-open .aiedi-a11y__reading-guide,
body.aiedi-a11y-panel-open .aiedi-a11y__reading-mask {
	display: none !important;
}

/* Las posiciones están visibles sin desplegables. */
.aiedi-a11y__position-panel {
	margin: 14px 0 0;
	padding: 14px;
	border: 1px solid #dbe2ed;
	border-radius: 16px;
	background: #fff;
}

.aiedi-a11y__position-heading {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin-bottom: 12px;
}

.aiedi-a11y__position-icon {
	display: inline-flex;
	flex: 0 0 34px;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	border-radius: 11px;
	background: rgba(43, 120, 176, 0.09);
	color: var(--aiedi-a11y-brand-primary);
	font-size: 20px;
	font-weight: 900;
}

.aiedi-a11y__position-heading h3 {
	margin: 0;
	color: #1E5C86;
	font-size: 14px;
	line-height: 1.25;
}

.aiedi-a11y__position-heading p {
	margin: 3px 0 0;
	color: #667085;
	font-size: 11.5px;
	line-height: 1.4;
}

.aiedi-a11y__choice-options--position {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px;
}

.aiedi-a11y__choice-options--position button {
	display: flex;
	align-items: center;
	gap: 7px;
	min-height: 44px;
	padding: 8px 9px;
	border: 1px solid #d5d9e5;
	border-radius: 11px;
	background: #f9fafc;
	color: #1E303A;
	font-size: 11.5px;
	font-weight: 800;
	text-align: left;
	cursor: pointer;
}

.aiedi-a11y__choice-options--position button > span:first-child {
	font-size: 18px;
}

.aiedi-a11y__choice-options--position button[aria-pressed="true"] {
	border-color: var(--aiedi-a11y-brand-primary);
	background: #EAF5FC;
	color: var(--aiedi-a11y-brand-primary);
	box-shadow: inset 0 0 0 1px var(--aiedi-a11y-brand-primary);
}

/* Formulario de barreras más claro y visual. */
.aiedi-a11y__report-intro-card {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	padding: 14px;
	border: 1px solid rgba(223, 159, 0, 0.26);
	border-radius: 15px;
	background: linear-gradient(135deg, #f4fbfc, #F7FBFD);
}

.aiedi-a11y__report-intro-icon {
	display: inline-flex;
	flex: 0 0 34px;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: var(--aiedi-a11y-brand-secondary);
	color: #fff;
	font-size: 20px;
	font-weight: 900;
}

.aiedi-a11y__report-intro-card strong {
	display: block;
	color: #1E303A;
	font-size: 14px;
}

.aiedi-a11y__report-intro-card p {
	margin: 4px 0 0;
	color: #5B6C77;
	font-size: 12px;
	line-height: 1.45;
}

.aiedi-a11y__contact-fields {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
	margin: 0;
	padding: 13px;
	border: 1px solid #dfe3ee;
	border-radius: 14px;
	background: #fafbfe;
}

.aiedi-a11y__contact-fields legend {
	padding: 0 6px;
	color: #2B78B0;
	font-size: 12px;
	font-weight: 900;
}

.aiedi-a11y__report-submit {
	gap: 8px;
	width: 100%;
	min-height: 50px;
	font-size: 14px;
}

@media (max-width: 480px) {
	.aiedi-a11y__contact-fields {
		grid-template-columns: 1fr;
	}
}


/* =========================================================
   0.10.1 — legibilidad del panel y ayudas de lectura refinadas
   ========================================================= */

/*
 * El contraste modifica la página, nunca la legibilidad del propio panel.
 * Estas reglas finales vencen las hojas del tema y las reglas generales del
 * modo de contraste, incluidas las propiedades WebKit de relleno de texto.
 */
html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root],
html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] * {
	-webkit-text-fill-color: currentColor !important;
	background-clip: border-box !important;
	-webkit-background-clip: border-box !important;
	text-shadow: none !important;
}

html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__dialog {
	background: #ffffff !important;
	color: #0C181E !important;
	border-color: rgba(43, 120, 176, 0.18) !important;
	box-shadow: 0 22px 70px rgba(19, 13, 45, 0.30) !important;
	color-scheme: light;
}

html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__header,
html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__header * {
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
}

html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__brand-logo-wrap {
	background: #ffffff !important;
}

html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__content,
html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__footer {
	background: #f3f5f9 !important;
	color: #0C181E !important;
}

html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__intro {
	background: #ffffff !important;
	color: #465064 !important;
	-webkit-text-fill-color: #465064 !important;
}

html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__level-card,
html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__level-card.is-active {
	background: #ffffff !important;
	color: #0C181E !important;
	-webkit-text-fill-color: #0C181E !important;
	border-color: transparent !important;
	box-shadow: 0 4px 14px rgba(12, 24, 30, 0.08) !important;
}

html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__level-card.is-active {
	background: linear-gradient(180deg, #ffffff 0%, #EAF5FC 100%) !important;
	border-color: #2B78B0 !important;
	box-shadow: 0 0 0 1px rgba(43, 120, 176, 0.08), 0 7px 18px rgba(12, 24, 30, 0.10) !important;
}

html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__level-card .aiedi-a11y__level-label,
html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__level-card.is-active .aiedi-a11y__level-label {
	color: #0C181E !important;
	-webkit-text-fill-color: #0C181E !important;
}

html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__level-card .aiedi-a11y__level-value,
html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__level-card.is-active .aiedi-a11y__level-value {
	color: #535c6f !important;
	-webkit-text-fill-color: #535c6f !important;
}

html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__level-card .aiedi-a11y__level-icon,
html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__level-card.is-active .aiedi-a11y__level-icon {
	color: #2B78B0 !important;
	-webkit-text-fill-color: #2B78B0 !important;
}

html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__level-dots span {
	border-color: #a8afbd !important;
	background: transparent !important;
}

html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__level-dots span.is-filled {
	border-color: #2B78B0 !important;
	background: #2B78B0 !important;
}

/* Guía: una sola línea fina y discreta que sigue el puntero o el foco. */
.aiedi-a11y__reading-guide {
	right: clamp(18px, 3vw, 48px) !important;
	left: clamp(18px, 3vw, 48px) !important;
	height: 3px !important;
	border: 0 !important;
	border-radius: 999px !important;
	background: #9A6700 !important;
	box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.90), 0 3px 12px rgba(15, 23, 42, 0.28) !important;
	transform: translateY(-50%) !important;
}

.aiedi-a11y__reading-guide::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	width: 10px;
	height: 10px;
	border: 2px solid #ffffff;
	border-radius: 50%;
	background: #9A6700;
	box-shadow: 0 2px 7px rgba(15, 23, 42, 0.28);
	transform: translate(-1px, -50%);
}

/*
 * Máscara: oscurecimiento suave por encima y por debajo de una ventana de
 * lectura amplia. No usa desenfoque y nunca adopta los colores del contraste.
 */
.aiedi-a11y__reading-mask-top,
.aiedi-a11y__reading-mask-bottom,
html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__reading-mask-top,
html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__reading-mask-bottom {
	background: rgba(12, 17, 31, 0.50) !important;
	backdrop-filter: none !important;
	-webkit-backdrop-filter: none !important;
	border: 0 !important;
	box-shadow: none !important;
	will-change: height, top;
}

/* La guía y la máscara se ocultan mientras el panel está abierto. */
body.aiedi-a11y-panel-open .aiedi-a11y__reading-guide,
body.aiedi-a11y-panel-open .aiedi-a11y__reading-mask {
	display: none !important;
}

/* =========================================================
   0.11.0 — lectura guiada y acciones públicas más claras
   ========================================================= */

/* Guía corta: acompaña la línea sin atravesar toda la pantalla. */
.aiedi-a11y__reading-guide {
	position: fixed !important;
	z-index: 2147482500 !important;
	right: auto !important;
	left: 50%;
	width: min(340px, calc(100vw - 32px));
	height: 4px !important;
	border: 0 !important;
	border-radius: 999px !important;
	background: linear-gradient(90deg, #2B78B0 0 12%, #DF9F00 12% 88%, #2B78B0 88% 100%) !important;
	box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.92), 0 5px 16px rgba(20, 17, 45, 0.26) !important;
	pointer-events: none;
	transform: translateY(-50%) !important;
	will-change: top, left;
}

.aiedi-a11y__reading-guide::before,
.aiedi-a11y__reading-guide::after {
	content: "";
	position: absolute;
	top: 50%;
	width: 10px;
	height: 10px;
	border: 2px solid #fff;
	border-radius: 50%;
	background: #2B78B0;
	box-shadow: 0 2px 7px rgba(15, 23, 42, 0.24);
	transform: translateY(-50%);
}

.aiedi-a11y__reading-guide::before {
	left: -1px;
}

.aiedi-a11y__reading-guide::after {
	right: -1px;
	left: auto;
}

/* Máscara clara: dos zonas atenuadas y una ventana central visible. */
.aiedi-a11y__reading-mask {
	position: fixed !important;
	z-index: 2147482400 !important;
	inset: 0 !important;
	width: auto !important;
	height: auto !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	pointer-events: none;
}

.aiedi-a11y__reading-mask-top,
.aiedi-a11y__reading-mask-bottom,
html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__reading-mask-top,
html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__reading-mask-bottom {
	position: fixed !important;
	right: 0 !important;
	left: 0 !important;
	background: rgba(14, 18, 32, 0.56) !important;
	backdrop-filter: none !important;
	-webkit-backdrop-filter: none !important;
	border: 0 !important;
	box-shadow: none !important;
	will-change: height, top;
}

.aiedi-a11y__reading-mask-top {
	top: 0 !important;
}

.aiedi-a11y__reading-mask-bottom {
	bottom: 0 !important;
}

.aiedi-a11y__reading-mask-window {
	position: fixed;
	right: 0;
	left: 0;
	min-height: 108px;
	border-top: 3px solid #DF9F00;
	border-bottom: 3px solid #DF9F00;
	background: transparent;
	box-shadow:
		0 -1px 0 rgba(255, 255, 255, 0.8),
		0 1px 0 rgba(255, 255, 255, 0.8),
		inset 0 12px 24px rgba(255, 255, 255, 0.03);
	will-change: top, height;
}

body.aiedi-a11y-panel-open .aiedi-a11y__reading-guide,
body.aiedi-a11y-panel-open .aiedi-a11y__reading-mask {
	display: none !important;
}

/* Acciones del pie: botones reconocibles y no simples enlaces de texto. */
.aiedi-a11y__footer-actions {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 9px;
	margin-top: 11px;
}

.aiedi-a11y__footer-action {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 7px;
	min-height: 46px;
	padding: 9px 10px;
	border: 1px solid #CADDE9;
	border-radius: 12px;
	background: #fff;
	color: #1E5C86;
	font: 800 11.5px/1.25 Arial, Helvetica, sans-serif;
	text-align: center;
	text-decoration: none !important;
	cursor: pointer;
}

.aiedi-a11y__footer-action:hover {
	border-color: #DF9F00;
	background: #FFF7E3;
}

.aiedi-a11y__footer-action--report {
	border-color: #2B78B0;
	background: #F4F9FC;
}

.aiedi-a11y__footer-action-icon {
	display: inline-flex;
	flex: 0 0 25px;
	align-items: center;
	justify-content: center;
	width: 25px;
	height: 25px;
	border-radius: 8px;
	background: #2B78B0;
	color: #fff;
	font-size: 14px;
	font-weight: 900;
}

.aiedi-a11y__credit {
	margin: 12px 0 0;
	color: #5B6C77;
	font-size: 10.5px;
	text-align: center;
}

/* El formulario se presenta como un flujo claro, con campos y botón visibles. */
.aiedi-a11y__report-form {
	gap: 16px;
	padding-bottom: 8px;
}

.aiedi-a11y__report-intro-card {
	border-color: rgba(43, 120, 176, 0.24);
	background: linear-gradient(135deg, #EAF5FC, #FFF7E3);
	box-shadow: 0 8px 22px rgba(35, 24, 86, 0.07);
}

.aiedi-a11y__form-row label,
.aiedi-a11y__contact-fields legend,
.aiedi-a11y__privacy-check {
	color: #1E303A;
}

.aiedi-a11y__form-row input,
.aiedi-a11y__form-row select,
.aiedi-a11y__form-row textarea {
	border: 2px solid #CADDE9;
	background: #fff;
	box-shadow: inset 0 1px 2px rgba(27, 22, 58, 0.04);
}

.aiedi-a11y__form-row :is(input, select, textarea):focus-visible {
	border-color: #2B78B0;
	outline: 3px solid rgba(223, 159, 0, 0.32);
	outline-offset: 2px;
}

.aiedi-a11y__report-submit {
	min-height: 52px;
	border: 2px solid #2B78B0;
	background: #2B78B0;
	box-shadow: 0 10px 24px rgba(43, 120, 176, 0.2);
}

.aiedi-a11y__report-submit:hover {
	background: #1E5C86;
	transform: translateY(-1px);
}

/* Nombre más comprensible para la opción de teclado. */
html.aiedi-a11y-focus-highlight body :where(a, button, input, select, textarea, summary, [tabindex]):focus-visible:not(.aiedi-a11y *) {
	outline: 4px solid #DF9F00 !important;
	outline-offset: 4px !important;
	box-shadow: 0 0 0 2px #0C181E !important;
}

@media (max-width: 430px) {
	.aiedi-a11y__footer-actions {
		grid-template-columns: 1fr;
	}
}


/* =========================================================
   0.11.1 — guía realmente móvil en ambos ejes
   ========================================================= */
.aiedi-a11y__reading-guide {
	right: auto !important;
	left: var(--aiedi-a11y-guide-left, calc(50vw - 140px)) !important;
	top: var(--aiedi-a11y-guide-top, 50vh) !important;
	width: var(--aiedi-a11y-guide-width, min(280px, calc(100vw - 32px))) !important;
	max-width: calc(100vw - 32px) !important;
	height: 4px !important;
	margin: 0 !important;
	transform: translateY(-50%) !important;
	transition: none !important;
	will-change: left, top;
}

@media (max-width: 520px) {
	.aiedi-a11y__reading-guide {
		width: var(--aiedi-a11y-guide-width, min(220px, calc(100vw - 24px))) !important;
		max-width: calc(100vw - 24px) !important;
	}
}


/* Version 0.11.4: declaración integrada en el widget, sin página separada. */
.aiedi-a11y__declaration-content {
	display: grid;
	gap: 14px;
}

.aiedi-a11y__declaration-lead,
.aiedi-a11y__declaration-content section {
	margin: 0;
	padding: 15px;
	border: 1px solid #dfe2ed;
	border-radius: 14px;
	background: #fff;
	color: #405864;
	line-height: 1.55;
}

.aiedi-a11y__declaration-lead {
	border-color: rgba(223, 159, 0, 0.35);
	background: #f2fbfc;
	font-weight: 700;
}

.aiedi-a11y__declaration-content h4 {
	margin: 0 0 7px;
	color: #1E5C86;
	font-size: 16px;
}

.aiedi-a11y__declaration-content p,
.aiedi-a11y__declaration-content ul {
	margin: 0;
}

.aiedi-a11y__declaration-content ul {
	padding-left: 20px;
}

.aiedi-a11y__declaration-content li + li {
	margin-top: 5px;
}

.aiedi-a11y__declaration-contact .aiedi-a11y__report-submit {
	margin-top: 12px;
}

/* ========================================================================== */
/* AIEDI visual system 1.0.0                                                  */
/* Palette sampled from the official logo: blue #3992CF and gold #DF9F00.   */
/* Interactive blue uses the darker #2B78B0 derivative for WCAG AA contrast. */
/* ========================================================================== */

:root {
	--aiedi-logo-blue: #3992CF;
	--aiedi-logo-blue-aa: #2B78B0;
	--aiedi-logo-blue-dark: #1E5C86;
	--aiedi-logo-gold: #DF9F00;
	--aiedi-logo-gold-aa: #9A6700;
	--aiedi-logo-ink: #0C181E;
	--aiedi-logo-cloud: #F4F9FC;
	--aiedi-logo-blue-soft: #EAF5FC;
	--aiedi-logo-gold-soft: #FFF7E3;
}

.aiedi-a11y {
	--aiedi-a11y-ink: #0C181E;
	--aiedi-a11y-muted: #52616D;
	--aiedi-a11y-surface: #FFFFFF;
	--aiedi-a11y-soft: #F4F9FC;
	--aiedi-a11y-border: #CFDFE9;
	--aiedi-a11y-focus: #9A6700;
	--aiedi-a11y-shadow: 0 28px 72px rgba(12, 24, 30, 0.24);
	font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, Helvetica, sans-serif;
}

.aiedi-a11y__skip-link {
	border: 2px solid #FFFFFF;
	border-radius: 12px;
	background: var(--aiedi-a11y-brand-primary);
	box-shadow: 0 10px 30px rgba(12, 24, 30, 0.24);
	font-family: inherit;
}

.aiedi-a11y__skip-link:focus,
.aiedi-a11y__skip-link:focus-visible,
.aiedi-a11y__launcher:focus-visible,
.aiedi-a11y__dialog button:focus-visible,
.aiedi-a11y__dialog a:focus-visible,
.aiedi-a11y__dialog input:focus-visible,
.aiedi-a11y__dialog select:focus-visible,
.aiedi-a11y__dialog textarea:focus-visible {
	outline: 3px solid var(--aiedi-logo-gold-aa) !important;
	outline-offset: 3px !important;
	box-shadow: 0 0 0 2px #FFFFFF !important;
}

.aiedi-a11y__launcher {
	width: 68px;
	height: 68px;
	border: 3px solid #FFFFFF;
	border-radius: 20px;
	background: linear-gradient(145deg, var(--aiedi-a11y-brand-primary) 0 72%, var(--aiedi-a11y-brand-secondary) 72% 100%);
	box-shadow: 0 14px 34px rgba(12, 24, 30, 0.28), 0 0 0 4px rgba(57, 146, 207, 0.14);
}

.aiedi-a11y__launcher::before {
	inset: 7px;
	border: 1px solid rgba(255, 255, 255, 0.66);
	border-radius: 13px;
	background: linear-gradient(145deg, rgba(255,255,255,.06), rgba(255,255,255,.01));
}

.aiedi-a11y__launcher:hover {
	filter: none;
	transform: translateY(-3px) scale(1.02);
	box-shadow: 0 18px 40px rgba(12, 24, 30, 0.3), 0 0 0 5px rgba(223, 159, 0, 0.18);
}

.aiedi-a11y__mark-head,
.aiedi-a11y__mark-line {
	stroke: #FFFFFF;
	stroke-width: 4.2;
}

.aiedi-a11y__mark-node,
.aiedi-a11y__mark-bowl {
	fill: var(--aiedi-a11y-brand-secondary);
	stroke: #FFFFFF;
}

.aiedi-a11y__backdrop {
	background: rgba(6, 17, 23, 0.64);
	backdrop-filter: blur(5px);
}

.aiedi-a11y__dialog {
	border: 1px solid #C8DCE9;
	border-radius: 26px;
	background: #FFFFFF;
	color: var(--aiedi-a11y-ink);
	box-shadow: var(--aiedi-a11y-shadow), 0 0 0 1px rgba(255,255,255,.72) inset;
	scrollbar-color: rgba(43, 120, 176, .45) transparent;
	font-family: inherit;
}

.aiedi-a11y__dialog::before {
	left: 0;
	right: 0;
	height: 6px;
	border-radius: 26px 26px 0 0;
	background: linear-gradient(90deg, var(--aiedi-a11y-brand-primary) 0 74%, var(--aiedi-a11y-brand-secondary) 74% 100%);
}

.aiedi-a11y__header {
	padding: 24px 22px 19px;
	border-bottom: 1px solid #D7E5EE;
	border-radius: 26px 26px 0 0;
	background:
		radial-gradient(circle at 92% 0%, rgba(223,159,0,.16), transparent 34%),
		linear-gradient(140deg, #FFFFFF 0%, #F2F9FD 76%, #FFF7E3 130%);
}

.aiedi-a11y__brand {
	gap: 14px;
}

.aiedi-a11y__brand-logo-wrap {
	width: 142px;
	padding: 7px 9px;
	border: 1px solid #D9E7EF;
	border-radius: 14px;
	background: #FFFFFF;
	box-shadow: 0 8px 20px rgba(12,24,30,.08);
}

.aiedi-a11y__eyebrow {
	margin-bottom: 5px;
	color: var(--aiedi-logo-gold-aa);
	font-size: 10.5px;
	font-weight: 900;
	letter-spacing: .1em;
}

.aiedi-a11y__title {
	color: var(--aiedi-a11y-brand-primary);
	font-size: 21px;
	font-weight: 900;
	letter-spacing: -.02em;
}

.aiedi-a11y__close {
	width: 44px;
	height: 44px;
	border: 1px solid #BFD4E2;
	border-radius: 14px;
	background: #FFFFFF;
	color: var(--aiedi-a11y-brand-primary);
	box-shadow: 0 6px 14px rgba(12,24,30,.08);
}

.aiedi-a11y__close:hover {
	border-color: var(--aiedi-a11y-brand-primary);
	background: var(--aiedi-logo-blue-soft);
	color: var(--aiedi-logo-blue-dark);
	transform: none;
}

.aiedi-a11y__content {
	padding: 18px 20px 20px;
	background: linear-gradient(180deg, #F7FBFD 0%, #F2F7FA 100%);
}

.aiedi-a11y__intro {
	margin: 0 0 15px;
	padding: 12px 14px;
	border: 1px solid #D5E6F0;
	border-left: 5px solid var(--aiedi-a11y-brand-secondary);
	border-radius: 13px;
	background: #FFFFFF;
	color: #40515D;
	box-shadow: 0 3px 10px rgba(12,24,30,.04);
	font-size: 13px;
	text-align: left;
}

.aiedi-a11y__level-grid {
	gap: 11px;
}

.aiedi-a11y__level-card {
	min-height: 144px;
	padding: 15px 12px 13px;
	border: 1px solid #CDDEE9;
	border-top: 4px solid transparent;
	border-radius: 18px;
	background: #FFFFFF;
	color: var(--aiedi-a11y-ink);
	box-shadow: 0 5px 16px rgba(12,24,30,.055);
	font-family: inherit;
}

.aiedi-a11y__level-card:hover {
	border-color: #9BC6E1;
	border-top-color: var(--aiedi-a11y-brand-secondary);
	background: #FBFDFF;
	box-shadow: 0 10px 24px rgba(12,24,30,.10);
	transform: translateY(-2px);
}

.aiedi-a11y__level-card.is-active {
	border-color: var(--aiedi-a11y-brand-primary);
	border-top-color: var(--aiedi-a11y-brand-secondary);
	background: linear-gradient(180deg, #FFFFFF 0%, #EAF5FC 100%);
	box-shadow: 0 8px 22px rgba(43,120,176,.14);
}

.aiedi-a11y__level-card.is-active::before {
	top: 10px;
	right: 10px;
	width: 10px;
	height: 10px;
	border: 2px solid #FFFFFF;
	background: var(--aiedi-a11y-brand-secondary);
	box-shadow: 0 0 0 2px rgba(154,103,0,.20);
}

.aiedi-a11y__level-icon {
	width: 46px;
	height: 46px;
	margin-bottom: 8px;
	border-radius: 14px;
	background: var(--aiedi-logo-blue-soft);
	color: var(--aiedi-a11y-brand-primary);
}

.aiedi-a11y__level-card.is-active .aiedi-a11y__level-icon {
	background: var(--aiedi-a11y-brand-primary);
	color: #FFFFFF;
	box-shadow: 0 5px 12px rgba(43,120,176,.20);
}

.aiedi-a11y__level-icon svg {
	width: 34px;
	height: 34px;
}

.aiedi-a11y__level-label {
	color: var(--aiedi-a11y-ink);
	font-size: 14.5px;
	font-weight: 850;
}

.aiedi-a11y__level-value,
.aiedi-a11y__level-card.is-active .aiedi-a11y__level-value {
	color: #526674;
	font-size: 11.5px;
}

.aiedi-a11y__level-dots span {
	width: 7px;
	height: 7px;
	border-color: #8DA6B5;
	background: #FFFFFF;
}

.aiedi-a11y__level-dots span.is-filled {
	border-color: var(--aiedi-a11y-brand-secondary);
	background: var(--aiedi-a11y-brand-secondary);
}

.aiedi-a11y__position-panel,
.aiedi-a11y__position-details,
.aiedi-a11y__choice-control,
.aiedi-a11y__contrast-control,
.aiedi-a11y__text-control,
.aiedi-a11y__profiles {
	border: 1px solid #D2E2EC;
	border-radius: 17px;
	background: #FFFFFF;
	box-shadow: 0 4px 14px rgba(12,24,30,.045);
}

.aiedi-a11y__position-panel {
	margin-top: 15px;
	padding: 15px;
	border-left: 5px solid var(--aiedi-a11y-brand-secondary);
	background: linear-gradient(100deg, #FFFFFF, #FFF9EA);
}

.aiedi-a11y__position-icon,
.aiedi-a11y__standards-icon,
.aiedi-a11y__report-intro-icon,
.aiedi-a11y__footer-action-icon {
	background: var(--aiedi-logo-blue-soft);
	color: var(--aiedi-a11y-brand-primary);
}

.aiedi-a11y__choice-options button,
.aiedi-a11y__contrast-options button,
.aiedi-a11y__profile-list button {
	border: 1px solid #BCD4E3;
	border-radius: 13px;
	background: #FFFFFF;
	color: #263A46;
	font-family: inherit;
}

.aiedi-a11y__choice-options button:hover,
.aiedi-a11y__contrast-options button:hover,
.aiedi-a11y__profile-list button:hover {
	border-color: var(--aiedi-a11y-brand-primary);
	background: var(--aiedi-logo-blue-soft);
	color: var(--aiedi-logo-blue-dark);
}

.aiedi-a11y__choice-options button[aria-pressed="true"],
.aiedi-a11y__contrast-options button[aria-pressed="true"] {
	border-color: var(--aiedi-a11y-brand-primary);
	background: var(--aiedi-a11y-brand-primary);
	color: #FFFFFF;
	box-shadow: 0 0 0 2px rgba(43,120,176,.15);
}

.aiedi-a11y__standards {
	padding: 15px 20px;
	border-top: 1px solid #D7E5EE;
	background: #FFFFFF;
}

.aiedi-a11y__standards-heading h3,
.aiedi-a11y__section-title,
.aiedi-a11y__control-label {
	color: var(--aiedi-logo-blue-dark);
}

.aiedi-a11y__standard-list > *,
.aiedi-a11y__standards-note,
.aiedi-a11y__declaration-content section,
.aiedi-a11y__report-intro-card,
.aiedi-a11y__contact-fields {
	border-color: #D5E4ED;
	background: #F9FCFE;
}

.aiedi-a11y__footer {
	padding: 16px 20px 18px;
	border-top: 1px solid #CADDE9;
	background: linear-gradient(180deg, #EDF5FA 0%, #E8F1F6 100%);
}

.aiedi-a11y__reset {
	min-height: 48px;
	border: 2px solid var(--aiedi-a11y-brand-primary);
	border-radius: 14px;
	background: var(--aiedi-a11y-brand-primary);
	color: #FFFFFF;
	box-shadow: 0 6px 14px rgba(43,120,176,.16);
	font-family: inherit;
}

.aiedi-a11y__reset:hover {
	border-color: var(--aiedi-logo-blue-dark);
	background: var(--aiedi-logo-blue-dark);
	transform: translateY(-1px);
}

.aiedi-a11y__footer-actions {
	gap: 9px;
}

.aiedi-a11y__footer-action {
	border: 1px solid #BFD5E3;
	border-radius: 13px;
	background: #FFFFFF;
	color: var(--aiedi-logo-blue-dark);
	box-shadow: 0 3px 9px rgba(12,24,30,.04);
}

.aiedi-a11y__footer-action:hover {
	border-color: var(--aiedi-a11y-brand-primary);
	background: #F6FBFE;
}

.aiedi-a11y__footer-action--report {
	border-color: #D8BA68;
	background: var(--aiedi-logo-gold-soft);
	color: #6E4A00;
}

.aiedi-a11y__footer-action--report .aiedi-a11y__footer-action-icon {
	background: #FFE9AD;
	color: #795200;
}

.aiedi-a11y__credit {
	color: #536875;
	font-size: 10.5px;
}

.aiedi-a11y__subview {
	background: #F7FBFD;
}

.aiedi-a11y__subview-header {
	padding: 18px 20px;
	border-bottom: 4px solid var(--aiedi-a11y-brand-secondary);
	background: var(--aiedi-a11y-brand-primary);
	color: #FFFFFF;
}

.aiedi-a11y__subview-header p,
.aiedi-a11y__subview-header h3 {
	color: #FFFFFF;
}

.aiedi-a11y__subview-back {
	border: 1px solid rgba(255,255,255,.72);
	border-radius: 12px;
	background: rgba(255,255,255,.10);
	color: #FFFFFF;
}

.aiedi-a11y__subview-back:hover {
	background: #FFFFFF;
	color: var(--aiedi-a11y-brand-primary);
}

.aiedi-a11y__subview-intro,
.aiedi-a11y__declaration-lead {
	border-left: 5px solid var(--aiedi-a11y-brand-secondary);
	border-radius: 12px;
	background: #FFFFFF;
	color: #3E5260;
}

.aiedi-a11y__form-row input,
.aiedi-a11y__form-row select,
.aiedi-a11y__form-row textarea {
	border: 1px solid #ADC8DA;
	border-radius: 12px;
	background: #FFFFFF;
	color: var(--aiedi-a11y-ink);
}

.aiedi-a11y__form-row input:focus,
.aiedi-a11y__form-row select:focus,
.aiedi-a11y__form-row textarea:focus {
	border-color: var(--aiedi-a11y-brand-primary);
	box-shadow: 0 0 0 3px rgba(43,120,176,.14);
}

.aiedi-a11y__report-submit {
	border: 2px solid var(--aiedi-a11y-brand-primary);
	border-radius: 13px;
	background: var(--aiedi-a11y-brand-primary);
	color: #FFFFFF;
	box-shadow: 0 7px 16px rgba(43,120,176,.18);
}

.aiedi-a11y__report-submit:hover {
	border-color: var(--aiedi-logo-blue-dark);
	background: var(--aiedi-logo-blue-dark);
}

.aiedi-a11y__reading-guide {
	border-top-color: var(--aiedi-a11y-brand-secondary);
	border-bottom-color: var(--aiedi-a11y-brand-secondary);
	background: rgba(223,159,0,.16);
}

.aiedi-a11y__reading-mask {
	border-top-color: var(--aiedi-a11y-brand-secondary);
	border-bottom-color: var(--aiedi-a11y-brand-secondary);
}

/* Preserve AIEDI's own UI when a site-level contrast preset is active. */
html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__dialog,
html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__content,
html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__footer,
html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__level-card {
	-webkit-text-fill-color: currentColor !important;
}

@media (max-width: 640px) {
	.aiedi-a11y__dialog {
		top: 8px;
		bottom: 8px;
		width: min(100% - 12px, var(--aiedi-a11y-panel-width));
		max-height: calc(100dvh - 16px);
		border-radius: 22px;
	}

	.aiedi-a11y__dialog::before {
		border-radius: 22px 22px 0 0;
	}

	.aiedi-a11y__header {
		padding: 20px 16px 15px;
		border-radius: 22px 22px 0 0;
	}

	.aiedi-a11y__brand-logo-wrap {
		width: 116px;
	}

	.aiedi-a11y__eyebrow {
		font-size: 9px;
	}

	.aiedi-a11y__title {
		font-size: 18px;
	}

	.aiedi-a11y__content,
	.aiedi-a11y__footer,
	.aiedi-a11y__standards {
		padding-left: 14px;
		padding-right: 14px;
	}

	.aiedi-a11y__level-grid {
		gap: 8px;
	}

	.aiedi-a11y__level-card {
		min-height: 132px;
		padding: 12px 8px 10px;
		border-radius: 15px;
	}

	.aiedi-a11y__level-icon {
		width: 40px;
		height: 40px;
	}

	.aiedi-a11y__level-icon svg {
		width: 30px;
		height: 30px;
	}

	.aiedi-a11y__footer-actions {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 390px) {
	.aiedi-a11y__header {
		gap: 9px;
	}

	.aiedi-a11y__brand {
		align-items: flex-start;
		gap: 9px;
	}

	.aiedi-a11y__brand-logo-wrap {
		width: 96px;
	}

	.aiedi-a11y__title {
		font-size: 16px;
	}

	.aiedi-a11y__close {
		width: 40px;
		height: 40px;
	}
}

/* ------------------------------------------------------------------------- */
/* 1.0.1 hotfix: improve header title contrast in the public widget           */
/* ------------------------------------------------------------------------- */
body [data-aiedi-a11y-root] .aiedi-a11y__header .aiedi-a11y__eyebrow {
	color: #5E7282 !important;
}

body [data-aiedi-a11y-root] .aiedi-a11y__header .aiedi-a11y__title {
	color: #153E61 !important;
	font-size: 20px;
	line-height: 1.16;
	text-shadow: none !important;
}

/* ------------------------------------------------------------------------- */
/* 1.0.2 hotfix: stronger header contrast + active icon visibility           */
/* ------------------------------------------------------------------------- */
body [data-aiedi-a11y-root] .aiedi-a11y__header {
	border-bottom: 1px solid rgba(255,255,255,.16);
	background: linear-gradient(135deg, #1E5C86 0%, #2B78B0 68%, #2B78B0 100%) !important;
	color: #FFFFFF;
}

body [data-aiedi-a11y-root] .aiedi-a11y__header .aiedi-a11y__brand-logo-wrap {
	border-color: rgba(255,255,255,.34);
	background: #FFFFFF;
	box-shadow: 0 8px 20px rgba(8, 26, 40, .18);
}

body [data-aiedi-a11y-root] .aiedi-a11y__header .aiedi-a11y__eyebrow {
	color: #D9F2FF !important;
	-webkit-text-fill-color: #D9F2FF !important;
}

body [data-aiedi-a11y-root] .aiedi-a11y__header .aiedi-a11y__title {
	color: #FFFFFF !important;
	-webkit-text-fill-color: #FFFFFF !important;
	font-size: 20px;
	line-height: 1.16;
	text-shadow: none !important;
}

body [data-aiedi-a11y-root] .aiedi-a11y__header .aiedi-a11y__close {
	border: 2px solid rgba(255,255,255,.76);
	background: rgba(255,255,255,.10);
	color: #FFFFFF;
	box-shadow: none;
}

body [data-aiedi-a11y-root] .aiedi-a11y__header .aiedi-a11y__close:hover {
	background: rgba(255,255,255,.18);
	transform: translateY(-1px);
}

html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__header {
	border-color: rgba(255,255,255,.16) !important;
	background: linear-gradient(135deg, #1E5C86 0%, #2B78B0 68%, #2B78B0 100%) !important;
}

html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__header .aiedi-a11y__brand-logo-wrap {
	background: #FFFFFF !important;
	border-color: rgba(255,255,255,.34) !important;
}

html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__level-card .aiedi-a11y__level-icon {
	background: #E8F2FA !important;
	color: #2B78B0 !important;
	-webkit-text-fill-color: #2B78B0 !important;
}

html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__level-card.is-active .aiedi-a11y__level-icon {
	background: #2B78B0 !important;
	color: #FFFFFF !important;
	-webkit-text-fill-color: #FFFFFF !important;
	box-shadow: 0 5px 12px rgba(43,120,176,.20) !important;
}

html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__level-card.is-active .aiedi-a11y__level-icon svg,
html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__level-card.is-active .aiedi-a11y__level-icon svg *,
html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__level-card.is-active .aiedi-a11y__level-icon .aiedi-a11y__icon-fill,
html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__level-card.is-active .aiedi-a11y__level-icon .aiedi-a11y__icon-fill-soft {
	stroke: currentColor !important;
	fill: currentColor !important;
}

/* ------------------------------------------------------------------------- */
/* 1.0.3 hotfix: active icons must stay crisp and readable                   */
/* ------------------------------------------------------------------------- */
body [data-aiedi-a11y-root] .aiedi-a11y__level-card.is-active {
	border-color: #2B78B0;
	border-top-color: #DF9F00;
	background: linear-gradient(180deg, #FFFFFF 0%, #EEF7FD 100%);
	box-shadow: 0 10px 24px rgba(43,120,176,.16);
}

body [data-aiedi-a11y-root] .aiedi-a11y__level-card.is-active .aiedi-a11y__level-icon {
	background: #2B78B0;
	color: #FFFFFF;
	box-shadow: 0 6px 14px rgba(43,120,176,.22);
}

body [data-aiedi-a11y-root] .aiedi-a11y__level-card.is-active .aiedi-a11y__level-icon svg {
	width: 32px;
	height: 32px;
	fill: none !important;
	stroke: currentColor !important;
	stroke-width: 1.95;
	stroke-linecap: round;
	stroke-linejoin: round;
}

body [data-aiedi-a11y-root] .aiedi-a11y__level-card.is-active .aiedi-a11y__level-icon svg path,
body [data-aiedi-a11y-root] .aiedi-a11y__level-card.is-active .aiedi-a11y__level-icon svg circle,
body [data-aiedi-a11y-root] .aiedi-a11y__level-card.is-active .aiedi-a11y__level-icon svg rect,
body [data-aiedi-a11y-root] .aiedi-a11y__level-card.is-active .aiedi-a11y__level-icon svg line,
body [data-aiedi-a11y-root] .aiedi-a11y__level-card.is-active .aiedi-a11y__level-icon svg polyline,
body [data-aiedi-a11y-root] .aiedi-a11y__level-card.is-active .aiedi-a11y__level-icon svg polygon {
	fill: none !important;
	stroke: currentColor !important;
}

body [data-aiedi-a11y-root] .aiedi-a11y__level-card.is-active .aiedi-a11y__level-icon .aiedi-a11y__icon-fill {
	fill: currentColor !important;
	stroke: none !important;
	opacity: 1 !important;
}

body [data-aiedi-a11y-root] .aiedi-a11y__level-card.is-active .aiedi-a11y__level-icon .aiedi-a11y__icon-fill-soft {
	fill: currentColor !important;
	stroke: none !important;
	opacity: .28 !important;
}

body [data-aiedi-a11y-root] .aiedi-a11y__level-card.is-active .aiedi-a11y__level-label {
	color: #0C181E;
}

body [data-aiedi-a11y-root] .aiedi-a11y__level-card.is-active .aiedi-a11y__level-value {
	color: #415465;
}

html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__level-card.is-active {
	background: linear-gradient(180deg, #FFFFFF 0%, #EEF7FD 100%) !important;
	border-color: #2B78B0 !important;
	border-top-color: #DF9F00 !important;
}

html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__level-card.is-active .aiedi-a11y__level-icon {
	background: #2B78B0 !important;
	color: #FFFFFF !important;
	-webkit-text-fill-color: #FFFFFF !important;
	box-shadow: 0 6px 14px rgba(43,120,176,.22) !important;
}

html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__level-card.is-active .aiedi-a11y__level-icon svg {
	fill: none !important;
	stroke: currentColor !important;
	stroke-width: 1.95 !important;
}

html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__level-card.is-active .aiedi-a11y__level-icon svg path,
html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__level-card.is-active .aiedi-a11y__level-icon svg circle,
html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__level-card.is-active .aiedi-a11y__level-icon svg rect,
html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__level-card.is-active .aiedi-a11y__level-icon svg line,
html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__level-card.is-active .aiedi-a11y__level-icon svg polyline,
html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__level-card.is-active .aiedi-a11y__level-icon svg polygon {
	fill: none !important;
	stroke: currentColor !important;
}

html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__level-card.is-active .aiedi-a11y__level-icon .aiedi-a11y__icon-fill {
	fill: currentColor !important;
	stroke: none !important;
	opacity: 1 !important;
}

html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__level-card.is-active .aiedi-a11y__level-icon .aiedi-a11y__icon-fill-soft {
	fill: currentColor !important;
	stroke: none !important;
	opacity: .28 !important;
}

/* ------------------------------------------------------------------------- */
/* 1.3.0: visitor widget information architecture                            */
/* Inspired by proven accessibility-widget patterns: grouped categories,     */
/* compact predictable controls, two columns on desktop and one on mobile.   */
/* The implementation, branding and component styling are original to AIEDI. */
/* ------------------------------------------------------------------------- */

body [data-aiedi-a11y-root] .aiedi-a11y__dialog {
	--aiedi-a11y-widget-card: #f4f5f6;
	--aiedi-a11y-widget-card-hover: #eef5fa;
	--aiedi-a11y-widget-border: #e2e6e9;
	--aiedi-a11y-widget-text: #14232c;
	--aiedi-a11y-widget-muted: #5f6f79;
	width: var(--aiedi-a11y-panel-width);
	border-radius: 24px;
}

body [data-aiedi-a11y-root] .aiedi-a11y__dialog::before {
	height: 5px;
	border-radius: 24px 24px 0 0;
}

body [data-aiedi-a11y-root] .aiedi-a11y__header {
	align-items: center;
	padding: 16px 18px 14px;
	border-radius: 24px 24px 0 0;
}

body [data-aiedi-a11y-root] .aiedi-a11y__header .aiedi-a11y__brand {
	gap: 11px;
}

body [data-aiedi-a11y-root] .aiedi-a11y__header .aiedi-a11y__brand-logo-wrap {
	width: 104px;
	padding: 5px 7px;
	border-radius: 11px;
}

body [data-aiedi-a11y-root] .aiedi-a11y__header .aiedi-a11y__eyebrow {
	margin-bottom: 2px;
	font-size: 9px;
	letter-spacing: .075em;
}

body [data-aiedi-a11y-root] .aiedi-a11y__header .aiedi-a11y__title {
	font-size: 18px !important;
	line-height: 1.14;
}

body [data-aiedi-a11y-root] .aiedi-a11y__header .aiedi-a11y__close {
	width: 38px;
	height: 38px;
	border-radius: 50%;
	font-size: 26px;
}

body [data-aiedi-a11y-root] .aiedi-a11y__content {
	padding: 13px 14px 15px;
	background: #f5f6f7;
}

body [data-aiedi-a11y-root] .aiedi-a11y__intro {
	margin: 0 2px 10px;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	color: #53636d;
	font-size: 12.5px;
	line-height: 1.42;
}

body [data-aiedi-a11y-root] .aiedi-a11y__categories {
	display: grid;
	gap: 10px;
}

body [data-aiedi-a11y-root] .aiedi-a11y__category {
	margin: 0;
	padding: 10px;
	border: 1px solid #e4e8eb;
	border-radius: 15px;
	background: #fff;
	box-shadow: 0 2px 7px rgba(12, 24, 30, .035);
}

body [data-aiedi-a11y-root] .aiedi-a11y__category-title {
	margin: 0 0 8px 2px;
	color: #344650;
	font: 800 12px/1.25 Arial, Helvetica, sans-serif;
	letter-spacing: .01em;
	text-align: left;
}

body [data-aiedi-a11y-root] .aiedi-a11y__level-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 7px;
}

body [data-aiedi-a11y-root] .aiedi-a11y__level-card,
body [data-aiedi-a11y-root] .aiedi-a11y__level-card.is-active {
	position: relative;
	display: grid;
	grid-template-columns: 36px minmax(0, 1fr) auto;
	align-items: center;
	gap: 8px;
	min-height: 66px;
	padding: 9px 10px;
	border: 1px solid var(--aiedi-a11y-widget-border);
	border-radius: 12px;
	background: var(--aiedi-a11y-widget-card);
	box-shadow: none;
	color: var(--aiedi-a11y-widget-text);
	font-family: inherit;
	text-align: left;
	transform: none;
}

body [data-aiedi-a11y-root] .aiedi-a11y__level-card:hover {
	border-color: #a9c9dc;
	background: var(--aiedi-a11y-widget-card-hover);
	box-shadow: none;
	transform: none;
}

body [data-aiedi-a11y-root] .aiedi-a11y__level-card.is-active {
	border: 2px solid var(--aiedi-a11y-brand-primary);
	padding: 8px 9px;
	background: #fff;
	box-shadow: 0 0 0 2px rgba(43, 120, 176, .08);
}

body [data-aiedi-a11y-root] .aiedi-a11y__level-card.is-active::before {
	display: none;
}

body [data-aiedi-a11y-root] .aiedi-a11y__level-icon,
body [data-aiedi-a11y-root] .aiedi-a11y__level-card.is-active .aiedi-a11y__level-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	margin: 0;
	border: 0;
	border-radius: 10px;
	background: #fff;
	color: var(--aiedi-a11y-brand-primary);
	box-shadow: 0 1px 4px rgba(12, 24, 30, .055);
}

body [data-aiedi-a11y-root] .aiedi-a11y__level-card.is-active .aiedi-a11y__level-icon {
	background: #edf6fc;
	color: #1f6f9f;
}

body [data-aiedi-a11y-root] .aiedi-a11y__level-icon svg,
body [data-aiedi-a11y-root] .aiedi-a11y__level-card.is-active .aiedi-a11y__level-icon svg {
	width: 24px;
	height: 24px;
	fill: none !important;
	stroke: currentColor !important;
	stroke-width: 1.9;
}

body [data-aiedi-a11y-root] .aiedi-a11y__level-card.is-active .aiedi-a11y__level-icon svg path,
body [data-aiedi-a11y-root] .aiedi-a11y__level-card.is-active .aiedi-a11y__level-icon svg circle,
body [data-aiedi-a11y-root] .aiedi-a11y__level-card.is-active .aiedi-a11y__level-icon svg rect,
body [data-aiedi-a11y-root] .aiedi-a11y__level-card.is-active .aiedi-a11y__level-icon svg line,
body [data-aiedi-a11y-root] .aiedi-a11y__level-card.is-active .aiedi-a11y__level-icon svg polyline,
body [data-aiedi-a11y-root] .aiedi-a11y__level-card.is-active .aiedi-a11y__level-icon svg polygon {
	fill: none !important;
	stroke: currentColor !important;
}

body [data-aiedi-a11y-root] .aiedi-a11y__level-card .aiedi-a11y__level-icon .aiedi-a11y__icon-fill,
body [data-aiedi-a11y-root] .aiedi-a11y__level-card.is-active .aiedi-a11y__level-icon .aiedi-a11y__icon-fill {
	fill: currentColor !important;
	stroke: none !important;
}

body [data-aiedi-a11y-root] .aiedi-a11y__level-card .aiedi-a11y__level-icon .aiedi-a11y__icon-fill-soft,
body [data-aiedi-a11y-root] .aiedi-a11y__level-card.is-active .aiedi-a11y__level-icon .aiedi-a11y__icon-fill-soft {
	fill: currentColor !important;
	stroke: none !important;
	opacity: .22 !important;
}

body [data-aiedi-a11y-root] .aiedi-a11y__level-copy {
	display: flex;
	min-width: 0;
	flex-direction: column;
	align-items: flex-start;
	gap: 2px;
}

body [data-aiedi-a11y-root] .aiedi-a11y__level-label,
body [data-aiedi-a11y-root] .aiedi-a11y__level-card.is-active .aiedi-a11y__level-label {
	max-width: 100%;
	color: #172a35;
	font-size: 12.5px;
	font-weight: 800;
	line-height: 1.2;
	text-align: left;
}

body [data-aiedi-a11y-root] .aiedi-a11y__level-value,
body [data-aiedi-a11y-root] .aiedi-a11y__level-card.is-active .aiedi-a11y__level-value {
	color: var(--aiedi-a11y-widget-muted);
	font-size: 10.5px;
	font-weight: 650;
	line-height: 1.15;
	text-align: left;
}

body [data-aiedi-a11y-root] .aiedi-a11y__level-control {
	display: inline-flex;
	min-width: 30px;
	align-items: center;
	justify-content: flex-end;
}

body [data-aiedi-a11y-root] .aiedi-a11y__level-dots {
	display: inline-flex;
	height: 24px;
	align-items: flex-end;
	justify-content: flex-end;
	gap: 2px;
	margin: 0;
}

body [data-aiedi-a11y-root] .aiedi-a11y__level-dots span {
	display: block;
	width: 4px;
	height: 7px;
	border: 0;
	border-radius: 3px;
	background: #c6cbd0;
}

body [data-aiedi-a11y-root] .aiedi-a11y__level-dots span:nth-child(2) { height: 10px; }
body [data-aiedi-a11y-root] .aiedi-a11y__level-dots span:nth-child(3) { height: 13px; }
body [data-aiedi-a11y-root] .aiedi-a11y__level-dots span:nth-child(4) { height: 16px; }
body [data-aiedi-a11y-root] .aiedi-a11y__level-dots span:nth-child(5) { height: 19px; }
body [data-aiedi-a11y-root] .aiedi-a11y__level-dots span:nth-child(6) { height: 22px; }

body [data-aiedi-a11y-root] .aiedi-a11y__level-dots span.is-filled {
	background: var(--aiedi-a11y-brand-primary);
}

body [data-aiedi-a11y-root] .aiedi-a11y__level-card[data-aiedi-a11y-level-count="2"] .aiedi-a11y__level-dots {
	position: relative;
	width: 34px;
	height: 20px;
	border-radius: 999px;
	background: #c9cdd1;
	transition: background 140ms ease;
}

body [data-aiedi-a11y-root] .aiedi-a11y__level-card[data-aiedi-a11y-level-count="2"] .aiedi-a11y__level-dots span {
	display: none;
}

body [data-aiedi-a11y-root] .aiedi-a11y__level-card[data-aiedi-a11y-level-count="2"] .aiedi-a11y__level-dots::after {
	content: "";
	position: absolute;
	top: 3px;
	left: 3px;
	width: 14px;
	height: 14px;
	border-radius: 50%;
	background: #fff;
	box-shadow: 0 1px 3px rgba(12, 24, 30, .24);
	transition: transform 140ms ease;
}

body [data-aiedi-a11y-root] .aiedi-a11y__level-card.is-active[data-aiedi-a11y-level-count="2"] .aiedi-a11y__level-dots {
	background: var(--aiedi-a11y-brand-primary);
}

body [data-aiedi-a11y-root] .aiedi-a11y__level-card.is-active[data-aiedi-a11y-level-count="2"] .aiedi-a11y__level-dots::after {
	transform: translateX(14px);
}

body [data-aiedi-a11y-root] .aiedi-a11y__level-card[data-aiedi-a11y-level-tool="page-map"] .aiedi-a11y__level-dots {
	display: none;
}

body [data-aiedi-a11y-root] .aiedi-a11y__level-arrow {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	border-radius: 50%;
	color: #687781;
	font-size: 23px;
	font-weight: 500;
	line-height: 1;
}

body [data-aiedi-a11y-root] .aiedi-a11y__position-details {
	margin: 11px 0 0;
	border: 1px solid #e1e6e9;
	border-radius: 14px;
	background: #fff;
	box-shadow: none;
}

body [data-aiedi-a11y-root] .aiedi-a11y__position-details summary {
	display: flex;
	min-height: 46px;
	align-items: center;
	gap: 9px;
	padding: 10px 12px;
	color: #2b3e49;
	font-size: 12.5px;
	font-weight: 800;
	list-style: none;
}

body [data-aiedi-a11y-root] .aiedi-a11y__position-details summary::-webkit-details-marker {
	display: none;
}

body [data-aiedi-a11y-root] .aiedi-a11y__position-details summary::after {
	content: "+";
	margin-left: auto;
	color: #687781;
	font-size: 20px;
	font-weight: 500;
}

body [data-aiedi-a11y-root] .aiedi-a11y__position-details[open] summary::after {
	content: "−";
}

body [data-aiedi-a11y-root] .aiedi-a11y__position-details .aiedi-a11y__position-icon {
	width: 30px;
	height: 30px;
	flex: 0 0 30px;
	border-radius: 8px;
	background: #edf6fc;
	color: var(--aiedi-a11y-brand-primary);
}

body [data-aiedi-a11y-root] .aiedi-a11y__position-details > p {
	padding: 0 12px 9px 51px;
	color: #667680;
	font-size: 11.5px;
	line-height: 1.4;
}

body [data-aiedi-a11y-root] .aiedi-a11y__position-details .aiedi-a11y__choice-options {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 6px;
	padding: 0 10px 10px;
}

body [data-aiedi-a11y-root] .aiedi-a11y__position-details .aiedi-a11y__choice-options button {
	min-height: 38px;
	padding: 6px 8px;
	border-radius: 10px;
	font-size: 10.5px;
}

body [data-aiedi-a11y-root] .aiedi-a11y__footer {
	padding: 12px 14px 13px;
	background: #fff;
}

body [data-aiedi-a11y-root] .aiedi-a11y__reset {
	min-height: 40px;
	border: 1px solid #b9d0df;
	border-radius: 11px;
	background: #f6fafc;
	color: #205f8a;
	box-shadow: none;
	font-size: 12px;
}

body [data-aiedi-a11y-root] .aiedi-a11y__reset:hover {
	border-color: var(--aiedi-a11y-brand-primary);
	background: #edf6fc;
	color: #174d70;
	transform: none;
}

body [data-aiedi-a11y-root] .aiedi-a11y__footer-actions {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 7px;
	margin-top: 7px;
}

body [data-aiedi-a11y-root] .aiedi-a11y__footer-action {
	min-height: 40px;
	padding: 7px 8px;
	border-radius: 10px;
	box-shadow: none;
	font-size: 10.5px;
	line-height: 1.25;
}

body [data-aiedi-a11y-root] .aiedi-a11y__footer-action-icon {
	width: 24px;
	height: 24px;
	flex: 0 0 24px;
	font-size: 12px;
}

body [data-aiedi-a11y-root] .aiedi-a11y__credit {
	margin: 8px 0 0;
	font-size: 9.5px;
}

html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__category,
html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__level-card,
html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__level-card.is-active,
html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__position-details {
	-webkit-text-fill-color: currentColor !important;
}

@media (max-width: 520px) {
	body [data-aiedi-a11y-root] .aiedi-a11y__dialog {
		width: min(380px, calc(100vw - 12px));
		border-radius: 20px;
	}

	body [data-aiedi-a11y-root] .aiedi-a11y__header {
		padding: 13px 12px;
		border-radius: 20px 20px 0 0;
	}

	body [data-aiedi-a11y-root] .aiedi-a11y__header .aiedi-a11y__brand-logo-wrap {
		width: 92px;
	}

	body [data-aiedi-a11y-root] .aiedi-a11y__header .aiedi-a11y__eyebrow {
		display: none;
	}

	body [data-aiedi-a11y-root] .aiedi-a11y__header .aiedi-a11y__title {
		font-size: 16px !important;
	}

	body [data-aiedi-a11y-root] .aiedi-a11y__content {
		padding: 11px;
	}

	body [data-aiedi-a11y-root] .aiedi-a11y__level-grid {
		grid-template-columns: 1fr;
	}

	body [data-aiedi-a11y-root] .aiedi-a11y__level-card,
	body [data-aiedi-a11y-root] .aiedi-a11y__level-card.is-active {
		min-height: 62px;
	}

	body [data-aiedi-a11y-root] .aiedi-a11y__footer-actions {
		grid-template-columns: 1fr;
	}
}

body [data-aiedi-a11y-root] .aiedi-a11y__position-details summary:focus-visible {
	outline: 4px solid var(--aiedi-a11y-focus) !important;
	outline-offset: 3px !important;
	border-radius: 11px;
}


/* ------------------------------------------------------------------------- */
/* 1.3.2: the widget itself keeps its own accessible visual identity even    */
/* when a site-wide contrast mode is active. The contrast tool is applied to */
/* page content, not to the control surface of the plugin.                   */
/* ------------------------------------------------------------------------- */
html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root],
html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] * ,
html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] *::before,
html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] *::after {
	text-shadow: none !important;
}

html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__dialog {
	--aiedi-a11y-widget-card: #f4f5f6;
	--aiedi-a11y-widget-card-hover: #eef5fa;
	--aiedi-a11y-widget-border: #e2e6e9;
	--aiedi-a11y-widget-text: #14232c;
	--aiedi-a11y-widget-muted: #5f6f79;
	border-color: rgba(24, 56, 77, 0.14) !important;
	background: #ffffff !important;
	color: #0c181e !important;
	box-shadow: var(--aiedi-a11y-shadow) !important;
}

html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__header {
	background: linear-gradient(135deg, #2B78B0, #1E5C86 72%, #1E5C86 130%) !important;
	color: #ffffff !important;
}

html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__header *,
html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__header .aiedi-a11y__title,
html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__header .aiedi-a11y__eyebrow,
html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__header .aiedi-a11y__close {
	color: #ffffff !important;
	-webkit-text-fill-color: currentColor !important;
}

html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__header .aiedi-a11y__brand-logo-wrap {
	background: #ffffff !important;
	border-color: rgba(255, 255, 255, 0.42) !important;
}

html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__content {
	background: #f5f6f7 !important;
	color: #0c181e !important;
}

html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__footer {
	background: #ffffff !important;
	color: #0c181e !important;
}

html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__intro {
	background: transparent !important;
	color: #53636d !important;
}

html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__category,
html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__position-details {
	border-color: #e4e8eb !important;
	background: #ffffff !important;
	color: #172a35 !important;
	box-shadow: 0 2px 7px rgba(12, 24, 30, .035) !important;
}

html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__category-title,
html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__position-details summary,
html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__position-details > p,
html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__position-icon,
html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__credit,
html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__footer-links button {
	color: inherit !important;
}

html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__position-icon {
	background: #edf6fc !important;
	color: #2B78B0 !important;
}

html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__level-card,
html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__level-card.is-active {
	border-color: var(--aiedi-a11y-widget-border) !important;
	background: var(--aiedi-a11y-widget-card) !important;
	color: var(--aiedi-a11y-widget-text) !important;
	box-shadow: none !important;
}

html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__level-card:hover {
	border-color: #a9c9dc !important;
	background: var(--aiedi-a11y-widget-card-hover) !important;
}

html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__level-card.is-active {
	border: 2px solid #2B78B0 !important;
	padding: 8px 9px !important;
	background: #ffffff !important;
	box-shadow: 0 0 0 2px rgba(43, 120, 176, .08) !important;
}

html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__level-label {
	color: #172a35 !important;
}

html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__level-value {
	color: #5f6f79 !important;
}

html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__level-icon,
html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__level-card.is-active .aiedi-a11y__level-icon {
	background: #ffffff !important;
	color: #2B78B0 !important;
	box-shadow: 0 1px 4px rgba(12, 24, 30, .055) !important;
}

html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__level-card.is-active .aiedi-a11y__level-icon {
	background: #edf6fc !important;
	color: #1f6f9f !important;
}

html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__level-dots span {
	background: #c6cbd0 !important;
	border: 0 !important;
}

html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__level-dots span.is-filled {
	background: #2B78B0 !important;
}

html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__level-card[data-aiedi-a11y-level-count="2"] .aiedi-a11y__level-dots {
	background: #c9cdd1 !important;
}

html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__level-card.is-active[data-aiedi-a11y-level-count="2"] .aiedi-a11y__level-dots {
	background: #2B78B0 !important;
}

html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__level-card[data-aiedi-a11y-level-count="2"] .aiedi-a11y__level-dots::after {
	background: #ffffff !important;
}

html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__level-arrow {
	color: #687781 !important;
}

html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__reset {
	border-color: #b9d0df !important;
	background: #f6fafc !important;
	color: #205f8a !important;
}

html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__reset:hover {
	border-color: #2B78B0 !important;
	background: #edf6fc !important;
	color: #174d70 !important;
}

html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__footer-action {
	box-shadow: none !important;
}

html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] img,
html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] svg,
html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] svg *,
html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] [data-aiedi-a11y-visual="logo"],
html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] [data-aiedi-a11y-visual="icon"] {
	filter: none !important;
	-webkit-filter: none !important;
	outline: none !important;
}


/* ------------------------------------------------------------------------- */
/* 1.3.3: accessible high-contrast control surface (WCAG 2.2 AA target).     */
/* The widget remains visually independent from the page contrast settings.  */
/* ------------------------------------------------------------------------- */
body [data-aiedi-a11y-root] .aiedi-a11y__dialog,
html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__dialog {
	--aiedi-a11y-widget-card: #FFFFFF;
	--aiedi-a11y-widget-card-hover: #EDF4F7;
	--aiedi-a11y-widget-border: #74838C;
	--aiedi-a11y-widget-text: #102731;
	--aiedi-a11y-widget-muted: #46545D;
	border-color: #74838C !important;
	background: #FFFFFF !important;
	color: #102731 !important;
}

body [data-aiedi-a11y-root] .aiedi-a11y__header,
html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__header {
	background: linear-gradient(135deg, #174E73 0%, #1E5C86 100%) !important;
	color: #FFFFFF !important;
}

body [data-aiedi-a11y-root] .aiedi-a11y__header .aiedi-a11y__title,
body [data-aiedi-a11y-root] .aiedi-a11y__header .aiedi-a11y__eyebrow,
html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__header .aiedi-a11y__title,
html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__header .aiedi-a11y__eyebrow {
	color: #FFFFFF !important;
	-webkit-text-fill-color: #FFFFFF !important;
}

body [data-aiedi-a11y-root] .aiedi-a11y__header .aiedi-a11y__eyebrow,
html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__header .aiedi-a11y__eyebrow {
	font-size: 10.5px !important;
	font-weight: 800 !important;
	letter-spacing: .045em;
}

body [data-aiedi-a11y-root] .aiedi-a11y__content,
html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__content {
	background: #EEF2F4 !important;
	color: #102731 !important;
}

body [data-aiedi-a11y-root] .aiedi-a11y__intro,
html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__intro {
	color: #39464E !important;
	font-size: 13px !important;
	font-weight: 500;
	line-height: 1.5;
}

body [data-aiedi-a11y-root] .aiedi-a11y__category,
html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__category {
	border-color: #AAB6BD !important;
	background: #FFFFFF !important;
}

body [data-aiedi-a11y-root] .aiedi-a11y__category-title,
html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__category-title {
	color: #243844 !important;
	font-size: 13px !important;
	font-weight: 900 !important;
}

body [data-aiedi-a11y-root] .aiedi-a11y__level-card,
html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__level-card {
	border: 1px solid #74838C !important;
	background: #FFFFFF !important;
	color: #102731 !important;
}

body [data-aiedi-a11y-root] .aiedi-a11y__level-card:hover,
html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__level-card:hover {
	border-color: #18577F !important;
	background: #EDF4F7 !important;
}

body [data-aiedi-a11y-root] .aiedi-a11y__level-card.is-active,
html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__level-card.is-active {
	border: 2px solid #18577F !important;
	border-top-color: #946700 !important;
	padding: 8px 9px !important;
	background: #F8FCFE !important;
	color: #102731 !important;
	box-shadow: 0 0 0 2px rgba(24, 87, 127, .10) !important;
}

body [data-aiedi-a11y-root] .aiedi-a11y__level-label,
body [data-aiedi-a11y-root] .aiedi-a11y__level-card.is-active .aiedi-a11y__level-label,
html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__level-label,
html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__level-card.is-active .aiedi-a11y__level-label {
	color: #102731 !important;
	font-size: 13px !important;
	font-weight: 850 !important;
}

body [data-aiedi-a11y-root] .aiedi-a11y__level-value,
body [data-aiedi-a11y-root] .aiedi-a11y__level-card.is-active .aiedi-a11y__level-value,
html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__level-value,
html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__level-card.is-active .aiedi-a11y__level-value {
	color: #46545D !important;
	font-size: 11.5px !important;
	font-weight: 700 !important;
	line-height: 1.25;
}

body [data-aiedi-a11y-root] .aiedi-a11y__level-icon,
body [data-aiedi-a11y-root] .aiedi-a11y__level-card.is-active .aiedi-a11y__level-icon,
html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__level-icon,
html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__level-card.is-active .aiedi-a11y__level-icon {
	background: #E8F1F6 !important;
	color: #18577F !important;
	-webkit-text-fill-color: #18577F !important;
	box-shadow: none !important;
}

body [data-aiedi-a11y-root] .aiedi-a11y__level-dots span,
html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__level-dots span {
	border: 0 !important;
	background: #697881 !important;
}

body [data-aiedi-a11y-root] .aiedi-a11y__level-dots span.is-filled,
html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__level-dots span.is-filled {
	background: #18577F !important;
}

body [data-aiedi-a11y-root] .aiedi-a11y__level-card[data-aiedi-a11y-level-count="2"] .aiedi-a11y__level-dots,
html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__level-card[data-aiedi-a11y-level-count="2"] .aiedi-a11y__level-dots {
	border: 1px solid #596870 !important;
	background: #697881 !important;
}

body [data-aiedi-a11y-root] .aiedi-a11y__level-card.is-active[data-aiedi-a11y-level-count="2"] .aiedi-a11y__level-dots,
html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__level-card.is-active[data-aiedi-a11y-level-count="2"] .aiedi-a11y__level-dots {
	border-color: #18577F !important;
	background: #18577F !important;
}

body [data-aiedi-a11y-root] .aiedi-a11y__level-card[data-aiedi-a11y-level-count="2"] .aiedi-a11y__level-dots::after,
html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__level-card[data-aiedi-a11y-level-count="2"] .aiedi-a11y__level-dots::after {
	background: #FFFFFF !important;
	box-shadow: 0 0 0 1px rgba(16, 39, 49, .32), 0 1px 2px rgba(16, 39, 49, .22) !important;
}

body [data-aiedi-a11y-root] .aiedi-a11y__level-arrow,
html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__level-arrow {
	color: #46545D !important;
}

body [data-aiedi-a11y-root] .aiedi-a11y__position-details,
html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__position-details {
	border-color: #74838C !important;
	background: #FFFFFF !important;
	color: #102731 !important;
}

body [data-aiedi-a11y-root] .aiedi-a11y__position-details summary,
html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__position-details summary {
	color: #243844 !important;
	font-size: 13px !important;
}

body [data-aiedi-a11y-root] .aiedi-a11y__position-details > p,
html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__position-details > p {
	color: #46545D !important;
	font-size: 12px !important;
}

body [data-aiedi-a11y-root] .aiedi-a11y__position-details .aiedi-a11y__position-icon,
html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__position-details .aiedi-a11y__position-icon {
	background: #E8F1F6 !important;
	color: #18577F !important;
}

body [data-aiedi-a11y-root] .aiedi-a11y__choice-options button,
html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__choice-options button {
	border: 1px solid #74838C !important;
	background: #FFFFFF !important;
	color: #243844 !important;
	font-weight: 750 !important;
}

body [data-aiedi-a11y-root] .aiedi-a11y__choice-options button:hover,
html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__choice-options button:hover {
	border-color: #18577F !important;
	background: #EDF4F7 !important;
	color: #174E73 !important;
}

body [data-aiedi-a11y-root] .aiedi-a11y__choice-options button[aria-pressed="true"],
html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__choice-options button[aria-pressed="true"] {
	border-color: #18577F !important;
	background: #18577F !important;
	color: #FFFFFF !important;
	-webkit-text-fill-color: #FFFFFF !important;
}

body [data-aiedi-a11y-root] .aiedi-a11y__footer,
html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__footer {
	border-top-color: #74838C !important;
	background: #FFFFFF !important;
	color: #102731 !important;
}

body [data-aiedi-a11y-root] .aiedi-a11y__reset,
html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__reset {
	border: 2px solid #18577F !important;
	background: #FFFFFF !important;
	color: #174E73 !important;
	font-weight: 850 !important;
}

body [data-aiedi-a11y-root] .aiedi-a11y__reset:hover,
html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__reset:hover {
	border-color: #174E73 !important;
	background: #174E73 !important;
	color: #FFFFFF !important;
	-webkit-text-fill-color: #FFFFFF !important;
}

body [data-aiedi-a11y-root] .aiedi-a11y__footer-action,
html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__footer-action {
	border-color: #74838C !important;
	background: #FFFFFF !important;
	color: #174E73 !important;
	font-weight: 750 !important;
}

body [data-aiedi-a11y-root] .aiedi-a11y__footer-action--report,
html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__footer-action--report {
	border-color: #946700 !important;
	background: #FFF7E3 !important;
	color: #6E4A00 !important;
}

body [data-aiedi-a11y-root] .aiedi-a11y__credit,
html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__credit {
	color: #46545D !important;
	font-size: 10.5px !important;
}

body [data-aiedi-a11y-root] .aiedi-a11y__dialog button:focus-visible,
body [data-aiedi-a11y-root] .aiedi-a11y__dialog a:focus-visible,
body [data-aiedi-a11y-root] .aiedi-a11y__dialog input:focus-visible,
body [data-aiedi-a11y-root] .aiedi-a11y__dialog select:focus-visible,
body [data-aiedi-a11y-root] .aiedi-a11y__dialog textarea:focus-visible,
body [data-aiedi-a11y-root] .aiedi-a11y__position-details summary:focus-visible {
	outline: 3px solid #946700 !important;
	outline-offset: 3px !important;
	box-shadow: 0 0 0 2px #FFFFFF !important;
}

/* ------------------------------------------------------------------------- */
/* 1.3.4: WCAG 2.2 AA hardening of the public control surface.               */
/* These rules intentionally come last so the widget is predictable even     */
/* when a theme or a site-level contrast preset has aggressive CSS.          */
/* ------------------------------------------------------------------------- */
body [data-aiedi-a11y-root] .aiedi-a11y__dialog,
html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__dialog {
	--aiedi-a11y-ui-ink: #102731;
	--aiedi-a11y-ui-muted: #46545D;
	--aiedi-a11y-ui-blue: #174E73;
	--aiedi-a11y-ui-action: #18577F;
	--aiedi-a11y-ui-gold: #946700;
	--aiedi-a11y-ui-border: #74838C;
	--aiedi-a11y-ui-soft-blue: #E8F1F6;
	--aiedi-a11y-ui-surface: #FFFFFF;
	--aiedi-a11y-ui-canvas: #EEF2F4;
	scrollbar-width: auto;
	max-inline-size: calc(100vw - 12px);
}

/* The glyph is an SVG, so optical centering no longer depends on font metrics. */
body [data-aiedi-a11y-root] .aiedi-a11y__header .aiedi-a11y__close,
html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__header .aiedi-a11y__close {
	display: grid !important;
	place-items: center !important;
	flex: 0 0 44px !important;
	width: 44px !important;
	height: 44px !important;
	min-width: 44px !important;
	min-height: 44px !important;
	padding: 0 !important;
	border: 2px solid #FFFFFF !important;
	border-radius: 50% !important;
	background: rgba(255,255,255,.08) !important;
	color: #FFFFFF !important;
	font-size: 0 !important;
	line-height: 0 !important;
	box-shadow: none !important;
}

body [data-aiedi-a11y-root] .aiedi-a11y__close-icon,
body [data-aiedi-a11y-root] .aiedi-a11y__close-icon svg {
	display: block;
	width: 20px;
	height: 20px;
}

body [data-aiedi-a11y-root] .aiedi-a11y__close-icon svg {
	overflow: visible;
	fill: none !important;
	stroke: currentColor !important;
	stroke-width: 2.4 !important;
	stroke-linecap: round !important;
	stroke-linejoin: round !important;
}

body [data-aiedi-a11y-root] .aiedi-a11y__header .aiedi-a11y__close:hover,
html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__header .aiedi-a11y__close:hover {
	background: rgba(255,255,255,.18) !important;
	transform: none !important;
}

/* Minimum comfortable target sizes. WCAG 2.2 AA requires at least 24 CSS px;
   these controls use 44 px where the layout permits. */
body [data-aiedi-a11y-root] .aiedi-a11y__level-card,
body [data-aiedi-a11y-root] .aiedi-a11y__level-card.is-active {
	min-height: 68px !important;
	touch-action: manipulation;
}

body [data-aiedi-a11y-root] .aiedi-a11y__position-details summary,
body [data-aiedi-a11y-root] .aiedi-a11y__choice-options button,
body [data-aiedi-a11y-root] .aiedi-a11y__reset,
body [data-aiedi-a11y-root] .aiedi-a11y__footer-action,
body [data-aiedi-a11y-root] .aiedi-a11y__subview-back,
body [data-aiedi-a11y-root] .aiedi-a11y__map-link,
body [data-aiedi-a11y-root] .aiedi-a11y__report-submit {
	min-height: 44px !important;
	touch-action: manipulation;
}

body [data-aiedi-a11y-root] .aiedi-a11y__form-row input,
body [data-aiedi-a11y-root] .aiedi-a11y__form-row select,
body [data-aiedi-a11y-root] .aiedi-a11y__form-row textarea {
	min-height: 48px !important;
	border: 1px solid var(--aiedi-a11y-ui-border) !important;
	background: var(--aiedi-a11y-ui-surface) !important;
	color: var(--aiedi-a11y-ui-ink) !important;
	caret-color: var(--aiedi-a11y-ui-ink);
}

body [data-aiedi-a11y-root] .aiedi-a11y__form-row textarea {
	min-height: 132px !important;
}

body [data-aiedi-a11y-root] .aiedi-a11y__form-row input::placeholder,
body [data-aiedi-a11y-root] .aiedi-a11y__form-row textarea::placeholder {
	color: #596870 !important;
	opacity: 1 !important;
}

body [data-aiedi-a11y-root] .aiedi-a11y__privacy-check {
	min-height: 44px;
	align-items: start;
	color: #243844 !important;
}

body [data-aiedi-a11y-root] .aiedi-a11y__privacy-check input {
	width: 24px !important;
	height: 24px !important;
	min-width: 24px;
	min-height: 24px;
	accent-color: var(--aiedi-a11y-ui-action);
}

/* Form and subviews use the same protected palette as the main widget. */
body [data-aiedi-a11y-root] .aiedi-a11y__subview,
html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__subview {
	background: var(--aiedi-a11y-ui-canvas) !important;
	color: var(--aiedi-a11y-ui-ink) !important;
}

body [data-aiedi-a11y-root] .aiedi-a11y__subview-header,
html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__subview-header {
	border-bottom-color: var(--aiedi-a11y-ui-gold) !important;
	background: var(--aiedi-a11y-ui-blue) !important;
	color: #FFFFFF !important;
}

body [data-aiedi-a11y-root] .aiedi-a11y__subview-header p,
body [data-aiedi-a11y-root] .aiedi-a11y__subview-header h3,
html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__subview-header p,
html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__subview-header h3 {
	color: #FFFFFF !important;
	-webkit-text-fill-color: #FFFFFF !important;
}

body [data-aiedi-a11y-root] .aiedi-a11y__subview-back,
html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__subview-back {
	border: 2px solid #FFFFFF !important;
	background: transparent !important;
	color: #FFFFFF !important;
	-webkit-text-fill-color: #FFFFFF !important;
}

body [data-aiedi-a11y-root] .aiedi-a11y__subview-back:hover,
html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__subview-back:hover {
	background: #FFFFFF !important;
	color: var(--aiedi-a11y-ui-blue) !important;
	-webkit-text-fill-color: var(--aiedi-a11y-ui-blue) !important;
}

body [data-aiedi-a11y-root] .aiedi-a11y__subview-intro,
body [data-aiedi-a11y-root] .aiedi-a11y__declaration-lead,
body [data-aiedi-a11y-root] .aiedi-a11y__declaration-content section,
body [data-aiedi-a11y-root] .aiedi-a11y__report-intro-card,
body [data-aiedi-a11y-root] .aiedi-a11y__contact-fields,
html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__subview-intro,
html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__declaration-lead,
html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__declaration-content section,
html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__report-intro-card,
html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__contact-fields {
	border-color: var(--aiedi-a11y-ui-border) !important;
	background: #FFFFFF !important;
	color: var(--aiedi-a11y-ui-ink) !important;
}

body [data-aiedi-a11y-root] .aiedi-a11y__report-intro-card strong,
body [data-aiedi-a11y-root] .aiedi-a11y__declaration-content h4,
body [data-aiedi-a11y-root] .aiedi-a11y__map-group h4,
body [data-aiedi-a11y-root] .aiedi-a11y__contact-fields legend {
	color: #243844 !important;
}

body [data-aiedi-a11y-root] .aiedi-a11y__report-intro-card p,
body [data-aiedi-a11y-root] .aiedi-a11y__declaration-content p,
body [data-aiedi-a11y-root] .aiedi-a11y__declaration-content li,
body [data-aiedi-a11y-root] .aiedi-a11y__form-row small,
body [data-aiedi-a11y-root] .aiedi-a11y__subview-intro {
	color: var(--aiedi-a11y-ui-muted) !important;
}

body [data-aiedi-a11y-root] .aiedi-a11y__report-intro-icon {
	background: var(--aiedi-a11y-ui-gold) !important;
	color: #FFFFFF !important;
}

body [data-aiedi-a11y-root] .aiedi-a11y__map-link {
	border: 1px solid var(--aiedi-a11y-ui-border) !important;
	background: #FFFFFF !important;
	color: var(--aiedi-a11y-ui-ink) !important;
}

body [data-aiedi-a11y-root] .aiedi-a11y__map-link:hover {
	border-color: var(--aiedi-a11y-ui-action) !important;
	background: #EDF4F7 !important;
}

body [data-aiedi-a11y-root] .aiedi-a11y__map-level {
	background: var(--aiedi-a11y-ui-soft-blue) !important;
	color: var(--aiedi-a11y-ui-action) !important;
}

body [data-aiedi-a11y-root] .aiedi-a11y__report-submit,
html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__report-submit {
	border: 2px solid var(--aiedi-a11y-ui-action) !important;
	background: var(--aiedi-a11y-ui-action) !important;
	color: #FFFFFF !important;
	-webkit-text-fill-color: #FFFFFF !important;
}

body [data-aiedi-a11y-root] .aiedi-a11y__report-submit:hover,
html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__report-submit:hover {
	border-color: var(--aiedi-a11y-ui-blue) !important;
	background: var(--aiedi-a11y-ui-blue) !important;
	transform: none !important;
}

body [data-aiedi-a11y-root] .aiedi-a11y__report-status:not(:empty) {
	border: 1px solid var(--aiedi-a11y-ui-border);
	background: #FFFFFF !important;
	color: var(--aiedi-a11y-ui-ink) !important;
}

body [data-aiedi-a11y-root] .aiedi-a11y__report-status.is-success {
	border-color: #2F6E4E !important;
	background: #EAF6EF !important;
	color: #174D34 !important;
}

body [data-aiedi-a11y-root] .aiedi-a11y__report-status.is-error {
	border-color: #9D3B34 !important;
	background: #FFF1F0 !important;
	color: #7A211C !important;
}

/* Text spacing / zoom resilience. */
body [data-aiedi-a11y-root] .aiedi-a11y__brand,
body [data-aiedi-a11y-root] .aiedi-a11y__brand-copy,
body [data-aiedi-a11y-root] .aiedi-a11y__level-copy,
body [data-aiedi-a11y-root] .aiedi-a11y__subview-header > div {
	min-width: 0;
}

body [data-aiedi-a11y-root] :is(
	.aiedi-a11y__title,
	.aiedi-a11y__eyebrow,
	.aiedi-a11y__intro,
	.aiedi-a11y__category-title,
	.aiedi-a11y__level-label,
	.aiedi-a11y__level-value,
	.aiedi-a11y__position-details,
	.aiedi-a11y__footer-action,
	.aiedi-a11y__credit,
	.aiedi-a11y__subview,
	.aiedi-a11y__report-form
) {
	overflow-wrap: anywhere;
	word-break: normal;
}

/* Focus uses two contrasting rings: one remains visible on light surfaces and
   the other remains visible on the dark blue header. */
body [data-aiedi-a11y-root] .aiedi-a11y__dialog :is(button, a[href], input, select, textarea, summary, [tabindex]):focus-visible {
	outline: 3px solid #FFFFFF !important;
	outline-offset: 2px !important;
	box-shadow: 0 0 0 6px #102731 !important;
}

body [data-aiedi-a11y-root] .aiedi-a11y__dialog :is(button, a[href], input, select, textarea, summary, [tabindex]) {
	scroll-margin-block: 78px 24px;
}

/* Keep the panel usable at the WCAG reflow reference width of 320 CSS px. */
@media (max-width: 360px) {
	body [data-aiedi-a11y-root] .aiedi-a11y__dialog {
		width: calc(100vw - 8px) !important;
		max-inline-size: calc(100vw - 8px) !important;
	}

	body [data-aiedi-a11y-root] .aiedi-a11y__header {
		gap: 8px !important;
		padding: 12px 10px !important;
	}

	body [data-aiedi-a11y-root] .aiedi-a11y__header .aiedi-a11y__brand-logo-wrap {
		width: 82px !important;
	}

	body [data-aiedi-a11y-root] .aiedi-a11y__header .aiedi-a11y__title {
		font-size: 15px !important;
	}

	body [data-aiedi-a11y-root] .aiedi-a11y__content,
	body [data-aiedi-a11y-root] .aiedi-a11y__footer {
		padding-left: 8px !important;
		padding-right: 8px !important;
	}
}

/* Windows High Contrast / forced colors: preserve boundaries and focus. */
@media (forced-colors: active) {
	body [data-aiedi-a11y-root] .aiedi-a11y__dialog,
	body [data-aiedi-a11y-root] .aiedi-a11y__header,
	body [data-aiedi-a11y-root] .aiedi-a11y__content,
	body [data-aiedi-a11y-root] .aiedi-a11y__footer,
	body [data-aiedi-a11y-root] .aiedi-a11y__category,
	body [data-aiedi-a11y-root] .aiedi-a11y__level-card,
	body [data-aiedi-a11y-root] .aiedi-a11y__position-details,
	body [data-aiedi-a11y-root] .aiedi-a11y__choice-options button,
	body [data-aiedi-a11y-root] .aiedi-a11y__footer-action,
	body [data-aiedi-a11y-root] .aiedi-a11y__reset,
	body [data-aiedi-a11y-root] .aiedi-a11y__subview-back,
	body [data-aiedi-a11y-root] .aiedi-a11y__map-link,
	body [data-aiedi-a11y-root] .aiedi-a11y__report-submit,
	body [data-aiedi-a11y-root] .aiedi-a11y__form-row input,
	body [data-aiedi-a11y-root] .aiedi-a11y__form-row select,
	body [data-aiedi-a11y-root] .aiedi-a11y__form-row textarea {
		forced-color-adjust: auto !important;
		border-color: ButtonText !important;
	}

	body [data-aiedi-a11y-root] .aiedi-a11y__dialog :is(button, a[href], input, select, textarea, summary, [tabindex]):focus-visible {
		outline: 3px solid Highlight !important;
		outline-offset: 3px !important;
		box-shadow: none !important;
	}

	body [data-aiedi-a11y-root] .aiedi-a11y__close-icon svg,
	body [data-aiedi-a11y-root] .aiedi-a11y__level-icon svg,
	body [data-aiedi-a11y-root] .aiedi-a11y__launcher-mark svg {
		stroke: currentColor !important;
	}
}

/* Final small-type and boundary adjustments after the WCAG hardening block. */
body [data-aiedi-a11y-root] .aiedi-a11y__category,
html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__category {
	border-color: #74838C !important;
}

body [data-aiedi-a11y-root] .aiedi-a11y__level-value,
html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__level-value,
body [data-aiedi-a11y-root] .aiedi-a11y__position-details > p,
body [data-aiedi-a11y-root] .aiedi-a11y__choice-options button,
body [data-aiedi-a11y-root] .aiedi-a11y__footer-action {
	font-size: 12px !important;
}

body [data-aiedi-a11y-root] .aiedi-a11y__credit {
	font-size: 11px !important;
	line-height: 1.45;
}

/* Preserve whole words in control labels while keeping enough room for long
   Spanish labels in the two-column desktop layout. */
body [data-aiedi-a11y-root] .aiedi-a11y__level-card,
body [data-aiedi-a11y-root] .aiedi-a11y__level-card.is-active {
	grid-template-columns: 32px minmax(0, 1fr) auto !important;
	gap: 6px !important;
}

body [data-aiedi-a11y-root] .aiedi-a11y__level-icon,
body [data-aiedi-a11y-root] .aiedi-a11y__level-card.is-active .aiedi-a11y__level-icon {
	width: 32px !important;
	height: 32px !important;
}

body [data-aiedi-a11y-root] .aiedi-a11y__level-icon svg,
body [data-aiedi-a11y-root] .aiedi-a11y__level-card.is-active .aiedi-a11y__level-icon svg {
	width: 22px !important;
	height: 22px !important;
}

body [data-aiedi-a11y-root] .aiedi-a11y__level-label,
body [data-aiedi-a11y-root] .aiedi-a11y__level-value {
	overflow-wrap: normal !important;
	word-break: normal !important;
	hyphens: none;
}

/* 1.3.4: focus del botón de cierre, visible sin duplicar el anillo blanco del control. */
body [data-aiedi-a11y-root] .aiedi-a11y__dialog button.aiedi-a11y__close:focus-visible {
	outline: 3px solid #FFD24A !important;
	outline-offset: 3px !important;
	box-shadow: none !important;
}


.aiedi-a11y__level-card.is-unavailable {
	cursor: not-allowed;
	opacity: 0.72;
}

.aiedi-a11y__level-card.is-unavailable:hover {
	transform: none;
}

/* 1.4.0 voice and assistance tools. */
body [data-aiedi-a11y-root] .aiedi-a11y__category-description {
	margin: -2px 0 10px;
	font-size: 12px !important;
	line-height: 1.45;
	color: #3E4B54;
}

body [data-aiedi-a11y-root] .aiedi-a11y__category--voice_assistance .aiedi-a11y__level-grid {
	grid-template-columns: minmax(0, 1fr) !important;
}

body [data-aiedi-a11y-root] .aiedi-a11y__category--voice_assistance .aiedi-a11y__level-card,
body [data-aiedi-a11y-root] .aiedi-a11y__category--voice_assistance .aiedi-a11y__level-card.is-active {
	min-height: 86px;
	align-items: start;
	padding-top: 12px !important;
	padding-bottom: 12px !important;
}

body [data-aiedi-a11y-root] .aiedi-a11y__level-label-row {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 6px;
	min-width: 0;
}

body [data-aiedi-a11y-root] .aiedi-a11y__level-description {
	display: block;
	margin-top: 3px;
	font-size: 11px !important;
	line-height: 1.4;
	font-weight: 500;
	color: #46545D;
}

body [data-aiedi-a11y-root] .aiedi-a11y__experimental-badge {
	display: inline-flex;
	align-items: center;
	min-height: 20px;
	padding: 1px 7px;
	border: 1px solid #8A5A00;
	border-radius: 999px;
	font-size: 10px !important;
	line-height: 1.2;
	font-weight: 800;
	letter-spacing: 0.02em;
	color: #6A4500;
	background: #FFF4CE;
}

body [data-aiedi-a11y-root] .aiedi-a11y__level-card.is-active .aiedi-a11y__level-description {
	color: inherit;
}

html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__category-description,
html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__level-description {
	color: #27323A !important;
}

html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__level-card.is-active .aiedi-a11y__level-description {
	color: inherit !important;
}

html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__experimental-badge {
	border-color: currentColor !important;
	color: #5A3A00 !important;
	background: #FFF4CE !important;
}

/* Visible cue for the content currently spoken by Assisted Reading. */
.aiedi-a11y-assisted-target {
	outline: 3px solid #2B78B0 !important;
	outline-offset: 3px !important;
}

/* Visible cue for the form control selected by experimental voice navigation. */
.aiedi-a11y-voice-form-target {
	outline: 3px solid #2B78B0 !important;
	outline-offset: 3px !important;
}

@media (forced-colors: active) {
	.aiedi-a11y-assisted-target,
	.aiedi-a11y-voice-form-target {
		outline: 3px solid Highlight !important;
	}

	body [data-aiedi-a11y-root] .aiedi-a11y__experimental-badge {
		forced-color-adjust: auto;
		border-color: ButtonText !important;
		color: ButtonText !important;
		background: Canvas !important;
	}
}

/* Assistance instructions and privacy. */
body [data-aiedi-a11y-root] .aiedi-a11y__category--voice_assistance .aiedi-a11y__tool-help {
	width: 100%;
	min-height: 40px;
	margin: -4px 0 4px;
	padding: 8px 12px;
	border: 1px solid #60717B;
	border-radius: 11px;
	background: #FFFFFF;
	color: #17313D;
	display: inline-flex;
	align-items: center;
	justify-content: flex-start;
	gap: 8px;
	font: 700 12px/1.35 Arial, Helvetica, sans-serif;
	text-align: left;
	cursor: pointer;
}
body [data-aiedi-a11y-root] .aiedi-a11y__category--voice_assistance .aiedi-a11y__tool-help:hover {
	background: #EDF4F7;
	border-color: #2B78B0;
}
body [data-aiedi-a11y-root] .aiedi-a11y__tool-help-icon {
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: #17313D;
	color: #FFFFFF;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 13px !important;
	font-weight: 800;
	flex: 0 0 22px;
}
body [data-aiedi-a11y-root] .aiedi-a11y__help-content {
	padding: 16px 18px 22px;
	color: #17252C;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 14px !important;
	line-height: 1.6;
}
body [data-aiedi-a11y-root] .aiedi-a11y__help-content > p {
	margin: 0 0 16px;
}
body [data-aiedi-a11y-root] .aiedi-a11y__help-content h4 {
	margin: 18px 0 8px;
	font-size: 15px !important;
	line-height: 1.4;
	color: #102731;
}
body [data-aiedi-a11y-root] .aiedi-a11y__help-content ol {
	margin: 0;
	padding-inline-start: 24px;
}
body [data-aiedi-a11y-root] .aiedi-a11y__help-content li {
	margin: 0 0 9px;
	padding-inline-start: 3px;
}
/* 2.8.18 — Documented browser limitation for Assisted Reading. */
body [data-aiedi-a11y-root] .aiedi-a11y__browser-speech-note {
	margin-top: 16px;
	padding: 13px 14px;
	border: 1px solid #8A6A16;
	border-left: 4px solid #C48700;
	border-radius: 12px;
	background: #FFF9E8;
	color: #2B2618;
}
body [data-aiedi-a11y-root] .aiedi-a11y__browser-speech-note strong {
	display: block;
	margin-bottom: 4px;
	font-size: 14px !important;
	line-height: 1.4;
}
body [data-aiedi-a11y-root] .aiedi-a11y__browser-speech-note p {
	margin: 0;
	font-size: 13px !important;
	line-height: 1.55;
}
html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__browser-speech-note {
	background: #FFFFFF !important;
	color: #17252C !important;
	border-color: #263842 !important;
}

body [data-aiedi-a11y-root] .aiedi-a11y__privacy-note {
	margin-top: 18px;
	padding: 13px 14px;
	border: 1px solid #5C737F;
	border-left: 4px solid #2B78B0;
	border-radius: 12px;
	background: #F4F9FC;
	color: #17252C;
}
body [data-aiedi-a11y-root] .aiedi-a11y__privacy-note strong {
	display: block;
	margin-bottom: 4px;
	font-size: 14px !important;
}
body [data-aiedi-a11y-root] .aiedi-a11y__privacy-note p {
	margin: 0;
	font-size: 13px !important;
	line-height: 1.55;
}
html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__tool-help,
html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__privacy-note {
	background: #FFFFFF !important;
	color: #17252C !important;
	border-color: #263842 !important;
}

/* 1.5.1 — Explicit informed acceptance for experimental tools. */
body [data-aiedi-a11y-root] .aiedi-a11y__experimental-consent {
	margin: -0.1rem 0 0.35rem;
	padding: 0 0.15rem;
	font-size: 0.78rem;
	line-height: 1.45;
	color: var(--aiedi-a11y-muted, #4b5563);
}
body [data-aiedi-a11y-root] .aiedi-a11y__experimental-acceptance {
	margin-top: 0.55rem;
}
html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__experimental-consent {
	color: inherit;
}


/* 1.7.0 — target found by experimental voice navigation. */
.aiedi-a11y-voice-navigation-target {
	outline: 4px solid #2B78B0 !important;
	outline-offset: 5px !important;
	box-shadow: 0 0 0 6px rgba(255, 255, 255, 0.96), 0 0 0 10px rgba(43, 120, 176, 0.36) !important;
	position: relative;
	z-index: 2147483000;
}

@media (prefers-reduced-motion: no-preference) {
	.aiedi-a11y-voice-navigation-target {
		animation: aiedi-a11y-voice-target-pulse 0.7s ease-out 1;
	}
	@keyframes aiedi-a11y-voice-target-pulse {
		0% { outline-offset: 1px; }
		100% { outline-offset: 5px; }
	}
}

@media (forced-colors: active) {
	.aiedi-a11y-voice-navigation-target {
		outline: 4px solid Highlight !important;
		box-shadow: none !important;
	}
}

/* 2.1.0 — Advanced voice. */
body .aiedi-a11y__advanced-voice-toolbar {
	position: fixed;
	left: 50%;
	bottom: 14px;
	z-index: 2147483635;
	transform: translateX(-50%);
	display: flex;
	align-items: center;
	gap: 10px;
	width: min(760px, calc(100vw - 24px));
	min-height: 56px;
	padding: 9px 11px;
	border: 2px solid #FFFFFF;
	border-radius: 15px;
	background: #102731;
	color: #FFFFFF;
	box-shadow: 0 10px 30px rgba(0, 0, 0, .34);
	font: 700 13px/1.35 Arial, Helvetica, sans-serif;
}
body .aiedi-a11y__advanced-voice-toolbar[hidden] { display: none !important; }
body .aiedi-a11y__advanced-voice-dot {
	flex: 0 0 12px;
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background: #FFFFFF;
	box-shadow: 0 0 0 4px rgba(255, 255, 255, .18);
}
body .aiedi-a11y__advanced-voice-toolbar > [data-aiedi-a11y-advanced-voice-status] {
	flex: 1 1 280px;
	min-width: 0;
}
body .aiedi-a11y__advanced-voice-meter {
	position: relative;
	flex: 0 1 140px;
	width: 140px;
	height: 10px;
	overflow: hidden;
	border: 1px solid rgba(255,255,255,.75);
	border-radius: 999px;
	background: rgba(255,255,255,.16);
}
body .aiedi-a11y__advanced-voice-meter > span {
	display: block;
	width: 4%;
	height: 100%;
	border-radius: inherit;
	background: #FFFFFF;
	transition: width 70ms linear;
}
body .aiedi-a11y__advanced-voice-toolbar button {
	flex: 0 0 auto;
	min-height: 42px;
	padding: 8px 13px;
	border: 2px solid #FFFFFF;
	border-radius: 10px;
	background: #FFFFFF;
	color: #102731;
	font: 800 13px/1.2 Arial, Helvetica, sans-serif;
	cursor: pointer;
}

@media (max-width: 620px) {
	body .aiedi-a11y__advanced-voice-toolbar {
		bottom: 7px;
		gap: 7px;
		padding: 8px;
	}
	body .aiedi-a11y__advanced-voice-meter { flex-basis: 80px; width: 80px; }
}

@media (forced-colors: active) {
	body .aiedi-a11y__advanced-voice-toolbar,
	body .aiedi-a11y__advanced-voice-toolbar button {
		forced-color-adjust: auto;
		border-color: ButtonText !important;
	}
}


/* 2.4.2 — Visible accessible controller for the YouTube IFrame Player API. */
body [data-aiedi-a11y-root] .aiedi-a11y__youtube-controller {
	position: fixed;
	z-index: 2147482997;
	left: 50%;
	bottom: 20px;
	width: min(760px, calc(100vw - 120px));
	max-width: 760px;
	padding: 12px 14px;
	border: 2px solid var(--aiedi-a11y-brand-primary);
	border-radius: 16px;
	background: #FFFFFF;
	color: #0C181E;
	box-shadow: 0 16px 44px rgba(12, 24, 30, 0.28);
	font: 700 14px/1.35 Arial, Helvetica, sans-serif;
	transform: translateX(-50%);
}

body [data-aiedi-a11y-root] .aiedi-a11y__youtube-controller-heading {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 8px 12px;
	margin-bottom: 10px;
	flex-wrap: wrap;
}

body [data-aiedi-a11y-root] .aiedi-a11y__youtube-title {
	min-width: 0;
	font-size: 14px;
	font-weight: 800;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

body [data-aiedi-a11y-root] .aiedi-a11y__youtube-status {
	flex: 0 0 auto;
	font-size: 13px;
	font-weight: 700;
	color: #394B55;
}

body [data-aiedi-a11y-root] .aiedi-a11y__youtube-api-status {
	flex: 0 0 auto;
	padding: 4px 8px;
	border: 1px solid #7A8A94;
	border-radius: 999px;
	background: #F4F9FC;
	color: #17313D;
	font-size: 12px;
	font-weight: 800;
}

body [data-aiedi-a11y-root] .aiedi-a11y__youtube-controls-row {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
}

body [data-aiedi-a11y-root] .aiedi-a11y__youtube-button {
	min-height: 42px;
	padding: 8px 12px;
	border: 2px solid var(--aiedi-a11y-brand-primary);
	border-radius: 10px;
	background: #FFFFFF;
	color: #17313D;
	font: 800 13px/1.2 Arial, Helvetica, sans-serif;
	cursor: pointer;
}

body [data-aiedi-a11y-root] .aiedi-a11y__youtube-button:hover:not(:disabled) {
	background: #EDF4F7;
}

body [data-aiedi-a11y-root] .aiedi-a11y__youtube-button:focus-visible,
body [data-aiedi-a11y-root] .aiedi-a11y__youtube-volume input:focus-visible {
	outline: 4px solid var(--aiedi-a11y-focus) !important;
	outline-offset: 2px !important;
}

body [data-aiedi-a11y-root] .aiedi-a11y__youtube-button:disabled,
body [data-aiedi-a11y-root] .aiedi-a11y__youtube-volume input:disabled {
	opacity: 0.55;
	cursor: not-allowed;
}

body [data-aiedi-a11y-root] .aiedi-a11y__youtube-volume {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	min-height: 42px;
	padding: 5px 8px;
	border: 1px solid #AAB8C0;
	border-radius: 10px;
	background: #FFFFFF;
	color: #17313D;
	font-size: 13px;
	font-weight: 800;
}

body [data-aiedi-a11y-root] .aiedi-a11y__youtube-volume input {
	width: 118px;
	min-height: 28px;
	accent-color: var(--aiedi-a11y-brand-primary);
}

@media (max-width: 720px) {
	body [data-aiedi-a11y-root] .aiedi-a11y__youtube-controller {
		bottom: 96px;
		width: calc(100vw - 24px);
		padding: 10px;
	}

	body [data-aiedi-a11y-root] .aiedi-a11y__youtube-controller-heading {
		align-items: flex-start;
		flex-direction: column;
		gap: 4px;
	}

	body [data-aiedi-a11y-root] .aiedi-a11y__youtube-status {
		flex: 1 1 auto;
	}

	body [data-aiedi-a11y-root] .aiedi-a11y__youtube-button,
	body [data-aiedi-a11y-root] .aiedi-a11y__youtube-volume {
		flex: 1 1 auto;
	}
}

@media (forced-colors: active) {
	body [data-aiedi-a11y-root] .aiedi-a11y__youtube-controller,
	body [data-aiedi-a11y-root] .aiedi-a11y__youtube-button,
	body [data-aiedi-a11y-root] .aiedi-a11y__youtube-volume {
		forced-color-adjust: auto;
		border-color: ButtonText;
		background: Canvas;
		color: CanvasText;
	}
}

/* 2.5.2 — Stable YouTube controller placement and visible native-player focus. */
body iframe[data-aiedi-youtube-api="1"]:focus,
body iframe[data-aiedi-youtube-native-focus="1"] {
	outline: 3px solid #FFFFFF !important;
	outline-offset: 2px !important;
	box-shadow: 0 0 0 6px #005A9C !important;
}

body [data-aiedi-a11y-root] .aiedi-a11y__youtube-controller[data-aiedi-youtube-placement="bottom"] {
	box-shadow: 0 -10px 34px rgba(12, 24, 30, 0.22);
}

/* 2.6.3 — compact Assistance section with clearer spacing for the information entry point. */
body [data-aiedi-a11y-root] .aiedi-a11y__category--voice_assistance .aiedi-a11y__level-grid {
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	gap: 7px !important;
}

body [data-aiedi-a11y-root] .aiedi-a11y__category--voice_assistance .aiedi-a11y__level-card,
body [data-aiedi-a11y-root] .aiedi-a11y__category--voice_assistance .aiedi-a11y__level-card.is-active {
	min-height: 64px !important;
	align-items: center !important;
	padding-top: 9px !important;
	padding-bottom: 9px !important;
}

body [data-aiedi-a11y-root] .aiedi-a11y__category--voice_assistance .aiedi-a11y__level-card[data-aiedi-a11y-level-tool="advanced-voice"] {
	grid-column: 1 / -1;
}

body [data-aiedi-a11y-root] .aiedi-a11y__category--voice_assistance .aiedi-a11y__level-label {
	font-size: 12px !important;
	line-height: 1.2 !important;
}

body [data-aiedi-a11y-root] .aiedi-a11y__category--voice_assistance .aiedi-a11y__level-value {
	font-size: 10px !important;
}

body [data-aiedi-a11y-root] .aiedi-a11y__assistance-info {
	width: 100%;
	min-height: 38px;
	margin: 15px 0 0;
	padding: 8px 10px;
	border: 1px solid #B8C7CF;
	border-radius: 10px;
	background: #F8FBFC;
	color: #17313D;
	display: inline-flex;
	align-items: center;
	justify-content: flex-start;
	gap: 8px;
	font: 700 11px/1.3 Arial, Helvetica, sans-serif;
	text-align: left;
	cursor: pointer;
}

body [data-aiedi-a11y-root] .aiedi-a11y__assistance-info:hover {
	border-color: #2B78B0;
	background: #EDF5F9;
}

body [data-aiedi-a11y-root] .aiedi-a11y__assistance-info .aiedi-a11y__tool-help-icon {
	width: 20px;
	height: 20px;
	flex-basis: 20px;
	font-size: 12px !important;
}

body [data-aiedi-a11y-root] .aiedi-a11y__help-content--assistance {
	font-size: 13px !important;
	line-height: 1.5;
}

body [data-aiedi-a11y-root] .aiedi-a11y__assistance-tools {
	display: grid;
	gap: 8px;
}

body [data-aiedi-a11y-root] .aiedi-a11y__assistance-tools > section {
	margin: 0;
	padding: 10px 11px;
	border: 1px solid #E0E7EB;
	border-radius: 11px;
	background: #FBFDFE;
}

body [data-aiedi-a11y-root] .aiedi-a11y__assistance-tools h4 {
	margin: 0 0 4px !important;
	font-size: 13px !important;
	line-height: 1.3 !important;
}

body [data-aiedi-a11y-root] .aiedi-a11y__assistance-tools p {
	margin: 0;
	font-size: 12px !important;
	line-height: 1.45;
}

@media (max-width: 520px) {
	body [data-aiedi-a11y-root] .aiedi-a11y__category--voice_assistance .aiedi-a11y__level-grid {
		grid-template-columns: minmax(0, 1fr) !important;
	}
	body [data-aiedi-a11y-root] .aiedi-a11y__category--voice_assistance .aiedi-a11y__level-card[data-aiedi-a11y-level-tool="advanced-voice"] {
		grid-column: auto;
	}
}


/* 2.7.0 — UI hardening, reflow and persistent voice controls. */
body [data-aiedi-a11y-root] .aiedi-a11y__category--voice_assistance .aiedi-a11y__assistance-info-wrap {
	grid-column: 1 / -1 !important;
	width: 100%;
	min-width: 0;
	margin: 16px 0 0 !important;
	padding: 14px 0 0;
	border-top: 1px solid #D3DEE4;
}

body [data-aiedi-a11y-root] .aiedi-a11y__category--voice_assistance .aiedi-a11y__assistance-info-wrap > .aiedi-a11y__tool-help.aiedi-a11y__assistance-info {
	box-sizing: border-box;
	width: 100%;
	min-width: 0;
	min-height: 44px;
	height: auto;
	margin: 0 !important;
	padding: 10px 12px;
	white-space: normal;
	overflow-wrap: anywhere;
	word-break: normal;
}

body [data-aiedi-a11y-root] .aiedi-a11y__category--voice_assistance .aiedi-a11y__level-card,
body [data-aiedi-a11y-root] .aiedi-a11y__category--voice_assistance .aiedi-a11y__level-card.is-active {
	box-sizing: border-box;
	min-width: 0;
	height: auto !important;
	min-height: 68px !important;
	white-space: normal;
}

body [data-aiedi-a11y-root] .aiedi-a11y__category--voice_assistance .aiedi-a11y__level-copy,
body [data-aiedi-a11y-root] .aiedi-a11y__category--voice_assistance .aiedi-a11y__level-label-row,
body [data-aiedi-a11y-root] .aiedi-a11y__category--voice_assistance .aiedi-a11y__level-label,
body [data-aiedi-a11y-root] .aiedi-a11y__category--voice_assistance .aiedi-a11y__level-value {
	min-width: 0;
	max-width: 100%;
	white-space: normal !important;
	overflow-wrap: anywhere;
}

body [data-aiedi-a11y-root] .aiedi-a11y__dialog {
	max-width: min(480px, calc(100vw - 16px));
	max-height: calc(100dvh - 16px);
}

body [data-aiedi-a11y-root] .aiedi-a11y__dialog button,
body [data-aiedi-a11y-root] .aiedi-a11y__dialog [role="button"],
body [data-aiedi-a11y-root] .aiedi-a11y__dialog a,
body .aiedi-a11y__advanced-voice-toolbar button {
	min-height: 44px;
}

body [data-aiedi-a11y-root] .aiedi-a11y__dialog :is(button, a, input, select, textarea, summary, [tabindex]):focus-visible,
body .aiedi-a11y__advanced-voice-toolbar :is(button, input, [tabindex]):focus-visible {
	outline: 3px solid #FFFFFF !important;
	outline-offset: 2px !important;
	box-shadow: 0 0 0 5px #005A9C !important;
}

body .aiedi-a11y__advanced-voice-toolbar {
	box-sizing: border-box;
	max-width: min(760px, calc(100vw - 24px));
	min-width: 0;
	z-index: 2147483646;
}

body .aiedi-a11y__advanced-voice-toolbar > [data-aiedi-a11y-advanced-voice-status] {
	min-width: 0;
	overflow-wrap: anywhere;
}

@media (max-width: 600px), (max-height: 600px) {
	body [data-aiedi-a11y-root] .aiedi-a11y__dialog {
		inset: 8px !important;
		width: auto !important;
		max-width: none;
		max-height: calc(100dvh - 16px);
		border-radius: 18px;
	}

	body [data-aiedi-a11y-root] .aiedi-a11y__category--voice_assistance .aiedi-a11y__level-grid {
		grid-template-columns: minmax(0, 1fr) !important;
	}

	body [data-aiedi-a11y-root] .aiedi-a11y__category--voice_assistance .aiedi-a11y__level-card[data-aiedi-a11y-level-tool="advanced-voice"] {
		grid-column: auto !important;
	}

	body .aiedi-a11y__advanced-voice-toolbar {
		left: 12px !important;
		right: 12px !important;
		bottom: max(12px, env(safe-area-inset-bottom)) !important;
		width: auto !important;
		max-width: none;
		flex-wrap: wrap;
	}
}

@media (max-width: 360px) {
	body [data-aiedi-a11y-root] .aiedi-a11y__dialog {
		inset: 4px !important;
		max-height: calc(100dvh - 8px);
		border-radius: 14px;
	}

	body [data-aiedi-a11y-root] .aiedi-a11y__category,
	body [data-aiedi-a11y-root] .aiedi-a11y__level-card,
	body [data-aiedi-a11y-root] .aiedi-a11y__assistance-info-wrap {
		min-width: 0;
	}
}

@media (prefers-reduced-motion: reduce) {
	body [data-aiedi-a11y-root] *,
	body .aiedi-a11y__advanced-voice-toolbar * {
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
	}
}

@media (forced-colors: active) {
	body [data-aiedi-a11y-root] .aiedi-a11y__category--voice_assistance .aiedi-a11y__assistance-info-wrap {
		border-color: CanvasText;
	}

	body [data-aiedi-a11y-root] .aiedi-a11y__assistance-info,
	body .aiedi-a11y__advanced-voice-toolbar,
	body .aiedi-a11y__advanced-voice-toolbar button {
		forced-color-adjust: auto;
		border-color: ButtonText;
		background: Canvas;
		color: CanvasText;
	}
}


/* 2.7.1 — explicit voice engine state. */
body .aiedi-a11y__voice-mode {
	flex: 0 0 auto;
	min-width: 58px;
	padding: 4px 7px;
	border: 1px solid currentColor;
	border-radius: 999px;
	background: #FFFFFF;
	color: #102731;
	font: 800 11px/1.2 Arial, Helvetica, sans-serif;
	letter-spacing: .04em;
	text-align: center;
}
body .aiedi-a11y__voice-mode[data-mode="openai"],
body .aiedi-a11y__voice-mode[data-mode="dictation"] {
	background: #FFF6D8;
	color: #5C3B00;
}
@media (max-width: 430px) {
	body .aiedi-a11y__voice-mode { min-width: 52px; font-size: 10px; }
}
@media (forced-colors: active) {
	body .aiedi-a11y__voice-mode { forced-color-adjust: auto; border-color: ButtonText; background: Canvas; color: CanvasText; }
}

/* 2.7.4 — voice command guide and clearer local/dictation status. */
body [data-aiedi-a11y-root] .aiedi-a11y__voice-command-guide {
	margin-top: 14px;
	padding: 13px;
	border: 1px solid #B9C8D0;
	border-radius: 12px;
	background: #F7FBFD;
	color: #17313D;
}
body [data-aiedi-a11y-root] .aiedi-a11y__voice-command-guide-head {
	display: flex;
	align-items: flex-start;
	gap: 9px;
}
body [data-aiedi-a11y-root] .aiedi-a11y__voice-command-guide-icon {
	flex: 0 0 24px;
	width: 24px;
	height: 24px;
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: #17313D;
	color: #FFFFFF;
	font-size: 11px !important;
	line-height: 1;
}
body [data-aiedi-a11y-root] .aiedi-a11y__voice-command-guide h4 {
	margin: 0 0 3px !important;
	font-size: 14px !important;
	line-height: 1.3 !important;
}
body [data-aiedi-a11y-root] .aiedi-a11y__voice-command-guide-head p {
	margin: 0;
	font-size: 12px !important;
	line-height: 1.45;
}
body [data-aiedi-a11y-root] .aiedi-a11y__voice-command-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px;
	margin-top: 11px;
}
body [data-aiedi-a11y-root] .aiedi-a11y__voice-command-grid > section {
	min-width: 0;
	padding: 9px 10px;
	border: 1px solid #D7E1E6;
	border-radius: 10px;
	background: #FFFFFF;
}
body [data-aiedi-a11y-root] .aiedi-a11y__voice-command-grid h5 {
	margin: 0 0 6px;
	font: 800 12px/1.3 Arial, Helvetica, sans-serif;
	color: #102731;
}
body [data-aiedi-a11y-root] .aiedi-a11y__voice-command-grid ul {
	margin: 0;
	padding: 0;
	list-style: none;
}
body [data-aiedi-a11y-root] .aiedi-a11y__voice-command-grid li {
	margin: 0 0 5px;
	padding: 0;
}
body [data-aiedi-a11y-root] .aiedi-a11y__voice-command-grid li:last-child { margin-bottom: 0; }
body [data-aiedi-a11y-root] .aiedi-a11y__voice-command-grid code {
	display: inline-block;
	max-width: 100%;
	padding: 2px 5px;
	border-radius: 6px;
	background: #EEF4F7;
	color: #17313D;
	font: 700 11px/1.4 Arial, Helvetica, sans-serif;
	white-space: normal;
	overflow-wrap: anywhere;
}
body [data-aiedi-a11y-root] .aiedi-a11y__voice-command-writing {
	margin: 10px 0 0;
	padding: 9px 10px;
	border-left: 4px solid #2B78B0;
	border-radius: 8px;
	background: #FFFFFF;
	font-size: 12px !important;
	line-height: 1.5;
}
body .aiedi-a11y__voice-mode[data-mode="dictation"] {
	background: #FFF6D8;
	color: #5C3B00;
}
@media (max-width: 480px) {
	body [data-aiedi-a11y-root] .aiedi-a11y__voice-command-grid { grid-template-columns: minmax(0, 1fr); }
	body [data-aiedi-a11y-root] .aiedi-a11y__voice-command-guide { padding: 11px; }
	body .aiedi-a11y__voice-mode { min-width: 56px; max-width: 92px; }
}
@media (forced-colors: active) {
	body [data-aiedi-a11y-root] .aiedi-a11y__voice-command-guide,
	body [data-aiedi-a11y-root] .aiedi-a11y__voice-command-grid > section,
	body [data-aiedi-a11y-root] .aiedi-a11y__voice-command-writing,
	body [data-aiedi-a11y-root] .aiedi-a11y__voice-command-grid code {
		forced-color-adjust: auto;
		border-color: CanvasText;
		background: Canvas;
		color: CanvasText;
	}
}


/* 2.7.5 — persistent voice toolbar above external modal/top-layer UI. */
body .aiedi-a11y__advanced-voice-toolbar[popover] {
	top: auto;
	right: auto;
	margin: 0;
	max-height: none;
	overflow: visible;
	pointer-events: auto;
}
body .aiedi-a11y__advanced-voice-toolbar[popover]:popover-open {
	display: flex;
}
@media (max-width: 600px), (max-height: 600px) {
	body .aiedi-a11y__advanced-voice-toolbar[popover] {
		top: auto !important;
		right: 12px !important;
		left: 12px !important;
		margin: 0 !important;
	}
}

/* ------------------------------------------------------------------------- */
/* 2.8.5: public panel starts closed and remains fully closable.              */
/* The dialog uses flex only while visible, so the HTML hidden attribute is  */
/* never overridden. The inner content owns the scrollbar to keep the        */
/* rounded blue header free of scrollbar bleed.                              */
/* ------------------------------------------------------------------------- */
body [data-aiedi-a11y-root] .aiedi-a11y__dialog,
html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__dialog {
	border: 2px solid #174E73 !important;
	background-clip: padding-box !important;
	flex-direction: column !important;
	overflow: hidden !important;
}

body [data-aiedi-a11y-root] .aiedi-a11y__dialog[hidden],
html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__dialog[hidden] {
	display: none !important;
}

body [data-aiedi-a11y-root] .aiedi-a11y__dialog:not([hidden]),
html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__dialog:not([hidden]) {
	display: flex !important;
}

body [data-aiedi-a11y-root] .aiedi-a11y__dialog::before,
html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__dialog::before {
	content: none !important;
	display: none !important;
}

body [data-aiedi-a11y-root] .aiedi-a11y__header,
html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__header {
	flex: 0 0 auto !important;
	position: relative !important;
	top: auto !important;
	border-radius: 22px 22px 0 0 !important;
	background: linear-gradient(135deg, #174E73 0%, #1E5C86 100%) !important;
	background-clip: padding-box !important;
}

body [data-aiedi-a11y-root] .aiedi-a11y__content,
html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__content {
	flex: 1 1 auto !important;
	min-height: 0 !important;
	overflow-x: hidden !important;
	overflow-y: auto !important;
	scrollbar-gutter: stable !important;
}

body [data-aiedi-a11y-root] .aiedi-a11y__footer,
html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__footer {
	flex: 0 0 auto !important;
}

body [data-aiedi-a11y-root] .aiedi-a11y__content::-webkit-scrollbar {
	width: 10px;
}

body [data-aiedi-a11y-root] .aiedi-a11y__content::-webkit-scrollbar-track {
	background: #E9EFF3;
	border-radius: 999px;
}

body [data-aiedi-a11y-root] .aiedi-a11y__content::-webkit-scrollbar-thumb {
	background: #7A95A7;
	border: 2px solid #E9EFF3;
	border-radius: 999px;
}

/* -------------------------------------------------------------------------
 * 2.8.6 — Responsive layer (public widget)
 * -------------------------------------------------------------------------
 * Goals:
 * - no horizontal overflow from 320 CSS px upward;
 * - safe-area awareness on notched mobile devices;
 * - stable rounded header while only the content region scrolls;
 * - comfortable touch targets and readable two-column cards when space allows;
 * - compact behaviour on short landscape screens without hiding functionality.
 * ------------------------------------------------------------------------- */
body [data-aiedi-a11y-root] .aiedi-a11y__dialog,
html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__dialog {
	--aiedi-a11y-safe-top: max(8px, env(safe-area-inset-top, 0px));
	--aiedi-a11y-safe-right: max(8px, env(safe-area-inset-right, 0px));
	--aiedi-a11y-safe-bottom: max(8px, env(safe-area-inset-bottom, 0px));
	--aiedi-a11y-safe-left: max(8px, env(safe-area-inset-left, 0px));
	top: var(--aiedi-a11y-safe-top) !important;
	bottom: var(--aiedi-a11y-safe-bottom) !important;
	width: min(var(--aiedi-a11y-panel-width, 430px), calc(100vw - var(--aiedi-a11y-safe-left) - var(--aiedi-a11y-safe-right))) !important;
	max-width: calc(100vw - var(--aiedi-a11y-safe-left) - var(--aiedi-a11y-safe-right)) !important;
	max-height: calc(100dvh - var(--aiedi-a11y-safe-top) - var(--aiedi-a11y-safe-bottom)) !important;
	contain: layout paint;
}

body [data-aiedi-a11y-root].aiedi-a11y--bottom-right .aiedi-a11y__dialog,
body [data-aiedi-a11y-root].aiedi-a11y--top-right .aiedi-a11y__dialog {
	right: max(8px, env(safe-area-inset-right, 0px)) !important;
	left: auto !important;
}

body [data-aiedi-a11y-root].aiedi-a11y--bottom-left .aiedi-a11y__dialog,
body [data-aiedi-a11y-root].aiedi-a11y--top-left .aiedi-a11y__dialog {
	left: max(8px, env(safe-area-inset-left, 0px)) !important;
	right: auto !important;
}

body [data-aiedi-a11y-root] .aiedi-a11y__brand,
body [data-aiedi-a11y-root] .aiedi-a11y__brand-copy,
body [data-aiedi-a11y-root] .aiedi-a11y__level-copy,
body [data-aiedi-a11y-root] .aiedi-a11y__category,
body [data-aiedi-a11y-root] .aiedi-a11y__level-card {
	min-width: 0 !important;
}

body [data-aiedi-a11y-root] .aiedi-a11y__header {
	gap: clamp(8px, 2vw, 16px) !important;
	padding: clamp(12px, 2.4vw, 16px) clamp(10px, 2.8vw, 18px) !important;
}

body [data-aiedi-a11y-root] .aiedi-a11y__brand-logo-wrap {
	width: clamp(78px, 24vw, 104px) !important;
	padding: 5px 7px !important;
}

body [data-aiedi-a11y-root] .aiedi-a11y__title {
	font-size: clamp(15px, 4.3vw, 18px) !important;
	line-height: 1.16 !important;
}

body [data-aiedi-a11y-root] .aiedi-a11y__eyebrow {
	font-size: clamp(8px, 2.4vw, 10.5px) !important;
	line-height: 1.25 !important;
}

body [data-aiedi-a11y-root] .aiedi-a11y__content {
	padding: clamp(10px, 2.5vw, 14px) !important;
	overscroll-behavior: contain;
	-webkit-overflow-scrolling: touch;
}

body [data-aiedi-a11y-root] .aiedi-a11y__level-grid,
body [data-aiedi-a11y-root] .aiedi-a11y__choice-options {
	min-width: 0;
}

body [data-aiedi-a11y-root] :is(input, select, textarea, button) {
	max-width: 100%;
}

/* Phone / narrow tablet portrait. */
@media (max-width: 600px) {
	body [data-aiedi-a11y-root] .aiedi-a11y__dialog,
	html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__dialog {
		--aiedi-a11y-safe-top: max(4px, env(safe-area-inset-top, 0px));
		--aiedi-a11y-safe-right: max(4px, env(safe-area-inset-right, 0px));
		--aiedi-a11y-safe-bottom: max(4px, env(safe-area-inset-bottom, 0px));
		--aiedi-a11y-safe-left: max(4px, env(safe-area-inset-left, 0px));
		border-radius: 18px !important;
	}

	body [data-aiedi-a11y-root] .aiedi-a11y__header,
	html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__header {
		border-radius: 16px 16px 0 0 !important;
	}

	body [data-aiedi-a11y-root] .aiedi-a11y__footer {
		padding-left: 10px !important;
		padding-right: 10px !important;
		padding-bottom: max(10px, env(safe-area-inset-bottom, 0px)) !important;
	}
}

/* Very narrow phones: prefer one card per row to preserve labels and targets. */
@media (max-width: 350px) {
	body [data-aiedi-a11y-root] .aiedi-a11y__level-grid,
	body [data-aiedi-a11y-root] .aiedi-a11y__choice-options,
	body [data-aiedi-a11y-root] .aiedi-a11y__choice-options--position {
		grid-template-columns: minmax(0, 1fr) !important;
	}

	body [data-aiedi-a11y-root] .aiedi-a11y__header .aiedi-a11y__close {
		flex-basis: 40px !important;
		width: 40px !important;
		height: 40px !important;
		min-width: 40px !important;
		min-height: 40px !important;
	}
}

/* Short landscape screens: preserve controls, reduce chrome, keep content scrollable. */
@media (max-height: 600px) {
	body [data-aiedi-a11y-root] .aiedi-a11y__dialog {
		--aiedi-a11y-safe-top: max(3px, env(safe-area-inset-top, 0px));
		--aiedi-a11y-safe-bottom: max(3px, env(safe-area-inset-bottom, 0px));
	}

	body [data-aiedi-a11y-root] .aiedi-a11y__header {
		padding-top: 8px !important;
		padding-bottom: 8px !important;
	}

	body [data-aiedi-a11y-root] .aiedi-a11y__brand-logo-wrap {
		width: 72px !important;
	}

	body [data-aiedi-a11y-root] .aiedi-a11y__footer {
		padding-top: 8px !important;
		padding-bottom: max(8px, env(safe-area-inset-bottom, 0px)) !important;
	}
}

/* Large/HiDPI displays: cap line length and avoid oversized panel chrome. */
@media (min-width: 1600px) {
	body [data-aiedi-a11y-root] .aiedi-a11y__dialog {
		max-width: 460px !important;
	}
}


/* -------------------------------------------------------------------------
 * 2.8.11 — Scrollable subviews + robust assisted-reading actions
 * -------------------------------------------------------------------------
 * The main content area owns its scrollbar in the default panel. When a
 * declaration/report subview is open, that main content is hidden, so the
 * visible subview must become the flex scroll container instead.
 * ------------------------------------------------------------------------- */
body [data-aiedi-a11y-root] .aiedi-a11y__dialog--subview > .aiedi-a11y__subview:not([hidden]),
html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__dialog--subview > .aiedi-a11y__subview:not([hidden]) {
	display: block !important;
	flex: 1 1 auto !important;
	min-height: 0 !important;
	overflow-x: hidden !important;
	overflow-y: auto !important;
	overscroll-behavior: contain !important;
	scrollbar-gutter: stable !important;
	scrollbar-width: thin;
	scrollbar-color: #7A95A7 #E9EFF3;
}

body [data-aiedi-a11y-root] .aiedi-a11y__dialog--subview > .aiedi-a11y__subview:not([hidden]) .aiedi-a11y__subview-header,
html.aiedi-a11y-contrast-active body [data-aiedi-a11y-root] .aiedi-a11y__dialog--subview > .aiedi-a11y__subview:not([hidden]) .aiedi-a11y__subview-header {
	position: sticky !important;
	top: 0 !important;
	z-index: 4 !important;
}

body [data-aiedi-a11y-root] .aiedi-a11y__dialog--subview > .aiedi-a11y__subview:not([hidden])::-webkit-scrollbar {
	width: 10px;
}

body [data-aiedi-a11y-root] .aiedi-a11y__dialog--subview > .aiedi-a11y__subview:not([hidden])::-webkit-scrollbar-track {
	background: #E9EFF3;
	border-radius: 999px;
}

body [data-aiedi-a11y-root] .aiedi-a11y__dialog--subview > .aiedi-a11y__subview:not([hidden])::-webkit-scrollbar-thumb {
	background: #7A95A7;
	border: 2px solid #E9EFF3;
	border-radius: 999px;
}


/* -------------------------------------------------------------------------
 * 2.8.13 — Paint the launcher in the persisted corner before deferred JS.
 * -------------------------------------------------------------------------
 * The visitor position lives in localStorage while PHP only knows the admin
 * default. A synchronous bootstrap marks <html> before the launcher is parsed,
 * so the first painted frame already uses the persisted corner and there is
 * no top-left -> bottom-right jump while frontend.js is still loading.
 * ------------------------------------------------------------------------- */
html[data-aiedi-a11y-launcher-position="bottom-right"] body [data-aiedi-a11y-root] .aiedi-a11y__launcher {
	top: auto !important;
	right: 24px !important;
	bottom: 24px !important;
	left: auto !important;
}

html[data-aiedi-a11y-launcher-position="bottom-left"] body [data-aiedi-a11y-root] .aiedi-a11y__launcher {
	top: auto !important;
	right: auto !important;
	bottom: 24px !important;
	left: 24px !important;
}

html[data-aiedi-a11y-launcher-position="top-right"] body [data-aiedi-a11y-root] .aiedi-a11y__launcher {
	top: 24px !important;
	right: 24px !important;
	bottom: auto !important;
	left: auto !important;
}

html[data-aiedi-a11y-launcher-position="top-left"] body [data-aiedi-a11y-root] .aiedi-a11y__launcher {
	top: 24px !important;
	right: auto !important;
	bottom: auto !important;
	left: 24px !important;
}

@media (max-width: 560px) {
	html[data-aiedi-a11y-launcher-position="bottom-right"] body [data-aiedi-a11y-root] .aiedi-a11y__launcher,
	html[data-aiedi-a11y-launcher-position="top-right"] body [data-aiedi-a11y-root] .aiedi-a11y__launcher {
		right: 14px !important;
	}

	html[data-aiedi-a11y-launcher-position="bottom-left"] body [data-aiedi-a11y-root] .aiedi-a11y__launcher,
	html[data-aiedi-a11y-launcher-position="top-left"] body [data-aiedi-a11y-root] .aiedi-a11y__launcher {
		left: 14px !important;
	}

	html[data-aiedi-a11y-launcher-position="top-right"] body [data-aiedi-a11y-root] .aiedi-a11y__launcher,
	html[data-aiedi-a11y-launcher-position="top-left"] body [data-aiedi-a11y-root] .aiedi-a11y__launcher {
		top: 14px !important;
	}

	html[data-aiedi-a11y-launcher-position="bottom-right"] body [data-aiedi-a11y-root] .aiedi-a11y__launcher,
	html[data-aiedi-a11y-launcher-position="bottom-left"] body [data-aiedi-a11y-root] .aiedi-a11y__launcher {
		bottom: 14px !important;
	}
}




/* -------------------------------------------------------------------------
 * 2.8.25 — frontend contrast + sticky-header compatibility hardening.
 * -------------------------------------------------------------------------
 * WCAG 2.2 AA: UI component boundaries/states that convey the control need
 * at least 3:1 against adjacent colours (SC 1.4.11). These final overrides
 * also keep the launcher focus visible independently of the site palette.
 */
body [data-aiedi-a11y-root] .aiedi-a11y__assistance-info {
	border-color: #74838C !important;
	background: #FFFFFF !important;
	color: #17313D !important;
}

body [data-aiedi-a11y-root] .aiedi-a11y__youtube-volume {
	border-color: #74838C !important;
}

body [data-aiedi-a11y-root] .aiedi-a11y__content::-webkit-scrollbar-thumb,
body [data-aiedi-a11y-root] .aiedi-a11y__dialog--subview > .aiedi-a11y__subview:not([hidden])::-webkit-scrollbar-thumb {
	background: #627987 !important;
	border-color: #E9EFF3 !important;
}

body [data-aiedi-a11y-root] .aiedi-a11y__dialog--subview > .aiedi-a11y__subview:not([hidden]) {
	scrollbar-color: #627987 #E9EFF3;
}

body [data-aiedi-a11y-root] .aiedi-a11y__launcher:focus-visible,
body [data-aiedi-a11y-root] .aiedi-a11y__skip-link:focus-visible {
	outline: 3px solid #FFFFFF !important;
	outline-offset: 2px !important;
	box-shadow: 0 0 0 6px #102731 !important;
}
