#hamb-trigger { display: none; }
@media (max-width: 991px) {
    html { scroll-padding-top: 80px; }
    html.agentstep-menu-open { overflow: hidden; }
    html.agentstep-menu-open body {
        position: fixed;
        top: var(--navigation-scroll-top, 0);
        left: 0;
        right: 0;
        width: 100%;
        overflow: hidden;
    }
    #masthead { height: 64px; padding: 10px 0; z-index: 110; }
    #masthead > .container, #masthead > .container > .flex { height: 100%; }
    #masthead .site-logo { flex: 1 1 auto; }
    #masthead .site-logo img { width: 130px; max-width: 130px; height: auto; }
    #masthead .header-right { flex: 0 0 44px; }
    #masthead #hamb-trigger {
        display: flex;
        align-items: center;
        justify-content: center;
        flex: 0 0 44px;
        width: 44px;
        min-width: 44px;
        max-width: 44px;
        height: 44px;
        padding: 10px;
        border: 1px solid #e5e7ec;
        border-radius: 6px;
        background: #fff;
        color: #262b34;
        cursor: pointer;
        touch-action: manipulation;
    }
    #masthead #hamb-trigger:hover,
    #masthead #hamb-trigger[aria-expanded="true"] { background: #f2f3f7; }
    #hamb-trigger .navigation-toggle-icon {
        display: block;
        flex: 0 0 24px;
        width: 24px;
        height: 24px;
        background: currentColor;
        -webkit-mask: url("../icons/navigation-menu.svg") center / contain no-repeat;
        mask: url("../icons/navigation-menu.svg") center / contain no-repeat;
    }
    #hamb-trigger[aria-expanded="true"] .navigation-toggle-icon {
        -webkit-mask-image: url("../icons/navigation-close.svg");
        mask-image: url("../icons/navigation-close.svg");
    }
    #masthead :focus-visible { outline: 2px solid #2320bf; outline-offset: 3px; }
    #site-navigation {
        position: fixed;
        top: var(--navigation-top, 64px);
        left: 0;
        right: 0;
        width: 100%;
        max-height: calc(100vh - var(--navigation-top, 64px) - var(--navigation-cookie-space, 0px));
        max-height: calc(100dvh - var(--navigation-top, 64px) - var(--navigation-cookie-space, 0px));
        overflow-y: auto;
        overscroll-behavior: contain;
        background: #fff;
        border-bottom: 1px solid #e5e7ec;
        visibility: hidden;
        opacity: 0;
        pointer-events: none;
        transform: translateY(-8px);
        transition: opacity 160ms ease, transform 160ms ease, visibility 160ms;
    }
    #site-navigation.active {
        visibility: visible;
        opacity: 1;
        pointer-events: auto;
        transform: translateY(0);
    }
    #site-navigation .menu-primary-menu-container {
        position: static;
        width: 100% !important;
        max-width: 720px;
        height: auto;
        margin: 0 auto;
        padding: 12px 24px calc(24px + env(safe-area-inset-bottom, 0px));
        transform: none;
        transition: none;
    }
    #site-navigation #primary-menu {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        justify-content: flex-start;
        gap: 0;
        width: 100%;
        margin: 0;
        padding: 0 !important;
        list-style: none;
    }
    #primary-menu > li { margin: 0; padding: 0; width: 100%; }
    #site-navigation #primary-menu > li > a {
        display: flex;
        align-items: center;
        width: 100%;
        min-height: 50px;
        padding: 12px 4px;
        margin: 0;
        border-bottom: 1px solid #edf0f3;
        color: #303640;
        font-size: 17px;
        font-weight: 500;
        line-height: 24px;
        letter-spacing: 0;
        text-decoration: none;
        overflow-wrap: anywhere;
    }
    #site-navigation #primary-menu > li > a:hover,
    #site-navigation #primary-menu > li > a.navigation-current { color: #2320bf; }
    #site-navigation #primary-menu > .mobile-only { display: block; margin-top: 20px; }
    #site-navigation #primary-menu > .mobile-only > a {
        justify-content: center;
        min-height: 48px;
        padding: 12px 16px;
        border: 0;
        border-radius: 6px;
        background: #2320bf;
        color: #fff;
        font-size: 16px;
        font-weight: 600;
    }
    .site-overlay {
        position: fixed;
        inset: var(--navigation-top, 64px) 0 0;
        z-index: 100;
        background: rgba(20, 24, 32, 0.4);
        visibility: hidden;
        opacity: 0;
        pointer-events: none;
        transition: opacity 160ms ease, visibility 160ms;
    }
    .site-overlay.site-overlay--active { visibility: visible; opacity: 1; pointer-events: auto; }
    .site-overlay.site-overlay--active::after { display: none; }
    .site-main { margin-top: 64px; }
    @media (prefers-reduced-motion: reduce) {
        #site-navigation, .site-overlay { transition: none; }
    }
}
