/*!
 * Digimatiq Modern Menu – v1.1.0
 * Author: Digimatiq Marketing
 * Structural styles only. Colours, typography and spacing are set from the
 * widget's Style tab; the values below are sensible defaults.
 */

.dmm-root,
.dmm-root *,
.dmm-root *::before,
.dmm-root *::after,
.dmm-oc,
.dmm-oc *,
.dmm-oc *::before,
.dmm-oc *::after {
	box-sizing: border-box;
}

/* ------------------------------------------------------------------ */
/* Root & desktop menu                                                */
/* ------------------------------------------------------------------ */
.dmm-root {
	--dmm-accent: #2563eb;
	--dmm-trans: 300ms;
	--dmm-ease: cubic-bezier(0.22, 1, 0.36, 1);
	--dmm-sub-dur: 280ms;
	--dmm-sub-offset: 10px;
	--dmm-sub-shift: 4px;
	--dmm-pointer-h: 2px;
	--dmm-pointer-offset: 6px;
	--dmm-pointer-radius: 999px;
	--dmm-pointer-color: var(--dmm-accent);
	display: flex;
	align-items: center;
	gap: 20px;
	width: 100%;
}

.dmm-nav {
	display: flex;
	min-width: 0;
}

.dmm-stretch-yes .dmm-nav {
	flex: 1 1 auto;
}

.dmm-menu,
.dmm-sub,
.dmm-m-menu,
.dmm-m-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.dmm-menu {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px;
	width: 100%;
}

.dmm-item {
	position: relative;
	margin: 0;
}

.dmm-link {
	position: relative;
	display: flex;
	align-items: center;
	gap: 6px;
	color: #111827;
	text-decoration: none;
	white-space: nowrap;
	outline-offset: 3px;
	transition: color var(--dmm-trans) ease, background-color var(--dmm-trans) ease;
}

.dmm-link:hover,
.dmm-link:focus {
	text-decoration: none;
}

.dmm-menu > .dmm-item > .dmm-link {
	padding: 10px 14px;
	font-weight: 500;
}

.dmm-label {
	position: relative;
	z-index: 1;
	display: inline-flex;
}

.dmm-text {
	display: inline-block;
}

.dmm-text-in {
	display: inline-block;
	position: relative;
}

.dmm-indicator {
	position: relative;
	z-index: 1;
	display: inline-flex;
	align-items: center;
	font-size: 0.65em;
	line-height: 1;
	transition: transform var(--dmm-trans) var(--dmm-ease);
}

.dmm-indicator svg,
.dmm-m-toggle svg,
.dmm-toggle-icon svg,
.dmm-close svg,
.dmm-btn-icon svg {
	width: 1em;
	height: 1em;
	fill: currentColor;
}

.dmm--rotate .dmm-menu > .dmm-item:hover > .dmm-link > .dmm-indicator,
.dmm--rotate .dmm-menu > .dmm-item.dmm-open > .dmm-link > .dmm-indicator {
	transform: rotate(180deg);
}

/* Nested indicators point sideways */
.dmm-sub .dmm-indicator {
	margin-left: auto;
	transform: rotate(-90deg);
}

.dmm-sub .dmm-sub--flip-parent > .dmm-link > .dmm-indicator {
	transform: rotate(90deg);
}

/* ------------------------------------------------------------------ */
/* Text hover effects                                                 */
/* ------------------------------------------------------------------ */
.dmm--fx-lift .dmm-menu > .dmm-item > .dmm-link .dmm-label {
	transition: transform var(--dmm-trans) var(--dmm-ease);
}

.dmm--fx-lift .dmm-menu > .dmm-item:hover > .dmm-link .dmm-label,
.dmm--fx-lift .dmm-menu > .dmm-item > .dmm-link:focus-visible .dmm-label {
	transform: translateY(-2px);
}

.dmm--fx-roll .dmm-menu > .dmm-item > .dmm-link .dmm-text {
	overflow: hidden;
	vertical-align: top;
	padding-block: 0.06em;
}

.dmm--fx-roll .dmm-menu > .dmm-item > .dmm-link .dmm-text-in {
	transition: transform var(--dmm-trans) var(--dmm-ease);
}

.dmm--fx-roll .dmm-menu > .dmm-item > .dmm-link .dmm-text-in::after {
	content: attr(data-text);
	position: absolute;
	left: 0;
	top: calc(100% + 0.12em);
	white-space: nowrap;
}

.dmm--fx-roll .dmm-menu > .dmm-item:hover > .dmm-link .dmm-text-in,
.dmm--fx-roll .dmm-menu > .dmm-item > .dmm-link:focus-visible .dmm-text-in {
	transform: translateY(calc(-100% - 0.12em));
}

/* ------------------------------------------------------------------ */
/* Pointers (top level only)                                          */
/* ------------------------------------------------------------------ */
.dmm-root:is(.dmm-pointer--underline, .dmm-pointer--double, .dmm-pointer--dot) .dmm-menu > .dmm-item > .dmm-link .dmm-label::after,
.dmm-root:is(.dmm-pointer--overline, .dmm-pointer--double) .dmm-menu > .dmm-item > .dmm-link .dmm-label::before,
.dmm-root:is(.dmm-pointer--framed, .dmm-pointer--background) .dmm-menu > .dmm-item > .dmm-link::before {
	content: "";
	position: absolute;
	pointer-events: none;
	background-color: var(--dmm-pointer-color);
	transition: opacity var(--dmm-trans) ease, transform var(--dmm-trans) var(--dmm-ease), background-color var(--dmm-trans) ease, border-color var(--dmm-trans) ease;
}

/* Lines */
.dmm-root:is(.dmm-pointer--underline, .dmm-pointer--double) .dmm-menu > .dmm-item > .dmm-link .dmm-label::after,
.dmm-root:is(.dmm-pointer--overline, .dmm-pointer--double) .dmm-menu > .dmm-item > .dmm-link .dmm-label::before {
	left: 0;
	right: 0;
	height: var(--dmm-pointer-h);
	border-radius: var(--dmm-pointer-h);
}

.dmm-root:is(.dmm-pointer--underline, .dmm-pointer--double) .dmm-menu > .dmm-item > .dmm-link .dmm-label::after {
	top: calc(100% + var(--dmm-pointer-offset));
}

.dmm-root:is(.dmm-pointer--overline, .dmm-pointer--double) .dmm-menu > .dmm-item > .dmm-link .dmm-label::before {
	bottom: calc(100% + var(--dmm-pointer-offset));
}

/* Dot */
.dmm-pointer--dot .dmm-menu > .dmm-item > .dmm-link .dmm-label::after {
	left: 50%;
	top: calc(100% + var(--dmm-pointer-offset));
	width: calc(var(--dmm-pointer-h) * 2.5);
	height: calc(var(--dmm-pointer-h) * 2.5);
	margin-left: calc(var(--dmm-pointer-h) * -1.25);
	border-radius: 50%;
}

/* Box pointers sit behind the whole item */
.dmm-root:is(.dmm-pointer--framed, .dmm-pointer--background) .dmm-menu > .dmm-item > .dmm-link::before {
	inset: 0;
	border-radius: var(--dmm-pointer-radius);
	z-index: 0;
}

.dmm-root.dmm-pointer--framed .dmm-menu > .dmm-item > .dmm-link::before {
	background-color: transparent;
	border: var(--dmm-pointer-h) solid var(--dmm-pointer-color);
}

.dmm-pointer--background {
	--dmm-pointer-color: rgba(37, 99, 235, 0.1);
}

/* Hidden states (per animation) */
.dmm-pa-fade .dmm-menu > .dmm-item > .dmm-link .dmm-label::before,
.dmm-pa-fade .dmm-menu > .dmm-item > .dmm-link .dmm-label::after,
.dmm-pa-fade .dmm-menu > .dmm-item > .dmm-link::before {
	opacity: 0;
}

.dmm-pa-grow:is(.dmm-pointer--underline, .dmm-pointer--overline, .dmm-pointer--double) .dmm-menu > .dmm-item > .dmm-link .dmm-label::before,
.dmm-pa-grow:is(.dmm-pointer--underline, .dmm-pointer--overline, .dmm-pointer--double) .dmm-menu > .dmm-item > .dmm-link .dmm-label::after {
	transform: scaleX(0);
}

.dmm-pa-slide:is(.dmm-pointer--underline, .dmm-pointer--overline, .dmm-pointer--double) .dmm-menu > .dmm-item > .dmm-link .dmm-label::before,
.dmm-pa-slide:is(.dmm-pointer--underline, .dmm-pointer--overline, .dmm-pointer--double) .dmm-menu > .dmm-item > .dmm-link .dmm-label::after,
.dmm-pa-slide:is(.dmm-pointer--framed, .dmm-pointer--background) .dmm-menu > .dmm-item > .dmm-link::before {
	transform: scaleX(0);
	transform-origin: right center;
}

.dmm-pa-drop .dmm-menu > .dmm-item > .dmm-link .dmm-label::before {
	opacity: 0;
	transform: translateY(-5px);
}

.dmm-pa-drop .dmm-menu > .dmm-item > .dmm-link .dmm-label::after {
	opacity: 0;
	transform: translateY(5px);
}

.dmm-pa-grow.dmm-pointer--dot .dmm-menu > .dmm-item > .dmm-link .dmm-label::after {
	transform: scale(0);
}

.dmm-pa-grow:is(.dmm-pointer--framed, .dmm-pointer--background) .dmm-menu > .dmm-item > .dmm-link::before {
	opacity: 0;
	transform: scale(0.82);
}

/* Shown states: hover, focus, open */
.dmm-root .dmm-menu > .dmm-item:is(:hover, .dmm-open) > .dmm-link .dmm-label::before,
.dmm-root .dmm-menu > .dmm-item:is(:hover, .dmm-open) > .dmm-link .dmm-label::after,
.dmm-root .dmm-menu > .dmm-item:is(:hover, .dmm-open) > .dmm-link::before,
.dmm-root .dmm-menu > .dmm-item > .dmm-link:focus-visible .dmm-label::before,
.dmm-root .dmm-menu > .dmm-item > .dmm-link:focus-visible .dmm-label::after,
.dmm-root .dmm-menu > .dmm-item > .dmm-link:focus-visible::before {
	opacity: 1;
	transform: none;
	transform-origin: left center;
}

/* Shown state: current page */
.dmm--active-on .dmm-menu > .dmm-item:is(.current-menu-item, .current-menu-ancestor, .current_page_item, .current-menu-parent) > .dmm-link .dmm-label::before,
.dmm--active-on .dmm-menu > .dmm-item:is(.current-menu-item, .current-menu-ancestor, .current_page_item, .current-menu-parent) > .dmm-link .dmm-label::after,
.dmm--active-on .dmm-menu > .dmm-item:is(.current-menu-item, .current-menu-ancestor, .current_page_item, .current-menu-parent) > .dmm-link::before {
	opacity: 1;
	transform: none;
	background-color: var(--dmm-pointer-active, var(--dmm-pointer-color));
}

.dmm--active-on.dmm-pointer--framed .dmm-menu > .dmm-item:is(.current-menu-item, .current-menu-ancestor, .current_page_item, .current-menu-parent) > .dmm-link::before {
	background-color: transparent;
	border-color: var(--dmm-pointer-active, var(--dmm-pointer-color));
}

.dmm--active-on .dmm-menu > .dmm-item:is(.current-menu-item, .current-menu-ancestor, .current_page_item) > .dmm-link {
	color: var(--dmm-accent);
}

/* ------------------------------------------------------------------ */
/* Dropdowns                                                          */
/* ------------------------------------------------------------------ */
.dmm-sub {
	position: absolute;
	top: calc(100% + var(--dmm-sub-offset));
	left: 0;
	z-index: 1000;
	min-width: 230px;
	padding: 8px;
	background-color: #fff;
	border-radius: 14px;
	box-shadow: 0 24px 48px -16px rgba(15, 23, 42, 0.22), 0 2px 6px rgba(15, 23, 42, 0.06);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition:
		opacity var(--dmm-sub-dur) ease,
		transform var(--dmm-sub-dur) var(--dmm-ease),
		visibility 0s linear var(--dmm-sub-dur);
}

/* Invisible bridge so the dropdown doesn't close while the cursor crosses the gap */
.dmm-sub::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 100%;
	height: var(--dmm-sub-offset);
}

.dmm-sub .dmm-sub {
	top: calc(var(--dmm-sub-pad-top, 8px) * -1);
	left: calc(100% + 8px);
}

.dmm-sub .dmm-sub::before {
	top: 0;
	bottom: 0;
	left: -8px;
	right: auto;
	width: 8px;
	height: auto;
}

/* Edge detection (set by JS) */
.dmm-menu > .dmm-item > .dmm-sub.dmm-sub--flip {
	left: auto;
	right: 0;
}

.dmm-sub .dmm-sub.dmm-sub--flip {
	left: auto;
	right: calc(100% + 8px);
}

.dmm-sub .dmm-sub.dmm-sub--flip::before {
	left: auto;
	right: -8px;
}

/* Open states */
.dmm--trigger-hover .dmm-item:hover > .dmm-sub,
.dmm--trigger-hover .dmm-item:focus-within > .dmm-sub,
.dmm-item.dmm-open > .dmm-sub {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: none;
	transition-delay: 0s;
}

/* Animations (closed state transforms) */
.dmm--anim-fade-up .dmm-sub {
	transform: translateY(12px);
}

.dmm--anim-fade-down .dmm-sub {
	transform: translateY(-10px);
}

.dmm--anim-zoom .dmm-sub {
	transform: scale(0.94);
	transform-origin: top left;
}

.dmm--anim-zoom .dmm-sub.dmm-sub--flip {
	transform-origin: top right;
}

.dmm--anim-flip .dmm-sub {
	transform: perspective(700px) rotateX(-14deg);
	transform-origin: top center;
}

.dmm--anim-none .dmm-sub {
	transition: none;
}

/* Dropdown items */
.dmm-sub .dmm-link {
	padding: 10px 14px;
	border-radius: 8px;
	white-space: normal;
	color: #374151;
}

.dmm-sub .dmm-item:hover > .dmm-link,
.dmm-sub .dmm-link:focus-visible {
	color: #111827;
	background-color: #f3f4f6;
}

.dmm-sub .dmm-text {
	transition: transform var(--dmm-trans) var(--dmm-ease);
}

.dmm-sub .dmm-item:hover > .dmm-link .dmm-text,
.dmm-sub .dmm-link:focus-visible .dmm-text {
	transform: translateX(var(--dmm-sub-shift));
}

/* ------------------------------------------------------------------ */
/* Buttons (desktop + panel)                                          */
/* ------------------------------------------------------------------ */
.dmm-btns {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
}

.dmm-desk-btns {
	flex: 0 0 auto;
}

.dmm-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 12px 22px;
	border: 1px solid transparent;
	border-radius: 999px;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
	white-space: nowrap;
	transition: color var(--dmm-trans, 300ms) ease, background-color var(--dmm-trans, 300ms) ease, border-color var(--dmm-trans, 300ms) ease, box-shadow var(--dmm-trans, 300ms) ease, transform var(--dmm-trans, 300ms) var(--dmm-ease, ease);
}

.dmm-btn:hover {
	text-decoration: none;
	transform: translateY(-1px);
}

.dmm-btn--primary {
	color: #fff;
	background-color: var(--dmm-accent, #2563eb);
	border-color: var(--dmm-accent, #2563eb);
}

.dmm-btn--secondary {
	color: #111827;
	background-color: transparent;
	border-color: rgba(17, 24, 39, 0.18);
}

.dmm-btn-icon {
	display: inline-flex;
	line-height: 1;
}

/* ------------------------------------------------------------------ */
/* Mobile toggle                                                      */
/* ------------------------------------------------------------------ */
.dmm-root .dmm-toggle {
	display: none;
	align-items: center;
	gap: 8px;
	margin: 0;
	padding: 10px;
	color: #111827;
	background: transparent;
	border: 0;
	border-radius: 10px;
	cursor: pointer;
	line-height: 1;
	transition: color var(--dmm-trans) ease, background-color var(--dmm-trans) ease;
}

.dmm-root .dmm-toggle:hover,
.dmm-root .dmm-toggle:focus {
	background-color: transparent;
	color: inherit;
}

.dmm-toggle-icon {
	display: inline-flex;
	font-size: 22px;
}

.dmm--always-mobile .dmm-nav,
.dmm--always-mobile .dmm-desk-btns {
	display: none;
}

.dmm-root.dmm--always-mobile .dmm-toggle {
	display: inline-flex;
}

/* ------------------------------------------------------------------ */
/* Off-canvas                                                         */
/* ------------------------------------------------------------------ */
.dmm-oc {
	--dmm-oc-dur: 450ms;
	--dmm-ease: cubic-bezier(0.22, 1, 0.36, 1);
	position: fixed;
	inset: 0;
	z-index: 99999;
	visibility: hidden;
	pointer-events: none;
	transition: visibility 0s linear var(--dmm-oc-dur);
}

.dmm-oc.dmm-oc--open {
	visibility: visible;
	pointer-events: auto;
	transition-delay: 0s;
}

.dmm-overlay {
	position: absolute;
	inset: 0;
	background-color: rgba(15, 23, 42, 0.45);
	opacity: 0;
	-webkit-backdrop-filter: blur(var(--dmm-overlay-blur, 0px));
	backdrop-filter: blur(var(--dmm-overlay-blur, 0px));
	transition: opacity var(--dmm-oc-dur) ease;
	cursor: pointer;
}

.dmm-oc--open .dmm-overlay {
	opacity: 1;
}

.dmm-panel {
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	display: flex;
	flex-direction: column;
	width: min(380px, 88vw);
	max-width: 100%;
	padding: 24px;
	overflow-y: auto;
	overscroll-behavior: contain;
	background-color: #fff;
	box-shadow: -24px 0 60px -20px rgba(15, 23, 42, 0.3);
	transform: translateX(100%);
	transition: transform var(--dmm-oc-dur) var(--dmm-ease);
	outline: none;
}

.dmm-oc--left .dmm-panel {
	right: auto;
	left: 0;
	transform: translateX(-100%);
	box-shadow: 24px 0 60px -20px rgba(15, 23, 42, 0.3);
}

.dmm-oc--full .dmm-panel {
	left: 0;
	width: 100%;
	box-shadow: none;
	opacity: 0;
	transform: translateY(16px) scale(0.985);
	transition: transform var(--dmm-oc-dur) var(--dmm-ease), opacity var(--dmm-oc-dur) ease;
}

.dmm-oc--open .dmm-panel {
	transform: none;
	opacity: 1;
}

.dmm-panel-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding-bottom: 18px;
	margin-bottom: 18px;
	border-bottom: 1px solid rgba(15, 23, 42, 0.08);
}

.dmm-panel-logo {
	display: inline-flex;
	text-decoration: none;
	max-width: 70%;
}

.dmm-panel-logo img {
	display: block;
	width: 140px;
	max-width: 100%;
	height: auto;
}

.dmm-oc .dmm-close {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: 40px;
	height: 40px;
	margin-left: auto;
	padding: 0;
	font-size: 18px;
	line-height: 1;
	color: #111827;
	background-color: #f3f4f6;
	border: 0;
	border-radius: 50%;
	cursor: pointer;
	transition: color var(--dmm-trans, 300ms) ease, background-color var(--dmm-trans, 300ms) ease, transform var(--dmm-trans, 300ms) var(--dmm-ease);
}

.dmm-oc .dmm-close:hover {
	transform: rotate(90deg);
}

/* Off-canvas menu */
.dmm-m-menu > .dmm-item {
	border-bottom: 1px solid rgba(15, 23, 42, 0.08);
}

.dmm-m-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
}

.dmm-m-link {
	flex: 1 1 auto;
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 14px 0;
	color: #111827;
	font-size: 17px;
	font-weight: 500;
	text-decoration: none;
	transition: color var(--dmm-trans, 300ms) ease, background-color var(--dmm-trans, 300ms) ease;
}

.dmm-m-link:hover,
.dmm-m-link:focus {
	text-decoration: none;
}

.dmm-m-menu > .current-menu-item > .dmm-m-row > .dmm-m-link,
.dmm-m-menu > .current-menu-ancestor > .dmm-m-row > .dmm-m-link {
	color: var(--dmm-accent, #2563eb);
}

.dmm-oc .dmm-m-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: 34px;
	height: 34px;
	margin: 0;
	padding: 0;
	font-size: 12px;
	color: inherit;
	background: transparent;
	border: 0;
	border-radius: 8px;
	cursor: pointer;
	transition: transform var(--dmm-trans, 300ms) var(--dmm-ease), background-color var(--dmm-trans, 300ms) ease;
}

.dmm-oc .dmm-m-toggle:hover,
.dmm-oc .dmm-m-toggle:focus {
	background-color: rgba(15, 23, 42, 0.05);
	color: inherit;
}

.dmm-oc .dmm-m-open > .dmm-m-row > .dmm-m-toggle {
	transform: rotate(180deg);
}

/* Smooth accordion via grid rows */
.dmm-m-sub {
	display: grid;
	grid-template-rows: 0fr;
	transition: grid-template-rows var(--dmm-oc-dur, 450ms) var(--dmm-ease);
}

.dmm-m-open > .dmm-m-sub {
	grid-template-rows: 1fr;
}

.dmm-m-list {
	min-height: 0;
	overflow: hidden;
	padding-left: 14px;
}

.dmm-m-list .dmm-m-link {
	padding: 10px 0;
	font-size: 15px;
	color: #4b5563;
}

.dmm-m-list .dmm-m-list {
	padding-left: 14px;
}

.dmm-m-sub > .dmm-m-list > .dmm-item:last-child {
	padding-bottom: 8px;
}

/* Panel buttons & footer */
.dmm-panel-btns {
	margin-top: 24px;
}

.dmm-btns--stacked {
	flex-direction: column;
	align-items: stretch;
}

.dmm-btns--stacked .dmm-btn {
	width: 100%;
}

.dmm-btns--inline .dmm-btn {
	flex: 1 1 0;
}

.dmm-panel-footer {
	margin-top: auto;
	padding-top: 24px;
	font-size: 14px;
	line-height: 1.6;
	color: #6b7280;
}

/* Staggered entrance */
.dmm-oc--stagger .dmm-m-menu > .dmm-item,
.dmm-oc--stagger .dmm-panel-btns,
.dmm-oc--stagger .dmm-panel-footer {
	opacity: 0;
	transform: translateY(10px);
	transition: opacity 0.4s ease, transform 0.5s var(--dmm-ease);
}

.dmm-oc--stagger.dmm-oc--open .dmm-m-menu > .dmm-item,
.dmm-oc--stagger.dmm-oc--open .dmm-panel-btns,
.dmm-oc--stagger.dmm-oc--open .dmm-panel-footer {
	opacity: 1;
	transform: none;
	transition-delay: calc(var(--dmm-i, 0) * 45ms + 140ms);
}

/* Scroll lock */
html.dmm-scroll-lock,
html.dmm-scroll-lock body {
	overflow: hidden;
}

/* Editor helper */
.dmm-empty {
	padding: 14px 16px;
	font-size: 13px;
	color: #6b7280;
	background: #f9fafb;
	border: 1px dashed #d1d5db;
	border-radius: 8px;
}


/* ------------------------------------------------------------------ */
/* Mega menu                                                          */
/* ------------------------------------------------------------------ */
.dmm-mega {
	--dmm-mega-offset: 12px;
	--dmm-mt-color: var(--dmm-accent, #2563eb);
	--dmm-mt-hover: #111827;
	--dmm-mi-color: #111827;
	--dmm-mi-hover: var(--dmm-accent, #2563eb);
	--dmm-mi-hover-bg: rgba(15, 23, 42, 0.05);
	--dmm-md-color: #6b7280;
	--dmm-mline: rgba(15, 23, 42, 0.08);
	position: absolute;
	top: calc(100% + var(--dmm-mega-offset));
	left: var(--dmm-mega-left, 0px);
	width: var(--dmm-mega-width, 1100px);
	max-width: 100vw;
	z-index: 1000;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition:
		opacity var(--dmm-sub-dur) ease,
		transform var(--dmm-sub-dur) var(--dmm-ease),
		visibility 0s linear var(--dmm-sub-dur);
}

/* Bridge across the gap so the panel stays open while the cursor moves into it */
.dmm-mega::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 100%;
	height: var(--dmm-mega-offset);
}

.dmm--trigger-hover .dmm-item:hover > .dmm-mega,
.dmm--trigger-hover .dmm-item:focus-within > .dmm-mega,
.dmm-item.dmm-open > .dmm-mega {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: none;
	transition-delay: 0s;
}

.dmm--anim-fade-up .dmm-mega { transform: translateY(14px); }
.dmm--anim-fade-down .dmm-mega { transform: translateY(-10px); }
.dmm--anim-zoom .dmm-mega { transform: scale(0.97); transform-origin: top center; }
.dmm--anim-flip .dmm-mega { transform: perspective(900px) rotateX(-8deg); transform-origin: top center; }
.dmm--anim-none .dmm-mega { transition: none; }

.dmm-mega-box {
	position: relative;
	color: var(--dmm-mi-color);
	background-color: #fff;
	border-radius: 16px;
	box-shadow: 0 30px 60px -24px rgba(15, 23, 42, 0.32), 0 2px 6px rgba(15, 23, 42, 0.05);
	overflow: hidden;
}

.dmm-mega--full .dmm-mega-box {
	border-radius: 0;
}

.dmm-mega-in {
	display: grid;
	grid-template-columns: repeat(var(--dmm-cols, 4), minmax(0, 1fr));
	gap: var(--dmm-mega-row-gap, 24px) var(--dmm-mega-gap, 32px);
	padding: 32px 36px;
}

.dmm-mega--has-feature .dmm-mega-in {
	grid-template-columns: repeat(var(--dmm-cols, 4), minmax(0, 1fr)) minmax(0, var(--dmm-feat-w, 1.2fr));
}

.dmm-mega--full .dmm-mega-in {
	max-width: var(--dmm-mega-inner, 1200px);
	margin-inline: auto;
}

.dmm-mega-col {
	display: flex;
	flex-direction: column;
	gap: var(--dmm-group-gap, 24px);
	min-width: 0;
}

.dmm-mega-col:empty {
	display: none;
}

.dmm-mega-title {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 8px;
	padding-bottom: 10px;
	border-bottom: 1px solid var(--dmm-mline);
	color: var(--dmm-mt-color);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.06em;
	line-height: 1.3;
	text-transform: uppercase;
	text-decoration: none;
	transition: color var(--dmm-trans) ease;
}

.dmm-mega-title:hover,
.dmm-mega-title:focus-visible {
	color: var(--dmm-mt-hover);
	text-decoration: none;
}

.dmm-mega-arrow {
	margin-left: auto;
	transition: transform var(--dmm-trans) var(--dmm-ease);
}

.dmm--mega-arrow .dmm-mega-arrow::after {
	content: "\2192";
	font-weight: 400;
}

.dmm-mega-title:hover .dmm-mega-arrow {
	transform: translateX(3px);
}

.dmm-mega-title-thumb {
	flex: 0 0 auto;
	width: 28px;
	height: 28px;
	border-radius: 6px;
	overflow: hidden;
}

.dmm-mega-group-desc {
	margin: -2px 0 8px;
	font-size: 13px;
	line-height: 1.5;
	color: var(--dmm-md-color);
}

.dmm-mega-items {
	display: flex;
	flex-direction: column;
	gap: 2px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.dmm-mega-items--nested {
	padding-left: 14px;
	margin-bottom: 4px;
}

.dmm-mega-item {
	margin: 0;
}

.dmm-mega-link {
	display: flex;
	align-items: center;
	gap: var(--dmm-thumb-gap, 12px);
	margin-inline: -10px;
	padding: 8px 10px;
	border-radius: 10px;
	color: var(--dmm-mi-color);
	text-decoration: none;
	transition: color var(--dmm-trans) ease, background-color var(--dmm-trans) ease;
}

.dmm-mega-link:hover,
.dmm-mega-link:focus-visible {
	color: var(--dmm-mi-hover);
	background-color: var(--dmm-mi-hover-bg);
	text-decoration: none;
}

.dmm-mega-item.current-menu-item > .dmm-mega-link {
	color: var(--dmm-mi-hover);
}

.dmm-mega-text {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
}

.dmm-mega-label {
	font-size: 15px;
	font-weight: 600;
	line-height: 1.35;
	transition: transform var(--dmm-trans) var(--dmm-ease);
}

.dmm-mega-link:hover .dmm-mega-label,
.dmm-mega-link:focus-visible .dmm-mega-label {
	transform: translateX(var(--dmm-sub-shift));
}

.dmm-mega-items--nested .dmm-mega-label {
	font-size: 14px;
	font-weight: 500;
}

.dmm-mega-desc {
	font-size: 12.5px;
	line-height: 1.4;
	color: var(--dmm-md-color);
}

.dmm-mega-thumb {
	flex: 0 0 auto;
	width: var(--dmm-thumb-w, 48px);
	height: var(--dmm-thumb-h, 48px);
	border-radius: var(--dmm-thumb-r, 10px);
	overflow: hidden;
	background-color: rgba(15, 23, 42, 0.05);
}

.dmm-mega-thumb img,
.dmm-mega-title-thumb img,
.dmm-sub-thumb img,
.dmm-m-thumb img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.dmm-icon {
	flex: 0 0 auto;
	width: 1.25em;
	text-align: center;
}

/* Light text for dark or image backgrounds.
   Set on the inner box so it always wins over the panel-level colors. */
.dmm-mega--light .dmm-mega-box {
	--dmm-mt-color: var(--dmm-l-mt, #9ccbeb);
	--dmm-mt-hover: var(--dmm-l-mi, #ffffff);
	--dmm-mi-color: var(--dmm-l-mi, #ffffff);
	--dmm-mi-hover: var(--dmm-l-mi-hover, #ffffff);
	--dmm-mi-hover-bg: rgba(255, 255, 255, 0.1);
	--dmm-md-color: var(--dmm-l-md, rgba(255, 255, 255, 0.72));
	--dmm-mline: var(--dmm-l-mline, rgba(255, 255, 255, 0.16));
}

.dmm-mega--light .dmm-mega-thumb {
	background-color: rgba(255, 255, 255, 0.1);
}

/* Featured card */
.dmm-feature {
	position: relative;
	isolation: isolate;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	align-items: flex-start;
	gap: 10px;
	min-height: var(--dmm-feat-h, 240px);
	padding: 22px;
	border-radius: 14px;
	overflow: hidden;
	color: #fff;
	text-decoration: none;
	background-color: #1e293b;
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
}

.dmm-feature::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: linear-gradient(180deg, rgba(15, 23, 42, 0.05) 15%, var(--dmm-feat-overlay, rgba(15, 23, 42, 0.85)));
}

a.dmm-feature:hover {
	color: #fff;
	text-decoration: none;
}

.dmm-feature-title {
	font-size: 19px;
	font-weight: 800;
	line-height: 1.2;
}

.dmm-feature-text {
	font-size: 13.5px;
	line-height: 1.5;
	opacity: 0.9;
}

.dmm-feature-btn {
	margin-top: 4px;
	padding: 9px 16px;
	border-radius: 999px;
	font-size: 13px;
	font-weight: 700;
	color: #111827;
	background-color: #fff;
	transition: color var(--dmm-trans) ease, background-color var(--dmm-trans) ease, transform var(--dmm-trans) var(--dmm-ease);
}

a.dmm-feature:hover .dmm-feature-btn {
	transform: translateY(-2px);
}

/* Images and descriptions in regular dropdowns */
.dmm-sub .dmm-link {
	gap: 10px;
}

.dmm-sub .dmm-label {
	flex-direction: column;
	align-items: flex-start;
}

.dmm-sub-desc {
	display: block;
	margin-top: 2px;
	font-size: 12.5px;
	font-weight: 400;
	line-height: 1.4;
	color: #6b7280;
}

.dmm-sub-thumb {
	flex: 0 0 auto;
	width: 40px;
	height: 40px;
	border-radius: 8px;
	overflow: hidden;
}

/* Images in the off-canvas menu */
.dmm-m-thumb {
	flex: 0 0 auto;
	width: var(--dmm-m-thumb, 36px);
	height: var(--dmm-m-thumb, 36px);
	border-radius: 8px;
	overflow: hidden;
}

/* ------------------------------------------------------------------ */
/* Reduced motion                                                     */
/* ------------------------------------------------------------------ */
@media (prefers-reduced-motion: reduce) {
	.dmm-root *,
	.dmm-oc,
	.dmm-oc * {
		transition-duration: 1ms !important;
		transition-delay: 0s !important;
		animation: none !important;
	}

	.dmm-sub,
	.dmm-mega,
	.dmm-oc--stagger .dmm-m-menu > .dmm-item {
		transform: none !important;
	}
}
