/* ==========================================================================
   HEADER — one component on every page
   ========================================================================== */
:root{--header-h:108px;--header-solid:rgba(255,255,255,.94);--header-active:linear-gradient(180deg,rgba(3,186,240,0) 0%,rgba(3,186,240,.14) 28%,rgba(3,186,240,.36) 100%);}
.site-header{position:fixed;inset:0 0 auto;z-index:1000;height:var(--header-h);overflow:visible;background:transparent;border:0;box-shadow:none;transition:background .3s ease,box-shadow .3s ease,backdrop-filter .3s ease;}
.site-header.is-scrolled{background:var(--header-solid);box-shadow:0 8px 30px rgba(20,52,70,.06);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);}
.header-inner{display:flex;width:min(calc(100% - var(--page-gap)*2),var(--content));height:var(--header-h);margin-inline:auto;align-items:stretch;gap:0;overflow:visible;}
.site-logo{display:flex;flex:0 0 220px;width:220px;align-items:center;margin:0 34px 0 0;}
.site-logo-image{display:block;width:auto;max-width:192px;max-height:66px;object-fit:contain;}
.main-nav{position:static;display:flex;flex:0 1 auto;min-width:0;align-items:stretch;}
.main-menu,.secondary-menu{display:flex;height:100%;margin:0;padding:0;align-items:stretch;gap:0;list-style:none;}
.main-menu>li,.secondary-menu>li{position:relative;display:flex;flex:0 0 auto;height:var(--header-h);align-items:stretch;}
.main-menu>li>a,.secondary-menu>li>a{display:flex;height:100%;min-height:0;box-sizing:border-box;align-items:flex-end;padding-top:0;padding-bottom:21px;overflow:hidden;color:#1c2730;background:transparent;font-size:18px;font-weight:400;line-height:1.2;white-space:nowrap;transition:background .25s ease,color .25s ease;}
.main-menu>li>a{padding-inline:clamp(20px,1.15vw,26px);}
.secondary-menu>li>a{padding-inline:clamp(16px,.95vw,22px);}
.main-menu>li:hover>a,.main-menu>li.current-menu-item>a,.main-menu>li.current-menu-ancestor>a,.secondary-menu>li:hover>a,.secondary-menu>li.current-menu-item>a,.secondary-menu>li.current-menu-ancestor>a{color:#14232d;background:var(--header-active);}
.main-menu>li>a::after,.secondary-menu>li>a::after{display:none;}
.menu-separator{position:relative;display:block;flex:0 0 46px;width:46px;height:100%;}
.menu-separator>span{position:absolute;left:50%;bottom:25px;width:14px;height:14px;border:1.5px solid var(--cyan);border-radius:50%;transform:translateX(-50%);}
.menu-separator>span::after{content:"";position:absolute;left:50%;top:50%;width:3px;height:3px;border-radius:50%;background:var(--cyan);transform:translate(-50%,-50%);}
.header-tools{display:flex;flex:1 1 auto;min-width:0;height:100%;margin-inline-start:0;align-items:stretch;}
.secondary-nav{display:flex;flex:0 0 auto;height:100%;margin-inline-start:0;align-items:stretch;}
.language-switcher{display:none;}
.search-toggle{display:flex;width:56px;height:100%;margin-inline-start:auto;padding:0 0 18px;align-items:flex-end;justify-content:center;border:0;background:transparent;color:#34414b;cursor:pointer;}
.search-toggle .search-icon{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round;transition:transform .25s ease,color .25s ease;}
.search-toggle:hover .search-icon{transform:scale(1.06);color:var(--blue);}
.main-menu .sub-menu,.secondary-menu .sub-menu{position:absolute;z-index:1100;inset-inline-start:0;top:100%;width:max-content;min-width:300px;margin:0;padding:11px 0;list-style:none;background:rgba(255,255,255,.97);box-shadow:0 20px 45px rgba(23,56,74,.10);opacity:0;visibility:hidden;transform:translateY(8px);pointer-events:none;transition:opacity .2s ease,transform .2s ease,visibility .2s;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);}
.main-menu li:hover>.sub-menu,.main-menu li:focus-within>.sub-menu,.secondary-menu li:hover>.sub-menu,.secondary-menu li:focus-within>.sub-menu{opacity:1;visibility:visible;transform:none;pointer-events:auto;}
.main-menu .sub-menu li,.secondary-menu .sub-menu li{position:relative;}
.main-menu .sub-menu a,.secondary-menu .sub-menu a{display:flex;min-height:44px;padding:8px 20px;align-items:center;color:#26333e;font-size:14px;font-weight:400;white-space:nowrap;transition:background .2s ease,color .2s ease;}
.main-menu .sub-menu a:hover,.main-menu .sub-menu .current-menu-item>a,.secondary-menu .sub-menu a:hover,.secondary-menu .sub-menu .current-menu-item>a{color:var(--blue);background:#f2f8fb;}
.main-menu .sub-menu .sub-menu,.secondary-menu .sub-menu .sub-menu{top:-11px;inset-inline-start:100%;}
.header-search{position:absolute;inset:100% 0 auto;padding:0;background:rgba(255,255,255,.97);border:0;box-shadow:0 15px 35px rgba(20,52,70,.07);opacity:0;visibility:hidden;transform:translateY(-6px);transition:.22s ease;}
.header-search.is-open{padding:17px 0;opacity:1;visibility:visible;transform:none;}
.header-search .search-form{display:flex;width:360px;max-width:100%;margin-inline-start:auto;border:0;border-bottom:1px solid #d9e2e7;background:rgba(248,251,252,.92);}
.header-search .search-form label{flex:1}.header-search .search-field{width:100%;height:48px;padding:0 15px;border:0;background:transparent;outline:0;color:#303b44;font-size:14px}.header-search .search-submit{display:grid;width:52px;place-items:center;border:0;background:transparent;color:#4e5962;cursor:pointer}.header-search .search-submit svg{width:23px;height:23px;stroke-width:1.25}.menu-toggle{display:none;}.mobile-secondary-nav{display:none;}.submenu-toggle{display:none;}

@media(max-width:1600px) and (min-width:1101px){
    .site-logo{flex-basis:220px;width:220px;margin-right:18px;}
    .site-logo-image{max-width:192px;}
    .main-menu>li>a{padding-inline:15px;}
    .secondary-menu>li>a{padding-inline:13px;}
    .menu-separator{flex-basis:38px;width:38px;}
    .search-toggle{width:46px;}
}

@media(max-width:1100px){
    :root{--header-h:78px;}

    .site-header{
        width:100%;
        max-width:100%;
    }

    .header-inner{
        display:grid;
        width:min(calc(100% - 28px),var(--content));
        max-width:100%;
        grid-template-columns:minmax(0,1fr) auto;
        align-items:center;
        overflow:visible;
    }

    .site-logo{
        width:auto;
        min-width:0;
        margin:0;
    }

    .site-logo-image{
        max-width:145px;
        max-height:52px;
    }

    .header-tools{
        display:flex;
        width:auto;
        min-width:0;
        height:auto;
        align-items:center;
        justify-content:flex-end;
        gap:4px;
    }

    .secondary-nav,.menu-separator{
        display:none;
    }

    .search-toggle,.menu-toggle{
        display:grid;
        flex:0 0 42px;
        width:42px;
        height:42px;
        min-height:42px;
        margin:0;
        padding:0;
        place-items:center;
        border:0;
        border-radius:50%;
        background:transparent;
        color:#263746;
        line-height:0;
        cursor:pointer;
    }

    .search-toggle{
        align-items:center;
        justify-content:center;
    }

    .search-toggle .search-icon{
        width:23px;
        height:23px;
    }

    .menu-toggle svg{
        display:block;
        width:24px;
        height:24px;
        margin:auto;
        transform:none;
    }

    .main-nav{
        position:fixed;
        z-index:1050;
        inset:var(--header-h) 0 auto;
        display:block;
        width:100%;
        max-width:100%;
        max-height:calc(100dvh - var(--header-h));
        padding:12px 18px 28px;
        overflow-x:clip;
        overflow-y:auto;
        overscroll-behavior:contain;
        background:#fff;
        box-shadow:0 18px 34px rgba(24,57,77,.09);
        opacity:0;
        visibility:hidden;
        transform:translateY(-18px);
        pointer-events:none;
        transition:opacity .24s ease,transform .24s ease,visibility .24s;
    }

    .menu-open .main-nav{
        opacity:1;
        visibility:visible;
        transform:none;
        pointer-events:auto;
    }

    .main-menu,.mobile-secondary-menu{
        display:block;
        width:100%;
        max-width:100%;
        height:auto;
        margin:0;
        padding:0;
        list-style:none;
    }

    .main-menu li,.mobile-secondary-menu li{
        position:relative;
        display:block;
        width:100%;
        max-width:100%;
        height:auto;
    }

    .main-menu>li,.mobile-secondary-menu>li{
        border-bottom:1px solid #edf1f4;
    }

    .main-menu li>a,.mobile-secondary-menu li>a{
        display:flex;
        width:100%;
        max-width:100%;
        min-height:48px;
        padding:10px 46px 10px 2px;
        align-items:center;
        overflow-wrap:anywhere;
        white-space:normal;
    }

    .main-menu>li>a{
        color:#1f2e39;
        font-size:19px;
    }

    .mobile-secondary-nav{
        display:block;
        margin-top:16px;
        padding-top:10px;
        border-top:1px solid #dfe7ec;
    }

    .mobile-secondary-menu>li>a{
        color:#42515c;
        font-size:17px;
    }

    .main-menu .sub-menu,.mobile-secondary-menu .sub-menu{
        position:static;
        display:none;
        width:100%;
        min-width:0;
        max-width:100%;
        margin:0;
        padding:0 0 8px 16px;
        background:transparent;
        box-shadow:none;
        opacity:1;
        visibility:visible;
        transform:none;
        pointer-events:auto;
        backdrop-filter:none;
    }

    .main-menu li.is-submenu-open>.sub-menu,
    .mobile-secondary-menu li.is-submenu-open>.sub-menu{
        display:block;
    }

    .main-menu .sub-menu .sub-menu,
    .mobile-secondary-menu .sub-menu .sub-menu{
        position:static;
        inset:auto;
        padding-inline-start:14px;
    }

    .main-menu .sub-menu a,.mobile-secondary-menu .sub-menu a{
        min-height:40px;
        padding:7px 42px 7px 0;
        color:#62717c;
        font-size:15px;
        white-space:normal;
    }

    .submenu-toggle{
        position:absolute;
        display:grid;
        z-index:2;
        top:7px;
        right:0;
        display:grid;
        width:36px;
        height:36px;
        padding:0;
        place-items:center;
        border:0;
        border-radius:50%;
        background:#f3f7f9;
        color:var(--blue);
        cursor:pointer;
    }

    .submenu-toggle::before,.submenu-toggle::after{
        content:"";
        position:absolute;
        width:13px;
        height:1.5px;
        border-radius:2px;
        background:currentColor;
        transition:transform .2s ease;
    }

    .submenu-toggle::after{
        transform:rotate(90deg);
    }

    .is-submenu-open>.submenu-toggle::after{
        transform:rotate(0);
    }

    .header-search{
        top:100%;
        width:100%;
        max-width:100%;
        overflow-x:clip;
    }

    .header-search .search-form{
        width:min(100%,520px);
    }
}

@media(max-width:782px){
    body.admin-bar .site-header{top:46px;}
    body.admin-bar .main-nav{top:calc(var(--header-h) + 46px);}
}

@media(max-width:480px){
    .header-inner{
        width:calc(100% - 20px);
    }

    .site-logo-image{
        max-width:132px;
        max-height:44px;
    }

    .search-toggle,.menu-toggle{
        flex-basis:40px;
        width:40px;
        height:40px;
        min-height:40px;
    }
}

/* Mobile menu — cleaner hierarchy */

@media(max-width:1100px){
    .main-nav{
        padding:18px 20px 32px;
        background:rgba(255,255,255,.985);
    }

    .main-menu>li,.mobile-secondary-menu>li{
        border-bottom:1px solid #e9eef2;
    }

    .main-menu>li>a{
        min-height:54px;
        padding-left:4px;
        color:#243541;
        font-size:19px;
        font-weight:400;
    }

    .main-menu>li.is-submenu-open>a{
        color:var(--blue);
    }

    .main-menu .sub-menu{
        margin:0 0 8px;
        padding:2px 0 8px 15px;
        border-left:1px solid #dce8ee;
    }

    .main-menu .sub-menu .sub-menu{
        margin-left:10px;
        padding-left:15px;
        border-left-color:#e8eef2;
    }

    .main-menu .sub-menu a{
        min-height:42px;
        padding:7px 42px 7px 2px;
        color:#60707c;
        font-size:15px;
    }

    .main-menu .sub-menu li.is-submenu-open>a{
        color:#27485d;
    }

    .submenu-toggle{
        top:9px;
        right:2px;
        width:34px;
        height:34px;
        border:1px solid #e3ebf0;
        background:#f8fafb;
        color:#176c9f;
        transition:background .2s ease,border-color .2s ease,color .2s ease;
    }

    .is-submenu-open>.submenu-toggle{
        border-color:rgba(3,186,240,.26);
        background:rgba(3,186,240,.08);
        color:var(--blue);
    }

    .submenu-toggle::before,.submenu-toggle::after{
        width:11px;
        height:1.5px;
    }

    .mobile-secondary-nav{
        margin-top:20px;
        padding-top:8px;
        border-top:0;
    }

    .mobile-secondary-menu>li>a{
        min-height:48px;
        padding-left:4px;
        color:#53636f;
        font-size:16px;
    }
}


@media(max-width:1100px){
    .main-nav{
        top:var(--header-h);
        bottom:0;
        max-height:none;
        min-height:calc(100dvh - var(--header-h));
        background:#fff;
    }
}

@media(max-width:782px){
    body.admin-bar .main-nav{
        top:calc(var(--header-h) + 46px);
        bottom:0;
        min-height:calc(100dvh - var(--header-h) - 46px);
    }
}
