.kl-header .kl-menu-toggle { display:none; }

@media (max-width:980px) {
    .kl-home .kl-header > .kl-mobile-menu {
        display:grid;
        grid-template-columns:minmax(0, 1fr) auto;
        gap:0 12px;
        min-height:0;
        padding-block:10px;
    }

    .kl-home .kl-mobile-menu > .kl-logo { justify-self:start; }
    .kl-home .kl-mobile-menu > .kl-logo img { width:clamp(96px, 28vw, 122px); }

    .kl-header .kl-menu-toggle {
        display:inline-flex;
        align-items:center;
        gap:9px;
        min-height:44px;
        padding:8px 12px;
        border:1px solid #dce7f4;
        border-radius:12px;
        background:#f4f8fd;
        color:var(--blue);
        font:inherit;
        font-weight:750;
        cursor:pointer;
    }

    .kl-menu-icon {
        display:block;
        width:17px;
        height:2px;
        background:currentColor;
        box-shadow:0 -5px currentColor, 0 5px currentColor;
    }

    .kl-menu-toggle[aria-expanded="true"] .kl-menu-icon {
        position:relative;
        box-shadow:none;
        transform:rotate(45deg);
    }

    .kl-menu-toggle[aria-expanded="true"] .kl-menu-icon::after {
        content:"";
        position:absolute;
        inset:0;
        background:currentColor;
        transform:rotate(90deg);
    }

    .kl-home .kl-mobile-menu > .kl-nav {
        grid-column:1/-1;
        order:0;
        flex-direction:column;
        align-items:stretch;
        gap:4px;
        margin-top:12px;
        padding-top:8px;
        border-top:1px solid #e5edf6;
    }

    .kl-home .kl-mobile-menu > .kl-nav a {
        display:flex;
        align-items:center;
        min-height:44px;
        padding:8px 12px;
        border-radius:9px;
        font-size:1rem;
    }

    .kl-home .kl-mobile-menu > .kl-button {
        grid-column:1/-1;
        justify-self:start;
        margin-top:12px;
    }

    .kl-home .kl-menu-toggle[aria-expanded="false"] ~ :is(.kl-nav, .kl-button) { display:none; }
}

.kl-nav-submenu { position:relative; }

.kl-header .kl-nav :is(summary, a) {
    display:flex;
    align-items:center;
    gap:8px;
    border-radius:9px;
    text-decoration:none;
    transition:background-color .16s ease, color .16s ease;
}
.kl-nav-submenu > summary {
    min-height:36px;
    font-size:.91rem;
    font-weight:650;
    cursor:pointer;
    list-style:none;
}
.kl-nav-submenu > summary::-webkit-details-marker { display:none; }

.kl-nav-chevron {
    width:7px;
    height:7px;
    flex:none;
    margin-inline:1px 2px;
    margin-top:-3px;
    border-right:1.5px solid currentColor;
    border-bottom:1.5px solid currentColor;
    transform:rotate(45deg);
    transition:transform .16s ease;
    opacity:.68;
}
.kl-nav-submenu[open] > summary .kl-nav-chevron { transform:translateY(3px) rotate(225deg); }

.kl-header .kl-nav :is(summary:hover, a:hover, a[aria-current="page"]),
.kl-nav-submenu:is([open], :has(a[aria-current="page"])) > summary {
    color:var(--blue);
    background:#edf4fc;
    text-decoration:none;
}
.kl-header .kl-nav :is(summary, a):focus-visible,
.kl-header .kl-menu-toggle:focus-visible {
    outline:2px solid var(--blue);
    outline-offset:2px;
}

.kl-nav-submenu-links { display:grid; gap:3px; }
.kl-header .kl-nav .kl-nav-submenu-links a { padding:9px 12px; font-size:.9rem; font-weight:600; }

@media (min-width:981px) {
    .kl-home .kl-header .kl-nav {
        align-items:center;
        justify-content:center;
        gap:4px clamp(2px, .45vw, 8px);
        padding-block:10px;
    }
    .kl-header .kl-nav > a,.kl-header .kl-nav-submenu > summary { padding:7px 10px; white-space:nowrap; }
    .kl-home .kl-header .kl-button { flex:none; }
    .kl-nav-submenu-links {
        position:absolute;
        z-index:10;
        inset:calc(100% + 8px) auto auto 0;
        width:max-content;
        min-width:205px;
        max-width:280px;
        padding:6px;
        background:#fff;
        border:1px solid #e6edf6;
        border-radius:14px;
        box-shadow:0 12px 30px rgba(16,36,64,.13), 0 2px 6px rgba(16,36,64,.05);
    }
}

@media (max-width:980px) {
    .kl-home .kl-mobile-menu .kl-nav-submenu > summary {
        justify-content:space-between;
        min-height:44px;
        padding:8px 12px;
        font-size:1rem;
    }
    .kl-nav-submenu-links {
        margin:3px 0 5px 12px;
        padding-inline-start:7px;
        border-inline-start:2px solid #dce9f8;
    }
}

@media (prefers-reduced-motion:reduce) {
    .kl-header .kl-nav :is(summary, a),.kl-nav-chevron { transition:none; }
}

@media (981px <= width <= 1120px) {
    .kl-home .kl-header .kl-nav { gap:2px; }
    .kl-header .kl-nav > a,.kl-header .kl-nav-submenu > summary { padding-inline:4px; font-size:.85rem; }
}
