.codex-menu {
	--codex-menu-bg: #8c3628;
	--codex-menu-bg-dark: #6e241c;
	--codex-menu-surface: #ffffff;
	--codex-menu-surface-soft: #f7f1ed;
	--codex-menu-text: #1d1d1d;
	--codex-menu-text-on-dark: #fff9f5;
	--codex-menu-border: rgba(32, 17, 12, 0.08);
	--codex-menu-shadow: 0 18px 40px rgba(41, 18, 12, 0.18);
	--codex-menu-radius: 22px;
	--codex-menu-primary-icon-box: calc(var(--codex-menu-custom-primary-icon-size, 1.7rem) * 1.85);
	--codex-menu-submenu-icon-box: calc(var(--codex-menu-custom-submenu-icon-size, 0.9rem) * 1.9);
	--codex-menu-submenu-indent-step: calc(var(--codex-menu-submenu-icon-box) + 0.55rem);
	position: relative;
	z-index: 50;
	overflow: visible;
}

html.codex-menu-present,
body.codex-menu-present {
	overflow-x: clip;
}

.codex-menu--sticky {
	position: sticky;
	top: 0;
	transition: transform 220ms ease;
}

body.admin-bar .codex-menu--sticky {
	top: var(--codex-menu-admin-bar-offset, 32px);
}

.codex-menu--sticky.is-touch-fixed {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	width: 100%;
}

body.admin-bar .codex-menu--sticky.is-touch-fixed {
	top: var(--codex-menu-admin-bar-offset, 32px);
}

.codex-menu--sticky.is-mobile-menu-open {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	width: 100%;
	transform: none;
	transition: none;
}

.codex-menu__sticky-placeholder {
	display: block;
	width: 100%;
	pointer-events: none;
}

body.admin-bar .codex-menu--sticky.is-mobile-menu-open {
	top: var(--codex-menu-admin-bar-offset, 32px);
}

.codex-menu--sticky.is-natural-scroll:not(.is-mobile-menu-open) {
	position: relative;
	top: auto;
	transform: none;
	transition: none;
}

.codex-menu--sticky.is-transition-suppressed {
	transition: none;
}

.codex-menu--sticky.is-scroll-hidden:not(.is-mobile-menu-open) {
	transform: translateY(calc(-100% - 1px));
}

@media (prefers-reduced-motion: reduce) {
	.codex-menu--sticky {
		transition: none;
	}
}

html.codex-menu-lock,
body.codex-menu-lock {
	overflow: hidden;
}

.codex-menu *,
.codex-menu *::before,
.codex-menu *::after {
	box-sizing: border-box;
}

.codex-menu a,
.codex-menu button {
	position: relative;
	font-family: inherit;
}

.codex-menu a:focus-visible,
.codex-menu button:focus-visible {
	outline: none;
	box-shadow: 0 0 0 3px #000000;
	border-radius: 8px;
	z-index: 3;
}

.codex-menu__bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding: 1rem 1rem 1rem 1.25rem;
	background: var(--codex-menu-mobile-primary-bg, transparent);
	color: var(--codex-menu-text-on-dark);
}

.codex-menu__brand {
	font-size: 1rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.codex-menu__brand-link {
	display: inline-flex;
	align-items: center;
	color: inherit;
	text-decoration: none;
}

.codex-menu__brand-link:hover,
.codex-menu__brand-link:focus-visible {
	color: inherit;
	text-decoration: none;
}

.codex-menu__brand-logo {
	display: block;
	width: auto;
	max-width: min(12rem, 55vw);
	max-height: 3rem;
	object-fit: contain;
}

.codex-menu__toggle,
.codex-menu__drawer-close,
.codex-menu__primary-button,
.codex-menu__mobile-toggle {
	cursor: pointer;
}

.codex-menu__toggle {
	display: inline-flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 0.3rem;
	width: 3rem;
	height: 3rem;
	border: 0;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.08);
	padding: 0;
}

.codex-menu__toggle-line {
	display: block;
	width: 1.2rem;
	height: 2px;
	background: var(--codex-menu-custom-primary-link-color, var(--codex-menu-text-on-dark));
}

.codex-menu__desktop {
	display: none;
	background: var(--codex-menu-custom-primary-bg, transparent);
	box-shadow: none;
	position: relative;
	z-index: 30;
	overflow: visible;
}

.codex-menu__desktop::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 3;
	pointer-events: none;
	background: var(--codex-menu-custom-primary-bg, transparent);
}

.codex-menu__desktop-bar {
	display: flex;
	align-items: stretch;
	justify-content: space-between;
	gap: 0;
	width: min(100%, var(--codex-menu-desktop-bar-width, 100%));
	margin: 0 auto;
	position: relative;
	z-index: 4;
	background: transparent;
	box-shadow: none;
}

.codex-menu.is-desktop-menu-open .codex-menu__desktop-bar {
	width: var(--codex-menu-open-desktop-bar-width, 100%);
	margin-right: 0;
	margin-left: var(--codex-menu-open-desktop-bar-left, 0);
}

.codex-menu__desktop-brand {
	display: flex;
	align-items: center;
	flex: 0 0 auto;
	padding: 0 1.25rem;
	color: var(--codex-menu-custom-primary-link-color, var(--codex-menu-text-on-dark));
}

.codex-menu__primary-list {
	display: flex;
	align-items: stretch;
	justify-content: var(--codex-menu-primary-list-justify, center);
	flex: 1 1 auto;
	gap: 0;
	list-style: none;
	margin: 0;
	padding: 0;
	position: relative;
	z-index: 2;
	background: transparent;
	box-shadow: none;
}

.codex-menu__primary-item {
	flex: 0 1 auto;
	max-width: none;
}

.codex-menu__page-content {
	min-width: 0;
}

.codex-menu__page-content > :first-child {
	margin-top: 0;
}

.codex-menu__page-content > :last-child {
	margin-bottom: 0;
}

.codex-menu__page-content--card,
.codex-menu__page-content--child,
.codex-menu__page-content--mobile {
	flex: 1 1 auto;
	width: 100%;
}

.codex-menu__page-content--mobile {
	padding: 0.8rem 0.25rem;
}

.codex-menu__primary-button,
.codex-menu__primary-link {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.85rem;
	width: 100%;
	min-height: 0;
	padding:
		var(--codex-menu-custom-primary-link-padding-y, 1rem)
		var(--codex-menu-custom-primary-link-padding-x, 1.25rem);
	border: 0;
	background: transparent;
	color: var(--codex-menu-custom-primary-link-color, var(--codex-menu-text-on-dark));
	text-decoration: none;
	font-size: var(--codex-menu-custom-primary-link-size, 1.15rem);
	font-weight: 600;
	line-height: var(--codex-menu-custom-primary-link-line-height, normal);
	transition: background-color 0.2s ease, transform 0.2s ease;
}

.codex-menu__primary-button::after,
.codex-menu__primary-link::after {
	content: none;
}

.codex-menu__primary-link:hover .codex-menu__primary-label,
.codex-menu__primary-button:hover .codex-menu__primary-label {
	text-decoration: var(--codex-menu-primary-link-hover-decoration, none);
}

.codex-menu__card-link:hover .codex-menu__card-title,
.codex-menu__card-child-row > a:hover .codex-menu__link-label {
	text-decoration: var(--codex-menu-link-hover-decoration, none);
}

.codex-menu__mobile-link:hover,
.codex-menu__mobile-link:hover .codex-menu__link-label {
	text-decoration: none;
}

.codex-menu__primary-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	position: relative;
	width: var(--codex-menu-primary-icon-box);
	height: var(--codex-menu-primary-icon-box);
	min-width: var(--codex-menu-primary-icon-box);
	flex: 0 0 var(--codex-menu-primary-icon-box);
	font-size: var(--codex-menu-custom-primary-icon-size, 1.7rem);
	line-height: 1;
	color: var(--codex-menu-custom-primary-icon-color, var(--codex-menu-text-on-dark));
}

.codex-menu__desktop .codex-menu__primary-icon {
	display: var(--codex-menu-desktop-primary-icons-display, inline-flex);
}

.codex-menu__primary-icon::before {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: 999px;
	background: var(--codex-menu-custom-primary-icon-bg, transparent);
	z-index: 0;
}

.codex-menu__primary-label {
	display: block;
	min-width: 0;
	flex: 0 1 auto;
	line-height: var(--codex-menu-custom-primary-link-line-height, normal);
	text-align: center;
}

/* Avoid calc() here because some CSS optimizers remove its required operator whitespace. */
.codex-menu__primary-icon,
.codex-menu__primary-label {
	margin-top: var(--codex-menu-custom-primary-title-padding-top, 0px);
}

.codex-menu__primary-icon i,
.codex-menu__card-icon i,
.codex-menu__link-icon i,
.codex-menu__mobile-icon i {
	display: inline-block;
	position: relative;
	z-index: 1;
	line-height: 1;
	--fa-secondary-opacity: 0;
	--fa-primary-opacity: 1;
}

.codex-menu__primary-icon > .svg-inline--fa,
.codex-menu__card-icon > .svg-inline--fa,
.codex-menu__link-icon > .svg-inline--fa,
.codex-menu__mobile-icon > .svg-inline--fa {
	display: block;
	width: 1em;
	height: 1em;
	flex: 0 0 1em;
}

.codex-menu__link-icon,
.codex-menu__mobile-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	position: relative;
	width: var(--codex-menu-submenu-icon-box);
	height: var(--codex-menu-submenu-icon-box);
	min-width: var(--codex-menu-submenu-icon-box);
	flex: 0 0 var(--codex-menu-submenu-icon-box);
	font-size: var(--codex-menu-custom-submenu-icon-size, 0.9rem);
	line-height: 1;
	color: var(--codex-menu-custom-submenu-icon-color, var(--codex-menu-bg-dark));
	align-self: center;
	margin-top: 0;
	padding-top: 0;
}

.codex-menu__link-icon::before,
.codex-menu__mobile-icon::before {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: 999px;
	background: var(--codex-menu-custom-submenu-icon-bg, transparent);
	z-index: 0;
}

.codex-menu__link-label {
	all: unset;
	display: block;
	min-width: 0;
	margin: 0;
	color: var(--codex-menu-custom-submenu-title-color, var(--codex-menu-bg-dark));
	font-size: var(--codex-menu-custom-submenu-title-size, 1em);
	font-weight: var(--codex-menu-custom-submenu-title-weight, 700) !important;
	line-height: var(--codex-menu-custom-submenu-title-line-height, normal);
}

.codex-menu__link-summary {
	all: unset;
	display: block;
	margin-top: 0;
	color: var(--codex-menu-custom-submenu-summary-color, #000000);
	font-size: var(--codex-menu-custom-submenu-summary-size, inherit);
	font-weight: var(--codex-menu-custom-submenu-summary-weight, 300);
	line-height: var(--codex-menu-custom-submenu-summary-line-height, normal);
	text-wrap: pretty;
	font-style: normal;
	text-transform: none;
}

.codex-menu__card-child-row > a > .codex-menu__link-content > .codex-menu__link-label,
.codex-menu__mobile-link > .codex-menu__link-content > .codex-menu__link-label {
	color: var(--codex-menu-custom-submenu-title-color, var(--codex-menu-bg-dark));
	font-weight: var(--codex-menu-custom-submenu-title-weight, 600) !important;
}

.codex-menu__card-child-row > a > .codex-menu__link-summary,
.codex-menu__mobile-link > .codex-menu__link-summary {
	display: block !important;
	margin-top: 0 !important;
	color: var(--codex-menu-custom-submenu-summary-color, #000000) !important;
	font-size: var(--codex-menu-custom-submenu-summary-size, inherit) !important;
	font-weight: var(--codex-menu-custom-submenu-summary-weight, 300) !important;
	line-height: var(--codex-menu-custom-submenu-summary-line-height, normal) !important;
	text-decoration: none !important;
}

.codex-menu__panels {
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	z-index: 2;
	pointer-events: none;
	background: transparent;
	overflow: visible;
}

.codex-menu__panel {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	max-width: min(var(--codex-menu-panel-max-width, 1100px), calc(100vw - 3rem));
	margin: 0 auto;
	padding: 0;
	background: var(--codex-menu-panel-surface, var(--codex-menu-surface));
	border-radius: 0 0 var(--codex-menu-panel-radius, var(--codex-menu-radius)) var(--codex-menu-panel-radius, var(--codex-menu-radius));
	border-bottom-right-radius: var(--codex-menu-panel-radius, var(--codex-menu-radius));
	border-bottom-left-radius: var(--codex-menu-panel-radius, var(--codex-menu-radius));
	overflow: hidden;
	isolation: isolate;
	box-shadow: var(--codex-menu-shadow);
	visibility: hidden;
	transform: translateY(-100%);
	transition:
		transform 0.3s ease,
		visibility 0s linear 0.3s;
}

.codex-menu__panel[hidden] {
	display: none !important;
}

.codex-menu__panel.is-open {
	position: relative;
	pointer-events: auto;
	visibility: visible;
	transform: translateY(0);
	transition-delay: 0s;
}

.codex-menu__panel-grid {
	display: grid;
	grid-template-columns: var(--codex-menu-panel-grid-columns-large, repeat(2, minmax(0, 1fr)));
	gap: 1px;
	padding: 0;
	background: var(--codex-menu-panel-surface, var(--codex-menu-surface));
	border-radius: 0 0 var(--codex-menu-panel-radius, var(--codex-menu-radius)) var(--codex-menu-panel-radius, var(--codex-menu-radius));
	border-bottom-right-radius: var(--codex-menu-panel-radius, var(--codex-menu-radius));
	border-bottom-left-radius: var(--codex-menu-panel-radius, var(--codex-menu-radius));
	overflow: hidden;
}

.codex-menu__card {
	padding: 1.5rem;
	padding-bottom: calc(1.5rem + var(--codex-menu-custom-title-padding-top, 0));
	background: var(--codex-menu-panel-surface, var(--codex-menu-surface));
	box-shadow:
		1px 0 0 var(--codex-menu-desktop-separator-color, var(--codex-menu-border)),
		0 1px 0 var(--codex-menu-desktop-separator-color, var(--codex-menu-border));
	transition: background-color 0.5s ease;
}

.codex-menu__card-link {
	display: grid;
	gap: 0;
	color: var(--codex-menu-text);
	text-decoration: none;
}

.codex-menu__card-link[aria-current="page"],
.codex-menu__card-child-row > a[aria-current="page"],
.codex-menu__mobile-link[aria-current="page"],
.codex-menu__primary-link[aria-current="page"] {
	text-decoration: none;
}

.codex-menu__primary-link[aria-current="page"] .codex-menu__primary-icon::before {
	background: var(--codex-menu-active-link-bg, var(--codex-menu-custom-primary-icon-bg, transparent));
}

.codex-menu__card-link[aria-current="page"] .codex-menu__card-icon::before {
	background: var(--codex-menu-active-link-bg, var(--codex-menu-custom-icon-bg, transparent));
}

.codex-menu__card.is-active:not(:hover):not(:has(:focus-visible)) {
	background: var(--codex-menu-panel-surface, var(--codex-menu-surface)) !important;
	border-radius: 0 !important;
}

.codex-menu__card-link[aria-current="page"] {
	background: transparent !important;
	border-radius: 0 !important;
}

.codex-menu__card-child-row > a[aria-current="page"],
.codex-menu__mobile-link[aria-current="page"] {
	background: transparent;
	border-radius: 0;
}

.codex-menu__card-child-row > a[aria-current="page"] .codex-menu__link-icon,
.codex-menu__mobile-link[aria-current="page"] .codex-menu__mobile-icon {
	background: transparent;
}

.codex-menu__card-child-row > a[aria-current="page"] .codex-menu__link-icon::before,
.codex-menu__mobile-link[aria-current="page"] .codex-menu__mobile-icon::before {
	background: var(--codex-menu-active-link-bg, var(--codex-menu-custom-submenu-icon-bg, transparent));
}

.codex-menu__primary-link[aria-current="page"] .codex-menu__primary-icon,
.codex-menu__card-link[aria-current="page"] .codex-menu__card-icon,
.codex-menu__card-child-row > a[aria-current="page"] .codex-menu__link-icon,
.codex-menu__mobile-link[aria-current="page"] .codex-menu__mobile-icon {
	color: var(--codex-menu-active-link-icon-color, inherit);
}

.codex-menu__card-head {
	display: flex;
	align-items: center;
	gap: 0.9rem;
}

.codex-menu__card-head .codex-menu__card-link {
	flex: 1 1 0%;
	display: block;
	min-width: 0;
	width: 100%;
}

.codex-menu__card-title-row {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	align-items: center;
	gap: 0.7rem;
	min-width: 0;
	padding-top: var(--codex-menu-custom-title-padding-top, 0);
	padding-bottom: var(--codex-menu-custom-title-padding-bottom, 0);
}

.codex-menu__card-title {
	display: block;
	min-width: 0;
	color: var(--codex-menu-custom-title-color, var(--codex-menu-text));
	font-size: var(--codex-menu-custom-title-size, 1.35rem);
	font-weight: var(--codex-menu-custom-title-weight, 700);
	line-height: var(--codex-menu-custom-title-line-height, normal);
}

.codex-menu__card-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	position: relative;
	width: 1.85em;
	height: 1.85em;
	min-width: 1.85em;
	flex: 0 0 1.85em;
	font-size: var(--codex-menu-custom-icon-size, 1.7rem);
	line-height: 1;
	color: var(--codex-menu-custom-icon-color, var(--codex-menu-bg-dark));
}

.codex-menu__card-icon::before {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: 999px;
	background: var(--codex-menu-custom-icon-bg, transparent);
	z-index: 0;
}

.codex-menu__card-summary {
	display: block;
	color: var(--codex-menu-custom-summary-color, #5a4b46);
	font-size: var(--codex-menu-custom-summary-size, 1rem);
	font-weight: var(--codex-menu-custom-summary-weight, 400);
	line-height: var(--codex-menu-custom-summary-line-height, normal);
	padding-bottom: var(--codex-menu-custom-summary-padding-bottom, 0);
}

.codex-menu__card:hover,
.codex-menu__card-child-row:hover,
.codex-menu__card:has(:focus-visible),
.codex-menu__card-child-row:has(:focus-visible),
.codex-menu__mobile-row:has(:focus-visible) {
	background: var(--codex-menu-link-hover-bg, transparent);
}

.codex-menu__card:has(> .codex-menu__card-head > .codex-menu__card-toggle[aria-expanded="true"]) {
	background: var(--codex-menu-expanded-branch-bg, var(--codex-menu-panel-surface, var(--codex-menu-surface))) !important;
}

.codex-menu__drawer-body > .codex-menu__mobile-list > .codex-menu__mobile-item:has(> .codex-menu__mobile-row > .codex-menu__mobile-toggle[aria-expanded="true"]) {
	margin-inline: calc(var(--codex-menu-drawer-inline-padding, 1rem) * -1);
	margin-top: -1px;
	padding-inline: var(--codex-menu-drawer-inline-padding, 1rem);
	border-top: 1px solid var(--codex-menu-mobile-separator-color, var(--codex-menu-border));
	border-bottom: 1px solid var(--codex-menu-mobile-separator-color, var(--codex-menu-border));
	background: var(--codex-menu-expanded-branch-bg, transparent);
	transition: background-color 0.28s ease;
}

.codex-menu__card:has(> .codex-menu__card-head > .codex-menu__card-toggle[aria-expanded="true"]) .codex-menu__card-child-row:hover {
	background: transparent;
}

.codex-menu__card-children {
	display: flex;
	flex-direction: column;
	gap: 0;
	list-style: none;
	margin: 0;
	padding: 0;
}

.codex-menu__card-child a {
	color: var(--codex-menu-bg-dark);
	font-weight: 600;
	text-decoration: none;
}

.codex-menu__card-child {
	display: block;
	width: 100%;
	margin: 0;
	padding-top: 0;
	padding-bottom: 0;
}

.codex-menu__card-child + .codex-menu__card-child {
	margin-top: 0;
}

.codex-menu__card-child-row {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: start;
	gap: 0.75rem;
	min-height: 0;
	transition: background-color 0.5s ease;
	padding:
		var(--codex-menu-custom-submenu-item-padding-y, 0)
		0.25rem;
	margin-left: 0;
	margin-right: 0;
}

.codex-menu__card-child-row > a {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	align-items: start;
	column-gap: 0.55rem;
	line-height: normal;
	margin: 0;
	min-width: 0;
	flex: 1 1 0%;
	width: 100%;
}

.codex-menu__card-child-row > a > .codex-menu__link-icon {
	align-self: center;
}

.codex-menu__card-child-row > a > .codex-menu__link-content {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.codex-menu__card-child-row > a > .codex-menu__link-content > .codex-menu__link-label {
	display: block;
	min-width: 0;
}

.codex-menu__card-child-row > a > .codex-menu__link-content > .codex-menu__link-summary {
	display: block;
	padding-top: var(--codex-menu-custom-submenu-summary-padding-top, 0);
}

.codex-menu__card-child-row > a:not(:has(.codex-menu__link-summary)) {
	align-items: center;
}

.codex-menu__card-child-row > a:not(:has(.codex-menu__link-summary)) > .codex-menu__link-content {
	justify-content: center;
}

.codex-menu__card-child-row > a:not(:has(.codex-menu__link-summary)) > .codex-menu__link-icon {
	align-self: center;
}

.codex-menu__card-child-row:not(:has(.codex-menu__link-summary)) > .codex-menu__card-toggle {
	align-self: center;
}

.codex-menu__card-toggle {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.9rem;
	height: 1.9rem;
	border: 1px solid var(--codex-menu-custom-toggle-border-color, color-mix(in srgb, var(--codex-menu-custom-toggle-color, var(--codex-menu-bg-dark)) 30%, transparent));
	border-radius: 999px;
	background: var(--codex-menu-custom-toggle-bg, #fff);
	color: var(--codex-menu-custom-toggle-color, var(--codex-menu-bg-dark));
	font-size: var(--codex-menu-custom-toggle-size, 1rem);
	font-weight: var(--codex-menu-custom-toggle-weight, 400);
	line-height: 1;
	padding: 0;
}

.codex-menu.is-desktop-menu-open .codex-menu__panels {
	max-height: calc(100vh - var(--codex-menu-admin-bar-offset, 0px) - var(--codex-menu-open-desktop-bar-height, 0px));
	max-height: calc(100dvh - var(--codex-menu-admin-bar-offset, 0px) - var(--codex-menu-open-desktop-bar-height, 0px));
	padding-bottom: 1.5rem;
	scroll-padding-bottom: 1.5rem;
	overflow-x: hidden;
	overflow-y: auto;
	overscroll-behavior: contain;
	pointer-events: auto;
}

.codex-menu__card-toggle > span[aria-hidden="true"],
.codex-menu__mobile-toggle > span[aria-hidden="true"] {
	display: block;
	position: relative;
	width: 0.65em;
	height: 0.65em;
	font-size: inherit;
	line-height: 1;
	color: transparent;
}

.codex-menu__card-toggle > span[aria-hidden="true"]::before,
.codex-menu__card-toggle > span[aria-hidden="true"]::after,
.codex-menu__mobile-toggle > span[aria-hidden="true"]::before,
.codex-menu__mobile-toggle > span[aria-hidden="true"]::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100%;
	height: 2px;
	border-radius: 999px;
	background: currentColor;
	transform: translate(-50%, -50%);
}

.codex-menu__card-toggle[aria-expanded="false"] > span[aria-hidden="true"]::after,
.codex-menu__mobile-toggle[aria-expanded="false"] > span[aria-hidden="true"]::after {
	transform: translate(-50%, -50%) rotate(90deg);
}

.codex-menu__card-toggle[aria-expanded="true"] > span[aria-hidden="true"]::after,
.codex-menu__mobile-toggle[aria-expanded="true"] > span[aria-hidden="true"]::after {
	display: none;
}

.codex-menu__card-toggle > span[aria-hidden="true"]::before,
.codex-menu__card-toggle > span[aria-hidden="true"]::after,
.codex-menu__mobile-toggle > span[aria-hidden="true"]::before,
.codex-menu__mobile-toggle > span[aria-hidden="true"]::after {
	color: var(--codex-menu-custom-toggle-color, var(--codex-menu-bg-dark));
}

.codex-menu[data-codex-toggle-icon-style="arrows"] .codex-menu__card-toggle > span[aria-hidden="true"]::before,
.codex-menu[data-codex-toggle-icon-style="arrows"] .codex-menu__mobile-toggle > span[aria-hidden="true"]::before {
	width: 0.42em;
	height: 0.42em;
	border: 0;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	border-radius: 1px;
	background: transparent;
	transform: translate(-50%, -65%) rotate(45deg);
}

.codex-menu[data-codex-toggle-icon-style="arrows"] .codex-menu__card-toggle[aria-expanded="true"] > span[aria-hidden="true"]::before,
.codex-menu[data-codex-toggle-icon-style="arrows"] .codex-menu__mobile-toggle[aria-expanded="true"] > span[aria-hidden="true"]::before {
	transform: translate(-50%, -35%) rotate(225deg);
}

.codex-menu[data-codex-toggle-icon-style="arrows"] .codex-menu__card-toggle > span[aria-hidden="true"]::after,
.codex-menu[data-codex-toggle-icon-style="arrows"] .codex-menu__mobile-toggle > span[aria-hidden="true"]::after {
	display: none;
}

.codex-menu__card-toggle--card {
	margin-top: 0;
}

.codex-menu__card-child-row > .codex-menu__card-toggle {
	align-self: center;
}

.codex-menu__card-children-wrap {
	display: grid;
	grid-template-rows: 0fr;
	margin: 0;
	padding-top: 0;
	opacity: 0;
	transition: grid-template-rows 0.28s ease, opacity 0.2s ease;
}

.codex-menu__card-children-wrap.is-open {
	grid-template-rows: 1fr;
	padding-top: 0;
	opacity: 1;
}

.codex-menu__card-children-wrap--depth-3 {
	padding-left: 0;
}

.codex-menu__card-children-wrap:not(.codex-menu__card-children-wrap--depth-3) {
	padding-left: 0;
}

.codex-menu__card-children > .codex-menu__card-child > .codex-menu__card-child-row {
	padding-left: calc(var(--codex-menu-indent-level, 0) * var(--codex-menu-submenu-indent-step));
}

.codex-menu__card-children-wrap > .codex-menu__card-children {
	display: block;
	margin: 0;
	min-height: 0;
	overflow: hidden;
}

.codex-menu__card-children-wrap > .codex-menu__card-children > .codex-menu__card-child + .codex-menu__card-child {
	margin-top: 0;
}

.codex-menu__card-children-wrap .codex-menu__card-child a {
	font-weight: 500;
}

.codex-menu__card-child a .codex-menu__link-summary,
.codex-menu__mobile-link .codex-menu__link-summary {
	display: block;
	color: var(--codex-menu-custom-summary-color, #000000);
	font-size: var(--codex-menu-custom-summary-size, inherit);
	font-weight: var(--codex-menu-custom-summary-weight, 300);
	line-height: var(--codex-menu-custom-summary-line-height, normal);
	text-decoration: none;
}

.codex-menu__overlay {
	position: fixed;
	inset: 0;
	background: rgba(14, 10, 8, 0.45);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition:
		opacity 0.25s ease,
		visibility 0s linear 0.25s;
	z-index: 20;
}

.codex-menu__overlay.is-visible {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transition-delay: 0s;
}

.codex-menu__overlay[hidden] {
	display: none !important;
}

.codex-menu__drawer {
	position: fixed;
	top: 0;
	right: 0;
	width: 100vw;
	max-width: 650px;
	height: 100vh;
	height: 100dvh;
	background: var(--codex-menu-panel-surface, var(--codex-menu-surface));
	transform: translateX(100%);
	visibility: hidden;
	pointer-events: none;
	transition:
		transform 0.3s ease,
		visibility 0s linear 0.3s;
	box-shadow: none;
	display: flex;
	flex-direction: column;
	z-index: 30;
}

.codex-menu__drawer.is-open {
	transform: translateX(0);
	visibility: visible;
	pointer-events: auto;
	transition-delay: 0s;
}

body.admin-bar .codex-menu__drawer {
	top: var(--codex-menu-admin-bar-offset, 32px);
	height: calc(100vh - var(--codex-menu-admin-bar-offset, 32px));
	height: calc(100dvh - var(--codex-menu-admin-bar-offset, 32px));
}

.codex-menu__drawer-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 1rem 1rem 1rem 1.25rem;
	background: var(--codex-menu-mobile-expanded-primary-bg, var(--codex-menu-mobile-primary-bg, transparent));
	color: var(--codex-menu-text-on-dark);
}

.codex-menu__drawer-title {
	font-size: 1rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.codex-menu__drawer-close {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 3rem;
	height: 3rem;
	border: 0;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.08);
	color: var(--codex-menu-custom-primary-link-color, var(--codex-menu-text-on-dark));
	font-size: 0;
	line-height: 1;
	padding: 0;
}

.codex-menu__drawer-close span[aria-hidden="true"] {
	display: block;
	position: relative;
	width: 1.2rem;
	height: 1.2rem;
}

.codex-menu__drawer-close span[aria-hidden="true"]::before,
.codex-menu__drawer-close span[aria-hidden="true"]::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	width: 1.2rem;
	height: 2px;
	background: currentColor;
	transform-origin: center;
}

.codex-menu__drawer-close span[aria-hidden="true"]::before {
	transform: translateY(-50%) rotate(45deg);
}

.codex-menu__drawer-close span[aria-hidden="true"]::after {
	transform: translateY(-50%) rotate(-45deg);
}

.codex-menu__drawer-body {
	--codex-menu-drawer-inline-padding: 1rem;
	flex: 1 1 auto;
	min-height: 0;
	padding: 1rem var(--codex-menu-drawer-inline-padding) max(5rem, calc(2rem + env(safe-area-inset-bottom, 0px)));
	overflow-y: auto;
	overscroll-behavior: contain;
}

.codex-menu__mobile-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.codex-menu__mobile-item {
	margin: 0;
	padding: 0;
	border-bottom: 1px solid var(--codex-menu-mobile-separator-color, var(--codex-menu-border));
}

.codex-menu__mobile-children .codex-menu__mobile-item {
	border-bottom: 0;
}

.codex-menu__drawer-body > .codex-menu__mobile-list > .codex-menu__mobile-item {
	border-bottom: 1px solid var(--codex-menu-mobile-separator-color, var(--codex-menu-border));
}

.codex-menu__mobile-row {
	display: flex;
	align-items: center;
	gap: 1rem;
	padding: 0.35rem 0;
	padding-left: calc(var(--codex-menu-indent-level, 0) * var(--codex-menu-submenu-indent-step));
	transition: background-color 0.5s ease;
}

.codex-menu__mobile-link {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	grid-template-areas:
		"icon label"
		". summary";
	align-items: start;
	column-gap: 0.55rem;
	row-gap: 0;
	flex: 1 1 auto;
	padding: 0.8rem 0.25rem;
	color: var(--codex-menu-text);
	font-size: 1rem;
	font-weight: 600;
	line-height: normal;
	text-decoration: none;
	min-width: 0;
}

.codex-menu__mobile-list--depth-1 .codex-menu__mobile-link > .codex-menu__link-label {
	color: var(--codex-menu-custom-title-color, var(--codex-menu-text));
}

.codex-menu__mobile-list--depth-1 .codex-menu__mobile-link > .codex-menu__link-summary {
	color: var(--codex-menu-custom-summary-color, #5a4b46);
}

.codex-menu__mobile-link > .codex-menu__mobile-icon {
	grid-area: icon;
	align-self: center;
}

.codex-menu__mobile-link > .codex-menu__link-label {
	grid-area: label;
	align-self: center;
}

.codex-menu__mobile-link > .codex-menu__link-summary {
	grid-area: summary;
}

.codex-menu__mobile-list--depth-1 .codex-menu__mobile-link > .codex-menu__mobile-icon::before {
	background: var(--codex-menu-custom-primary-icon-bg, transparent);
}

.codex-menu__mobile-list--depth-1 .codex-menu__mobile-link > .codex-menu__mobile-icon {
	color: var(--codex-menu-custom-primary-icon-color, var(--codex-menu-bg-dark));
}

.codex-menu__mobile-list--depth-2 .codex-menu__mobile-link > .codex-menu__mobile-icon::before {
	background: var(--codex-menu-custom-icon-bg, transparent);
}

.codex-menu__mobile-list--depth-2 .codex-menu__mobile-link > .codex-menu__mobile-icon {
	color: var(--codex-menu-custom-icon-color, var(--codex-menu-bg-dark));
}

.codex-menu__mobile-list--depth-3 .codex-menu__mobile-link > .codex-menu__mobile-icon::before,
.codex-menu__mobile-list--depth-4 .codex-menu__mobile-link > .codex-menu__mobile-icon::before,
.codex-menu__mobile-list--depth-5 .codex-menu__mobile-link > .codex-menu__mobile-icon::before,
.codex-menu__mobile-list--depth-6 .codex-menu__mobile-link > .codex-menu__mobile-icon::before {
	background: var(--codex-menu-custom-submenu-icon-bg, transparent);
}

.codex-menu__mobile-list--depth-3 .codex-menu__mobile-link > .codex-menu__mobile-icon,
.codex-menu__mobile-list--depth-4 .codex-menu__mobile-link > .codex-menu__mobile-icon,
.codex-menu__mobile-list--depth-5 .codex-menu__mobile-link > .codex-menu__mobile-icon,
.codex-menu__mobile-list--depth-6 .codex-menu__mobile-link > .codex-menu__mobile-icon {
	color: var(--codex-menu-custom-submenu-icon-color, var(--codex-menu-bg-dark));
}

.codex-menu__mobile-list--depth-3 .codex-menu__mobile-link > .codex-menu__link-label,
.codex-menu__mobile-list--depth-4 .codex-menu__mobile-link > .codex-menu__link-label,
.codex-menu__mobile-list--depth-5 .codex-menu__mobile-link > .codex-menu__link-label,
.codex-menu__mobile-list--depth-6 .codex-menu__mobile-link > .codex-menu__link-label {
	color: var(--codex-menu-custom-submenu-title-color, var(--codex-menu-bg-dark));
}

.codex-menu__mobile-list--depth-3 .codex-menu__mobile-link > .codex-menu__link-summary,
.codex-menu__mobile-list--depth-4 .codex-menu__mobile-link > .codex-menu__link-summary,
.codex-menu__mobile-list--depth-5 .codex-menu__mobile-link > .codex-menu__link-summary,
.codex-menu__mobile-list--depth-6 .codex-menu__mobile-link > .codex-menu__link-summary {
	color: var(--codex-menu-custom-submenu-summary-color, #000000);
}

.codex-menu__mobile-link[aria-current="page"] > .codex-menu__mobile-icon {
	color: var(--codex-menu-active-link-icon-color, inherit) !important;
}

.codex-menu__mobile-link[aria-current="page"] > .codex-menu__mobile-icon::before {
	background: var(--codex-menu-active-link-bg, transparent) !important;
}

.codex-menu__mobile-toggle {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.5rem;
	height: 2.5rem;
	border: 1px solid var(--codex-menu-custom-toggle-border-color, color-mix(in srgb, var(--codex-menu-custom-toggle-color, var(--codex-menu-bg-dark)) 30%, transparent));
	border-radius: 999px;
	background: var(--codex-menu-custom-toggle-bg, #fff);
	color: var(--codex-menu-custom-toggle-color, var(--codex-menu-bg-dark));
	font-size: var(--codex-menu-custom-toggle-size, 1.3rem);
	font-weight: var(--codex-menu-custom-toggle-weight, 400);
	line-height: 1;
	padding: 0;
}

.codex-menu__card-toggle:hover,
.codex-menu__mobile-toggle:hover {
	border-color: var(--codex-menu-custom-toggle-border-color, color-mix(in srgb, var(--codex-menu-custom-toggle-color, var(--codex-menu-bg-dark)) 30%, transparent));
	background: var(--codex-menu-custom-toggle-hover-bg, var(--codex-menu-custom-toggle-bg, #fff));
}

.codex-menu__mobile-children {
	display: grid;
	grid-template-rows: 0fr;
	padding: 0;
	opacity: 0;
	transition: grid-template-rows 0.28s ease, opacity 0.2s ease;
}

.codex-menu__mobile-children.is-open {
	grid-template-rows: 1fr;
	opacity: 1;
}

.codex-menu__mobile-children > .codex-menu__mobile-list {
	min-height: 0;
	overflow: hidden;
}

.codex-menu__mobile-item.is-active > .codex-menu__mobile-row .codex-menu__mobile-link {
	color: var(--codex-menu-custom-title-color, var(--codex-menu-bg-dark));
	background: transparent;
	border-radius: 0;
}

@media (hover: none) and (pointer: coarse) {
	.codex-menu__card,
	.codex-menu__card-child-row,
	.codex-menu__mobile-row {
		transition-duration: 0.12s;
	}

	.codex-menu__card:has(> .codex-menu__card-head > .codex-menu__card-link:active),
	.codex-menu__card-child-row:has(> a:active),
	.codex-menu__mobile-row:has(> .codex-menu__mobile-link:active),
	.codex-menu[data-codex-menu] .codex-menu__card.is-touch-loading,
	.codex-menu[data-codex-menu] .codex-menu__card-child-row.is-touch-loading,
	.codex-menu[data-codex-menu] .codex-menu__mobile-row.is-touch-loading {
		background: var(--codex-menu-link-touch-bg, transparent) !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	.codex-menu *,
	.codex-menu *::before,
	.codex-menu *::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
	}
}

