.contain-to-grid
{
	padding-top: 2rem;
	padding-bottom: 0.5rem;
}
.top-bar, .contain-to-grid
{
	background-color: #030303;
}

.contain-to-grid.sticky:not(.fixed),
.top-bar
{
	position: relative;
	z-index: 2000;
}

/* When Foundation pins the bar it swaps to `.fixed`. Foundation's own
   `.fixed` rule only gives z-index:99, and a plain override here can lose to
   its cascade, so page content paints over the pinned nav. Force the full
   fixed-bar contract with !important — the same contract the detail-template
   and anchor-page rules use — so the nav always clips above page content. */
.contain-to-grid.fixed
{
	position: fixed !important;
	top: 0 !important;
	left: 0 !important;
	width: 100% !important;
	z-index: 2000 !important;
}

.top-bar-section ul li > a
{
	font-family: "Montserrat-Bold", Helvetica, Arial, sans-serif;
	text-transform: uppercase;
	font-size: 1rem;
	text-decoration: none;
	transition: color 0.2s ease;
}
#menu-menu-jp li > a
{
/* 	font-size: smaller; */
}
.top-bar-section ul li > a:hover, .top-bar-section ul li > a.selected
{
	color: #D90500 !important;
	text-decoration: none;
}

.top-bar-section .has-dropdown > a 
{
	padding-right: 0.9375rem !important; 
	background: #030303 !important;
	padding-bottom: 0 !important;
	text-decoration: none;
}

.top-bar-section a
{
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	user-select: none;
	-webkit-user-drag: none;
}
.top-bar-section,
.top-bar-section *
{
	-webkit-user-select: none;
	user-select: none;
	-webkit-user-drag: none;
}
/*
.top-bar-section .has-dropdown > a.lang-chooser 
{
	padding-right: 2.1875rem !important;
}
*/

.top-bar-section .has-dropdown > a:after {
   display: none;
}
.top-bar-section .has-dropdown > a.lang-chooser:after {
   display:inherit;
}

.top-bar .name h1 a
{
	background-image: url('../design/exa_logo_white.png');
	float: left;
	display: block;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
	text-indent:-99999em;
	white-space: nowrap;
	overflow: hidden;
	height:auto;
	width: 5rem;
}
@media only screen and (max-width: 63.9375rem) {
	.top-bar .title-area
	{
		margin-right: 6rem;
	}
	.top-bar .title-area-ja
	{
		margin-right: 6rem;
	}

	.header-cart-badge
	{
		top: -0.05rem;
		right: -0.2rem;
		min-width: 1.15rem;
		height: 1.15rem;
		font-size: 0.6rem;
	}
}

:root {
	--header-topbar-icon-box: 3rem;
	--header-topbar-icon-size-search: 1.5rem;
	--header-topbar-icon-size-cart: 2.5rem;
	--header-topbar-icon-size-globe: 2rem;
	--header-topbar-height: 2.8125rem;

	/* Mobile hamburger → X morph. Single source of truth for the geometry and
	   timing curve, so the main header toggle and the About Products sub-nav
	   toggle animate identically instead of each carrying its own copy. */
	--renewal-burger-bar-w: 20px;
	--renewal-burger-bar-h: 2px;
	--renewal-burger-gap: 6px;
	--renewal-burger-dur: 0.42s;
	--renewal-burger-ease: cubic-bezier(0.4, 0.02, 0.2, 1);
}

.nav-search a,
.nav-language-toggle
{
	background-image: url('../design/search.png') !important;
	float: right;
	display: block;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: var(--header-topbar-icon-size-search) var(--header-topbar-icon-size-search);
	text-indent:-99999em;
	white-space: nowrap;
	overflow: hidden;
	height: var(--header-topbar-height);
	width: var(--header-topbar-icon-box);
	padding: 0rem;
	margin: 0rem;
	margin-top: 0.5rem;
	z-index: 99 !important;
}

.nav-shop a
{
	float: right;
	display: block;
	height: var(--header-topbar-height);
	width: var(--header-topbar-icon-box);
	padding: 0;
	margin: 0;
	margin-top: 0.5rem;
	position: relative;
	text-indent: 0;
	white-space: normal;
	overflow: visible;
	z-index: 99 !important;
}

.nav-language-toggle
{
	display: block;
	float: right;
	width: var(--header-topbar-icon-box);
	height: var(--header-topbar-height);
	margin: 0.5rem 0 0;
	padding: 0;
	background-image: url('../design/icons/globe-icon.svg') !important;
	background-size: var(--header-topbar-icon-size-globe) var(--header-topbar-icon-size-globe);
	background-position: center center;
	background-repeat: no-repeat;
	background-color: transparent !important;
	border: 0;
	outline: none;
	cursor: pointer;
	/* Hide the visible label text; the anchor already exposes an aria-label
	   so the toggle remains accessible. Globe icon stands alone for parity
	   with the cart, person, and search icons. */
	font-size: 0;
	color: transparent;
	text-indent: -9999em;
	white-space: nowrap;
	overflow: hidden;
}

.nav-language--desktop
{
	position: relative;
	height: auto;
	overflow: visible;
	z-index: 2001;
}

#menu-menu-us .lang-item,
#menu-menu-jp .lang-item {
	display: none !important;
}

.nav-search a:hover,
.nav-search a:focus,
.nav-search a:focus-visible,
.nav-search a.touch-hover-active,
.nav-language-toggle:hover,
.nav-language-toggle:focus,
.nav-language-toggle:focus-visible,
.nav-language-toggle.touch-hover-active,
.nav-language.is-open .nav-language-toggle
{
	filter: brightness(0) saturate(100%) invert(18%) sepia(100%) saturate(7240%) hue-rotate(359deg) brightness(85%) contrast(118%);
	outline: none;
}

.header-cart-icon
{
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
}

.header-cart-icon-art
{
	display: block;
	width: 100%;
	height: 100%;
	background-image: url('../design/shop.png') !important;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: var(--header-topbar-icon-size-cart) var(--header-topbar-icon-size-cart);
	transition: filter 0.2s ease;
}

.nav-shop a:hover .header-cart-icon-art,
.nav-shop a:focus .header-cart-icon-art,
.nav-shop a:focus-visible .header-cart-icon-art,
.nav-shop a.touch-hover-active .header-cart-icon-art
{
	filter: brightness(0) saturate(100%) invert(18%) sepia(100%) saturate(7240%) hue-rotate(359deg) brightness(85%) contrast(118%);
}

.header-cart-badge
{
	position: absolute;
	top: -0.05rem;
	right: -0.15rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 1.25rem;
	height: 1.25rem;
	padding: 0 0.25rem;
	border-radius: 999px;
	background: #CC0000;
	color: #FFFFFF;
	font-family: "Montserrat-Bold", Helvetica, Arial, sans-serif;
	font-size: 0.65rem;
	line-height: 1;
	text-indent: 0;
	white-space: nowrap;
	box-sizing: border-box;
}

.header-cart-label
{
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* V77 — Person/account nav icon (shop funnel only). Matches .nav-shop sizing. */
.nav-account a
{
	float: right;
	display: block;
	height: var(--header-topbar-height);
	width: var(--header-topbar-icon-box);
	padding: 0;
	margin: 0;
	margin-top: 0.5rem;
	position: relative;
	text-indent: 0;
	white-space: normal;
	overflow: visible;
	color: #ffffff;
	z-index: 99 !important;
}

.header-account-icon
{
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
}

.header-account-icon-art
{
	display: block;
	width: var(--header-topbar-icon-size-cart);
	height: var(--header-topbar-icon-size-cart);
	color: inherit;
	transition: color 0.2s ease;
}

.nav-account a:hover .header-account-icon-art,
.nav-account a:focus .header-account-icon-art,
.nav-account a:focus-visible .header-account-icon-art,
.nav-account a.touch-hover-active .header-account-icon-art
{
	color: #e30613;
	outline: none;
}

.header-account-label
{
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* Language selector — same Spline.design style as main nav dropdown */
.nav-language-menu
{
	list-style: none;
	margin: 0;
	padding: 0.55rem 0 0.2rem;
	position: absolute;
	top: 100%;
	right: 0;
	inline-size: max-content;
	min-inline-size: 0;
	max-inline-size: calc(100vw - 1rem);
	background: rgba(10, 10, 12, 0.75);
	backdrop-filter: blur(18px) saturate(1.2);
	-webkit-backdrop-filter: blur(18px) saturate(1.2);
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 14px;
	box-shadow: 0 12px 40px rgba(0, 0, 0, 0.5);
	opacity: 0;
	visibility: hidden;
	transform: translateY(-0.4rem);
	pointer-events: none;
	transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s ease;
	z-index: 2100;
}

.nav-language-menu::before
{
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 100%;
	height: 0.5rem;
}

.nav-language-menu li
{
	margin: 0;
	padding: 0;
	transition: background-color 0.15s ease;
}

.nav-language-menu li:hover
{
	background-color: rgba(255, 255, 255, 0.08);
}

.nav-language-menu li.touch-hover-active
{
	background-color: rgba(255, 255, 255, 0.08);
}

/* ==========================================================================
   Anchor-aware page utility
   Add `data-renewal-anchor-root` to a page root to opt into:
   - fixed main header parity
   - consistent hash anchor offsets under the main nav
   - optional secondary-nav offset via CSS var override
   ========================================================================== */
body:has([data-renewal-anchor-root]) header .contain-to-grid.sticky,
body:has([data-renewal-anchor-root]) header .contain-to-grid.fixed,
body.renewal-anchor-page-active header .contain-to-grid.sticky,
body.renewal-anchor-page-active header .contain-to-grid.fixed {
	position: fixed !important;
	top: 0 !important;
	left: 0 !important;
	width: 100% !important;
	z-index: 1200 !important;
}

body:has([data-renewal-anchor-root]),
body.renewal-anchor-page-active {
	scroll-padding-top: calc(
		var(--renewal-main-nav-height, 5.3125rem)
		+ var(--renewal-anchor-secondary-offset, 0px)
		+ var(--renewal-anchor-offset-extra, 0.5rem)
	);
}

[data-renewal-anchor-root] {
	--renewal-anchor-secondary-offset: 0px;
	--renewal-anchor-offset-extra: 0.5rem;
}

[data-renewal-anchor-root] [id] {
	scroll-margin-top: calc(
		var(--renewal-main-nav-height, 5.3125rem)
		+ var(--renewal-anchor-secondary-offset, 0px)
		+ var(--renewal-anchor-offset-extra, 0.5rem)
	);
}

body:has([data-renewal-anchor-root]) footer,
body.renewal-anchor-page-active footer {
	margin-top: 0 !important;
}

@media only screen and (min-width: 64rem) {
	.topbaricons {
		float: right;
		margin: 0;
		padding: 0;
	}

	.topbaricons::before,
	.topbaricons::after {
		content: " ";
		display: table;
	}

	.topbaricons::after {
		clear: both;
	}

	.topbaricons > li {
		float: left;
		position: relative;
	}

	.topbaricons > li > a,
	.topbaricons > li > .nav-language-toggle {
		float: none !important;
		margin-top: 0 !important;
	}

	.nav-language--desktop:hover .nav-language-toggle {
		filter: brightness(0) saturate(100%) invert(18%) sepia(100%) saturate(7240%) hue-rotate(359deg) brightness(85%) contrast(118%);
		outline: none;
	}

	.nav-language--desktop:hover .nav-language-menu {
		opacity: 1;
		visibility: visible;
		transform: translateY(0);
		pointer-events: auto;
	}
}

.nav-language.is-open .nav-language-menu
{
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
	pointer-events: auto;
}

.nav-language-link
{
	display: flex;
	align-items: center;
	justify-content: flex-start;
	min-height: 0;
	padding: 0.35rem 0.85rem;
	font-family: "Montserrat-Bold", Helvetica, Arial, sans-serif;
	font-size: 0.85rem;
	font-weight: 700;
	letter-spacing: 0;
	white-space: nowrap;
	text-transform: uppercase;
	text-decoration: none !important;
	color: #ffffff;
	line-height: 1.3;
	transition: color 0.15s ease;
}

.nav-language-link:hover,
.nav-language-link:focus,
.nav-language-link:focus-visible,
.nav-language-menu li.touch-hover-active .nav-language-link
{
	color: #D90500;
	text-decoration: none !important;
}

.nav-language-link.is-active
{
	background-color: transparent;
	color: #ffffff;
	font-weight: 700;
}

.nav-language-mobile
{
	display: none !important;
}

@media only screen and (max-width: 63.9375rem) {
	.top-bar {
		position: relative;
	}

	.top-bar.is-language-open {
		overflow: visible;
	}

	.top-bar.is-language-open:not(.expanded) > .top-bar-section {
		display: none;
	}

	.top-bar .title-area {
		margin-right: 0 !important;
		padding-right: calc(var(--header-topbar-icon-box) * 3);
	}

	.top-bar.top-bar--icons-2 .title-area {
		padding-right: calc(var(--header-topbar-icon-box) * 2);
	}

	.top-bar.top-bar--icons-4 .title-area {
		padding-right: calc(var(--header-topbar-icon-box) * 4);
	}

	.topbaricons {
		position: absolute;
		top: 0;
		right: 0;
		transform: none;
		height: var(--header-topbar-height);
		margin: 0;
		padding: 0;
		display: flex;
		flex-direction: row;
		align-items: stretch;
		justify-content: flex-end;
		gap: 0;
		overflow: visible;
		z-index: 1312;
	}

	.topbaricons > li {
		float: none;
		position: relative;
		flex: 0 0 auto;
		width: var(--header-topbar-icon-box);
		margin: 0 !important;
		padding: 0 !important;
	}

	.topbaricons > li > a,
	.topbaricons > li > .nav-language-toggle {
		float: none !important;
		margin-top: 0 !important;
		width: 100%;
	}

	.nav-language--desktop {
		display: block !important;
		z-index: 1314;
	}
	.nav-language-menu {
		z-index: 1315;
	}

	.topbaricons .toggle-topbar.menu-icon {
		position: relative;
		right: auto;
		top: auto;
		margin: 0;
		height: var(--header-topbar-height);
		display: block;
		flex: 0 0 auto;
		z-index: 1316;
	}

	.topbaricons .toggle-topbar.menu-icon a {
		width: var(--header-topbar-icon-box);
		height: var(--header-topbar-height);
		line-height: var(--header-topbar-height);
		padding: 0;
		overflow: hidden;
		text-indent: -99999em;
	}

	/* ----------------------------------------------------------------------
	   Morphing hamburger → X (mobile only; Foundation hides .toggle-topbar at
	   min-width: 64rem, and every rule below lives inside this query).

	   Foundation draws the icon as three box-shadow rings on `a span::after`
	   (foundation.css), and `.top-bar.expanded` only recolours those rings to
	   grey — box-shadows cannot be transformed, so there is nothing to animate.
	   Here the icon is rebuilt as three real bars that rotate into an X, using
	   the same geometry and timing curve as the About Products sub-nav toggle
	   (the --renewal-burger-* tokens are the single source for both).

	   The bars are absolutely positioned against the already-relative <a>, so
	   the `text-indent: -99999em` that hides the "Menu" label never touches
	   them, and the icon box keeps its width — no layout shift.
	   ---------------------------------------------------------------------- */
	.topbaricons .toggle-topbar.menu-icon a span::before,
	.topbaricons .toggle-topbar.menu-icon a span::after,
	.topbaricons .toggle-topbar.menu-icon a::after {
		content: "";
		display: block;
		position: absolute;
		left: 50%;
		top: 50%;
		width: var(--renewal-burger-bar-w);
		height: var(--renewal-burger-bar-h);
		margin: 0 0 0 calc(var(--renewal-burger-bar-w) / -2);
		border-radius: 2px;
		background: #FFFFFF;
		box-shadow: none;
		transform-origin: center;
		transition: transform var(--renewal-burger-dur) var(--renewal-burger-ease),
		            background-color var(--renewal-burger-dur) ease,
		            opacity calc(var(--renewal-burger-dur) * 0.6) ease;
	}

	/* Top bar. */
	.topbaricons .toggle-topbar.menu-icon a span::before {
		transform: translate(0, calc(var(--renewal-burger-gap) * -1 - var(--renewal-burger-bar-h) / 2));
	}

	/* Middle bar — fades out so the two remaining bars read as a clean X. */
	.topbaricons .toggle-topbar.menu-icon a::after {
		transform: translate(0, calc(var(--renewal-burger-bar-h) / -2));
	}

	/* Bottom bar. */
	.topbaricons .toggle-topbar.menu-icon a span::after {
		right: auto;
		transform: translate(0, calc(var(--renewal-burger-gap) - var(--renewal-burger-bar-h) / 2));
	}

	/* Foundation's hover rule re-declares the box-shadow rings; keep them off. */
	.topbaricons .toggle-topbar.menu-icon a span:hover::after {
		box-shadow: none;
	}

	/* Open state. Foundation already puts `.expanded` on the bar, so the morph
	   needs no JS and no second click listener. Grey tint retained. */
	.top-bar.expanded .topbaricons .toggle-topbar.menu-icon a span::before,
	.top-bar.expanded .topbaricons .toggle-topbar.menu-icon a span::after,
	.top-bar.expanded .topbaricons .toggle-topbar.menu-icon a::after {
		background: #888888;
		box-shadow: none;
	}

	.top-bar.expanded .topbaricons .toggle-topbar.menu-icon a span::before {
		transform: translate(0, calc(var(--renewal-burger-bar-h) / -2)) rotate(45deg);
	}

	.top-bar.expanded .topbaricons .toggle-topbar.menu-icon a::after {
		opacity: 0;
	}

	.top-bar.expanded .topbaricons .toggle-topbar.menu-icon a span::after {
		transform: translate(0, calc(var(--renewal-burger-bar-h) / -2)) rotate(-45deg);
	}

	@media (prefers-reduced-motion: reduce) {
		.topbaricons .toggle-topbar.menu-icon a span::before,
		.topbaricons .toggle-topbar.menu-icon a span::after,
		.topbaricons .toggle-topbar.menu-icon a::after {
			transition: none;
		}
	}
}

/* ==========================================================================
   Dropdown panel — Spline.design style: rounded, blurred, dark transparency.
   Applied to main nav dropdowns, language selector, and mobile hamburger.
   ========================================================================== */
.top-bar-section .dropdown
{
	background: rgba(10, 10, 12, 0.75) !important;
	backdrop-filter: blur(18px) saturate(1.2);
	-webkit-backdrop-filter: blur(18px) saturate(1.2);
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 14px !important;
	overflow: hidden;
	padding: 0 !important;
	box-shadow: 0 12px 40px rgba(0, 0, 0, 0.5);
}

.top-bar-section .dropdown li
{
	background: transparent !important;
	transition: background-color 0.15s ease;
}

.top-bar-section .dropdown li:hover
{
	background-color: rgba(255, 255, 255, 0.08) !important;
}

.top-bar-section .dropdown li.touch-hover-active
{
	background-color: rgba(255, 255, 255, 0.08) !important;
}

/* Dropdown corner-radius: first & last visible .menu-item match the 14px
   container radius so hover backgrounds don't bleed past rounded edges.
   Uses :has() and sibling combinators to skip Foundation-injected <li>s. */
.top-bar-section .dropdown > li.menu-item:not(li.menu-item ~ *)
{
	border-radius: 14px 14px 0 0;
}

.top-bar-section .dropdown > li.menu-item:not(:has(~ li.menu-item))
{
	border-radius: 0 0 14px 14px;
}

.top-bar-section .dropdown > li.menu-item:not(li.menu-item ~ *):not(:has(~ li.menu-item))
{
	border-radius: 14px;
}

.top-bar-section .dropdown li a
{
	background-color: transparent !important;
	text-decoration: none;
	transition: color 0.15s ease;
	padding-top: 0.5rem !important;
	padding-bottom: 0.5rem !important;
	line-height: 1.4 !important;
}

.top-bar-section .dropdown li a:hover
{
	text-decoration: none;
	color: #D90500 !important;
}

.top-bar-section .dropdown li.touch-hover-active > a
{
	text-decoration: none;
	color: #D90500 !important;
}

body.renewal-nav-pointer-down .top-bar-section .has-dropdown > .dropdown
{
	clip: rect(1px, 1px, 1px, 1px);
	height: 1px !important;
	overflow: hidden !important;
	position: absolute !important;
	width: 1px !important;
	display: none !important;
	visibility: hidden !important;
	opacity: 0 !important;
	pointer-events: none !important;
}

body.renewal-nav-pointer-down .top-bar-section .has-dropdown.renewal-hover-active > .dropdown
{
	height: auto !important;
	width: auto !important;
	overflow: visible !important;
	clip: auto !important;
	display: block !important;
	position: absolute !important;
	visibility: visible !important;
	opacity: 1 !important;
	pointer-events: auto !important;
}

body.renewal-nav-pointer-down .top-bar-section .has-dropdown.hover:not(.renewal-hover-active) > .dropdown,
body.renewal-nav-pointer-down .top-bar-section .has-dropdown.not-click:not(.renewal-hover-active):hover > .dropdown,
body.renewal-nav-pointer-down .top-bar-section .has-dropdown:not(.renewal-hover-active) > a:focus + .dropdown
{
	clip: rect(1px, 1px, 1px, 1px) !important;
	height: 1px !important;
	overflow: hidden !important;
	position: absolute !important;
	width: 1px !important;
	display: none !important;
	visibility: hidden !important;
	opacity: 0 !important;
	pointer-events: none !important;
}

@media only screen and (min-width: 64rem) {
	.top-bar-section.renewal-nav-single-owner .menu > .has-dropdown > .dropdown
	{
		clip: rect(1px, 1px, 1px, 1px) !important;
		display: none !important;
		height: 1px !important;
		overflow: hidden !important;
		pointer-events: none !important;
		position: absolute !important;
		visibility: hidden !important;
		width: 1px !important;
	}

	.top-bar-section.renewal-nav-single-owner .menu > .has-dropdown.renewal-hover-active > .dropdown
	{
		clip: auto !important;
		display: block !important;
		height: auto !important;
		overflow: visible !important;
		pointer-events: auto !important;
		position: absolute !important;
		visibility: visible !important;
		width: auto !important;
	}
}

body.renewal-nav-pointer-down .top-bar-section li.renewal-hover-active > a:not(.button)
{
	color: #FFFFFF;
}
.top-bar-selection #menu-menu-us
{
	height:1rem;
}
.active
{
/* 	text-decoration: underline; */
}
.toggle-topbar.menu-icon
{
/* 	margin-right: 6rem; */
}
.top-bar-section ul li
{
/* 	float: left; */
}

/* ==========================================================================
   Mobile hamburger menu — dark drawer + frosted isolation veil
   Applied when the top-bar is expanded on mobile (≤ 48rem / 768px).
   ========================================================================== */
@media only screen and (max-width: 48rem), only screen and (max-width: 58.25rem) and (orientation: landscape) {
	.top-bar.expanded .top-bar-section
	{
		position: fixed;
		top: var(--renewal-main-nav-height);
		left: 0;
		right: 0;
		width: 100vw;
		z-index: 1310;
		max-height: calc(100dvh - var(--renewal-main-nav-height));
		overflow-x: hidden;
		overflow-y: auto;
		transform: translate3d(0, 0, 0);
		overscroll-behavior: contain;
		touch-action: pan-y;
		background: #030303 !important;
		backdrop-filter: none;
		-webkit-backdrop-filter: none;
		border-bottom: 1px solid rgba(217, 217, 217, 0.72);
		border-radius: 0;
		box-shadow: none;
	}

	.top-bar.expanded .top-bar-section ul
	{
		background: transparent !important;
	}

	.top-bar.expanded .top-bar-section ul li
	{
		background: transparent !important;
		transition: background-color 0.15s ease;
	}

	.top-bar.expanded .top-bar-section ul li:hover
	{
		background-color: rgba(255, 255, 255, 0.08) !important;
	}

	.top-bar.expanded .top-bar-section ul li.touch-hover-active
	{
		background-color: rgba(255, 255, 255, 0.08) !important;
	}

	.top-bar.expanded .top-bar-section ul li > a
	{
		background: transparent !important;
		padding-top: 0.45rem !important;
		padding-bottom: 0.45rem !important;
		line-height: 1.3 !important;
	}

	.top-bar.expanded .top-bar-section .dropdown
	{
		z-index: 1320;
		background: rgba(255, 255, 255, 0.04) !important;
		backdrop-filter: none;
		border: none;
		border-radius: 0 !important;
		box-shadow: none;
		padding: 0 !important;
	}

	.top-bar.expanded .top-bar-section .dropdown > li.menu-item
	{
		border-radius: 0 !important;
	}

	.top-bar.expanded .top-bar-section .dropdown li a
	{
		padding-left: 2rem !important;
	}

	body.renewal-mobile-menu-open
	{
		overflow: hidden;
	}

	.renewal-mobile-menu-veil
	{
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		top: var(--renewal-mobile-menu-veil-top, var(--renewal-main-nav-height));
		z-index: 1305;
		opacity: 0;
		pointer-events: none;
		background: rgba(3, 3, 3, 0.22);
		backdrop-filter: blur(14px) brightness(60%);
		-webkit-backdrop-filter: blur(14px) brightness(60%);
		transition: opacity 0.22s ease;
	}

	.renewal-mobile-menu-veil.is-active
	{
		opacity: 1;
		pointer-events: auto;
	}

	body.renewal-mobile-menu-open .back-to-top-trapezoid-wrap,
	body.renewal-dp-subnav-open .back-to-top-trapezoid-wrap
	{
		z-index: 1200;
	}
}

/* ==========================================================================
   Mobile portrait accordion (≤ 480px): Blizzard-style parent/child hierarchy.
   ========================================================================== */
@media only screen and (max-width: 30rem), only screen and (max-width: 58.25rem) and (orientation: landscape) {
	.top-bar.expanded .top-bar-section
	{
		text-align: left;
	}

	.top-bar.expanded .top-bar-section .menu > .menu-item-has-children > a
	{
		position: relative;
		display: flex;
		align-items: center;
		justify-content: flex-start;
		gap: 0.58rem;
		min-height: 44px;
		padding: 0.625rem 0.9375rem !important;
		text-align: left;
		background-color: rgba(255, 255, 255, 0.04) !important;
	}

	.top-bar.expanded .top-bar-section .menu > .menu-item-has-children > a::after
	{
		content: '';
		display: block;
		position: relative;
		width: 0.42rem;
		height: 0.42rem;
		border: 0;
		border-right: 1.5px solid rgba(255, 255, 255, 0.88);
		border-bottom: 1.5px solid rgba(255, 255, 255, 0.88);
		transform: rotate(45deg);
		transform-origin: center;
		transition: transform 0.25s ease, border-color 0.2s ease;
		pointer-events: none;
		flex: 0 0 auto;
		align-self: center;
	}

	.top-bar.expanded .top-bar-section .menu > .menu-item-has-children.is-expanded > a
	{
		background-color: rgba(217, 5, 0, 0.18) !important;
	}

	.top-bar.expanded .top-bar-section .menu > .menu-item-has-children.is-expanded > a::after
	{
		transform: translateY(0.04rem) rotate(-135deg);
		border-color: #ffffff;
	}

	.top-bar.expanded .top-bar-section .menu > .menu-item-has-children > .sub-menu
	{
		position: static !important;
		top: auto !important;
		left: auto !important;
		right: auto !important;
		display: block !important;
		width: 100% !important;
		height: auto !important;
		clip: auto !important;
		max-height: 0;
		margin: 0 !important;
		padding: 0 !important;
		overflow: hidden;
		background: rgba(255, 255, 255, 0.03) !important;
		border-radius: 0 !important;
		box-shadow: none !important;
		backdrop-filter: none !important;
		-webkit-backdrop-filter: none !important;
		transition: max-height 0.32s ease;
	}

	.top-bar.expanded .top-bar-section .menu > .menu-item-has-children > .sub-menu > .js-generated
	{
		display: none !important;
	}

	.top-bar.expanded .top-bar-section .menu > .menu-item-has-children > .sub-menu > li.title.back,
	.top-bar.expanded .top-bar-section .menu > .menu-item-has-children > .sub-menu > li.parent-link,
	.top-bar.expanded .top-bar-section .menu > .menu-item-has-children > .sub-menu > li > a.parent-link
	{
		display: none !important;
	}

	.top-bar.expanded .top-bar-section .menu > .menu-item-has-children > .sub-menu > li > a
	{
		display: block;
		min-height: 44px;
		padding: 0.56rem 1rem 0.56rem 1.4rem !important;
		text-align: left;
	}
}
