/*
 * Ki-nav-overflow : même rendu « burger » que @media (max-width: 899px)
 * lorsque html.ki-nav-overflow est posée par k-invest.js (menu qui déborde / wrap ≥900px).
 * Généré par scripts/build-ki-nav-overflow-css.php — ne pas éditer à la main.
 */

@media (min-width: 900px) {
  
  /* Logo primary / burger marks (first max-width 899 block in k-invest.css) */
    html.ki-nav-overflow body:not(:has(.sc-nav__menu.is-open)) .ki-header__logo--has-menu-logo .ki-header__logo-mark--burger {
      display: none !important;
    }
  
    html.ki-nav-overflow body:has(.sc-nav__menu.is-open) .ki-header__logo--has-menu-logo .ki-header__logo-mark--primary {
      display: none !important;
    }
  
    html.ki-nav-overflow body:has(.sc-nav__menu.is-open) .ki-header__logo--has-menu-logo .ki-header__logo-mark--burger {
      display: flex !important;
    }
  
  /* Burger layout (main max-width 899 block) */
    /* Bandeau plein navy (le dégradé hero est réservé au desktop ≥900px). */
    html.ki-nav-overflow .ki-header {
      background: var(--ki-navy, #162741);
    }
  
    html.ki-nav-overflow .ki-header.is-scrolled {
      background: var(--ki-navy, #162741);
      backdrop-filter: none;
      -webkit-backdrop-filter: none;
    }
  
    html.ki-nav-overflow .ki-header__inner {
      position: static; /* so absolute menu relates to header */
    }
  
    html.ki-nav-overflow .ki-header__logo {
      position: relative;
      z-index: 100;
    }
  
    html.ki-nav-overflow .ki-header .sc-nav__toggle {
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      width: 2.25rem;
      height: 2.25rem;
      margin-left: auto;
      background: none;
      border: none;
      cursor: pointer;
      padding: 0.25rem;
      position: relative;
      z-index: 100;
    }
  
    html.ki-nav-overflow .ki-header .sc-nav__toggle-icon,
    html.ki-nav-overflow .ki-header .sc-nav__toggle-icon::before,
    html.ki-nav-overflow .ki-header .sc-nav__toggle-icon::after {
      transition: top 0.2s ease, transform 0.2s ease, background-color 0.2s ease;
    }
  
    html.ki-nav-overflow .ki-header .sc-nav__toggle[aria-expanded="true"] .sc-nav__toggle-icon {
      background-color: transparent;
    }
  
    html.ki-nav-overflow .ki-header .sc-nav__toggle[aria-expanded="true"] .sc-nav__toggle-icon::before {
      top: 0;
      transform: rotate(45deg);
      background-color: var(--ki-navy);
    }
  
    html.ki-nav-overflow .ki-header .sc-nav__toggle[aria-expanded="true"] .sc-nav__toggle-icon::after {
      top: 0;
      transform: rotate(-45deg);
      background-color: var(--ki-navy);
    }
  
    /* Si le menu est ouvert, le texte du logo passe en sombre (menu peut être dans #ki-mobile-nav-dialog) */
    html.ki-nav-overflow body:has(.sc-nav__menu.is-open) .ki-header .ki-header__logo-text {
      color: var(--ki-navy);
    }
  
    html.ki-nav-overflow .ki-header .sc-nav__toggle-icon {
      display: block;
      width: 1.375rem;
      height: 2px;
      background: var(--ki-white);
      border-radius: 2px;
      position: relative;
    }
  
    html.ki-nav-overflow .ki-header .sc-nav__toggle-icon::before,
    html.ki-nav-overflow .ki-header .sc-nav__toggle-icon::after {
      content: '';
      position: absolute;
      left: 0;
      width: 100%;
      height: 2px;
      background: var(--ki-white);
      border-radius: 2px;
    }
  
    html.ki-nav-overflow .ki-header .sc-nav__toggle-icon::before { top: -7px; }
    html.ki-nav-overflow .ki-header .sc-nav__toggle-icon::after { top: 7px; }
  
    html.ki-nav-overflow :is(.ki-header, .ki-mobile-nav-portal) .sc-nav__menu {
      position: fixed;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      margin: 0;
      flex-direction: column;
      gap: 0;
      background: var(--ki-white);
      padding: 6rem 1.5rem 3rem; /* padding-top leaves room for logo/toggle */
      max-height: none;
      overflow-y: auto;
      overflow-x: hidden;
      display: none;
      border-radius: 0;
      box-shadow: none;
      z-index: 90; /* below logo and toggle */
      box-sizing: border-box;
      flex-wrap: inherit;
    }
  
    html.ki-nav-overflow :is(.ki-header, .ki-mobile-nav-portal) .sc-nav__menu.is-open {
      display: flex;
      justify-content: safe center;
      align-items: center;
    }
  
    /*
     * UX demandée:
     * - menu centré par défaut
     * - si un mega menu est ouvert, toute la pile passe alignée à gauche
     */
    html.ki-nav-overflow :is(.ki-header, .ki-mobile-nav-portal) .sc-nav__menu.is-open:has(.sc-nav__item--mega.is-mega-open) {
      justify-content: flex-start;
      align-items: stretch;
    }
  
    /*
     * Sous-menu simple : ne pas changer justify-content sur tout le <ul> (sinon la pile « remonte »
     * comme pour le méga). On cible seulement la ligne du li ouvert (voir plus bas).
     */
  
    /* Bloc menu centré (largeur max lisible) */
    html.ki-nav-overflow :is(.ki-header, .ki-mobile-nav-portal) .sc-nav__menu > .menu-item {
      padding: 0;
      max-width: min(28rem, 100%);
      text-align: center;
    }
  
    /* Bloquer le scroll du body quand le menu est ouvert */
    html.ki-nav-overflow body:has(.sc-nav__menu.is-open) {
      overflow: hidden;
    }
  
    /*
     * Menu burger ouvert : bandeau header en fond blanc (hero ou scroll), même si .is-scrolled
     * (sinon dégradé navy / blur sous le hero).
     */
    html.ki-nav-overflow body:has(.sc-nav__menu.is-open) .ki-header {
      z-index: 110;
      background: var(--ki-white);
      backdrop-filter: none;
      -webkit-backdrop-filter: none;
      box-shadow: none;
    }
  
    /*
     * Portail mobile : <dialog#ki-mobile-nav-dialog.ki-mobile-nav-portal> (voir k-invest.js).
     * Ouvert avec dialog.show() (non modal) pour que #ki-header (z-index 100) reste au-dessus du panneau.
     * ::backdrop transparent — le fond blanc vient du <ul>.
     */
    html.ki-nav-overflow dialog.ki-mobile-nav-portal {
      position: fixed;
      inset: 0;
      z-index: 90;
      margin: 0;
      padding: 0;
      border: none;
      max-width: none;
      max-height: none;
      width: 100%;
      min-height: 100%;
      min-height: 100dvh;
      height: auto;
      background: transparent;
      box-sizing: border-box;
    }
  
    html.ki-nav-overflow dialog.ki-mobile-nav-portal::backdrop {
      background: transparent;
    }
  
    html.ki-nav-overflow :is(.ki-header, .ki-mobile-nav-portal) .sc-nav__menu > .menu-item > a,
    html.ki-nav-overflow :is(.ki-header, .ki-mobile-nav-portal) .sc-nav__menu > .menu-item > .sc-mega__trigger,
    html.ki-nav-overflow :is(.ki-header, .ki-mobile-nav-portal) .sc-nav__menu > .menu-item .sc-nav__dropdown-toggle,
    html.ki-nav-overflow :is(.ki-header, .ki-mobile-nav-portal) .sc-nav__menu > .menu-item > .sc-nav__simple-submenu-row .sc-nav__simple-submenu-link,
    html.ki-nav-overflow :is(.ki-header, .ki-mobile-nav-portal) .sc-nav__menu > .menu-item > .sc-nav__simple-submenu-toggle.sc-nav__simple-submenu-toggle--full {
      color: var(--ki-navy);
      display: flex;
      justify-content: center;
      align-items: center;
      gap: 0.5rem;
      padding: 1rem 0;
      font-size: 1.25rem;
      font-weight: 500;
      text-decoration: none;
      width: 100%;
      background: transparent;
      border: none;
      text-align: center;
      cursor: pointer;
    }
  
    /*
     * Lien + chevron regroupés (pas space-between sur toute la largeur — évite le chevron collé au bord droit).
     */
    html.ki-nav-overflow :is(.ki-header, .ki-mobile-nav-portal) .sc-nav__menu > .menu-item > .sc-nav__simple-submenu-row {
      display: inline-flex;
      flex-direction: row;
      align-items: center;
      justify-content: center;
      gap: 0.35rem;
      width: auto;
      max-width: 100%;
      margin-inline: auto;
      padding: 0;
    }
  
    html.ki-nav-overflow :is(.ki-header, .ki-mobile-nav-portal) .sc-nav__menu > .menu-item > .sc-nav__simple-submenu-row .sc-nav__simple-submenu-link {
      justify-content: center;
      text-align: center;
      width: auto;
      flex: 0 1 auto;
      min-width: 0;
    }
  
    html.ki-nav-overflow :is(.ki-header, .ki-mobile-nav-portal) .sc-nav__menu > .menu-item > .sc-nav__simple-submenu-row .sc-nav__simple-submenu-toggle {
      display: inline-flex;
      flex: 0 0 auto;
      align-items: center;
      justify-content: center;
      width: auto;
      min-width: 2.25rem;
      min-height: 2.75rem;
      padding: 0.35rem 0.25rem;
      color: var(--ki-navy);
      background: transparent;
      border: none;
      cursor: pointer;
    }
  
    html.ki-nav-overflow :is(.ki-header, .ki-mobile-nav-portal) .sc-nav__menu.is-open:has(.sc-nav__item--mega.is-mega-open) > .menu-item {
      max-width: 100%;
    }
  
    html.ki-nav-overflow :is(.ki-header, .ki-mobile-nav-portal) .sc-nav__menu > .menu-item.sc-nav__item--simple-submenu.is-open {
      max-width: 100%;
    }
  
    html.ki-nav-overflow :is(.ki-header, .ki-mobile-nav-portal) .sc-nav__menu > .menu-item.sc-nav__item--simple-submenu.is-open > .sc-nav__simple-submenu-row {
      margin-inline: 0;
      justify-content: flex-start;
    }
  
    html.ki-nav-overflow :is(.ki-header, .ki-mobile-nav-portal) .sc-nav__menu.is-open:has(.sc-nav__item--mega.is-mega-open) > .menu-item > a,
    html.ki-nav-overflow :is(.ki-header, .ki-mobile-nav-portal) .sc-nav__menu.is-open:has(.sc-nav__item--mega.is-mega-open) > .menu-item > .sc-mega__trigger,
    html.ki-nav-overflow :is(.ki-header, .ki-mobile-nav-portal) .sc-nav__menu.is-open:has(.sc-nav__item--mega.is-mega-open) > .menu-item .sc-nav__dropdown-toggle,
    html.ki-nav-overflow :is(.ki-header, .ki-mobile-nav-portal) .sc-nav__menu > .menu-item.sc-nav__item--simple-submenu.is-open > .sc-nav__simple-submenu-row .sc-nav__simple-submenu-link,
    html.ki-nav-overflow :is(.ki-header, .ki-mobile-nav-portal) .sc-nav__menu > .menu-item.sc-nav__item--simple-submenu.is-open > .sc-nav__simple-submenu-toggle.sc-nav__simple-submenu-toggle--full {
      justify-content: flex-start;
      text-align: left;
    }
  
    html.ki-nav-overflow :is(.ki-header, .ki-mobile-nav-portal) .sc-nav__menu > .menu-item.sc-nav__item--simple-submenu.is-open > .sc-nav__simple-submenu-row .sc-nav__simple-submenu-toggle {
      justify-content: center;
    }
  
    html.ki-nav-overflow :is(.ki-header, .ki-mobile-nav-portal) .sc-nav__chevron {
      width: 1.25rem;
      height: 1.25rem;
      transition: transform 0.3s ease;
    }
  
    html.ki-nav-overflow :is(.ki-header, .ki-mobile-nav-portal) .sc-nav__menu .is-mega-open > .sc-mega__trigger .sc-nav__chevron,
    html.ki-nav-overflow :is(.ki-header, .ki-mobile-nav-portal) .sc-nav__menu .is-open > .sc-nav__dropdown-toggle .sc-nav__chevron,
    html.ki-nav-overflow :is(.ki-header, .ki-mobile-nav-portal) .sc-nav__menu .sc-nav__item--simple-submenu.is-open .sc-nav__simple-submenu-toggle .sc-nav__chevron {
      transform: rotate(180deg);
    }
  
    html.ki-nav-overflow :is(.ki-header, .ki-mobile-nav-portal) .sc-mega-menu--a .sc-mega__col {
      border: 0;
    }
  
    html.ki-nav-overflow :is(.ki-header, .ki-mobile-nav-portal) .sc-nav__menu .sc-mega,
    html.ki-nav-overflow :is(.ki-header, .ki-mobile-nav-portal) .sc-nav__menu .sub-menu {
      position: static !important;
      margin-top: 0 !important;
      margin-bottom: 1rem !important;
      border: none !important;
      background: transparent !important;
      padding-left: 0 !important;
      list-style: none !important;
      border-left: none !important;
      text-align: center !important;
      display: none;
      box-shadow: none !important;
      width: 100% !important;
      max-width: 100% !important;
      border-radius: 0 !important;
      min-width: 0 !important;
    }
  
    html.ki-nav-overflow :is(.ki-header, .ki-mobile-nav-portal) .sc-nav__menu.is-open:has(.sc-nav__item--mega.is-mega-open) .sc-mega,
    html.ki-nav-overflow :is(.ki-header, .ki-mobile-nav-portal) .sc-nav__menu.is-open:has(.sc-nav__item--mega.is-mega-open) .sub-menu {
      text-align: left !important;
    }
  
    /*
     * Sous-menu « simple » (MegaMenuWalker .sub-menu) : comme la ligne parent — centré, navy, bold, sans puce.
     * (Les règles desktop .sub-menu a 0.875rem / bloc ne s’appliquent pas ici : breakpoint séparé.)
     */
    html.ki-nav-overflow :is(.ki-header, .ki-mobile-nav-portal) .sc-nav__menu .sc-nav__item--simple-submenu > .sub-menu {
      list-style: none !important;
      margin: 0 !important;
      padding: 0 !important;
      text-align: center !important;
    }
  
    html.ki-nav-overflow :is(.ki-header, .ki-mobile-nav-portal) .sc-nav__menu .sc-nav__item--simple-submenu > .sub-menu > .menu-item {
      list-style: none;
      list-style-type: none;
      padding: 0;
      margin: 0;
      text-align: center;
    }
  
    html.ki-nav-overflow :is(.ki-header, .ki-mobile-nav-portal) .sc-nav__menu .sc-nav__item--simple-submenu > .sub-menu > .menu-item::marker {
      content: none;
    }
  
    html.ki-nav-overflow :is(.ki-header, .ki-mobile-nav-portal) .sc-nav__menu .sc-nav__item--simple-submenu > .sub-menu a {
      display: block;
      padding: 0.65rem 0;
      color: var(--ki-navy) !important;
      font-size: 1.25rem;
      font-weight: 500;
      text-decoration: none;
      text-align: center;
    }
  
    html.ki-nav-overflow :is(.ki-header, .ki-mobile-nav-portal) .sc-nav__menu .sc-nav__item--simple-submenu > .sub-menu a:visited {
      color: var(--ki-navy) !important;
    }
  
    html.ki-nav-overflow :is(.ki-header, .ki-mobile-nav-portal) .sc-nav__menu .sc-nav__item--simple-submenu > .sub-menu a:hover,
    html.ki-nav-overflow :is(.ki-header, .ki-mobile-nav-portal) .sc-nav__menu .sc-nav__item--simple-submenu > .sub-menu a:focus-visible {
      color: var(--ki-gold) !important;
      outline: none;
    }
  
    html.ki-nav-overflow :is(.ki-header, .ki-mobile-nav-portal) .sc-nav__menu .sc-mega__grid {
      display: flex !important;
      flex-direction: column !important;
      gap: 0 !important;
    }
  
    html.ki-nav-overflow :is(.ki-header, .ki-mobile-nav-portal) .sc-nav__menu .is-mega-open > .sc-mega,
    html.ki-nav-overflow :is(.ki-header, .ki-mobile-nav-portal) .sc-nav__menu .is-open > .sub-menu {
      display: block !important;
    }
  
    /*
     * MegaMenuWalker : <div class="sc-mega__inner sc-container"> — .sc-container ajoute padding-inline (base.css).
     * En burger plein largeur, on aligne le contenu sur les bords du panneau (padding déjà sur le <ul> parent).
     */
    html.ki-nav-overflow :is(.ki-header, .ki-mobile-nav-portal) .sc-mega__inner.sc-container {
      padding-inline: 0;
    }
  
    /* Sous-menus Mega (colonnes et liens imbriqués) — :is(…, .ki-mobile-nav-portal) : menu parfois dans #ki-mobile-nav-dialog */
    html.ki-nav-overflow :is(.ki-header, .ki-mobile-nav-portal) .sc-mega__col-head {
      position: relative;
      display: flex;
      justify-content: center;
      align-items: center;
    }
  
    html.ki-nav-overflow :is(.ki-header, .ki-mobile-nav-portal) .sc-nav__menu.is-open:has(.sc-nav__item--mega.is-mega-open) .sc-mega__col-head {
      justify-content: flex-start;
    }
  
    html.ki-nav-overflow :is(.ki-header, .ki-mobile-nav-portal) .sc-mega__col-toggle {
      position: absolute;
      right: 0.35rem;
      top: 50%;
      transform: translateY(-50%);
      background: none;
      border: none;
      padding: 0.75rem;
      color: var(--ki-navy);
      cursor: pointer;
    }
  
    /*
     * Une seule icône d’action par colonne : le picto K-Invest (.ki-mega-col-icon) + le bouton « + »
     * faisaient doublon. On masque le picto dans l’en-tête quand un toggle d’accordéon est présent.
     */
    html.ki-nav-overflow :is(.ki-header, .ki-mobile-nav-portal) .sc-mega__col-head:has(.sc-mega__col-toggle) .ki-mega-col-icon {
      display: none;
    }
  
    /* Réserve l’espace à droite pour le bouton « + » (le texte ne passe pas sous le toggle) */
    html.ki-nav-overflow :is(.ki-header, .ki-mobile-nav-portal) .sc-mega__col-head:has(.sc-mega__col-toggle) {
      padding-inline-end: 2.75rem;
      cursor: pointer;
    }
  
    html.ki-nav-overflow :is(.ki-header, .ki-mobile-nav-portal) .sc-mega__col-toggle-icon {
      position: relative;
      display: block;
      width: 1rem;
      height: 2px;
      background: currentColor;
    }
  
    /* Neutralise le chevron mobile du parent (<768px) pour éviter doublon avec le "+" */
    html.ki-nav-overflow :is(.ki-header, .ki-mobile-nav-portal) .sc-mega__col-toggle-icon::before {
      content: none !important;
    }
  
    html.ki-nav-overflow :is(.ki-header, .ki-mobile-nav-portal) .sc-mega__col-toggle-icon::after {
      content: '';
      position: absolute;
      top: -7px;
      left: 7px;
      width: 2px;
      height: 1rem;
      background: currentColor;
      transition: transform 0.2s ease;
    }
  
    /* is-open est posée sur .sc-mega__col (data-sc-mega-col), pas sur .ki-mega-column — aligné sur theme.js */
    html.ki-nav-overflow :is(.ki-header, .ki-mobile-nav-portal) .sc-mega__col.is-open .sc-mega__col-toggle-icon::after {
      transform: rotate(90deg);
    }
  
    html.ki-nav-overflow :is(.ki-header, .ki-mobile-nav-portal) .sc-mega__link {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 0.5rem;
      font-size: 1.125rem;
      text-decoration: none;
      text-align: center;
      cursor: pointer;
    }
  
    html.ki-nav-overflow :is(.ki-header, .ki-mobile-nav-portal) .sc-nav__menu.is-open:has(.sc-nav__item--mega.is-mega-open) .sc-mega__link {
      justify-content: flex-start;
      text-align: left;
    }
  
    html.ki-nav-overflow :is(.ki-header, .ki-mobile-nav-portal) .sc-mega__link .ki-mega-col-icon {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 1.25rem;
      height: 1.25rem;
      flex: 0 0 1.25rem;
      line-height: 1;
      color: var(--ki-gold);
    }
  
    html.ki-nav-overflow :is(.ki-header, .ki-mobile-nav-portal) .sc-mega__link .ki-mega-col-icon svg {
      display: block;
      width: 1.125rem;
      height: 1.125rem;
    }
  
    html.ki-nav-overflow :is(.ki-header, .ki-mobile-nav-portal) .sc-mega__link--nested .ki-mega-col-icon {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 1.25rem;
      height: 1.25rem;
      flex: 0 0 1.25rem;
      line-height: 1;
    }
  
    html.ki-nav-overflow :is(.ki-header, .ki-mobile-nav-portal) .sc-mega__col.is-open .sc-mega__col-body {
      display: block;
      padding-left: 0;
      margin-top: 0.5rem;
      text-align: center;
    }
  
    html.ki-nav-overflow :is(.ki-header, .ki-mobile-nav-portal) .sc-nav__menu.is-open:has(.sc-nav__item--mega.is-mega-open) .sc-mega__col.is-open .sc-mega__col-body {
      text-align: left;
    }
  
    html.ki-nav-overflow :is(.ki-header, .ki-mobile-nav-portal) .sc-mega__sub {
      list-style: none;
      padding: 0;
    }
  
    html.ki-nav-overflow :is(.ki-header, .ki-mobile-nav-portal) .sc-mega__link--nested {
      color: #6b7280;
      padding: 0.5rem 0;
      font-size: 1rem;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 0.5rem;
      text-decoration: none;
      text-align: center;
      cursor: pointer;
    }
  
    html.ki-nav-overflow :is(.ki-header, .ki-mobile-nav-portal) .sc-nav__menu.is-open:has(.sc-nav__item--mega.is-mega-open) .sc-mega__link--nested {
      justify-content: flex-start;
      text-align: left;
    }
  
    html.ki-nav-overflow :is(.ki-header, .ki-mobile-nav-portal) .sc-nav__menu > .menu-item.ki-nav-cta > a,
    html.ki-nav-overflow :is(.ki-header, .ki-mobile-nav-portal) .sc-nav__menu > .menu-item.ki-nav-cta > .sc-mega__trigger,
    html.ki-nav-overflow :is(.ki-header, .ki-mobile-nav-portal) .sc-nav__menu > .menu-item.sc-nav-cta > a,
    html.ki-nav-overflow :is(.ki-header, .ki-mobile-nav-portal) .sc-nav__menu > .menu-item.sc-nav-cta > .sc-mega__trigger,
    html.ki-nav-overflow :is(.ki-header, .ki-mobile-nav-portal) .sc-nav__menu > .menu-item.ki-nav-gold-btn > a,
    html.ki-nav-overflow :is(.ki-header, .ki-mobile-nav-portal) .sc-nav__menu > .menu-item.ki-nav-gold-btn > .sc-mega__trigger {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: auto;
      margin-top: 0.25rem;
      margin-bottom: 0.25rem;
      padding: 0.625rem 1.25rem;
      font-size: 1.0625rem;
      font-weight: 600;
      border-radius: var(--ki-radius-full);
      background: var(--ki-gold);
      color: var(--ki-navy);
      box-shadow: var(--ki-shadow-gold);
    }
  
    html.ki-nav-overflow :is(.ki-header, .ki-mobile-nav-portal) .sc-nav__menu > .menu-item.ki-nav-cta > a:hover,
    html.ki-nav-overflow :is(.ki-header, .ki-mobile-nav-portal) .sc-nav__menu > .menu-item.ki-nav-cta > a:focus,
    html.ki-nav-overflow :is(.ki-header, .ki-mobile-nav-portal) .sc-nav__menu > .menu-item.ki-nav-cta > a:focus-visible,
    html.ki-nav-overflow :is(.ki-header, .ki-mobile-nav-portal) .sc-nav__menu > .menu-item.ki-nav-cta > .sc-mega__trigger:hover,
    html.ki-nav-overflow :is(.ki-header, .ki-mobile-nav-portal) .sc-nav__menu > .menu-item.ki-nav-cta > .sc-mega__trigger:focus,
    html.ki-nav-overflow :is(.ki-header, .ki-mobile-nav-portal) .sc-nav__menu > .menu-item.ki-nav-cta > .sc-mega__trigger:focus-visible,
    html.ki-nav-overflow :is(.ki-header, .ki-mobile-nav-portal) .sc-nav__menu > .menu-item.sc-nav-cta > a:hover,
    html.ki-nav-overflow :is(.ki-header, .ki-mobile-nav-portal) .sc-nav__menu > .menu-item.sc-nav-cta > a:focus,
    html.ki-nav-overflow :is(.ki-header, .ki-mobile-nav-portal) .sc-nav__menu > .menu-item.sc-nav-cta > a:focus-visible,
    html.ki-nav-overflow :is(.ki-header, .ki-mobile-nav-portal) .sc-nav__menu > .menu-item.sc-nav-cta > .sc-mega__trigger:hover,
    html.ki-nav-overflow :is(.ki-header, .ki-mobile-nav-portal) .sc-nav__menu > .menu-item.sc-nav-cta > .sc-mega__trigger:focus,
    html.ki-nav-overflow :is(.ki-header, .ki-mobile-nav-portal) .sc-nav__menu > .menu-item.sc-nav-cta > .sc-mega__trigger:focus-visible,
    html.ki-nav-overflow :is(.ki-header, .ki-mobile-nav-portal) .sc-nav__menu > .menu-item.ki-nav-gold-btn > a:hover,
    html.ki-nav-overflow :is(.ki-header, .ki-mobile-nav-portal) .sc-nav__menu > .menu-item.ki-nav-gold-btn > a:focus,
    html.ki-nav-overflow :is(.ki-header, .ki-mobile-nav-portal) .sc-nav__menu > .menu-item.ki-nav-gold-btn > a:focus-visible,
    html.ki-nav-overflow :is(.ki-header, .ki-mobile-nav-portal) .sc-nav__menu > .menu-item.ki-nav-gold-btn > .sc-mega__trigger:hover,
    html.ki-nav-overflow :is(.ki-header, .ki-mobile-nav-portal) .sc-nav__menu > .menu-item.ki-nav-gold-btn > .sc-mega__trigger:focus,
    html.ki-nav-overflow :is(.ki-header, .ki-mobile-nav-portal) .sc-nav__menu > .menu-item.ki-nav-gold-btn > .sc-mega__trigger:focus-visible {
      background: var(--ki-gold-dark);
      color: var(--ki-navy);
    }
  
    html.ki-nav-overflow :is(.ki-header, .ki-mobile-nav-portal) .sc-nav__menu .sc-nav__dropdown-item {
      color: #4b5563;
      padding: 0.75rem 0;
      font-size: 1.125rem;
      text-decoration: none;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 0.5rem;
      text-align: center;
      border-bottom: 1px solid rgba(0, 0, 0, 0.05);
      cursor: pointer;
    }
  
    html.ki-nav-overflow :is(.ki-header, .ki-mobile-nav-portal) .sc-nav__menu.is-open:has(.sc-nav__item--mega.is-mega-open) .sc-nav__dropdown-item {
      justify-content: flex-start;
      text-align: left;
    }
  
    html.ki-nav-overflow :is(.ki-header, .ki-mobile-nav-portal) .sc-nav__menu .sc-nav__dropdown-item:last-child {
      border-bottom: none;
    }
  
    html.ki-nav-overflow :is(.ki-header, .ki-mobile-nav-portal) .sc-nav__menu .sc-nav__dropdown-item:hover,
    html.ki-nav-overflow :is(.ki-header, .ki-mobile-nav-portal) .sc-nav__menu .sc-nav__dropdown-item:focus {
      color: var(--ki-gold);
      outline: none;
    }
  
  /* Tablet mega rules (770–899) replayed for overflow desktop */
    html.ki-nav-overflow :is(.ki-header, .ki-mobile-nav-portal) .sc-nav__item--mega:hover > .sc-mega,
    html.ki-nav-overflow :is(.ki-header, .ki-mobile-nav-portal) .sc-nav__item--mega:focus-within > .sc-mega {
      display: none !important;
    }
  
    html.ki-nav-overflow :is(.ki-header, .ki-mobile-nav-portal) .sc-nav__item--mega.is-mega-open > .sc-mega {
      display: block !important;
      position: static !important;
      transform: none !important;
      width: 100% !important;
      left: auto !important;
      right: auto !important;
      top: auto !important;
      margin: 0 !important;
      box-shadow: none !important;
      background: transparent !important;
      border: none !important;
      padding: 0 !important;
    }
  
    html.ki-nav-overflow :is(.ki-header, .ki-mobile-nav-portal) .sc-mega__grid {
      display: flex !important;
      flex-direction: column !important;
      gap: 0 !important;
    }
  
    html.ki-nav-overflow :is(.ki-header, .ki-mobile-nav-portal) .sc-mega__col-body {
      display: none !important;
    }
  
    html.ki-nav-overflow :is(.ki-header, .ki-mobile-nav-portal) .sc-mega__col.is-open .sc-mega__col-body {
      display: block !important;
    }
  
    html.ki-nav-overflow :is(.ki-header, .ki-mobile-nav-portal) .sc-mega__col-toggle {
      display: block !important;
    }
}
