.cuirden-site-header {
	position: sticky !important; top: 0 !important; z-index: 99999 !important; width: 100%; background: var(--hc-ivory);
}
.admin-bar .cuirden-site-header { top: 32px !important; }
.cuirden-header-shell { position: relative; background: var(--hc-ivory); border-bottom: 1px solid var(--hc-line); }
.cuirden-mobile-menu-toggle { display: none; }

.cuirden-desktop-nav { position: relative; display: block; background: var(--hc-ivory); border-top: 1px solid var(--hc-line); }
.cuirden-main-menu {
	position: relative; display: flex; align-items: center; justify-content: center; gap: clamp(1.5rem,3.2vw,3.25rem);
	max-width: 1440px; min-height: 56px; margin: 0 auto; padding: 0 24px; list-style: none;
}
.cuirden-menu-item { position: static; margin: 0; padding: 0; list-style: none; }
.cuirden-toplink {
	appearance: none; border: 0; background: transparent; color: var(--hc-ink); padding: 19px 0 18px; font: inherit;
	font-size: .72rem; font-weight: 600; line-height: 1; letter-spacing: .085em; text-decoration: none; text-transform: uppercase; white-space: nowrap; cursor: pointer;
}
.cuirden-toplink-anchor { display: inline-block; }
.cuirden-toplink span { display: inline-block; margin-left: .25rem; font-size: .82em; transition: transform .18s ease; }
.cuirden-has-mega:hover .cuirden-toplink span,.cuirden-has-mega:focus-within .cuirden-toplink span { transform: rotate(180deg); }

.cuirden-mega {
	position: absolute; top: 100%; left: 50%; width: min(1120px,calc(100vw - 48px)); transform: translate(-50%,10px);
	display: grid; grid-template-columns: 1.25fr 1fr 1fr; gap: clamp(2rem,4vw,5rem); padding: 2.4rem clamp(2rem,4vw,4rem) 2.7rem;
	background: var(--hc-soft-white); border: 1px solid var(--hc-line); box-shadow: 0 24px 60px rgba(23,23,23,.10);
	opacity: 0; visibility: hidden; pointer-events: none; transition: opacity .16s ease,transform .16s ease,visibility .16s ease;
}
.cuirden-has-mega:hover > .cuirden-mega,.cuirden-has-mega:focus-within > .cuirden-mega {
	opacity: 1; visibility: visible; pointer-events: auto; transform: translate(-50%,0);
}
.cuirden-mega-intro,.cuirden-mega-column { min-width: 0; }
.cuirden-mega-kicker,.cuirden-mega-heading { display: block; margin-bottom: .9rem; font-size: .66rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; }
.cuirden-mega-intro strong { display: block; max-width: 320px; margin-bottom: .8rem; font-family: var(--wp--preset--font-family--display); font-size: clamp(1.45rem,2.2vw,2.15rem); font-weight: 400; line-height: 1.05; }
.cuirden-mega-intro p { max-width: 340px; margin: 0; color: var(--hc-charcoal); font-size: .88rem; line-height: 1.55; }
.cuirden-mega-column { display: flex; flex-direction: column; align-items: flex-start; }
.cuirden-mega-column a { display: inline-block; padding: .38rem 0; color: var(--hc-ink); font-family: var(--wp--preset--font-family--display); font-size: 1.1rem; line-height: 1.35; text-decoration: none; white-space: normal; }
.cuirden-mega-column a:hover,.cuirden-mega-column a:focus { opacity: .55; }

.cuirden-mobile-drawer { display: none; }

@media (max-width: 900px) {
	.admin-bar .cuirden-site-header { top: 46px !important; }
	.cuirden-desktop-nav { display: none !important; }
	.cuirden-header-row { position: relative; display: grid !important; grid-template-columns: 48px minmax(0,1fr) 48px !important; align-items: center !important; min-height: 66px; gap: 0 !important; }

	.cuirden-mobile-menu-toggle {
		position: absolute; left: 0; top: 50%; transform: translateY(-50%); display: flex; flex-direction: column; align-items: center; justify-content: center;
		gap: 5px; width: 42px; height: 42px; padding: 0; border: 0; background: transparent; cursor: pointer; z-index: 2;
	}
	.cuirden-mobile-menu-toggle span { display: block; width: 17px; height: 1px; background: var(--hc-ink); }

	.cuirden-mobile-drawer {
		position: fixed; inset: 0; z-index: 200000; display: block; width: 100vw; height: 100dvh; background: var(--hc-soft-white);
		transform: translateX(-100%); transition: transform .25s ease; overflow-y: auto; visibility: hidden;
	}
	.cuirden-mobile-drawer.is-open { transform: translateX(0); visibility: visible; }
	.cuirden-mobile-drawer-inner { min-height: 100%; padding: 1.25rem 1.25rem 2.5rem; box-sizing: border-box; }
	.cuirden-mobile-drawer-top { display: flex; align-items: center; justify-content: space-between; padding-bottom: 1.15rem; border-bottom: 1px solid var(--hc-line); }
	.cuirden-mobile-wordmark { font-family: var(--wp--preset--font-family--display); font-size: 1.35rem; letter-spacing: .12em; }
	.cuirden-mobile-close { width: 42px; height: 42px; padding: 0; border: 0; background: transparent; font-size: 2rem; font-weight: 300; line-height: 1; cursor: pointer; }
	.cuirden-mobile-nav { margin-top: 1.2rem; }
	.cuirden-mobile-section,.cuirden-mobile-direct { border-bottom: 1px solid var(--hc-line); }

	.cuirden-mobile-accordion,.cuirden-mobile-direct {
		display: flex; align-items: center; justify-content: space-between; width: 100%; min-height: 48px; padding: 1.1rem 0; border: 0; background: transparent;
		color: var(--hc-ink); font-size: .77rem; font-weight: 600; letter-spacing: .095em; text-align: left; text-decoration: none; text-transform: uppercase; cursor: pointer;
	}
	.cuirden-mobile-accordion span { font-size: 1.1rem; font-weight: 300; transition: transform .18s ease; }
	.cuirden-mobile-accordion[aria-expanded="true"] span { transform: rotate(45deg); }

	.cuirden-mobile-submenu { display: none !important; padding: 0 !important; margin: 0 !important; }
	.cuirden-mobile-section.is-open > .cuirden-mobile-submenu { display: block !important; padding: 0 0 .85rem !important; }
	.cuirden-mobile-section:not(.is-open) > .cuirden-mobile-submenu,.cuirden-mobile-section:not(.is-open) > .cuirden-mobile-submenu * { display: none !important; }
	.cuirden-mobile-submenu > a {
		display: block !important; padding: .52rem 0 .52rem 1rem !important; margin: 0 !important; color: var(--hc-ink);
		font-family: var(--wp--preset--font-family--display); font-size: 1.15rem; line-height: 1.25; text-decoration: none;
	}
	.cuirden-mobile-accordion[aria-expanded="true"] { padding-bottom: .7rem; }
	.cuirden-mobile-section.is-open { padding-bottom: .2rem; }

	.cuirden-mobile-meta { display: flex; gap: 1.5rem; margin-top: 2rem; padding-top: 1rem; font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; }
	.cuirden-mobile-meta a { color: var(--hc-ink); text-decoration: none; }
	body.cuirden-menu-open { overflow: hidden; }
}
