/* RAPCO2 — Mobile navigation contrast fix
   Unified navy/blue/red palette on every page, including Visione.
   Loaded last to resolve competing @media color declarations. */
@media (max-width: 860px) {
  body .site-header .main-nav,
  body .site-header .main-nav.is-open,
  body.next-vision-active .site-header .main-nav,
  body.next-vision-active .site-header .main-nav.is-open,
  body.next-home-active .site-header .main-nav,
  body.next-home-active .site-header .main-nav.is-open {
    background: linear-gradient(155deg, #071426 0%, #0c2445 68%, #103260 100%) !important;
    border: 1px solid rgba(105, 165, 255, .32) !important;
    box-shadow: 0 24px 56px rgba(3, 11, 27, .37) !important;
    color: #f5f9ff !important;
    color-scheme: dark;
  }

  body .site-header .main-nav .mobile-nav-label {
    color: #aac5ee !important;
    text-shadow: none !important;
  }

  body .site-header .main-nav a,
  body .site-header .main-nav a.mobile-nav-only,
  body.next-vision-active .site-header .main-nav a,
  body.next-home-active .site-header .main-nav a {
    color: #eff5ff !important;
    background: transparent !important;
    text-shadow: none !important;
  }

  body .site-header .main-nav a::after,
  body.next-vision-active .site-header .main-nav a::after,
  body.next-home-active .site-header .main-nav a::after {
    color: #8ab8ff !important;
    background: none !important;
  }

  body .site-header .main-nav a:hover,
  body .site-header .main-nav a:focus-visible,
  body.next-vision-active .site-header .main-nav a:hover,
  body.next-home-active .site-header .main-nav a:hover {
    color: #ffffff !important;
    background: rgba(66, 126, 246, .22) !important;
  }

  body .site-header .main-nav a.is-current,
  body.next-vision-active .site-header .main-nav a.is-current,
  body.next-home-active .site-header .main-nav a.is-current {
    color: #ffffff !important;
    background: rgba(47, 108, 239, .35) !important;
    box-shadow: inset 3px 0 0 #eb3551;
  }

  body .site-header .main-nav a.is-current::after {
    color: #c4d9ff !important;
  }

  body .site-header .main-nav a:focus-visible,
  body .site-header .main-nav button:focus-visible {
    outline: 2px solid #8bbcff !important;
    outline-offset: 2px;
  }

  body .site-header .main-nav .lang-switch--mobile {
    background: rgba(140, 180, 244, .14) !important;
    border: 1px solid rgba(143, 191, 255, .25) !important;
  }

  body .site-header .main-nav .lang-switch--mobile button,
  body.next-home-active .site-header .main-nav .lang-switch--mobile button,
  body.next-vision-active .site-header .main-nav .lang-switch--mobile button {
    color: #c7dcff !important;
    background: transparent !important;
  }

  body .site-header .main-nav .lang-switch--mobile button.is-active,
  body.next-home-active .site-header .main-nav .lang-switch--mobile button.is-active,
  body.next-vision-active .site-header .main-nav .lang-switch--mobile button.is-active {
    color: #ffffff !important;
    background: #316be9 !important;
    box-shadow: 0 2px 8px rgba(3, 11, 27, .25);
  }

  body .site-header .nav-toggle:focus-visible {
    outline: 2px solid #8bbcff !important;
    outline-offset: 3px;
  }
}