/*!
 * AW MegaMenu – core stylesheet
 * Everything a designer would want to change is a custom property on .awmm.
 * Override them in the template, e.g.
 *   .awmm { --awmm-accent: #c8102e; --awmm-item-text-transform: uppercase; }
 * Layout states are driven by classes the script sets:
 *   .is-ready    script has initialised
 *   .is-compact  menu lives in the dialog (below the breakpoint, or overlay shell)
 *   .is-narrow   viewport is below the breakpoint (used by the overlay shell)
 *   .is-open     on an open panel and on its <li>
 */

.awmm {
	/* Typography */
	--awmm-font: inherit;
	--awmm-accent: #1e6fd9;

	/* Bar */
	--awmm-bar-bg: transparent;
	--awmm-bar-height: 64px;
	--awmm-bar-gap: 0.25rem;
	--awmm-item-color: #1f2328;
	--awmm-item-color-hover: var(--awmm-accent);
	--awmm-item-color-active: var(--awmm-accent);
	--awmm-item-padding-x: 1rem;
	--awmm-item-padding-y: 0;
	--awmm-item-font-size: 0.9375rem;
	--awmm-item-font-weight: 500;
	--awmm-item-letter-spacing: 0;
	--awmm-item-text-transform: none;
	--awmm-item-radius: 6px;
	--awmm-item-fill: rgba(30, 111, 217, 0.08);
	--awmm-underline-weight: 2px;
	--awmm-underline-color: var(--awmm-accent);
	--awmm-underline-bottom: 0.6rem;
	--awmm-chevron-gap: 0.5rem;

	/* Panels */
	--awmm-panel-bg: #ffffff;
	--awmm-panel-color: #1f2328;
	--awmm-panel-border: 1px solid rgba(0, 0, 0, 0.08);
	--awmm-panel-radius: 10px;
	--awmm-panel-shadow: 0 18px 40px rgba(0, 0, 0, 0.14);
	--awmm-panel-padding: 1.5rem;
	--awmm-panel-gap: 2.5rem;
	--awmm-panel-offset: 0px;
	--awmm-panel-width: 280px;
	--awmm-column-width: 220px;
	--awmm-feature-width: 300px;
	--awmm-intro-width: 260px;
	--awmm-divider: rgba(0, 0, 0, 0.08);
	--awmm-heading-color: #1f2328;
	--awmm-heading-size: 0.8125rem;
	--awmm-heading-weight: 700;
	--awmm-heading-transform: uppercase;
	--awmm-heading-letter-spacing: 0.06em;
	--awmm-link-color: #3b4149;
	--awmm-link-color-hover: var(--awmm-accent);
	--awmm-link-size: 0.9375rem;
	--awmm-link-padding: 0.4rem 0;
	--awmm-overview-color: var(--awmm-accent);
	--awmm-desc-color: #5c6470;
	--awmm-badge-bg: var(--awmm-accent);
	--awmm-badge-color: #ffffff;
	--awmm-icon-size: 20px;

	/* Dialog (mobile / overlay) */
	--awmm-dialog-bg: #ffffff;
	--awmm-dialog-color: #1f2328;
	--awmm-dialog-width: 380px;
	--awmm-dialog-padding: 1.25rem;
	--awmm-dialog-divider: rgba(0, 0, 0, 0.08);
	--awmm-backdrop: rgba(0, 0, 0, 0.45);
	--awmm-overlay-primary-size: 2rem;
	--awmm-overlay-panel-left: 36%;

	/* Focus & motion */
	--awmm-focus-ring: 2px solid var(--awmm-accent);
	--awmm-focus-offset: 2px;
	--awmm-duration: 180ms;
	--awmm-ease: cubic-bezier(0.2, 0.7, 0.2, 1);
	--awmm-z: 1000;

	position: relative;
	font-family: var(--awmm-font);
	box-sizing: border-box;
	/* Fill a flex host such as a UIkit navbar item instead of being centred inside it */
	flex: 1 1 auto;
}

.awmm--theme-dark {
	--awmm-item-color: #ffffff;
	--awmm-item-color-hover: #ffffff;
	--awmm-item-color-active: #ffffff;
	--awmm-item-fill: rgba(255, 255, 255, 0.12);
	--awmm-underline-color: currentColor;
	--awmm-panel-bg: #14171d;
	--awmm-panel-color: #ffffff;
	--awmm-panel-border: 1px solid rgba(255, 255, 255, 0.08);
	--awmm-divider: rgba(255, 255, 255, 0.12);
	--awmm-heading-color: #ffffff;
	--awmm-link-color: #c9ced6;
	--awmm-link-color-hover: #ffffff;
	--awmm-overview-color: #ffffff;
	--awmm-desc-color: #9aa3ad;
	--awmm-dialog-bg: #14171d;
	--awmm-dialog-color: #ffffff;
	--awmm-dialog-divider: rgba(255, 255, 255, 0.12);
	--awmm-focus-ring: 2px solid #ffffff;
}

.awmm *,
.awmm *::before,
.awmm *::after {
	box-sizing: inherit;
}

/* ---------- Resets ---------- */

/* Resets sit at (0,1,0): above a template's element selectors, below every component rule that follows */
.awmm :where(ul) {
	list-style: none;
	margin: 0;
	padding: 0;
}

.awmm :where(a) {
	color: inherit;
	text-decoration: none;
}

/* Theme rules such as `a:hover { text-decoration: underline }` (0,1,1) outrank the :where() reset above. */
.awmm :where(a):hover,
.awmm :where(a):focus,
.awmm :where(a):focus-visible {
	text-decoration: none;
}

.awmm :where(button) {
	font: inherit;
	color: inherit;
	background: none;
	border: 0;
	margin: 0;
	padding: 0;
	cursor: pointer;
	text-align: inherit;
}

.awmm :focus-visible {
	outline: var(--awmm-focus-ring);
	outline-offset: var(--awmm-focus-offset);
	border-radius: 4px;
}

.awmm__svg {
	display: inline-block;
	width: 1em;
	height: 1em;
	flex: none;
	vertical-align: -0.125em;
}

.awmm__icon {
	width: var(--awmm-icon-size);
	height: var(--awmm-icon-size);
	flex: none;
	object-fit: contain;
}

.awmm-visually-hidden {
	position: absolute !important;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
}

/* Sticky: the script fixes the bar to the viewport top once scrolled past, leaving a placeholder behind */
.awmm--sticky.is-stuck {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: var(--awmm-z);
	background: var(--awmm-sticky-bg, var(--awmm-panel-bg));
	box-shadow: var(--awmm-sticky-shadow, 0 2px 12px rgba(0, 0, 0, 0.12));
}

.awmm--sticky.is-stuck > .awmm__bar {
	max-width: var(--awmm-panel-max-width, 1600px);
	margin: 0 auto;
	padding: 0 var(--awmm-panel-side-padding, 40px);
}

.awmm__placeholder {
	display: block;
}

/* ---------- Burger (menu button) ---------- */

.awmm__burger {
	display: none;
	align-items: center;
	gap: 0.5rem;
	min-width: 44px;
	min-height: 44px;
	padding: 0.5rem;
	color: var(--awmm-item-color);
	font-size: var(--awmm-item-font-size);
	font-weight: var(--awmm-item-font-weight);
	border-radius: var(--awmm-item-radius);
}

.awmm__burger .awmm__svg {
	width: 22px;
	height: 18px;
}

/* ---------- Bar ---------- */

.awmm__bar {
	display: flex;
	align-items: stretch;
	gap: var(--awmm-bar-gap);
	min-height: var(--awmm-bar-height);
	background: var(--awmm-bar-bg);
}

.awmm--align-center .awmm__bar { justify-content: center; }
.awmm--align-right .awmm__bar { justify-content: flex-end; }
.awmm--align-justify .awmm__bar { justify-content: space-between; }
.awmm--align-justify .awmm__item--level1 { flex: 1 1 0; justify-content: center; }

.awmm__item--level1 {
	position: relative;
	display: flex;
	align-items: stretch;
}

/* Full-width panels are positioned against the nav, not the item */
.awmm__item--panel-full {
	position: static;
}

.awmm__link-group {
	display: flex;
	align-items: stretch;
}

.awmm__link--top {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: var(--awmm-chevron-gap);
	min-height: 44px;
	padding: var(--awmm-item-padding-y) var(--awmm-item-padding-x);
	color: var(--awmm-item-color);
	font-size: var(--awmm-item-font-size);
	font-weight: var(--awmm-item-font-weight);
	letter-spacing: var(--awmm-item-letter-spacing);
	text-transform: var(--awmm-item-text-transform);
	line-height: 1.2;
	white-space: nowrap;
	border-radius: var(--awmm-item-radius);
	transition: color var(--awmm-duration) var(--awmm-ease), background-color var(--awmm-duration) var(--awmm-ease);
}

.awmm__link--top:hover,
.awmm__link--top:focus-visible,
.is-open > .awmm__link--top,
.is-open > .awmm__link-group > .awmm__link--top {
	color: var(--awmm-item-color-hover);
}

.awmm__link--top[aria-current="page"],
.is-active > .awmm__link--top,
.is-active > .awmm__link-group > .awmm__link--top {
	color: var(--awmm-item-color-active);
}

.awmm__link--static {
	cursor: default;
}

/* A link with its own toggle: tuck the chevron against the text */
.awmm__link-group > .awmm__link--top {
	padding-right: calc(var(--awmm-item-padding-x) * 0.4);
}

.awmm__link-group > .awmm__sub-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2rem;
	min-height: 44px;
	margin-right: calc(var(--awmm-item-padding-x) * 0.3);
	color: var(--awmm-item-color);
	border-radius: var(--awmm-item-radius);
	transition: color var(--awmm-duration) var(--awmm-ease);
}

.awmm__link-group:hover > .awmm__sub-toggle,
.is-open > .awmm__link-group > .awmm__sub-toggle {
	color: var(--awmm-item-color-hover);
}

.awmm__sub-toggle .awmm__svg,
.awmm__chevron,
.awmm__group-toggle .awmm__svg {
	transition: transform var(--awmm-duration) var(--awmm-ease);
}

.awmm__sub-toggle[aria-expanded="true"] .awmm__svg,
.awmm__group-toggle[aria-expanded="true"] .awmm__svg {
	transform: rotate(180deg);
}

/* Link-style parents: the caret is the panel toggle, so give it a comfortable hit area */
.awmm__link--parent .awmm__chevron {
	box-sizing: content-box;
	padding: 0.4rem;
	margin: -0.4rem -0.4rem -0.4rem -0.1rem;
	border-radius: 999px;
}

.awmm__link--parent .awmm__chevron:hover {
	background: var(--awmm-item-fill);
}

/* ---------- Top-level hover effects ---------- */

.awmm--effect-underline .awmm__link--top::after,
.awmm--effect-underline-center .awmm__link--top::after {
	content: "";
	position: absolute;
	left: var(--awmm-item-padding-x);
	right: var(--awmm-item-padding-x);
	bottom: var(--awmm-underline-bottom);
	height: var(--awmm-underline-weight);
	background: var(--awmm-underline-color);
	border-radius: 999px;
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform var(--awmm-duration) var(--awmm-ease);
}

.awmm--effect-underline .awmm__link-group > .awmm__link--top::after,
.awmm--effect-underline-center .awmm__link-group > .awmm__link--top::after {
	right: 0;
}

.awmm--effect-underline-center .awmm__link--top::after {
	transform-origin: center;
}

.awmm--effect-underline .awmm__link--top:hover::after,
.awmm--effect-underline .awmm__link--top:focus-visible::after,
.awmm--effect-underline .awmm__link--top[aria-current="page"]::after,
.awmm--effect-underline .is-open > .awmm__link--top::after,
.awmm--effect-underline .is-open > .awmm__link-group > .awmm__link--top::after,
.awmm--effect-underline .is-active > .awmm__link--top::after,
.awmm--effect-underline .is-active > .awmm__link-group > .awmm__link--top::after,
.awmm--effect-underline .awmm__link-group:hover > .awmm__link--top::after,
.awmm--effect-underline-center .awmm__link--top:hover::after,
.awmm--effect-underline-center .awmm__link--top:focus-visible::after,
.awmm--effect-underline-center .awmm__link--top[aria-current="page"]::after,
.awmm--effect-underline-center .is-open > .awmm__link--top::after,
.awmm--effect-underline-center .is-open > .awmm__link-group > .awmm__link--top::after,
.awmm--effect-underline-center .is-active > .awmm__link--top::after,
.awmm--effect-underline-center .is-active > .awmm__link-group > .awmm__link--top::after,
.awmm--effect-underline-center .awmm__link-group:hover > .awmm__link--top::after {
	transform: scaleX(1);
}

.awmm--effect-fill .awmm__link--top {
	overflow: hidden;
	isolation: isolate;
}

.awmm--effect-fill .awmm__link--top::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: var(--awmm-item-fill);
	border-radius: inherit;
	transform: translateY(100%);
	transition: transform var(--awmm-duration) var(--awmm-ease);
}

.awmm--effect-fill .awmm__link--top:hover::before,
.awmm--effect-fill .awmm__link--top:focus-visible::before,
.awmm--effect-fill .awmm__link--top[aria-current="page"]::before,
.awmm--effect-fill .is-open > .awmm__link--top::before,
.awmm--effect-fill .is-open > .awmm__link-group > .awmm__link--top::before,
.awmm--effect-fill .is-active > .awmm__link--top::before,
.awmm--effect-fill .is-active > .awmm__link-group > .awmm__link--top::before {
	transform: translateY(0);
}

.awmm--effect-lift .awmm__link--top .awmm__text {
	transition: transform var(--awmm-duration) var(--awmm-ease);
}

.awmm--effect-lift .awmm__link--top:hover .awmm__text,
.awmm--effect-lift .awmm__link--top:focus-visible .awmm__text {
	transform: translateY(-2px);
}

/* ---------- Panels ---------- */

.awmm__panel {
	display: none;
	position: absolute;
	top: calc(100% + var(--awmm-panel-offset));
	left: 0;
	z-index: var(--awmm-z);
	padding: var(--awmm-panel-padding);
	background: var(--awmm-panel-bg);
	color: var(--awmm-panel-color);
	border: var(--awmm-panel-border);
	border-radius: var(--awmm-panel-radius);
	box-shadow: var(--awmm-panel-shadow);
	text-align: left;
	white-space: normal;
	/* Set by the script (CSSOM, so CSP-safe) to keep the panel inside the viewport */
	margin-left: var(--awmm-shift, 0px);
	max-height: var(--awmm-panel-max-height, none);
	overflow-y: auto;
	overscroll-behavior: contain;
}

.awmm__panel.is-open {
	display: block;
}

.awmm__panel--list {
	width: var(--awmm-panel-width);
}

.awmm__panel--columns {
	width: max-content;
	max-width: calc(100vw - 2rem);
}

.awmm__panel--full {
	left: 0;
	right: 0;
	width: auto;
}

/* Full-width panels can span the whole viewport instead of the menu; the script sets --awmm-panel-top */
.awmm--span-viewport .awmm__panel--full {
	position: fixed;
	top: var(--awmm-panel-top, auto);
	left: 0;
	right: 0;
	margin-left: 0;
	border-radius: 0;
	border-left: 0;
	border-right: 0;
}

.awmm--span-viewport .awmm__panel--full > .awmm__panel-inner {
	max-width: var(--awmm-panel-max-width, 1600px);
	margin: 0 auto;
	padding: 0 var(--awmm-panel-side-padding, 40px);
}

/* Width presets (per panel or via the module default) */
.awmm__panel--narrow { --awmm-panel-width: 220px; --awmm-column-width: 180px; }
.awmm__panel--wide   { --awmm-panel-width: 360px; --awmm-column-width: 260px; }
.awmm__panel--xwide  { --awmm-panel-width: 440px; --awmm-column-width: 300px; }

/* Keep panels on screen until the script positions them */
.awmm:not(.is-ready) .awmm__item--level1:is(:hover, :focus-within) > .awmm__panel {
	display: block;
}


.awmm__panel-inner {
	display: grid;
	gap: var(--awmm-panel-gap);
	grid-template-columns: minmax(0, 1fr);
}

/* Named areas only where a template defines them; an unmatched grid-area would create implicit tracks */
:is(.awmm__panel--has-intro, .awmm__panel--feature-right, .awmm__panel--feature-left) .awmm__panel-header  { grid-area: header; }
:is(.awmm__panel--has-intro, .awmm__panel--feature-right, .awmm__panel--feature-left) .awmm__panel-intro   { grid-area: intro; }
:is(.awmm__panel--has-intro, .awmm__panel--feature-right, .awmm__panel--feature-left) .awmm__columns       { grid-area: columns; }
:is(.awmm__panel--has-intro, .awmm__panel--feature-right, .awmm__panel--feature-left) .awmm__panel-feature { grid-area: feature; }

/* Feature modules beside the columns */
.awmm__panel--feature-right .awmm__panel-inner {
	grid-template-columns: minmax(0, 1fr) minmax(220px, var(--awmm-feature-width));
	grid-template-areas: "columns feature";
}

.awmm__panel--feature-right.awmm__panel--has-header .awmm__panel-inner {
	grid-template-areas:
		"header feature"
		"columns feature";
}

.awmm__panel--feature-left .awmm__panel-inner {
	grid-template-columns: minmax(220px, var(--awmm-feature-width)) minmax(0, 1fr);
	grid-template-areas: "feature columns";
}

.awmm__panel--feature-left.awmm__panel--has-header .awmm__panel-inner {
	grid-template-areas:
		"feature header"
		"feature columns";
}

/* Intro (feature column) on the left; with feature modules they always go right */
.awmm__panel--has-intro .awmm__panel-inner {
	grid-template-columns: minmax(200px, var(--awmm-intro-width)) minmax(0, 1fr);
	grid-template-areas: "intro columns";
}

.awmm__panel--has-intro.awmm__panel--feature-bottom .awmm__panel-inner {
	grid-template-areas:
		"intro columns"
		"intro feature";
}

.awmm__panel--has-intro.awmm__panel--feature-right .awmm__panel-inner,
.awmm__panel--has-intro.awmm__panel--feature-left .awmm__panel-inner {
	grid-template-columns: minmax(200px, var(--awmm-intro-width)) minmax(0, 1fr) minmax(220px, var(--awmm-feature-width));
	grid-template-areas: "intro columns feature";
}

.awmm__panel-header {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0.5rem 1.5rem;
	padding-bottom: 1rem;
	border-bottom: 1px solid var(--awmm-divider);
}

.awmm__panel-intro {
	padding-right: var(--awmm-panel-gap);
	border-right: 1px solid var(--awmm-divider);
}

.awmm__panel-image {
	display: block;
	width: 100%;
	height: auto;
	margin-bottom: 0.875rem;
	border-radius: calc(var(--awmm-panel-radius) - 2px);
}

.awmm__overview {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	color: var(--awmm-overview-color);
	font-weight: 600;
	font-size: var(--awmm-link-size);
}

.awmm__overview .awmm__svg {
	transition: transform var(--awmm-duration) var(--awmm-ease);
}

.awmm__overview:hover .awmm__svg,
.awmm__overview:focus-visible .awmm__svg {
	transform: translateX(3px);
}

.awmm__panel-desc {
	flex-basis: 100%;
	margin: 0;
	color: var(--awmm-desc-color);
	font-size: 0.875rem;
	line-height: 1.5;
	max-width: 60ch;
}

.awmm__panel-intro .awmm__panel-desc {
	margin-top: 0.5rem;
}

.awmm__columns {
	display: grid;
	gap: var(--awmm-panel-gap);
	align-items: start;
}

.awmm__columns--1 { grid-template-columns: minmax(0, 1fr); }
.awmm__columns--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.awmm__columns--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.awmm__columns--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.awmm__columns--5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.awmm__columns--6 { grid-template-columns: repeat(6, minmax(0, 1fr)); }

/* Non-full column panels size to their content */
.awmm__panel--columns .awmm__columns--1 { grid-template-columns: var(--awmm-column-width); }
.awmm__panel--columns .awmm__columns--2 { grid-template-columns: repeat(2, var(--awmm-column-width)); }
.awmm__panel--columns .awmm__columns--3 { grid-template-columns: repeat(3, var(--awmm-column-width)); }
.awmm__panel--columns .awmm__columns--4 { grid-template-columns: repeat(4, var(--awmm-column-width)); }
.awmm__panel--columns .awmm__columns--5 { grid-template-columns: repeat(5, var(--awmm-column-width)); }
.awmm__panel--columns .awmm__columns--6 { grid-template-columns: repeat(6, var(--awmm-column-width)); }

.awmm__group + .awmm__group {
	margin-top: 1.25rem;
}

/* A long list spread over columns (per-heading setting); its grid column spans the same number of tracks */
.awmm__list--cols-2 { columns: 2; column-gap: var(--awmm-panel-gap); }
.awmm__list--cols-3 { columns: 3; column-gap: var(--awmm-panel-gap); }
.awmm__list--cols-2 > li,
.awmm__list--cols-3 > li { break-inside: avoid; }
.awmm__column--span-2 { grid-column: span 2; }
.awmm__column--span-3 { grid-column: span 3; }

.awmm__group-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem;
	margin-bottom: 0.5rem;
}

.awmm__heading {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	color: var(--awmm-heading-color);
	font-size: var(--awmm-heading-size);
	font-weight: var(--awmm-heading-weight);
	letter-spacing: var(--awmm-heading-letter-spacing);
	text-transform: var(--awmm-heading-transform);
	line-height: 1.3;
}

a.awmm__heading:hover,
a.awmm__heading:focus-visible {
	color: var(--awmm-link-color-hover);
}

.awmm__group-toggle {
	display: none;
}

.awmm__list .awmm__link {
	display: flex;
	align-items: center;
	gap: 0.6rem;
	padding: var(--awmm-link-padding);
	color: var(--awmm-link-color);
	font-size: var(--awmm-link-size);
	line-height: 1.35;
	transition: color var(--awmm-duration) var(--awmm-ease);
}

.awmm__list .awmm__link:hover,
.awmm__list .awmm__link:focus-visible {
	color: var(--awmm-link-color-hover);
}

.awmm__list .awmm__link[aria-current="page"],
.awmm__list .is-active > .awmm__link {
	color: var(--awmm-link-color-hover);
	font-weight: 600;
}

.awmm__list .awmm__list {
	padding-left: 1rem;
}

.awmm__text {
	display: inline-flex;
	flex-direction: column;
	min-width: 0;
}

.awmm__subtitle {
	font-size: 0.8em;
	font-weight: 400;
	color: var(--awmm-desc-color);
	text-transform: none;
	letter-spacing: 0;
}

.awmm__badge {
	display: inline-block;
	margin-left: 0.25rem;
	padding: 0.15em 0.55em;
	border-radius: 999px;
	background: var(--awmm-badge-bg);
	color: var(--awmm-badge-color);
	font-size: 0.7em;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.awmm__panel-feature {
	min-width: 0;
}

/* ---------- Visibility helpers ---------- */

.awmm:not(.is-compact) .awmm__item--compact-only,
.awmm.is-compact .awmm__item--bar-only {
	display: none;
}

/* Before the script runs, hide the bar below the breakpoint and show the burger
   so nothing flashes. The script takes over from here with .is-compact. */
.awmm--overlay:not(.is-ready) > .awmm__bar { display: none; }
.awmm--overlay .awmm__burger,
.awmm.is-compact .awmm__burger { display: inline-flex; }

/* In compact mode the nav is a flex row so the alignment setting can place the menu button */
.awmm.is-compact {
	display: flex;
	align-items: center;
}

.awmm--align-center.is-compact .awmm__burger { margin-inline: auto; }
.awmm--align-right.is-compact .awmm__burger { margin-inline-start: auto; }

@media (max-width: 639.98px) {
	.awmm--bp-s:not(.is-ready) > .awmm__bar { display: none; }
	.awmm--bp-s:not(.is-ready) .awmm__burger { display: inline-flex; }
}
@media (max-width: 959.98px) {
	.awmm--bp-m:not(.is-ready) > .awmm__bar { display: none; }
	.awmm--bp-m:not(.is-ready) .awmm__burger { display: inline-flex; }
}
@media (max-width: 1199.98px) {
	.awmm--bp-l:not(.is-ready) > .awmm__bar { display: none; }
	.awmm--bp-l:not(.is-ready) .awmm__burger { display: inline-flex; }
}
@media (max-width: 1599.98px) {
	.awmm--bp-xl:not(.is-ready) > .awmm__bar { display: none; }
	.awmm--bp-xl:not(.is-ready) .awmm__burger { display: inline-flex; }
}

/* No JavaScript at all: show the bar and hide the menu button. Pure CSS, so no inline style is needed under a strict CSP. */
@media (scripting: none) {
	.awmm > .awmm__bar { display: flex !important; }
	.awmm .awmm__burger { display: none !important; }
}

/* ---------- Dialog (mobile and overlay) ---------- */

.awmm__dialog {
	position: fixed;
	inset: 0;
	display: none;
	flex-direction: column;
	width: min(var(--awmm-dialog-width), 100%);
	max-width: none;
	height: 100%;
	height: 100dvh;
	max-height: none;
	margin: 0;
	padding: 0;
	border: 0;
	background: var(--awmm-dialog-bg);
	color: var(--awmm-dialog-color);
	overflow: hidden;
}

.awmm__dialog[open] {
	display: flex;
}

.awmm__dialog::backdrop {
	background: var(--awmm-backdrop);
}

.awmm--mobile-offcanvas-right .awmm__dialog {
	margin-inline-start: auto;
}

.awmm--mobile-fullscreen .awmm__dialog,
.awmm--overlay .awmm__dialog {
	width: 100%;
}

html.awmm-dialog-open {
	overflow: hidden;
}

.awmm__dialog-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding: calc(var(--awmm-dialog-padding) * 0.6) var(--awmm-dialog-padding);
	border-bottom: 1px solid var(--awmm-dialog-divider);
}

.awmm__dialog-top {
	flex: 1 1 auto;
	min-width: 0;
}

.awmm__close {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	min-width: 44px;
	min-height: 44px;
	margin-inline-start: auto;
	padding: 0.5rem;
	border-radius: var(--awmm-item-radius);
	font-weight: 500;
}

.awmm__dialog-body {
	position: relative;
	flex: 1 1 auto;
	min-height: 0;
	padding: 0 var(--awmm-dialog-padding);
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	overscroll-behavior: contain;
}

.awmm__dialog-foot {
	padding: var(--awmm-dialog-padding);
	border-top: 1px solid var(--awmm-dialog-divider);
}

/* ---------- Compact layout (inside the dialog) ---------- */

.is-compact .awmm__bar {
	display: block;
	min-height: 0;
	background: none;
}

.is-compact .awmm__item--level1 {
	position: static;
	display: block;
	border-bottom: 1px solid var(--awmm-dialog-divider);
}

.is-compact .awmm__link--top {
	display: flex;
	width: 100%;
	padding: 0.85rem 0;
	font-size: 1.0625rem;
	white-space: normal;
	border-radius: 0;
	color: var(--awmm-dialog-color);
	text-transform: none;
	letter-spacing: 0;
}

.is-compact .awmm__link-group > .awmm__sub-toggle {
	color: var(--awmm-dialog-color);
}

.is-compact .awmm__link--top:hover,
.is-compact .awmm__link--top:focus-visible,
.is-compact .awmm__item--level1.is-open > .awmm__link--top,
.is-compact .awmm__item--level1.is-open > .awmm__link-group > .awmm__link--top,
.is-compact .awmm__link--top[aria-current="page"] {
	color: var(--awmm-accent);
}

.is-compact .awmm__link--top::before,
.is-compact .awmm__link--top::after {
	display: none;
}

.is-compact .awmm__link--button {
	justify-content: space-between;
}

.is-compact .awmm__link-group {
	align-items: center;
}

.is-compact .awmm__link-group > .awmm__link--top {
	flex: 1 1 auto;
	padding-right: 0;
}

.is-compact .awmm__link-group > .awmm__sub-toggle {
	width: 44px;
	margin: 0;
}

.is-compact .awmm__panel {
	position: static;
	display: none;
	width: auto;
	max-width: none;
	max-height: none;
	overflow: visible;
	padding: 0 0 1rem;
	background: transparent;
	color: inherit;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	animation: none;
	margin-left: 0;
}

.is-compact .awmm__panel.is-open {
	display: block;
}

.is-compact .awmm__panel-inner,
.is-compact .awmm__columns {
	display: block;
}

.is-compact .awmm__column + .awmm__column {
	margin-top: 1rem;
}

.is-compact .awmm__list--cols-2,
.is-compact .awmm__list--cols-3 {
	columns: auto;
}

.is-compact .awmm__panel-header,
.is-compact .awmm__panel-intro {
	margin-bottom: 0.75rem;
	padding: 0 0 0.75rem;
	border: 0;
	border-bottom: 1px solid var(--awmm-dialog-divider);
}

.is-compact .awmm__panel-image {
	max-width: 240px;
}

.is-compact .awmm__group + .awmm__group {
	margin-top: 0.75rem;
}

.is-compact .awmm__group-head {
	margin-bottom: 0;
	min-height: 44px;
}

.is-compact .awmm__group-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	min-height: 44px;
	border-radius: var(--awmm-item-radius);
}

.is-compact .awmm__group-list.is-closed {
	display: none;
}

.is-compact .awmm__list .awmm__link {
	min-height: 40px;
	padding: 0.5rem 0;
}

.is-compact .awmm__panel-feature {
	margin-top: 1rem;
}

.awmm--feature-mobile-hide.is-compact .awmm__panel-feature {
	display: none;
}

/* ---------- Overlay shell at desktop widths: three-pane panel menu ---------- */

.awmm--overlay.is-compact:not(.is-narrow) .awmm__dialog-body {
	display: grid;
	grid-template-columns: minmax(240px, 1fr) minmax(0, 2fr);
	gap: var(--awmm-panel-gap);
	padding: var(--awmm-dialog-padding) calc(var(--awmm-dialog-padding) * 2);
}

.awmm--overlay.is-compact:not(.is-narrow) .awmm__dialog-head,
.awmm--overlay.is-compact:not(.is-narrow) .awmm__dialog-foot {
	padding-left: calc(var(--awmm-dialog-padding) * 2);
	padding-right: calc(var(--awmm-dialog-padding) * 2);
}

.awmm--overlay.is-compact:not(.is-narrow) .awmm__bar {
	grid-column: 1;
	align-self: start;
}

.awmm--overlay.is-compact:not(.is-narrow) .awmm__item--level1 {
	border: 0;
}

.awmm--overlay.is-compact:not(.is-narrow) .awmm__link--top {
	padding: 0.35rem 0;
	font-size: var(--awmm-overlay-primary-size);
	font-weight: 600;
	letter-spacing: -0.01em;
}

.awmm--overlay.is-compact:not(.is-narrow) .awmm__link-group > .awmm__sub-toggle {
	width: 2.5rem;
}

.awmm--overlay.is-compact:not(.is-narrow) .awmm__panel {
	position: absolute;
	inset: var(--awmm-dialog-padding) calc(var(--awmm-dialog-padding) * 2) var(--awmm-dialog-padding) var(--awmm-overlay-panel-left);
	overflow: hidden auto;
	padding: 0;
}

.awmm--overlay.is-compact:not(.is-narrow) .awmm__panel-inner {
	display: grid;
}

.awmm--overlay.is-compact:not(.is-narrow) .awmm__columns {
	display: grid;
}

/* Panels fill the pane, so columns share the width instead of using fixed widths */
.awmm--overlay.is-compact:not(.is-narrow) .awmm__panel .awmm__columns {
	grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
}

.awmm--overlay.is-compact:not(.is-narrow) .awmm__column + .awmm__column {
	margin-top: 0;
}

.awmm--overlay.is-compact:not(.is-narrow) .awmm__group-toggle {
	display: none;
}

.awmm--overlay.is-compact:not(.is-narrow) .awmm__group-list.is-closed {
	display: block;
}

.awmm--overlay.is-compact:not(.is-narrow) .awmm__panel-header,
.awmm--overlay.is-compact:not(.is-narrow) .awmm__panel-intro {
	margin-bottom: 0;
	border-bottom: 1px solid var(--awmm-divider);
	padding-bottom: 1rem;
}

.awmm--overlay.is-compact:not(.is-narrow) .awmm__panel-intro {
	border-bottom: 0;
	border-right: 1px solid var(--awmm-divider);
	padding: 0 var(--awmm-panel-gap) 0 0;
}

/* ---------- Motion ---------- */

@media (prefers-reduced-motion: no-preference) {
	.awmm:not(.is-compact) .awmm__panel.is-open {
		animation: awmm-panel-in var(--awmm-duration) var(--awmm-ease);
	}

	.awmm__dialog {
		opacity: 0;
		transform: translateX(-100%);
		transition:
			transform 320ms var(--awmm-ease),
			opacity 320ms var(--awmm-ease),
			display 320ms allow-discrete,
			overlay 320ms allow-discrete;
	}

	.awmm--mobile-offcanvas-right .awmm__dialog {
		transform: translateX(100%);
	}

	.awmm--mobile-fullscreen .awmm__dialog,
	.awmm--overlay .awmm__dialog {
		transform: translateY(-1.5rem);
	}

	.awmm__dialog[open] {
		opacity: 1;
		transform: none;
	}

	.awmm__dialog::backdrop {
		opacity: 0;
		transition: opacity 320ms var(--awmm-ease), display 320ms allow-discrete, overlay 320ms allow-discrete;
	}

	.awmm__dialog[open]::backdrop {
		opacity: 1;
	}

	@starting-style {
		.awmm__dialog[open] {
			opacity: 0;
			transform: translateX(-100%);
		}

		.awmm--mobile-offcanvas-right .awmm__dialog[open] {
			transform: translateX(100%);
		}

		.awmm--mobile-fullscreen .awmm__dialog[open],
		.awmm--overlay .awmm__dialog[open] {
			transform: translateY(-1.5rem);
		}

		.awmm__dialog[open]::backdrop {
			opacity: 0;
		}
	}
}

@keyframes awmm-panel-in {
	from {
		opacity: 0;
		transform: translateY(-6px);
	}
}

@media (prefers-reduced-motion: reduce) {
	.awmm *,
	.awmm *::before,
	.awmm *::after {
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
	}
}
