:root {
	--hz52-a11y-launcher: Highlight;
	--hz52-a11y-accent: Highlight;
	--hz52-a11y-panel: Canvas;
	--hz52-a11y-text: CanvasText;
	--hz52-a11y-radius: 1.25rem;
}

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

.hz52-a11y-widget {
	position: fixed;
	right: max(1rem, env(safe-area-inset-right));
	bottom: max(1rem, env(safe-area-inset-bottom));
	z-index: 999999;
	color: var(--hz52-a11y-text);
	font-family: inherit;
	font-size: 16px;
	font-style: normal;
	font-weight: 400;
	line-height: 1.45;
	letter-spacing: normal;
	text-align: left;
	text-transform: none;
	word-spacing: normal;
}

.hz52-a11y-widget.hz52-a11y-left {
	right: auto;
	left: max(1rem, env(safe-area-inset-left));
}

.hz52-a11y-widget button,
.hz52-a11y-widget input {
	font: inherit;
}

.hz52-a11y-widget button {
	min-width: 0;
	min-height: 0;
	margin: 0;
	text-decoration: none;
}

.hz52-a11y-icon {
	display: block;
	width: 1.45rem;
	height: 1.45rem;
	fill: none;
	stroke: currentColor;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.hz52-a11y-launcher {
	position: relative;
	z-index: 3;
	width: 3.6rem;
	height: 3.6rem;
	display: grid;
	place-items: center;
	padding: 0;
	border: 0 !important;
	border-radius: 50% !important;
	color: var(--hz52-a11y-text);
	background: var(--hz52-a11y-launcher) !important;
	box-shadow: 0 12px 35px rgba(0, 0, 0, .25) !important;
	cursor: pointer;
	transition: transform .2s ease, background .2s ease;
}

.hz52-a11y-launcher:hover,
.hz52-a11y-launcher:focus-visible {
	background: var(--hz52-a11y-accent) !important;
	transform: translateY(-2px);
}

.hz52-a11y-launcher .hz52-a11y-icon {
	width: 1.8rem;
	height: 1.8rem;
	stroke-width: 1.8;
}

.hz52-a11y-quick {
	position: absolute;
	right: 0;
	bottom: 0;
	z-index: 2;
	width: 3.6rem;
	display: grid;
	gap: .25rem;
	padding: .4rem .35rem 4.05rem;
	border-radius: 999px;
	background: var(--hz52-a11y-launcher);
	box-shadow: 0 12px 35px rgba(0, 0, 0, .22);
	opacity: 0;
	pointer-events: none;
	transform: scale(.72);
	transform-origin: bottom;
	transition: opacity .2s ease, transform .25s ease;
}

.hz52-a11y-left .hz52-a11y-quick {
	right: auto;
	left: 0;
}

.hz52-a11y-widget.hz52-a11y-quick-open .hz52-a11y-quick {
	opacity: 1;
	pointer-events: auto;
	transform: scale(1);
}

.hz52-a11y-quick-action {
	width: 2.9rem;
	height: 2.9rem;
	display: grid;
	place-items: center;
	padding: 0;
	border: 0 !important;
	border-radius: 50% !important;
	color: var(--hz52-a11y-text);
	background: transparent !important;
	box-shadow: none !important;
	cursor: pointer;
}

.hz52-a11y-quick-action:hover,
.hz52-a11y-quick-action:focus-visible,
.hz52-a11y-quick-action[aria-pressed="true"],
.hz52-a11y-quick-action[aria-expanded="true"] {
	background: var(--hz52-a11y-accent) !important;
}

.hz52-a11y-quick-transparent .hz52-a11y-quick,
.hz52-a11y-quick-adapt-transparent .hz52-a11y-quick {
	padding-right: 0;
	padding-left: 0;
	background: transparent;
	box-shadow: none;
}

.hz52-a11y-panel {
	position: absolute;
	right: 4.5rem;
	bottom: 0;
	width: min(390px, calc(100vw - 6.5rem));
	max-height: min(720px, calc(100dvh - 2rem));
	overflow: auto;
	overscroll-behavior: contain;
	padding: 1.5rem;
	border: 0;
	border-radius: var(--hz52-a11y-radius);
	color: var(--hz52-a11y-text);
	background: var(--hz52-a11y-panel);
	box-shadow: 0 24px 80px rgba(0, 0, 0, .28);
	transform-origin: bottom right;
	animation: hz52-a11y-panel-in .22s ease-out;
	scrollbar-width: thin;
}

.hz52-a11y-left .hz52-a11y-panel {
	right: auto;
	left: 4.5rem;
	transform-origin: bottom left;
}

.hz52-a11y-panel[hidden],
.hz52-a11y-size-popover[hidden],
.hz52-a11y-tooltip[hidden] {
	display: none !important;
}

@keyframes hz52-a11y-panel-in {
	from { opacity: 0; transform: translateY(12px) scale(.96); }
}

.hz52-a11y-panel-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding-bottom: 1rem;
	border-bottom: 1px solid color-mix(in srgb, var(--hz52-a11y-text) 18%, transparent);
}

.hz52-a11y-panel-header h2 {
	margin: 0;
	padding: 0;
	border: 0;
	color: inherit;
	font: inherit;
	font-size: 1.65rem;
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: -.03em;
	text-transform: none;
}

.hz52-a11y-panel-close,
.hz52-a11y-text-size button {
	display: inline-grid;
	place-items: center;
	padding: 0;
	border: 0;
	border-radius: 50%;
	color: var(--hz52-a11y-panel);
	background: var(--hz52-a11y-text);
	cursor: pointer;
}

.hz52-a11y-panel-close {
	flex: 0 0 auto;
	width: 2.75rem;
	height: 2.75rem;
}

.hz52-a11y-group {
	padding: 1.15rem 0;
	border-bottom: 1px solid color-mix(in srgb, var(--hz52-a11y-text) 14%, transparent);
}

.hz52-a11y-group h3 {
	margin: 0 0 .7rem;
	padding: 0;
	border: 0;
	color: color-mix(in srgb, var(--hz52-a11y-text) 72%, var(--hz52-a11y-panel));
	font: inherit;
	font-size: .76rem;
	font-weight: 700;
	line-height: 1;
	letter-spacing: .13em;
	text-transform: uppercase;
}

.hz52-a11y-option {
	position: relative;
	min-height: 2.65rem;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	margin: 0;
	color: inherit;
	font-size: .86rem;
	font-weight: 650;
	line-height: 1.25;
	letter-spacing: .04em;
	text-transform: uppercase;
	cursor: pointer;
}

.hz52-a11y-option input {
	position: absolute;
	right: 0;
	width: 2.75rem;
	height: 1.7rem;
	margin: 0;
	opacity: 0;
	cursor: pointer;
}

.hz52-a11y-switch {
	position: relative;
	flex: 0 0 auto;
	width: 2.75rem;
	height: 1.55rem;
	padding: .18rem;
	border: 2px solid color-mix(in srgb, var(--hz52-a11y-text) 55%, var(--hz52-a11y-panel));
	border-radius: 999px;
	background: var(--hz52-a11y-panel);
	transition: background .2s ease, border-color .2s ease;
}

.hz52-a11y-switch::after {
	content: "";
	display: block;
	width: .95rem;
	height: .95rem;
	border-radius: 50%;
	background: color-mix(in srgb, var(--hz52-a11y-text) 55%, var(--hz52-a11y-panel));
	transition: transform .2s ease, background .2s ease;
}

.hz52-a11y-option input:checked + .hz52-a11y-switch {
	border-color: var(--hz52-a11y-accent);
	background: var(--hz52-a11y-accent);
}

.hz52-a11y-option input:checked + .hz52-a11y-switch::after {
	background: var(--hz52-a11y-text);
	transform: translateX(1.15rem);
}

.hz52-a11y-option input:focus-visible + .hz52-a11y-switch,
.hz52-a11y-widget button:focus-visible {
	outline: 3px solid var(--hz52-a11y-text) !important;
	outline-offset: 3px !important;
	box-shadow: 0 0 0 3px var(--hz52-a11y-panel) !important;
}

.hz52-a11y-text-size {
	display: grid;
	grid-template-columns: 2.75rem 1fr 2.75rem;
	align-items: center;
	gap: .65rem;
	margin-bottom: .35rem;
}

.hz52-a11y-text-size button {
	width: 2.75rem;
	height: 2.75rem;
}

.hz52-a11y-text-size button:hover:not(:disabled) {
	color: var(--hz52-a11y-text);
	background: var(--hz52-a11y-accent);
}

.hz52-a11y-text-size button:disabled {
	opacity: .42;
	cursor: not-allowed;
}

.hz52-a11y-text-size output {
	color: inherit;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1;
	text-align: center;
}

.hz52-a11y-size-popover {
	position: absolute;
	right: calc(100% + .7rem);
	bottom: 7.55rem;
	width: min(13rem, calc(100vw - 6.5rem));
	padding: 1rem;
	border-radius: 1rem;
	color: var(--hz52-a11y-text);
	background: var(--hz52-a11y-panel);
	box-shadow: 0 12px 35px rgba(0, 0, 0, .24);
}

.hz52-a11y-left .hz52-a11y-size-popover {
	right: auto;
	left: calc(100% + .7rem);
}

.hz52-a11y-size-label {
	display: block;
	margin-bottom: .75rem;
	font-size: .85rem;
	font-weight: 650;
}

.hz52-a11y-reset {
	width: 100%;
	margin: 1.25rem 0 0;
	padding: .9rem 1rem;
	border: 2px solid var(--hz52-a11y-text);
	border-radius: 999px;
	color: var(--hz52-a11y-text);
	background: transparent;
	font-size: .78rem !important;
	font-weight: 700 !important;
	line-height: 1 !important;
	letter-spacing: .06em;
	text-transform: uppercase;
	cursor: pointer;
}

.hz52-a11y-reset:hover,
.hz52-a11y-reset:focus-visible {
	color: var(--hz52-a11y-panel);
	background: var(--hz52-a11y-text);
}

.hz52-a11y-status {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.hz52-a11y-tooltip {
	position: fixed;
	z-index: 1000000;
	max-width: min(15rem, calc(100vw - 2rem));
	padding: .5rem .7rem;
	border: 1px solid #fff;
	border-radius: .5rem;
	color: #fff;
	background: #081f2c;
	box-shadow: 0 4px 16px rgba(0, 0, 0, .2);
	font: 500 .8rem/1.4 Arial, sans-serif;
}

html.hz52-a11y-reduce-motion {
	scroll-behavior: auto !important;
}

html.hz52-a11y-reduce-motion *:not(.hz52-a11y-widget):not(.hz52-a11y-widget *),
html.hz52-a11y-reduce-motion *::before,
html.hz52-a11y-reduce-motion *::after {
	animation-duration: .01ms !important;
	animation-iteration-count: 1 !important;
	transition-duration: .01ms !important;
}

html.hz52-a11y-pause-animations *:not(.hz52-a11y-widget):not(.hz52-a11y-widget *) {
	animation-play-state: paused !important;
}

html.hz52-a11y-increase-contrast { --hz52-a11y-page-contrast: 1.3; }
html.hz52-a11y-reduce-contrast { --hz52-a11y-page-contrast: .78; }
html.hz52-a11y-grayscale { --hz52-a11y-page-grayscale: 1; }

html.hz52-a11y-increase-contrast body > :not(.hz52-a11y-widget),
html.hz52-a11y-reduce-contrast body > :not(.hz52-a11y-widget),
html.hz52-a11y-grayscale body > :not(.hz52-a11y-widget) {
	filter: grayscale(var(--hz52-a11y-page-grayscale, 0)) contrast(var(--hz52-a11y-page-contrast, 1)) !important;
}

html.hz52-a11y-underline-links a:not(.hz52-a11y-widget a) {
	text-decoration: underline !important;
	text-decoration-thickness: 2px !important;
	text-underline-offset: .2em !important;
}

html.hz52-a11y-highlight-links a:not(.hz52-a11y-widget a) {
	color: var(--hz52-a11y-text) !important;
	background: var(--hz52-a11y-accent) !important;
	box-shadow: 0 0 0 3px var(--hz52-a11y-accent) !important;
}

html.hz52-a11y-text-spacing body {
	line-height: 1.9 !important;
	letter-spacing: .065em !important;
	word-spacing: .12em !important;
}

html.hz52-a11y-text-spacing h1,
html.hz52-a11y-text-spacing h2,
html.hz52-a11y-text-spacing h3,
html.hz52-a11y-text-spacing h4,
html.hz52-a11y-text-spacing h5,
html.hz52-a11y-text-spacing h6 {
	line-height: 1.25 !important;
	letter-spacing: .01em !important;
}

html.hz52-a11y-readable-font body,
html.hz52-a11y-readable-font button,
html.hz52-a11y-readable-font input,
html.hz52-a11y-readable-font select,
html.hz52-a11y-readable-font textarea {
	font-family: Arial, Helvetica, sans-serif !important;
}

html.hz52-a11y-enhanced-focus :focus-visible {
	outline: 5px solid var(--hz52-a11y-accent) !important;
	outline-offset: 5px !important;
	box-shadow: 0 0 0 3px var(--hz52-a11y-text) !important;
}

html.hz52-a11y-hide-background-images body *:not(.hz52-a11y-widget):not(.hz52-a11y-widget *) {
	background-image: none !important;
}

@media (max-width: 600px) {
	.hz52-a11y-widget {
		right: max(.75rem, env(safe-area-inset-right));
		bottom: max(.75rem, env(safe-area-inset-bottom));
	}

	.hz52-a11y-widget.hz52-a11y-left {
		right: auto;
		left: max(.75rem, env(safe-area-inset-left));
	}

	.hz52-a11y-panel,
	.hz52-a11y-left .hz52-a11y-panel {
		position: fixed;
		right: 1rem;
		bottom: 5.25rem;
		left: 1rem;
		width: auto;
		max-height: calc(100dvh - 6.5rem);
		transform-origin: bottom center;
	}

	.hz52-a11y-panel {
		padding: 1.25rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.hz52-a11y-widget,
	.hz52-a11y-widget * {
		scroll-behavior: auto !important;
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: .01ms !important;
	}
}

@media (forced-colors: active) {
	.hz52-a11y-launcher,
	.hz52-a11y-quick,
	.hz52-a11y-panel,
	.hz52-a11y-panel-close,
	.hz52-a11y-text-size button {
		forced-color-adjust: auto;
		border: 1px solid ButtonText;
	}
}

