

/* Layout */

body.nav-open{
  position: fixed;
  width: 100%;
  overflow: hidden;
}

/* ---------- Top-level chevron (arrow) ---------- */
.sd-nav__chevron{
  width:16px;
  height:16px;
  display:inline-block;
  background-repeat:no-repeat;
  background-position:center;
  background-size:16px 16px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23343D42' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  transform: translateY(1px) rotate(0deg);
  transition: transform 180ms ease;
}

/* rotate on hover or open */
.sd-nav__item:hover .sd-nav__chevron,
.sd-nav__item[aria-expanded="true"] .sd-nav__chevron{
  transform: translateY(1px) rotate(180deg);
}

.header__container {
	--topNavXSpacing: 0.825rem;
	--topNavYSpacing: 0.75rem;
	--mobileNavXSpacing: 0;
	--mobileNavYSpacing: 0.75rem;
	--mobileMenuXSpacing: 0rem;
	--mobileMenuYSpacing: 0.5rem;
	--dropdownwidth: 180px;
	--dropdownyspacing: 1.5rem;
	--dropdownxspacing: 2rem;
	--dropdownlinkspacing: 0.5rem;
	position: relative;
	width: 100%;
	z-index: 12;
	box-shadow: 15px 25px 60px rgba(0, 0, 0, 0);
	transition: background 200ms ease-in-out, box-shadow 200ms ease-in-out;
}

.header__container[data-topbar-fixed=true] .header__bottom {
	width: 100%;
	z-index: 12;
	box-shadow: 15px 25px 60px rgba(0, 0, 0, 0);
}

.header_inline {
	padding-left: 15px;
	padding-right: 15px;
	margin-top: 15px;
	transition: top 500ms ease-in-out, background 200ms ease;
}

.header__container[data-fixed='true'].header-scroll[data-topbar-fixed=false],
.header__container[data-fixed='true'].header-scroll[data-topbar-fixed=true] .header__bottom,
.header__container.scroll-up.header-scroll[data-topbar-fixed=false],
.header__container[data-float='true']{
	position: fixed;
}

.header__container[data-fixed='true'][data-scroll='true'].header-scroll[data-topbar-fixed=false],
.header__container[data-fixed='true'][data-scroll='true'].header-scroll[data-topbar-fixed=true] .header__bottom {
	top: -100%;
}

.header__container[data-fixed='true'][data-scroll='true'].scroll-up[data-topbar-fixed=false],
.header__container[data-fixed='true'][data-scroll='true'].scroll-down[data-topbar-fixed=false],
.header__container[data-fixed='true'][data-scroll='true'].scroll-up[data-topbar-fixed=true] .header__bottom,
.header__container[data-fixed='true'][data-scroll='true'].scroll-down[data-topbar-fixed=true] .header__bottom {
	top: -100%;
	transition: top 500ms ease-in-out, background 200ms ease;
}

.header__container[data-fixed='true'][data-scroll='true'].scroll-up[data-topbar-fixed=true] .header__inline,
.header__container[data-fixed='true'][data-scroll='true'].scroll-down[data-topbar-fixed=true] .header__inline {
	transition: background 200ms ease;
}

.header__container[data-fixed='true'][data-scroll='true'].scroll-up[data-topbar-fixed=false],
.header__container[data-fixed='true'][data-scroll='false'][data-topbar-fixed=false],
.header__container[data-fixed='true'][data-scroll='true'].scroll-up[data-topbar-fixed=true] .header__bottom,
.header__container[data-fixed='true'][data-scroll='false'][data-topbar-fixed=true] .header__bottom {
	top: 0;
}

.header__container[data-transparent='true'] {
	position: absolute;
	top: 0;
}

.header__container .header__top {
	position: relative;
	z-index: 10;
}

.header__container[data-topbar-fixed=true] .header__top {
	display: block;
	transform: translateY(0);
}

.header__container.header-scroll[data-topbar-fixed=true] .header__top {
	transform: translateY(-100%);
	display: none;
}

.header__wrapper {
	display: flex;
	margin: 0 auto;
	align-items: center;
}

.header__menu--top {
	display: flex;
	width: 100%;
	position: relative;
	z-index: 101;
	align-items: center;
}

.header__wrapper--top:not([data-length='1']) .header__menu--top .header__menu--top {
	width: auto;
}

.header__menu--align-justify .header__menu--top {
	justify-content: space-between;
}

.header__menu--align-center .header__menu--top {
	justify-content: center;
}

.header__menu--align-right .header__menu--top,
.header__menu--align-justify[data-length='1'] .header__menu--top {
	justify-content: flex-end;
}

.header__menu--align-justify[data-length='1'][data-icons-position='left'] .header__menu--top,
.header__menu--align-justify[data-length='1'][data-icons-position='right'] .header__menu--top {
	justify-content: space-between;
}

.header__container:not([data-layout='mobile']) .header__logo-col,
.header__container[data-float='true'] .header__logo-col {
	margin: calc(var(--desktopnavyspacing) / 1.55) 0;
}

.header__button-col {
	margin: calc(var(--desktopnavyspacing) / 2) 0;
	margin-left: var(--desktopnavxspacing);
}

.header__search-col {
	margin: calc(var(--desktopnavyspacing) / 2) 0;
	margin-left: calc(var(--desktopnavxspacing) / 2);
}

.header__container--left .header__search-col.buttons-false {
	margin-left: var(--desktopnavxspacing);
}

/* Language switcher */

.header__menu-item--language-switcher .header__menu-submenu {
	padding: 0.5rem 0;
	width: fit-content;
	overflow: hidden;
	min-width: 150px;
}

/* Logo */

.header__logo img {
	display: block;
	height: auto;
	max-width: 100%;
}

.header__container[data-fixed='true'].header-scroll .header__logo-default.logo-hide,
.header__logo-image.header__logo-scroll {
	display: none;
}

.header__container[data-fixed='true'].header-scroll .header__logo-image.header__logo-scroll {
	display: block;
}

/* Menu */

.header__menu-container--mobile {
	display: none;
}


/* MOBILE MENU: animated open/close using opacity + translate (no display:) */
.header__menu--mobile {
  overscroll-behavior: contain;
  position: fixed;
  z-index: 99;
  top: var(--navHeight);
  right: 0;
  left: 0;

  /* keep always in flow but hidden to allow animations */
  display: block;
  visibility: hidden;
  opacity: 0;
  transform: translateY(8px);               /* EDIT distance */
  transition:
    opacity 260ms cubic-bezier(.2,0,0,1),
    transform 260ms cubic-bezier(.2,0,0,1),
    visibility 0s linear 260ms;             /* show/hide after anim to avoid flicker */

  width: 100%;
  height: 100vh;
  overflow: hidden scroll;
  padding: calc(var(--mobileMenuYSpacing) * 3) 0;
  border-top: 1px solid #eaeaea;
}

/* When JS toggles this class → play fade/slide in */
.header__menu--mobile.header__menu--show {
  visibility: visible;
  opacity: 1;
  transform: translateY(0);
  transition:
    opacity 260ms cubic-bezier(.2,0,0,1),
    transform 260ms cubic-bezier(.2,0,0,1),
    visibility 0s linear 0s;               /* make it visible immediately */
}


[data-float='true'] .header__menu--mobile {
	width: calc(100% - 30px);
	left: 15px;
	height: calc(100vh - var(--navHeight) - 15px);
}

.header__menu-link,
.header__menu-item svg,
.header__menu-item svg g,
.header__menu-item svg path {
	transition: color, fill 0.25s ease-in-out;
}

/* Menu items */

.header__menu-item {
	position: relative;
	display: inline-flex;
	align-items: center;
	transition: background-color 0.1s ease-in-out, color 0.1s ease-in-out;
}

/* Menu items - top level */
.has-next-false {
	margin: 0 calc(var(--topNavXSpacing) * -0.975);
}

.header__menu--desktop:not(.header__menu--top) .header__menu-item--depth-1>.header__menu-link {
	padding-top: var(--desktopnavyspacing);
	padding-bottom: var(--desktopnavyspacing);
	padding-left: var(--desktopnavxspacing);
	padding-right: var(--desktopnavxspacing);
}

.header__menu--top .header__menu-item--depth-1>.header__menu-link {
	padding-top: var(--topNavYSpacing);
	padding-bottom: var(--topNavYSpacing);
	padding-left: var(--topNavXSpacing);
	padding-right: var(--topNavXSpacing);
	opacity: 1;
	transition: opacity 0.15s ease-in-out;
	will-change: transform, opacity;
}

.header__menu--top .header__menu-item--depth-1>.header__menu-link:hover {
	opacity: 0.75;
}

.header__menu.header__menu--top>div:first-child>ul:first-child>li:first-child>a,
.header__menu.header__menu--top>div:first-child>ul:first-child>li:first-child>button {
	padding-left: 0;
}

.header__menu.header__menu--top>div:last-child>ul:last-child>li:last-child>a,
.header__menu.header__menu--top>div:last-child>ul:last-child>li:last-child>button {
	padding-right: 0;
}

/*  Top bar - announcement */
.header__menu-announcement a {
	color: inherit;
	text-decoration: underline;
}

.header__menu-announcement a:hover {
	color: inherit;
	text-decoration: underline;
	opacity: 1;
}

.header__menu-announcement :last-child {
	margin-bottom: 0;
}

/*  Top bar - menu */

.top-bar-mobile {
	margin-top: var(--mobileMenuYSpacing);
}

/* Menu items - submenus */

.header__menu-submenu {
	position: absolute;
	z-index: 99;
	top: 95%;
	left: 0;
	width: var(--dropdownwidth);
	text-align: left;
	border-radius: 0px 0px 4px 4px;
	padding: var(--dropdownyspacing) 0;
	box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.05);
	visibility: hidden;
	opacity: 0;
}

.header__menu-item--open>.header__menu-submenu {
	visibility: visible;
	opacity: 1;
}

.header__menu-item--depth-1:last-child>.header__menu-submenu {
	right: 0;
	left: auto;
}


.header__menu--top .header__menu-submenu {
	padding: calc(var(--dropdownyspacing) * 0.5) 0;
	width: calc(var(--dropdownwidth) / 1.5);
}

.header__menu--top .header__menu-submenu .header__menu-link {
	padding: var(--dropdownlinkspacing) calc(var(--dropdownxspacing) * 0.5);
}

.header__menu--top .header__menu-submenu--level-3 {
	top: calc(((var(--dropdownyspacing) * 0.5) * -1) - var(--border-size));
	left: 100%;
}

.header__menu-item--depth-1:nth-last-child(-n + 2) .header__menu-submenu--level-3 {
	top: 0;
	right: 100%;
	left: auto;
}

.header__menu-submenu .header__menu-item {
	width: 100%;
	background-color: inherit;
}

.header__menu-submenu .header__menu-link {
	display: inline-flex;
	flex: 1;
	align-items: center;
	padding: var(--dropdownlinkspacing) var(--dropdownxspacing);
}

.header__menu-link:focus,
.header__menu-link:focus-visible {
    z-index: 1;
    outline-offset: 2px;
}

.header__menu-back svg {
	margin-right: 10px;
}

/* Menu icons */

.header__container:not([data-layout='mobile']) .header__menu-submenu .header__menu-child-toggle {
	margin-left: auto;
}

.header__menu-submenu .header__menu-child-toggle {
	transform: rotate(-90deg);
}

.header__menu-child-toggle {
	margin-bottom: -1px;
}

.header__top-menu .header__menu-child-toggle {
	margin-left: 2px;
}

.header__menu-toggle {
	display: none;
}

.header__menu-toggle svg {
	width: 26px;
}

/* Search */

.hs-search-field__desktop .hs-search-field__input {
	width: 400px !important;
	border: none !important;
	height: var(--size) !important;
	max-width: none !important;
	min-height: var(--size) !important;
	position: absolute;
	right: 0;
	bottom: 0;
	opacity: 1;
}

.header__container:not([data-layout='mobile']) .hs-search-field__form .btn-wrapper,
.header__container:not([data-layout='mobile']) .hs-search-field__form button {
	padding: 0;
	width: 100%;
	justify-content: center;
	text-align: center;
}

.search--icon {
	position: relative;
	z-index: 1;
	border-color: transparent !important;
}

.hs-search-field__mobile {
	margin-top: var(--mobileMenuYSpacing);
	padding: var(--mobileMenuYSpacing) var(--mobileMenuXSpacing);
}

.hs-search-field__mobile form {
	position: relative;
}

.hs-search-field__mobile .btn-wrapper {
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	height: 100%;
	display: flex;
	align-items: center;
}

.hs-search-field__mobile .btn-wrapper .cta-button {
	padding: 0 10px 0 15px;
	min-height: 100%;
}

.hs-search-field__mobile input:not([type='radio']):not([type='checkbox']):not([type='file']):not([type='submit']) {
	padding-left: 38px;
	border: none;
}

.header__container .cta-group,
.header__container .header__menu-col {
	opacity: 1;
	transition-delay: 0.25s;
	transition: opacity 0.15s ease-in-out;
	will-change: opacity;
}

.header__menu-col.m-left-auto {
	margin-left: calc(var(--desktopnavxspacing) * 2);
}

.header__container.search-open .cta-group,
.header__container.search-open .header__menu-col {
	opacity: 0;
}

.header__container:not([data-layout='mobile']) .header__wrapper {
	position: relative;
}

.header__container:not([data-layout='mobile']) .search {
	z-index: 2;
	position: relative;
	width: var(--size);
	height: var(--size);
}

.header__container:not([data-layout='mobile']) .closed .hs-search-field__input {
	padding: 0 !important;
	opacity: 0;
	width: 100% !important;
}

.header__container:not([data-layout='mobile']) .closed .hs-search-field__input::placeholder {
	color: transparent;
}

/* Social Icons */
.header__container .sr-social {
	list-style: none;
	list-style-type: none;
	padding: 0;
	margin: 0;
	align-items: center;
	display: inline-flex;
	gap: 15px;
}

.header__container .sr-social.p-left {
	margin-right: calc(var(--topNavXSpacing) * 0.5);
}

.header__container .sr-social.p-center {
	margin: calc(var(--topNavXSpacing) * 0.5);
}

.header__container .sr-social.p-right {
	margin-left: calc(var(--topNavXSpacing) * 0.5);
}

.header__container .sr-social a {
	opacity: 1;
	display: inline-flex;
	transition: opacity 0.25s ease-in-out;
	will-change: opacity;
}

.header__container .sr-social a:hover {
	opacity: 0.75;
}

.header__container .sr-social svg {
	color: var(--f);
	fill: var(--f);
}

.header__container .icon-bg {
	align-items: center;
	justify-content: center;
	border-radius: 100%;
	background: var(--b);
	height: var(--h);
	width: var(--w);
}

/* button reset */
.no-button {
	background: none;
	border: none;
	border-radius: 0;
	color: inherit;
	font-family: inherit;
	font-size: inherit;
	font-style: inherit;
	font-weight: inherit;
	letter-spacing: inherit;
	line-height: inherit;
	margin-bottom: 0;
	padding: 0;
	text-align: left;
	text-decoration: none;
    outline-offset: 5px;
	cursor: pointer;
}

/* Skip to content button */
.skip-main {
	left: -999px;
	position: absolute;
	top: auto;
	width: 1px;
	height: 1px;
	overflow: hidden;
	z-index: -999;
}

.skip-main:focus,
.skip-main:active {
	left: 0;
	top: 10px;
	height: auto;
	overflow: auto;
	margin: 0 auto;
	padding: 10px;
	border-radius: 100px;
	text-align: center;
	font-size: 1.2em;
	z-index: 999;
	width: 300px;
	right: 0;
}

.header__container:not([data-layout='mobile']) .m-left-auto {
	margin-right: auto;
}

.header__container:not([data-layout='mobile']) .m-right-auto {
	margin-left: auto;
}

.header__container:not([data-layout='mobile']) .m-center-auto {
	margin-left: auto;
	margin-right: auto;
}

/* Mega Menu */
.header__container:not([data-layout='mobile']) .header__menu-item[data-mega='true'] {
	position: static;
}

.header__container:not([data-layout='mobile']) [data-mega='true'] .header__menu-submenu .header__menu-item {
	margin: 1px;
}

.header__container:not([data-layout='mobile']) .header__menu-item[data-mega='true'] .header__menu-item--depth-2 {
	display: block;
}

.header__container:not([data-layout='mobile']) .header__menu-item[data-mega='true'] .header__menu-submenu--level-2 {
	display: flex;
}

.header__container:not([data-layout='mobile']) .header__menu-item[data-mega='true'] .header__menu-submenu {
	width: auto;
}

.header__container:not([data-layout='mobile']) .header__menu-item[data-mega='true'] .header__menu-submenu--level-2>.header__menu-item:not(:first-child) {
	border-left: 1px solid #e5e7ea;
}

.header__container:not([data-layout='mobile']) .header__menu-item[data-mega='true'] .header__menu-submenu--level-3 {
	position: static;
	border: none !important;
	padding: 0;
	box-shadow: none;
	opacity: 1;
	transition: none;
	visibility: visible;
	pointer-events: none;
}

.header__container:not([data-layout='mobile']) .header__menu-item[data-mega='true'].header__menu-item--open .header__menu-submenu--level-3 {
	pointer-events: all;
	opacity: 1;
}

.header__container:not([data-layout='mobile']) .header__menu-item[data-mega='true'] .header__menu-submenu button.header__menu-link {
	width: calc(100% - var(--dropdownxspacing) * 2);
	font-weight: bold !important;
	cursor: auto;
}

.header__container:not([data-layout='mobile']) [data-mega='true'] .header__menu-item--depth-2 .header__menu-child-toggle {
	display: none;
}

.header__container:not([data-layout='mobile']) .header__menu-item--depth-1[data-mega='true'] > .header__menu-link:after {
    content: '';
    width: 0;
    height: 0;
    position: absolute;
    left: 50%;
    top: 75%;
    transform: translateX(-50%);
    width: 100%;
    height: 100%;
    background: transparent;
    visibility: hidden;
    opacity: 0;
}

.header__container:not([data-layout='mobile']) .header__menu-item--depth-1[data-mega='true'].header__menu-item--open > .header__menu-link:after {
    visibility: visible;
    opacity: 1;
}


/* Mobile menu */
.header__container[data-layout='mobile'] .header__top:not(.header__top-announcement) {
	display: none;
}

.header__container[data-layout='mobile'] .header__bottom {
	padding: var(--mobileNavYSpacing) var(--mobileNavXSpacing);
}

.header__container[data-layout='mobile'] .header__logo-col {
	padding-right: 2rem;
}

.header__container[data-layout='mobile'] .header__menu--desktop {
	display: none;
}

.header__container[data-layout='mobile'] .header__menu-col {
	margin-left: auto;
}

.header__container[data-layout='mobile'] .header__menu-container--mobile {
	display: block;
}

.header__container[data-layout='mobile'] .header__menu--show {
	display: block;
}

.header__container[data-layout='mobile'] .header__menu-item {
	width: 100%;
	text-align: left;
	position: static;
	justify-content: space-between;
}

.header__container[data-layout='mobile'] .header__menu-link {
	width: 100%;
	padding: var(--mobileMenuYSpacing) var(--mobileMenuXSpacing);
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.header__container[data-layout='mobile'] .header__menu-submenu--level-2>li {
	margin-bottom: calc(var(--mobileMenuYSpacing) * 2);
}

.header__container[data-layout='mobile'] .header__menu-back {
	background: none;
	border: none;
	justify-content: start;
}

.header__container[data-layout='mobile'] .header__menu-item--button {
	padding: var(--mobileMenuYSpacing) var(--mobileMenuXSpacing);
}

.header__container[data-layout='mobile'] .header__menu-submenu .header__menu-item {
	padding: 0;
}

.header__container[data-layout='mobile'] .header__menu-submenu,
.header__container[data-layout='mobile'] .header__menu-submenu--level-3,
.header__container[data-layout='mobile'] .header__menu-item--depth-1:nth-last-child(-n + 2) .header__menu-submenu--level-3 {
	position: static;
	width: 100%;
	border: none;
}

.header__container[data-layout='mobile'] .header__menu-child-toggle svg {
	margin-left: 0;
}

.header__container[data-layout='mobile'] .header__menu-child-toggle {
	transform: rotate(-90deg);
	transform-origin: 50% 50%;
	transition: transform 0.4s;
	will-change: transform;
}

.header__container[data-layout='mobile'] .header__menu-toggle--show {
	display: block;
}

.header__container[data-layout='mobile'] .hidden-phone {
	display: none !important;
}

.header__container[data-layout='mobile'] .header__menu-container--mobile .cta-group {
	flex-direction: row;
	align-items: flex-start;
}

[data-layout='desktop'] .logo_mobile,
.header__container[data-fixed='true'][data-layout='desktop'].header-scroll .header__logo-image.header__logo-scroll.logo_mobile,
.header__container[data-fixed='true'][data-layout='mobile'].header-scroll .header__logo-image.header__logo-scroll:not(.logo_mobile):not(.logo_mobile_scroll),
[data-layout='mobile'] [data-mobile='true'] .header__logo-image:not(.logo_mobile) {
	display: none;
}

/* Desktop top UL must be horizontal and bullet-free (legacy + new) */
nav.header__menu.header__menu--desktop .header__menu-wrapper{
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
  gap: 28px; /* adjust spacing */
}
nav.header__menu.header__menu--desktop .header__menu-wrapper > li{
  list-style: none;
}



/* =========================================================
   STARDUST MEGA — EXTERNAL CSS (static, reusable)
   - Works with HubL-driven tokens defined in require_css
   - Aligns wide megas (>=3 cols) to the container's right edge
   - No duplicates, no conflicting blocks
   ========================================================= */

/* ---------- Desktop nav list layout ---------- */
nav.header__menu.header__menu--desktop .header__menu-wrapper{
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
  gap: 16px;
}
nav.header__menu.header__menu--desktop .header__menu-wrapper > li{
  list-style: none;
}

/* ---------- A11y helper (static) ---------- */
.show-for-sr{
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0,0,0,0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* ---------- Basic positioning wrappers ---------- */
.sd-nav{ position:relative; }
.sd-nav__item{ position:relative; }
.sd-nav__link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  text-decoration:none;
  background:none;
  border:0;
  cursor:pointer;
  padding:8px 4px;
  color:var(--sd-text);
}
.sd-nav__link:hover{ color:var(--sd-hover); }

/* Optional chevron animation (if used) */
.sd-nav__chevron{
  width:16px; height:16px; display:inline-block;
  background-repeat:no-repeat; background-position:center; background-size:16px 16px;
  transform: translateY(1px) rotate(0deg);
  transition: transform 180ms ease;
}
.sd-nav__item[aria-expanded="true"] .sd-nav__chevron,
.sd-nav__item:hover .sd-nav__chevron{
  transform: translateY(1px) rotate(180deg);
}

/* ---------- Mega panel base ---------- */

/* Hidden state (start slightly below with a tiny scale) */
.sd-mega{
  position: absolute;
  left: 0;
  top: 100%;
  transform: translateY(10px) scale(.98); /* tweak distance/scale here */
  opacity: 0;
  visibility: hidden;
  pointer-events: none;

  background: #FFFFFF;                  /* keep or set your panel bg */
  border-radius: 10px;                  /* sync with your design */
  border-top: 0 solid transparent;      /* or set a color if you want a blue top border */
  box-shadow: 0 18px 50px rgba(38,115,255,.22); /* blue shadow */
  padding: 8px;
  z-index: 9999;

  transition:
    opacity 260ms cubic-bezier(.2,0,0,1),
    transform 260ms cubic-bezier(.2,0,0,1),
    box-shadow 260ms cubic-bezier(.2,0,0,1);
}

/* Show state (hover or aria-expanded true) */
.sd-nav__item:hover > .sd-mega,
.sd-nav__item[aria-expanded="true"] > .sd-mega{
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0) scale(1);
}

/* Keep the hover buffer to avoid flicker */
.sd-mega::before{
  content:"";
  position:absolute;
  left:0; right:0; top:-10px;          /* match translateY distance */
  height:10px;
}

.sd-mega::before{
  content:"";
  position:absolute; left:0; right:0; top:-12px;
  height:12px; /* hover buffer to prevent flicker */
}

/* Show on hover/focus */
.sd-nav__item:hover > .sd-mega,
.sd-nav__item[aria-expanded="true"] > .sd-mega{
  display:block;
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateY(12px);
}

/* ---------- Mega content structure ---------- */
.sd-mega__grid{
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: max-content;
  gap: 8px;
}
.sd-mega__col{
  min-width: 180px;
  max-width: none;
}
.sd-mega__links{
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: var(--sd-row-gap);
}

/* ---------- GRID (cards fill row height, bullets below) ---------- */
.sd-grid{
  display: grid;
  grid-template-columns: repeat(var(--cols, 3), minmax(var(--min, 180px), 1fr));
  column-gap: var(--sd-col-gap-grid, 32px);
  row-gap: var(--sd-row-gap-grid, 24px);
  align-items: start;
}
.sd-grid > li{
  list-style: none;
  display: flex;
  flex-direction: column; /* card, divider, bullets */
  align-items: stretch;
  min-width: 0;
}

/* ---------- Cards ---------- */
.sd-card{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:8px;
  padding:8px;
  border-radius:12px;
  text-decoration:none;
  color:inherit;
  transition: background-color .15s ease;
}
.sd-card:hover{ background:#F2F8FD; } /* current visual */

/* ---------- Icon block ---------- */
.sd-ico{
  width: var(--sd-icon-size, 64px);
  height: var(--sd-icon-size, 64px);
  border-radius: var(--sd-icon-radius, 12px);
  background: var(--sd-icon-bg, #F2F8FD);
  display:grid;
  place-items:center;
  overflow:hidden;
  margin-bottom: 2px;
}
.sd-ico img{
  width:60%;
  height:60%;
  object-fit:contain;
  display:block;
}

.sd-ico.is-logo{
  height: 44px;
  width: auto;
  max-width: 180px;

  background: transparent;
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  overflow: hidden;
}

.sd-ico.is-logo img{
  height: 100% !important;
  width: auto !important;
  max-width: 100% !important;
  object-fit: contain;
  object-position: left center;
  display: block;
}

/* ---------- Text stack ---------- */
.sd-txt{ display:flex; flex-direction:column; gap:4px; }
.sd-title{ font-weight:700; color: var(--sd-text, #0D0D0E); }
.sd-desc{
  color:#5a6b8a;
  font-size:.95rem;
  line-height:1.3;
}

/* ---------- Divider ---------- */
.sd-div{
  width: 100%;
  height: var(--sd-divider-thick, 1px);
  background: var(--sd-divider-color, #A2B8BE);
  margin: 8px 0 0 !important;
}

/* ---------- Bullets ---------- */
.sd-bullets{
  list-style:none;
  margin:8px 0 0;
  padding:0;
  display:grid;
  gap:6px;
}
.sd-bullet{
  display:flex;
  align-items:center;
  gap:8px;
  color:#5a6b8a;
  text-decoration:none;
  padding:6px 6px;
  border-radius:10px;
  transition: background-color .15s ease;
}
.sd-bullet:hover{ background:#F2F8FD; }

.sd-bico{
  width: var(--sd-bullet-size, 40px);
  height: var(--sd-bullet-size, 40px);
  border-radius: var(--sd-bullet-radius, 96px);
  background: var(--sd-bullet-bg, #F2F8FD);
  display:grid;
  place-items:center;
  overflow:hidden;
  transition: background-color .15s ease;
}
.sd-bico img{
  width:60%;
  height:60%;
  object-fit:contain;
  display:block;
}

/* Optional: on hover of bullet row, make bullet icon bg white for contrast */
.sd-bullets a.sd-bullet:hover .sd-bico,
.sd-bullets a.sd-bullet:focus-visible .sd-bico,
.sd-bullets span.sd-bullet:hover .sd-bico,
.sd-bullets span.sd-bullet:focus-visible .sd-bico{
  background-color: #ffffff;
}

/* ---------- Hide Stardust desktop on mobile ---------- */
@media (max-width: 991px) {
  .sd-nav{ display:none; } /* mobile uses your existing accordion */
}


/* =========================================================
   STARDUST TYPO REFINEMENTS (restored hierarchy)
   ========================================================= */

/* Mega item titles */
.sd-mega .sd-title{
  font-size: clamp(16px, 1.9vw, 18px);
  line-height: 1.2;
  font-weight: 500;
  letter-spacing: -0.02em;
  color: var(--sd-text);
}
/* Columns */
.sd-mega__col-title {
  display: block;         /* so the indent actually applies cleanly */
  font-size: 9pt;        /* requested size */
  margin-left: 8px;       /* 8px indent */
  margin-bottom: 8px;
  margin-top: 8px;
  color: #75939B;         /* keeps your required color */
  font-weight: 400;       /* optional – matches previous styling */
  letter-spacing: 0; /* optional – keeps all‑caps legibility */
  text-transform: uppercase;
}

/* Right divider when enabled on the column */
.sd-mega__col.has-line-right {
  border-right: 1px solid #E2E9EB; /* 1px, #E2E9EB */
  }
/* When the right border is present, push content in by 8px */
.sd-mega__col.has-line-right {
  padding-right: 8px;          /* <-- the gap */
  box-sizing: border-box;       /* ensures total width remains consistent */

}

/* Descriptions */
.sd-mega .sd-desc{
  font-size: clamp(12px, 1.05vw, 14px);
  line-height: 1.3;
  letter-spacing: -0.02em;
  font-weight: 400;
  color: #5a6b8a;
}

/* Bullets */
.sd-mega .sd-bullet,
.sd-mega .sd-btxt{
  font-size: clamp(12px, 1.05vw, 14px);
  line-height: 1.3;
  letter-spacing: -0.02em;
  font-weight: 400;
}



/* =========================
   MOBILE ACCORDION — MOTION & LAYOUT (REPLACEMENT)
   ========================= */
@media (max-width: 991px) {

  /* Container controls gutters */
  .header__menu--mobile { padding:0px 0 24px; }
  .m-nav__list          { padding: 0; }

  /* Interaction timing */
  :root{
    --m-ease: cubic-bezier(.2, 0, 0, 1);
    --m-dur: 280ms;
  }

  /* -------- Top-level summary (L1) -------- */
  .m-acc__summary{
    display:flex; align-items:center; justify-content:space-between;
    gap:12px; padding:0 0;
    min-height: 44px;
  }
  .m-acc__summary::-webkit-details-marker{ display:none; }

  .m-acc__chev{
    width:16px; height:16px; flex:0 0 16px;
    background:no-repeat center/16px 16px;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23343D42' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
    transition: transform var(--m-dur) var(--m-ease);
  }
  details.m-acc[open] > summary .m-acc__chev{ transform: rotate(180deg); }

  /* -------- Panels: height + child fade/slide -------- */
  .m-acc__panel{
    overflow:hidden;
    max-height:0;
    transition:max-height var(--m-dur) var(--m-ease);
  }
  details.m-acc[open] > .m-acc__panel{ max-height:1200px; }

  .m-acc__panel-inner{
    display:flex; flex-direction:column;
    gap:0; padding:0;
  }
  .m-acc__panel-inner > *{
    opacity:0; transform:translateY(6px);
    transition: opacity var(--m-dur) var(--m-ease), transform var(--m-dur) var(--m-ease);
  }
  details.m-acc[open] > .m-acc__panel .m-acc__panel-inner > *{
    opacity:1; transform:translateY(0);
  }

  /* -------- Desktop-like “View All” link -------- */
  .m-link.m-link--view{
    display:inline-flex; align-items:center; gap:8px;
    padding:10px 0;
    font-weight: 500;                 /* desktop-ish weight */
    color: var(--sd-text, #75939B);
    text-decoration: none;
  }
  .m-link.m-link--view:hover{ color: var(--sd-hover, #2673FF); }
  .m-link.m-link--view .m-viewall-ico{
    display:inline-flex; align-items:center;
  }

  /* -------- Level‑2 rows (uniform) --------
     Default = ICON LEFT (2 columns)
     Logo rows = stack (logo on TOP) via .m-row--logo */
  .m-acc__summary--item,
  .m-link.m-link--item{ padding:0; }

  .m-row{
    /* square media like desktop sd-ico */
    --media: var(--sd-icon-size, 64px);
    display:grid; grid-template-columns: var(--media) 1fr;
    align-items:center; column-gap:12px;
    padding:12px 0; /* tap target */
  }

  /* Logo rows switch to a single column: logo on top */
  .m-row.m-row--logo{
    grid-template-columns: 1fr;
    row-gap: 4px;
  }

  /* ===== ICON/LOGO BOX — EXACT desktop parity ===== */
 
  /* Icons: same as desktop */
  .m-media{
    width: var(--sd-icon-size, 64px);
    height: var(--sd-icon-size, 64px);
    border-radius: var(--sd-icon-radius, 12px);
    background: var(--sd-icon-bg, #F2F8FD);
    display: grid;
    place-items: center;
    overflow: hidden;
    margin-bottom: 2px;
    justify-self: start;
  }
  .m-media img{
    width:60%; height:60%; object-fit:contain; display:block;
  }

  /* Logos: smaller container than icons */
.m-media.is-logo{
  --sd-logo-height: 44px;

  height: var(--sd-logo-height);
  width: auto;
  max-width: 180px;

  background: transparent;
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  overflow: hidden;
  justify-self: start;
}

.m-media.is-logo img{
  height: 100% !important;
  width: auto !important;
  max-width: 100% !important;
  object-fit: contain;
  object-position: left center;
  display: block;
}

  /* ===== TEXT STACK — mirror desktop hierarchy ===== */
  .m-text{ display:flex; flex-direction:column; gap:4px; }
  .m-title{
    font-weight: 500;                /* semi-bold like desktop emphasis */
    font-size: 18px;                 /* close to desktop sd-title */
    line-height: 1.2;
    color: var(--sd-text, #0D0D0E);
  }
  .m-sub{
    font-size: 14px; line-height: 1.3;
    color:#5a6b8a;
    text-wrap: balance;
  }

  /* ===== SPACING ===== */
  /* Less space between main item and its bullets */
  .m-bullets{
    list-style:none; margin:0; padding:0 0 10px; /* tightened from 8/12 */
    display:grid; gap:6px;
  }

    
/* -------- Dividers between TOP‑LEVEL menu items (L1) -------- */
.m-nav__item--lvl1 + .m-nav__item--lvl1{
  border-top: 1px solid #ECEFF3; /* same divider tone as L2 */
}
  
  /* Dividers between L2 rows */
  .m-nav__item--lvl2 + .m-nav__item--lvl2{ border-top: 1px solid #ECEFF3; }
  

  /* Bullets row */
  .m-bullets__a{
    display:grid; grid-template-columns: 28px 1fr; align-items:center;
    gap:10px; padding:8px 0; border-radius:10px; text-decoration:none; color:#344054;
  }
  .m-bullets__ico{
    width:40px; height:40px; border-radius:999px;
    background: var(--sd-bullet-bg, #E3EEFB); display:grid; place-items:center; overflow:hidden;
  }
  .m-bullets__ico img{ width:60%; height:60%; object-fit:contain; display:block; }

  /* ===== CTAs (Log in / Contact) in one row when they fit ===== */
  .header__menu-container--mobile .cta-group{
    display:flex; flex-direction: row; flex-wrap: wrap;
    align-items:left; gap:12px;
  }



/* Reserve scrollbar gutter so layout width doesn’t change when overlay appears */
html, body, .header__container {
  scrollbar-gutter: stable both-edges;
}
  
  