/* Porto controls the outer dropdown; the inner grid preserves the services layout. */
#header .header-nav-main .services-nav.dropdown {
    position: relative;
}

#header .header-nav-main .services-nav.dropdown .services-nav__toggle {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #444;
    font: inherit;
    font-size: 0.9rem;
    font-weight: 600;
    line-height: 24px;
    text-align: left;
    cursor: pointer;
}

/* Both Japanese dropdowns use Porto's arrow and the full link as the click target. */
#header .header-nav-main #mainNav.jp-navigation > .dropdown > a.dropdown-toggle > .fa-chevron-down {
    pointer-events: none;
}

#header .header-nav-main .services-nav.dropdown .services-nav__panel {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    border: 0;
    background: #fff;
    color: #333;
    text-align: left;
}

#header .header-nav-main .services-nav.dropdown .services-nav__columns {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 24px;
    box-sizing: border-box;
    margin: 0;
    padding: 18px 24px;
    list-style: none;
    background: #fff;
    color: #333;
    text-align: left;
}

#header .header-nav-main .services-nav.dropdown .services-nav__group,
#header .header-nav-main .services-nav.dropdown .services-nav__items > li {
    display: block;
    float: none;
    clear: none;
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0;
}

#header .header-nav-main .services-nav.dropdown .services-nav__group + .services-nav__group {
    border-left: 1px solid #e8e2d8;
    padding-left: 24px;
}

#header .header-nav-main .services-nav.dropdown .services-nav__items {
    margin: 8px 0 0;
    padding: 0;
    list-style: none;
}

#header .header-nav-main .services-nav.dropdown .services-nav__heading,
#header .header-nav-main .services-nav.dropdown .services-nav__link {
    box-sizing: border-box;
    display: flex;
    min-height: 44px;
    margin: 0;
    padding: 8px;
    border: 0;
    border-radius: 2px;
    color: var(--grey-1000);
    font-family: inherit;
    font-size: 16px;
    line-height: 1.5;
    letter-spacing: normal;
    text-transform: none;
    text-decoration: none;
    overflow-wrap: anywhere;
    white-space: normal;
}

#header .header-nav-main .services-nav.dropdown .services-nav__heading {
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    font-weight: 600;
}

#header .header-nav-main .services-nav.dropdown .services-nav__heading > span {
    flex-shrink: 0;
    color: #876233;
}

#header .header-nav-main .services-nav.dropdown .services-nav__link {
    flex-direction: column;
    gap: 2px;
    margin-top: 4px;
}

#header .header-nav-main .services-nav.dropdown .services-nav__name {
    font-weight: 600;
}

#header .header-nav-main .services-nav.dropdown .services-nav__description {
    color: var(--grey-800);
    font-size: 13px;
    line-height: 1.5;
}

#header .header-nav-main .services-nav.dropdown .services-nav__heading:hover,
#header .header-nav-main .services-nav.dropdown .services-nav__link:hover,
#header .header-nav-main .services-nav.dropdown a[aria-current="page"] {
    background: #f8f5ef;
    color: #76552e;
}

#header .header-nav-main .services-nav.dropdown .services-nav__toggle:focus-visible,
#header .header-nav-main .services-nav.dropdown a:focus-visible {
    outline: 2px solid #876233;
    outline-offset: 2px;
}

/* Escape remains effective even while the trigger is hovered or focused. */
#header .header-nav-main .services-nav.dropdown[data-services-dismissed] > .services-nav__panel {
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
}

@media (min-width: 992px) {
    #header .header-nav-main #mainNav.jp-navigation > .dropdown > a.dropdown-toggle > .fa-chevron-down {
        display: inline-flex;
        position: static;
        width: auto;
        height: auto;
        margin-left: 8px;
        font-size: 0.6rem;
        line-height: 1;
        opacity: 1;
    }

    #header .header-nav-main .services-nav.dropdown .services-nav__toggle {
        position: relative;
        height: 100%;
        min-height: 60px;
        margin-top: 1px;
        padding: 0 0.9rem;
    }

    #header .header-nav-main .services-nav.dropdown .services-nav__toggle::before {
        position: absolute;
        top: auto;
        right: 0;
        bottom: 0;
        left: 0;
        height: 2px;
        border: 0;
        transform: none;
        background: var(--primary, #c79e68);
        content: "";
        opacity: 0;
    }

    #header .header-nav-main .services-nav.dropdown:hover .services-nav__toggle::before,
    #header .header-nav-main .services-nav.dropdown.open .services-nav__toggle::before,
    #header .header-nav-main .services-nav.dropdown.accessibility-open .services-nav__toggle::before,
    #header .header-nav-main .services-nav.dropdown .services-nav__toggle.active::before {
        opacity: 1;
    }

    #header .header-nav-main .services-nav.dropdown .services-nav__panel {
        position: absolute;
        z-index: 1000;
        left: 0;
        width: 600px;
        max-width: calc(100vw - 32px);
        max-height: calc(100dvh - 192px);
        overflow-y: auto;
        box-shadow: 0 12px 28px rgba(0, 0, 0, 0.12);
    }
}

@media (max-width: 991px) {
    #header .header-nav-main .services-nav.dropdown .services-nav__panel a,
    #header .header-nav-main .services-nav.dropdown .services-nav__panel a:hover,
    #header .header-nav-main .services-nav.dropdown .services-nav__panel a[aria-current="page"],
    #header .header-nav-main .services-nav.dropdown .services-nav__heading > span,
    #header .header-nav-main .services-nav.dropdown .services-nav__description {
        color: var(--primary);
    }

    #header .header-nav-main .services-nav.dropdown .services-nav__toggle {
        width: 100%;
        min-height: 44px;
        margin: 1px 0;
        padding: 8px;
        font-size: 13px;
        font-weight: 700;
        color: var(--primary);
    }

    #header .header-nav-main .services-nav.dropdown .services-nav__toggle.active {
        background: var(--primary);
        color: var(--light) !important;
    }

    #header .header-nav-main .services-nav.dropdown .services-nav__panel {
        position: static;
        width: 100%;
    }

    #header .header-nav-main .services-nav.dropdown.open > .services-nav__panel {
        margin: 0;
    }

    #header .header-nav-main .services-nav.dropdown .services-nav__columns {
        grid-template-columns: minmax(0, 1fr);
        gap: 16px;
        width: 100%;
        padding: 8px 0 16px 8px;
    }

    #header .header-nav-main .services-nav.dropdown .services-nav__group + .services-nav__group {
        border-top: 1px solid #e8e2d8;
        border-left: 0;
        padding-top: 16px;
        padding-left: 0;
    }
}
