/* Frogmen Studio — nested navigation compatibility (v1.9.3). */
.site-header .primary-nav .menu li,
.site-header .primary-nav .menu .sub-menu li { list-style: none !important; margin: 0; padding: 0; }
.site-header .primary-nav .menu li::marker,
.site-header .primary-nav .menu .sub-menu li::marker { content: '' !important; }
.site-header .primary-nav .menu li.menu-item-has-children { position: relative; }
.site-header .primary-nav .menu .sub-menu {
    list-style: none !important; margin: 0 !important; padding: 10px !important;
    position: absolute; left: 0; top: calc(100% + 12px); z-index: 1003;
    min-width: 225px; max-width: min(360px, 85vw);
    display: flex; flex-direction: column; gap: 3px;
    border: 1px solid rgba(255,255,255,.88); border-radius: 18px;
    background: rgba(249,253,255,.96);
    -webkit-backdrop-filter: blur(22px) saturate(145%); backdrop-filter: blur(22px) saturate(145%);
    box-shadow: 0 25px 60px rgba(3,42,62,.20);
    opacity: 0; visibility: hidden; pointer-events: none;
    transform: translateY(9px); transition: opacity .18s ease, transform .18s ease, visibility .18s;
}
.site-header .primary-nav .menu .sub-menu::before { content: ''; position: absolute; top: -14px; height: 15px; left: 0; right: 0; }
.site-header .primary-nav .menu .sub-menu a {
    display: block; width: 100%; box-sizing: border-box; white-space: normal;
    padding: 11px 14px; border-radius: 11px; font-size: 13px; line-height: 1.35;
}
.site-header .primary-nav .menu .sub-menu a::before { display: none; }
.site-header .primary-nav .menu > li.menu-item-has-children > a { padding-right: 11px; }
.site-header .primary-nav .menu > li.menu-item-has-children:hover > .sub-menu,
.site-header .primary-nav .menu > li.menu-item-has-children:focus-within > .sub-menu,
.site-header .primary-nav .menu > li.is-frogmen-submenu-open > .sub-menu { opacity: 1; visibility: visible; pointer-events: auto; transform: translateY(0); }
.site-header .primary-nav .frogmen-submenu-toggle { background: transparent; color: #075879; border: 0; cursor: pointer; min-height: 29px; min-width: 27px; padding: 4px; display: inline-grid; place-items: center; vertical-align: middle; border-radius: 8px; }
.site-header .primary-nav .frogmen-submenu-toggle:hover,
.site-header .primary-nav .frogmen-submenu-toggle:focus-visible { background: rgba(0,151,199,.14); outline-offset: 1px; }
.site-header .primary-nav .frogmen-submenu-toggle svg { width: 15px; height: 15px; transition: transform .2s; }
.site-header .primary-nav .is-frogmen-submenu-open > .frogmen-submenu-toggle svg { transform: rotate(180deg); }
.site-header .site-header__inner { overflow: visible; }
@media (max-width:900px) {
    .site-header .primary-nav { max-height: calc(100vh - 120px); overflow-y: auto; overscroll-behavior: contain; }
    .site-header .primary-nav .menu { display: grid; }
    .site-header .primary-nav .menu > li.menu-item-has-children { display: grid; grid-template-columns: minmax(0,1fr) 42px; align-items: center; }
    .site-header .primary-nav .menu > li.menu-item-has-children > a { padding-right: 0; }
    .site-header .primary-nav .menu > li.menu-item-has-children > .frogmen-submenu-toggle { width: 40px; height: 40px; }
    .site-header .primary-nav .menu .sub-menu {
        position: static; grid-column: 1 / -1; min-width: 0; max-width: none;
        display: none; opacity: 1; visibility: visible; pointer-events: auto; transform: none;
        box-shadow: none; border-radius: 15px; border: 1px solid rgba(7,88,121,.12);
        background: rgba(226,245,250,.60); margin: 0 8px 9px !important;
    }
    .site-header .primary-nav .menu .sub-menu::before { display: none; }
    .site-header .primary-nav .menu li.is-frogmen-submenu-open > .sub-menu { display: flex; }
    .site-header .primary-nav .menu .sub-menu a { padding: 11px 15px; }
}
@media (prefers-reduced-motion:reduce) {
    .site-header .primary-nav .menu .sub-menu,
    .site-header .primary-nav .frogmen-submenu-toggle svg { transition: none; }
}
@media (min-width:901px) {
    .site-header .primary-nav .menu .sub-menu li.menu-item-has-children > .sub-menu { top: 0; left: calc(100% + 8px); }
    .site-header .primary-nav .menu .sub-menu li.menu-item-has-children > .sub-menu::before { top: 0; left: -12px; width: 12px; height: 100%; right: auto; }
}
@media (max-width:900px) {
    .site-header .primary-nav .menu .sub-menu li.menu-item-has-children { display: grid; grid-template-columns: minmax(0,1fr) 40px; }
    .site-header .primary-nav .menu .sub-menu li.menu-item-has-children > .sub-menu { grid-column: 1/-1; margin: 4px 0 !important; }
}
