@media (min-width: 1100px) and (hover: hover) and (pointer: fine) {

    .desktop-header .desktop-header__nav,
    .desktop-header .desktop-header__nav > nav,
    .desktop-header ul.desktop-nav {
        position: relative;
        overflow: visible;
    }

    .desktop-header ul.desktop-nav > li.mega-menu-grid {
        position: static !important;
    }

    /* Main dropdown */
    .desktop-header ul.desktop-nav > li.mega-menu-grid > ul.sub-menu {
        display: block !important;
        position: absolute !important;
        inset: auto !important;
        top: 100% !important;
        left: 50% !important;
        transform: translateX(-50%) !important;

        width: min(1100px, calc(100vw - 48px)) !important;
        min-width: 0 !important;
        max-width: none !important;
        height: auto !important;
        min-height: 200px !important;
        max-height: min(620px, 70vh) !important;
        box-sizing: border-box !important;
        margin: 0 !important;
        padding: 28px 32px !important;

        /* Newspaper-style columns keep each group together */
        column-count: 4 !important;
        column-gap: 32px !important;
        column-rule: 1px solid #e3eaed;

        background: #fff !important;
        border: 0 !important;
        border-top: 4px solid #c62836 !important;
        border-radius: 0 0 10px 10px !important;
        box-shadow: 0 14px 35px rgba(0, 0, 0, .18) !important;

        overflow-y: auto !important;
        overflow-x: hidden !important;
        scrollbar-width: thin;
        scrollbar-color: #1b4759 #edf2f4;

        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
        z-index: 9999 !important;
    }

    .desktop-header ul.desktop-nav > li.mega-menu-grid:hover > ul.sub-menu,
    .desktop-header ul.desktop-nav > li.mega-menu-grid:focus-within > ul.sub-menu {
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
    }

    /* Invisible bridge above the dropdown */
    .desktop-header ul.desktop-nav > li.mega-menu-grid::before {
        content: "";
        position: absolute;
        top: calc(100% - 20px);
        left: 50%;
        transform: translateX(-50%);
        width: min(1100px, calc(100vw - 48px));
        height: 20px;
        background: transparent;
        visibility: hidden;
        pointer-events: none;
        z-index: 9998;
    }

    .desktop-header ul.desktop-nav > li.mega-menu-grid:hover::before,
    .desktop-header ul.desktop-nav > li.mega-menu-grid:focus-within::before {
        visibility: visible;
        pointer-events: auto;
    }

    /* Reset menu items */
    .desktop-header ul.desktop-nav > li.mega-menu-grid > ul.sub-menu li {
        display: block !important;
        position: static !important;
        float: none !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
        list-style: none !important;
    }

    /* Keep each direct item and its children together */
    .desktop-header ul.desktop-nav > li.mega-menu-grid > ul.sub-menu > li {
        break-inside: avoid !important;
        margin-bottom: 14px !important;
    }

    /* Nested lists expand inside their parent group */
    .desktop-header ul.desktop-nav > li.mega-menu-grid > ul.sub-menu ul {
        display: block !important;
        position: static !important;
        inset: auto !important;
        transform: none !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;
        height: auto !important;
        max-height: none !important;
        margin: 6px 0 0 !important;
        padding: 0 0 0 12px !important;
        background: transparent !important;
        border: 0 !important;
        border-left: 2px solid #e3eaed !important;
        box-shadow: none !important;
        opacity: 1 !important;
        visibility: inherit !important;
        overflow: visible !important;
        clip: auto !important;
        clip-path: none !important;
        column-count: auto !important;
    }

    /* Flatten wrappers from your existing PHP filter */
    .desktop-header ul.desktop-nav > li.mega-menu-grid > ul.sub-menu ul.sub-menu-columns,
    .desktop-header ul.desktop-nav > li.mega-menu-grid > ul.sub-menu li.sub-menu-col,
    .desktop-header ul.desktop-nav > li.mega-menu-grid > ul.sub-menu ul.sub-menu-col-list {
        display: contents !important;
    }

    /* Base links */
    .desktop-header ul.desktop-nav > li.mega-menu-grid > ul.sub-menu a {
        display: block !important;
        width: auto !important;
        margin: 0 !important;
        padding: 7px 0 !important;
        color: #1b4759 !important;
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
        font-size: 15px !important;
        font-weight: 500 !important;
        line-height: 1.5 !important;
        text-decoration: none !important;
        text-transform: none !important;
        white-space: normal !important;
        transition: color .15s ease;
    }

    /* Headings for groups containing child links */
    .desktop-header ul.desktop-nav > li.mega-menu-grid > ul.sub-menu > li.menu-item-has-children > a {
        padding-bottom: 9px !important;
        border-bottom: 1px solid #dce4e7 !important;
        font-size: 16px !important;
        font-weight: 700 !important;
    }

    /* Smaller child links */
    .desktop-header ul.desktop-nav > li.mega-menu-grid > ul.sub-menu ul a {
        padding: 5px 0 !important;
        font-size: 14px !important;
        font-weight: 400 !important;
    }

    .desktop-header ul.desktop-nav > li.mega-menu-grid > ul.sub-menu a:hover,
    .desktop-header ul.desktop-nav > li.mega-menu-grid > ul.sub-menu a:focus-visible {
        color: #c62836 !important;
    }

    .desktop-header ul.desktop-nav > li.mega-menu-grid > ul.sub-menu a:focus-visible {
        outline: 2px solid #c62836 !important;
        outline-offset: 3px;
    }

    /* Remove theme arrows and decorative elements */
    .desktop-header ul.desktop-nav > li.mega-menu-grid > ul.sub-menu::before,
    .desktop-header ul.desktop-nav > li.mega-menu-grid > ul.sub-menu::after,
    .desktop-header ul.desktop-nav > li.mega-menu-grid > ul.sub-menu a::before,
    .desktop-header ul.desktop-nav > li.mega-menu-grid > ul.sub-menu a::after,
    .desktop-header ul.desktop-nav > li.mega-menu-grid > ul.sub-menu .desktop-downarrow {
        display: none !important;
    }
}

/*MAIN NAV LAST*/

@media (min-width: 1100px) and (hover: hover) and (pointer: fine) {

    .desktop-header .desktop-header__nav,
    .desktop-header .desktop-header__nav > nav,
    .desktop-header ul.desktop-nav {
        position: relative;
        overflow: visible;
    }

    .desktop-header ul.desktop-nav > li.mega-menu-legal {
        position: static !important;
    }

    /* Main panel */
    .desktop-header ul.desktop-nav > li.mega-menu-legal > ul.sub-menu {
        display: block !important;
        position: absolute !important;
        inset: auto !important;
        top: 100% !important;
        left: 40% !important;
        transform: translateX(-50%) !important;

        width: min(1100px, calc(100vw - 48px)) !important;
        min-width: 0 !important;
        max-width: none !important;
        height: min(520px, 70vh) !important;
        min-height: 0 !important;
        box-sizing: border-box !important;
        margin: 0 !important;
        padding: 24px !important;

        background: #fff !important;
        border: 0 !important;
        border-top: 4px solid #c62836 !important;
        border-radius: 0 0 10px 10px !important;
        box-shadow: 0 14px 35px rgba(0, 0, 0, .18) !important;

        overflow: hidden !important;
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
        z-index: 9999 !important;
    }

    .desktop-header ul.desktop-nav > li.mega-menu-legal:hover > ul.sub-menu,
    .desktop-header ul.desktop-nav > li.mega-menu-legal:focus-within > ul.sub-menu {
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
    }

    /* Reset theme item styles */
    .desktop-header ul.desktop-nav > li.mega-menu-legal > ul.sub-menu li {
        display: block !important;
        position: static !important;
        float: none !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
        list-style: none !important;
    }

    /* Reset nested lists */
    .desktop-header ul.desktop-nav > li.mega-menu-legal > ul.sub-menu ul {
        position: static !important;
        inset: auto !important;
        transform: none !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;
        height: auto !important;
        max-height: none !important;
        margin: 0 !important;
        padding: 0 !important;
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
        opacity: 1 !important;
        visibility: inherit !important;
        clip: auto !important;
        clip-path: none !important;
    }

    /* Base link appearance */
    .desktop-header ul.desktop-nav > li.mega-menu-legal > ul.sub-menu a {
        display: block !important;
        width: auto !important;
        margin: 0 !important;
        padding: 6px 0 !important;
        color: #1b4759 !important;
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
        font-size: 14px !important;
        font-weight: 400 !important;
        line-height: 1.5 !important;
        text-decoration: none !important;
        text-transform: none !important;
        white-space: normal !important;
    }

    /* Region sidebar */
    .desktop-header ul.desktop-nav > li.mega-menu-legal > ul.sub-menu > li > a {
        box-sizing: border-box !important;
        width: 180px !important;
        margin-bottom: 8px !important;
        padding: 14px 16px !important;
        border-left: 3px solid transparent !important;
        border-radius: 4px !important;
        font-size: 17px !important;
        font-weight: 700 !important;
        transition: background .15s ease, color .15s ease;
    }

    .desktop-header ul.desktop-nav > li.mega-menu-legal > ul.sub-menu > li.is-region-active > a {
        color: #fff !important;
        background: #1b4759 !important;
        border-left-color: #c62836 !important;
    }

    /* Selected region's state panel */
    .desktop-header ul.desktop-nav > li.mega-menu-legal > ul.sub-menu > li > ul.sub-menu {
        display: none !important;
        position: absolute !important;
        top: 24px !important;
        bottom: 24px !important;
        left: 228px !important;
        right: 24px !important;

        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        align-content: start !important;
        align-items: start !important;
        gap: 24px !important;

        width: auto !important;
        height: auto !important;
        padding: 0 12px 0 24px !important;
        border-left: 1px solid #dce4e7 !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        overscroll-behavior: contain;
        scrollbar-width: thin;
        scrollbar-color: #1b4759 #edf2f4;
    }

    .desktop-header ul.desktop-nav > li.mega-menu-legal > ul.sub-menu > li.is-region-active > ul.sub-menu {
        display: grid !important;
    }

    /* Flatten wrappers generated by the PHP column filter */
    .desktop-header ul.desktop-nav > li.mega-menu-legal > ul.sub-menu li.sub-menu-col,
    .desktop-header ul.desktop-nav > li.mega-menu-legal > ul.sub-menu ul.sub-menu-col-list {
        display: contents !important;
    }

    /* State groups */
    .desktop-header ul.desktop-nav > li.mega-menu-legal li.legal-state {
        align-self: start !important;
    }

    .desktop-header ul.desktop-nav > li.mega-menu-legal li.legal-state > a {
        margin-bottom: 8px !important;
        padding: 0 0 8px !important;
        border-bottom: 1px solid #dce4e7 !important;
        font-size: 16px !important;
        font-weight: 700 !important;
    }

    /* Attorney links beneath each state */
    .desktop-header ul.desktop-nav > li.mega-menu-legal li.legal-state > ul.sub-menu {
        display: block !important;
        overflow: visible !important;
    }

    .desktop-header ul.desktop-nav > li.mega-menu-legal > ul.sub-menu a:hover {
        color: #c62836 !important;
    }

    .desktop-header ul.desktop-nav > li.mega-menu-legal > ul.sub-menu > li.is-region-active > a:hover {
        color: #fff !important;
    }

    .desktop-header ul.desktop-nav > li.mega-menu-legal > ul.sub-menu a:focus-visible {
        outline: 2px solid #c62836 !important;
        outline-offset: 3px;
    }

    /* Remove the theme's dropdown arrows and decorations */
    .desktop-header ul.desktop-nav > li.mega-menu-legal > ul.sub-menu::before,
    .desktop-header ul.desktop-nav > li.mega-menu-legal > ul.sub-menu::after,
    .desktop-header ul.desktop-nav > li.mega-menu-legal > ul.sub-menu a::before,
    .desktop-header ul.desktop-nav > li.mega-menu-legal > ul.sub-menu a::after,
    .desktop-header ul.desktop-nav > li.mega-menu-legal > ul.sub-menu .desktop-downarrow {
        display: none !important;
    }
}

@media (min-width: 1100px) and (hover: hover) and (pointer: fine) {

    .desktop-header ul.desktop-nav > li.mega-menu-legal > ul.sub-menu {
        overflow: visible !important;
    }

    .desktop-header ul.desktop-nav > li.mega-menu-legal > ul.sub-menu::before {
        content: "" !important;
        display: block !important;
        position: absolute !important;
        top: -30px !important;
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        height: 30px !important;
        background: transparent !important;
        border: 0 !important;
        transform: none !important;
        pointer-events: auto !important;
    }
}


/*MAIN NAV*/
@media (min-width: 1100px) and (hover: hover) and (pointer: fine) {

    /* Position the panel relative to the navigation */
    .desktop-header .desktop-header__nav,
    .desktop-header .desktop-header__nav > nav,
    .desktop-header ul.desktop-nav {
        position: relative;
        overflow: visible;
    }

    .desktop-header ul.desktop-nav > li.mega-menu {
        position: static !important;
    }

    /* Mega-menu panel */
    .desktop-header ul.desktop-nav > li.mega-menu > ul.sub-menu {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        grid-template-rows: auto 1fr !important;
        gap: 14px 32px !important;

        position: absolute !important;
        inset: auto !important;
        top: 100% !important;
        left: 50% !important;
        transform: translateX(-50%) !important;

        width: min(1000px, calc(100vw - 48px)) !important;
        min-width: 0 !important;
        max-width: none !important;
        height: auto !important;
        min-height: 200px !important;
        max-height: 70vh !important;
        overflow: auto !important;

        box-sizing: border-box !important;
        margin: 0 !important;
        padding: 28px 32px !important;
        list-style: none !important;

        background: #ffffff !important;
        border: 0 !important;
        border-top: 4px solid #c62836 !important;
        border-radius: 0 0 10px 10px !important;
        box-shadow: 0 14px 35px rgba(0, 0, 0, .18) !important;

        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
        z-index: 9999 !important;
    }

    .desktop-header ul.desktop-nav > li.mega-menu:hover > ul.sub-menu,
    .desktop-header ul.desktop-nav > li.mega-menu:focus-within > ul.sub-menu {
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
    }

    /* Reset theme styling inside this panel */
    .desktop-header ul.desktop-nav > li.mega-menu > ul.sub-menu li {
        display: block !important;
        position: static !important;
        float: none !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
        list-style: none !important;
    }

    /* Explicit column placement */
    .desktop-header ul.desktop-nav > li.mega-menu > ul.sub-menu > li:nth-child(1) {
        grid-column: 1 !important;
        grid-row: 1 / 3 !important;
    }

    .desktop-header ul.desktop-nav > li.mega-menu > ul.sub-menu > li:nth-child(2) {
        grid-column: 2 !important;
        grid-row: 1 / 3 !important;
    }

    .desktop-header ul.desktop-nav > li.mega-menu > ul.sub-menu > li:nth-child(3) {
        grid-column: 3 !important;
        grid-row: 1 !important;
    }

    .desktop-header ul.desktop-nav > li.mega-menu > ul.sub-menu > li:nth-child(4) {
        grid-column: 3 !important;
        grid-row: 2 !important;
        align-self: start !important;
    }

    /* Nested lists remain visible within the panel */
    .desktop-header ul.desktop-nav > li.mega-menu > ul.sub-menu ul {
        display: block !important;
        position: static !important;
        inset: auto !important;
        transform: none !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;
        height: auto !important;
        max-height: none !important;
        margin: 10px 0 0 !important;
        padding: 0 !important;
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
        opacity: 1 !important;
        visibility: visible !important;
        overflow: visible !important;
        clip: auto !important;
        clip-path: none !important;
    }

    /* Flatten the extra column wrappers created by your PHP */
    .desktop-header ul.desktop-nav > li.mega-menu > ul.sub-menu ul.sub-menu-columns,
    .desktop-header ul.desktop-nav > li.mega-menu > ul.sub-menu li.sub-menu-col,
    .desktop-header ul.desktop-nav > li.mega-menu > ul.sub-menu ul.sub-menu-col-list {
        display: contents !important;
    }

    /* All links */
    .desktop-header ul.desktop-nav > li.mega-menu > ul.sub-menu a {
        display: block !important;
        width: auto !important;
        margin: 0 !important;
        padding: 7px 0 !important;
        color: #1b4759 !important;
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
        font-size: 15px !important;
        font-weight: 400 !important;
        line-height: 1.5 !important;
        text-transform: none !important;
        text-decoration: none !important;
        white-space: normal !important;
    }

    /* Direct submenu headings */
    .desktop-header ul.desktop-nav > li.mega-menu > ul.sub-menu > li > a {
        padding: 0 0 10px !important;
        border-bottom: 1px solid #dce4e7 !important;
        font-size: 18px !important;
        font-weight: 700 !important;
    }

    .desktop-header ul.desktop-nav > li.mega-menu > ul.sub-menu a:hover,
    .desktop-header ul.desktop-nav > li.mega-menu > ul.sub-menu a:focus-visible {
        color: #c62836 !important;
    }

    .desktop-header ul.desktop-nav > li.mega-menu > ul.sub-menu a:focus-visible {
        outline: 2px solid #c62836;
        outline-offset: 3px;
    }

    /* Remove decorative arrows inside the panel */
    .desktop-header ul.desktop-nav > li.mega-menu > ul.sub-menu::before,
    .desktop-header ul.desktop-nav > li.mega-menu > ul.sub-menu::after,
    .desktop-header ul.desktop-nav > li.mega-menu > ul.sub-menu a::before,
    .desktop-header ul.desktop-nav > li.mega-menu > ul.sub-menu a::after,
    .desktop-header ul.desktop-nav > li.mega-menu > ul.sub-menu .desktop-downarrow {
        display: none !important;
    }
}
/*MAIN NAV*/

@media (min-width: 1100px) and (hover: hover) and (pointer: fine) {

    .desktop-header ul.desktop-nav > li.styled-dropdown {
        position: relative !important;
        overflow: visible !important;
    }

    /* Compact dropdown panel */
    .desktop-header ul.desktop-nav > li.styled-dropdown > ul.sub-menu {
        display: block !important;
        position: absolute !important;
        inset: auto !important;
        top: 100% !important;
        left: 0 !important;
        transform: none !important;

        box-sizing: border-box !important;
        width: 280px !important;
        min-width: 0 !important;
        max-width: calc(100vw - 32px) !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;

        margin: 0 !important;
        padding: 12px 18px !important;
        background: #fff !important;
        border: 0 !important;
        border-top: 4px solid #c62836 !important;
        border-radius: 0 0 10px 10px !important;
        box-shadow: 0 14px 35px rgba(0, 0, 0, .18) !important;
        list-style: none !important;

        overflow: visible !important;
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
        z-index: 9999 !important;
    }

    .desktop-header ul.desktop-nav > li.styled-dropdown:hover > ul.sub-menu,
    .desktop-header ul.desktop-nav > li.styled-dropdown:focus-within > ul.sub-menu {
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
    }

    /* Invisible hover bridge */
    .desktop-header ul.desktop-nav > li.styled-dropdown > ul.sub-menu::before {
        content: "" !important;
        display: block !important;
        position: absolute !important;
        inset: auto !important;
        top: -30px !important;
        left: 0 !important;
        width: 100% !important;
        height: 30px !important;
        background: transparent !important;
        border: 0 !important;
        transform: none !important;
        pointer-events: auto !important;
    }

    /* Dropdown items */
    .desktop-header ul.desktop-nav > li.styled-dropdown > ul.sub-menu > li {
        display: block !important;
        position: relative !important;
        float: none !important;
        width: auto !important;
        margin: 0 !important;
        padding: 0 !important;
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
        list-style: none !important;
    }

    .desktop-header ul.desktop-nav > li.styled-dropdown > ul.sub-menu > li + li {
        border-top: 1px solid #e3eaed !important;
    }

    /* Links */
    .desktop-header ul.desktop-nav > li.styled-dropdown > ul.sub-menu > li > a {
        display: block !important;
        width: auto !important;
        margin: 0 !important;
        padding: 12px 4px !important;

        color: #1b4759 !important;
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
        font-size: 15px !important;
        font-weight: 500 !important;
        line-height: 1.5 !important;
        white-space: normal !important;
        text-transform: none !important;
        text-decoration: none !important;
        transition: color .15s ease;
    }

    .desktop-header ul.desktop-nav > li.styled-dropdown > ul.sub-menu > li > a:hover,
    .desktop-header ul.desktop-nav > li.styled-dropdown > ul.sub-menu > li > a:focus-visible {
        color: #c62836 !important;
    }

    .desktop-header ul.desktop-nav > li.styled-dropdown > ul.sub-menu > li > a:focus-visible {
        outline: 2px solid #c62836 !important;
        outline-offset: 2px;
    }

    /* Remove theme decorations */
    .desktop-header ul.desktop-nav > li.styled-dropdown > ul.sub-menu::after,
    .desktop-header ul.desktop-nav > li.styled-dropdown > ul.sub-menu > li > a::before,
    .desktop-header ul.desktop-nav > li.styled-dropdown > ul.sub-menu > li > a::after,
    .desktop-header ul.desktop-nav > li.styled-dropdown > ul.sub-menu > li > a > .desktop-downarrow {
        display: none !important;
    }

    /* Optional: align a dropdown near the right edge */
    .desktop-header ul.desktop-nav > li.styled-dropdown.dropdown-align-right > ul.sub-menu {
        left: auto !important;
        right: 0 !important;
    }
}