/* ===== Header menu: desktop inline, mobile full-screen overlay ===== */
.cu-nav__top,
.cu-nav__extra,
.cu-menu-scrim { display: none; }

.cu-burger { position: relative; }
.cu-burger span:not(.cu-sr) { transition: transform 0.3s var(--ease, ease), opacity 0.2s; }

@media (max-width: 900px) {
	.cu-burger { display: grid !important; place-content: center; gap: 6px; }
	.cu-burger span:not(.cu-sr) { width: 20px; height: 1.5px; background: var(--bone, #f3eee4); }

	html.cu-menu-open,
	html.cu-menu-open body { overflow: hidden !important; }

	.cu-nav {
		position: fixed !important;
		inset: 0 !important;
		z-index: 90;
		width: auto !important;
		height: 100dvh;
		display: flex;
		flex-direction: column;
		padding: calc(env(safe-area-inset-top) + 1rem) 1.5rem calc(env(safe-area-inset-bottom) + 1.6rem) !important;
		background:
			radial-gradient(120% 60% at 100% 0%, rgba(201, 163, 106, 0.14), transparent 60%),
			#070708 !important;
		backdrop-filter: blur(22px);
		-webkit-backdrop-filter: blur(22px);
		border: 0 !important;
		transform: none !important;
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		overflow-y: auto;
		transition: opacity 0.35s ease, visibility 0s linear 0.35s !important;
	}
	.cu-nav.is-open {
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
		transition: opacity 0.35s ease, visibility 0s !important;
	}

	.cu-nav__top {
		display: flex;
		align-items: center;
		justify-content: space-between;
		min-height: 52px;
	}
	.cu-nav__top .cu-logo { display: flex; flex-direction: column; gap: 0.3rem; line-height: 1; }
	.cu-nav__close {
		display: grid;
		place-items: center;
		width: 48px;
		height: 48px;
		border: 1px solid rgba(243, 238, 228, 0.22);
		border-radius: 50%;
		background: transparent;
		color: var(--bone, #f3eee4);
		cursor: pointer;
		transition: border-color 0.25s, transform 0.3s ease;
	}
	.cu-nav__close:hover { border-color: var(--gold, #c9a36a); transform: rotate(90deg); }

	.cu-nav .cu-nav__list {
		display: flex !important;
		flex-direction: column !important;
		align-items: flex-start !important;
		gap: 0.2rem !important;
		margin: auto 0 !important;
		padding: 2rem 0;
		counter-reset: m;
	}
	.cu-nav .cu-nav__list li { width: 100%; border-bottom: 1px solid rgba(243, 238, 228, 0.08); }
	.cu-nav .cu-nav__list a {
		display: flex !important;
		align-items: center;
		gap: 0.9rem;
		width: 100%;
		padding: 0.95rem 0;
		font-family: var(--serif, "Cormorant Garamond", serif) !important;
		font-size: clamp(2rem, 9vw, 2.6rem) !important;
		font-weight: 500;
		letter-spacing: 0.02em !important;
		text-transform: none !important;
		color: var(--bone, #f3eee4) !important;
	}
	.cu-nav .cu-nav__list a::before {
		counter-increment: m;
		content: "0" counter(m);
		font-family: var(--mono, monospace);
		font-size: 0.7rem;
		letter-spacing: 0.1em;
		color: var(--gold, #c9a36a);
		align-self: flex-start;
		margin-top: 0.9rem;
	}
	.cu-nav .cu-nav__list .cu-secure-mark { width: 0.8em; height: 0.8em; border-radius: 0.18em; }

	/* staggered entrance */
	.cu-nav .cu-nav__list li,
	.cu-nav__extra { opacity: 0; transform: translateY(16px); transition: opacity 0.4s ease, transform 0.5s cubic-bezier(0.16, 1, 0.3, 1); }
	.cu-nav.is-open .cu-nav__list li,
	.cu-nav.is-open .cu-nav__extra { opacity: 1; transform: none; }
	.cu-nav.is-open .cu-nav__list li:nth-child(1) { transition-delay: 0.06s; }
	.cu-nav.is-open .cu-nav__list li:nth-child(2) { transition-delay: 0.11s; }
	.cu-nav.is-open .cu-nav__list li:nth-child(3) { transition-delay: 0.16s; }
	.cu-nav.is-open .cu-nav__list li:nth-child(4) { transition-delay: 0.21s; }
	.cu-nav.is-open .cu-nav__list li:nth-child(5) { transition-delay: 0.26s; }
	.cu-nav.is-open .cu-nav__extra { transition-delay: 0.3s; }

	.cu-nav__extra { display: flex; flex-wrap: wrap; gap: 0.6rem; }
	.cu-nav__pill {
		display: inline-flex;
		align-items: center;
		min-height: 44px;
		padding: 0 1.1rem;
		border: 1px solid rgba(243, 238, 228, 0.2);
		border-radius: 99px;
		background: rgba(243, 238, 228, 0.05);
		color: var(--bone, #f3eee4) !important;
		font: inherit;
		font-family: var(--sans, sans-serif) !important;
		font-size: 0.86rem !important;
		letter-spacing: 0.02em !important;
		text-transform: none !important;
		cursor: pointer;
	}
	.cu-nav__pill:hover { border-color: var(--gold, #c9a36a); }
}

@media (prefers-reduced-motion: reduce) {
	.cu-nav, .cu-nav .cu-nav__list li, .cu-nav__extra { transition: none !important; }
}

/* —— Digital › CharlySecure sub-menu —— */
.cu-nav__list > li.menu-item-has-children { position: relative; }
.cu-nav__list > li.menu-item-has-children > a::after {
	content: "";
	width: 5px; height: 5px;
	margin-left: 0.15rem;
	border-right: 1px solid currentColor; border-bottom: 1px solid currentColor;
	transform: translateY(-2px) rotate(45deg);
	opacity: 0.7;
}
@media (min-width: 901px) {
	.cu-subnav {
		position: absolute; top: calc(100% + 14px); left: 50%;
		min-width: 220px; margin: 0; padding: 0.5rem; list-style: none;
		border-radius: 14px; background: rgba(12, 12, 14, 0.97);
		border: 1px solid rgba(243, 238, 228, 0.1);
		box-shadow: 0 24px 50px -20px rgba(0, 0, 0, 0.7);
		opacity: 0; visibility: hidden; transform: translate(-50%, 6px);
		transition: opacity 0.2s, transform 0.25s, visibility 0.2s;
		z-index: 60;
	}
	.cu-subnav::before { content: ""; position: absolute; left: 0; right: 0; top: -16px; height: 16px; }
	.cu-nav__list > li:hover > .cu-subnav,
	.cu-nav__list > li:focus-within > .cu-subnav { opacity: 1; visibility: visible; transform: translate(-50%, 0); }
	.cu-subnav a { display: flex !important; width: 100%; padding: 0.7rem 0.8rem; border-radius: 9px; letter-spacing: 0.2em !important; }
	.cu-subnav a:hover { background: rgba(243, 238, 228, 0.06); }
}
@media (max-width: 900px) {
	.cu-nav .cu-nav__list > li.menu-item-has-children > a::after { display: none; }
	.cu-nav .cu-subnav { margin: -0.4rem 0 0.8rem; padding: 0 0 0 2.2rem; list-style: none; }
	.cu-nav .cu-subnav li { border: 0 !important; opacity: 1 !important; transform: none !important; }
	.cu-nav .cu-subnav a {
		padding: 0.45rem 0 !important;
		font-family: inherit !important;
		font-size: 0.8rem !important;
		letter-spacing: 0.24em !important;
		text-transform: uppercase !important;
		color: rgba(243, 238, 228, 0.75) !important;
	}
	.cu-nav .cu-subnav a::before { display: none !important; content: none !important; counter-increment: none !important; }
	.cu-nav .cu-subnav .cu-secure-mark { width: 1.1rem; height: 1.1rem; }
}
