/* Concierge-style fullscreen navigation. Loaded after the theme's legacy layers. */
.site-nav,
.site-nav.is-open {
	position: fixed !important;
	inset: 0 !important;
	z-index: 9998 !important;
	display: flex !important;
	align-items: flex-start !important;
	justify-content: flex-start !important;
	width: 100vw !important;
	height: 100dvh !important;
	padding: clamp(6.5rem, 12vh, 9rem) clamp(1.5rem, 8vw, 9rem) 3rem !important;
	overflow-y: auto !important;
	background: rgba(4, 5, 4, 0.96) !important;
	background-image: none !important;
	border: 0 !important;
	border-radius: 0 !important;
	clip-path: none !important;
	box-shadow: none !important;
	transform: none !important;
	transition: none !important;
	backdrop-filter: blur(22px) saturate(90%) !important;
	-webkit-backdrop-filter: blur(22px) saturate(90%) !important;
}

.site-nav { opacity: 0 !important; visibility: hidden !important; pointer-events: none !important; }
.site-nav.is-open { opacity: 1 !important; visibility: visible !important; pointer-events: auto !important; }
.site-nav::before, .site-nav::after { display: none !important; content: none !important; }

.site-nav__panel {
	width: min(100%, 78rem) !important;
	max-height: none !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: visible !important;
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}

.site-nav__menu {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	gap: 0 clamp(3rem, 8vw, 9rem) !important;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	list-style: none !important;
}

.site-nav__menu > li {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	margin: 0 !important;
	background: transparent !important;
	border: 0 !important;
	border-bottom: 1px solid rgba(232, 199, 111, 0.2) !important;
	border-radius: 0 !important;
}

.site-nav__menu a,
.site-nav__menu .menu-item a {
	display: flex !important;
	min-height: auto !important;
	align-items: center !important;
	padding: 1.15rem 0 !important;
	color: rgba(255, 249, 235, 0.9) !important;
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	font-family: Georgia, 'Times New Roman', serif !important;
	font-size: clamp(1.45rem, 2.5vw, 2.55rem) !important;
	font-weight: 400 !important;
	letter-spacing: -0.025em !important;
	line-height: 1.05 !important;
	text-transform: none !important;
	transition: color 180ms ease, transform 180ms ease !important;
}

.site-nav__menu a:hover,
.site-nav__menu a:focus-visible {
	color: #edc968 !important;
	background: transparent !important;
	transform: translateX(0.35rem) !important;
}

.site-nav__submenu-toggle {
	display: inline-grid !important;
	width: 2.75rem !important;
	height: 2.75rem !important;
	place-items: center !important;
	padding: 0 !important;
	color: #edc968 !important;
	background: transparent !important;
	border: 0 !important;
	border-radius: 50% !important;
	cursor: pointer;
}

.site-nav__submenu-toggle span,
.site-nav__submenu-toggle span::after { display: block; width: 1rem; height: 1px; background: currentColor; content: ''; }
.site-nav__submenu-toggle span::after { transform: rotate(90deg); transition: transform 180ms ease; }
.site-nav__submenu-toggle[aria-expanded='true'] span::after { transform: rotate(0); }

.site-nav__menu .sub-menu {
	grid-column: 1 / -1;
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	gap: 0 clamp(1.5rem, 3vw, 3rem) !important;
	margin: 0 !important;
	padding: 0 0 1rem !important;
	background: transparent !important;
	border: 0 !important;
	list-style: none !important;
}
.site-nav__menu .sub-menu[hidden] { display: none !important; }
.site-nav__menu .sub-menu li { margin: 0 !important; background: transparent !important; border: 0 !important; }
.site-nav__menu .sub-menu a,
.site-nav__menu .sub-menu .menu-item a {
	padding: 0.5rem 0 !important;
	color: rgba(255, 249, 235, 0.58) !important;
	font-family: var(--bpc-sans) !important;
	font-size: 0.78rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.11em !important;
	line-height: 1.35 !important;
	text-transform: uppercase !important;
}
.site-nav__menu .sub-menu a:hover, .site-nav__menu .sub-menu a:focus-visible { color: #edc968 !important; }

@media (max-width: 760px) {
	.site-nav, .site-nav.is-open { padding: 6rem 1.25rem 2rem !important; }
	.site-nav__menu { grid-template-columns: 1fr !important; }
	.site-nav__menu a, .site-nav__menu .menu-item a { font-size: clamp(1.35rem, 7vw, 2rem) !important; }
	.site-nav__menu .sub-menu { grid-template-columns: 1fr !important; }
}

@media (prefers-reduced-motion: reduce) {
	.site-nav__menu a { transition: none !important; }
}
