/* Prosoft USA Services navigation — clean, stable grouped panel */
@media (min-width: 841px) {
  header { position: sticky !important; top: 0; z-index: 10000 !important; overflow: visible !important; }
  header .nav { position: relative !important; overflow: visible !important; }
  .nav-links { overflow: visible !important; }
  .nav-links > .nav-services-item { position: static !important; }
  .nav-links > .nav-services-item > .nav-services-submenu {
    display: none !important;
    position: fixed !important;
    top: var(--prosoft-menu-top, 80px) !important;
    left: 50% !important; right: auto !important; bottom: auto !important;
    transform: translateX(-50%) !important;
    width: min(1180px, calc(100vw - 40px)) !important;
    min-width: 0 !important; max-width: 1180px !important;
    max-height: calc(100vh - var(--prosoft-menu-top, 80px) - 20px) !important;
    overflow: auto !important; overscroll-behavior: contain;
    box-sizing: border-box !important;
    margin: 0 !important; padding: 28px !important;
    display: none !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    align-items: start !important; align-content: start !important;
    gap: 24px 30px !important;
    background: #fff !important; color: #111827 !important;
    border: 1px solid #e4e8ef !important; border-top: 3px solid #17264a !important;
    border-radius: 0 0 12px 12px !important;
    box-shadow: 0 20px 48px rgba(15, 23, 42, .18) !important;
    z-index: 999999 !important; list-style: none !important;
  }
  .nav-links > .nav-services-item:hover > .nav-services-submenu,
  .nav-links > .nav-services-item:focus-within > .nav-services-submenu,
  .nav-links > .nav-services-item.menu-panel-open > .nav-services-submenu {
    display: grid !important;
  }
  .nav-links .nav-services-submenu > li {
    display: block !important; position: relative !important; float: none !important;
    width: auto !important; min-width: 0 !important; max-width: none !important;
    margin: 0 !important; padding: 0 !important; border: 0 !important;
    background: transparent !important; list-style: none !important;
  }
  .nav-links .nav-services-submenu > li > a {
    display: block !important; width: auto !important; box-sizing: border-box !important;
    padding: 0 0 10px !important; margin: 0 0 8px !important;
    border: 0 !important; border-bottom: 1px solid #e5eaf2 !important;
    background: transparent !important; color: #152344 !important;
    font-size: 14px !important; font-weight: 700 !important; line-height: 1.4 !important;
    text-decoration: none !important; white-space: normal !important;
  }
  .nav-links .nav-services-submenu > li > a:hover,
  .nav-links .nav-services-submenu > li > a:focus { color: #315fba !important; }
  .nav-links .nav-services-submenu > li > ul.sub-menu {
    display: block !important; position: static !important; inset: auto !important;
    float: none !important; transform: none !important;
    width: auto !important; min-width: 0 !important; max-width: none !important;
    height: auto !important; max-height: none !important; overflow: visible !important;
    margin: 0 !important; padding: 0 !important; border: 0 !important;
    border-radius: 0 !important; box-shadow: none !important;
    background: transparent !important; list-style: none !important;
  }
  .nav-links .nav-services-submenu > li > ul.sub-menu > li {
    display: block !important; position: static !important; margin: 0 !important; padding: 0 !important;
  }
  .nav-links .nav-services-submenu > li > ul.sub-menu a {
    display: block !important; width: auto !important; padding: 6px 8px !important; margin: 0 !important;
    border: 0 !important; border-radius: 5px !important;
    background: transparent !important; color: #4b5870 !important;
    font-size: 12px !important; font-weight: 500 !important; line-height: 1.45 !important;
    text-decoration: none !important; white-space: normal !important;
  }
  .nav-links .nav-services-submenu > li > ul.sub-menu a:hover,
  .nav-links .nav-services-submenu > li > ul.sub-menu a:focus { background: #f2f5fa !important; color: #17264a !important; }
  .nav-links .nav-services-submenu .menu-item-has-children > a:after { content: none !important; }
}
@media (min-width: 841px) and (max-width: 1050px) {
  .nav-links > .nav-services-item > .nav-services-submenu { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 20px !important; padding: 22px !important; }
}
@media (max-width: 840px) {
  .nav-links { overflow-x: hidden !important; overflow-y: auto !important; }
  .nav-links > .nav-services-item { width: 100% !important; }
  .nav-links > .nav-services-item > .nav-services-submenu {
    display: block !important; position: static !important; inset: auto !important; transform: none !important;
    width: 100% !important; min-width: 0 !important; max-width: none !important;
    max-height: none !important; overflow: visible !important; box-sizing: border-box !important;
    margin: 0 0 10px 0 !important; padding: 0 0 0 12px !important;
    border: 0 !important; border-left: 2px solid #dbe2ed !important; border-radius: 0 !important;
    box-shadow: none !important; background: transparent !important;
  }
  .nav-links .nav-services-submenu > li { display: block !important; position: static !important; margin: 0 !important; padding: 0 !important; }
  .nav-links .nav-services-submenu > li > a { font-weight: 700 !important; padding: 10px 6px !important; border-bottom: 1px solid #e8edf4 !important; }
  .nav-links .nav-services-submenu > li > ul.sub-menu {
    display: block !important; position: static !important; inset: auto !important; transform: none !important;
    width: auto !important; min-width: 0 !important; max-width: none !important; max-height: none !important;
    overflow: visible !important; margin: 0 0 8px 8px !important; padding: 0 0 0 10px !important;
    border: 0 !important; border-left: 1px solid #dbe2ed !important; box-shadow: none !important; background: transparent !important;
  }
  .nav-links .nav-services-submenu > li > ul.sub-menu a { padding: 8px 6px !important; font-size: 12px !important; border: 0 !important; }
}
