:root {
    --asfit-header-bg:#1D2C56;
    --asfit-header-dark:#071226;
    --asfit-header-panel:rgba(7,18,38,0.98);
    --asfit-header-card:rgba(255,255,255,0.045);
    --asfit-header-text:#F5F7FA;
    --asfit-header-muted:#B8C4D9;
    --asfit-header-primary:#35D0FF;
    --asfit-header-blue:#2F80FF;
    --asfit-header-violet:#8B2CFF;
    --asfit-header-border:rgba(53,208,255,0.25);
    --asfit-header-soft-border:rgba(255,255,255,0.11);
    --asfit-header-shadow:0 18px 55px rgba(0,0,0,0.28)
}

html,body {
    max-width:100%;
    overflow-x:hidden
}

body.asfit-menu-open {
    overflow:hidden
}

.asfit-site-header,.asfit-site-header *,.asfit-mobile-overlay,.asfit-mobile-panel,.asfit-mobile-panel * {
    box-sizing:border-box
}

.asfit-site-header {
    position:relative;
    z-index:9990;
    width:100%;
    background:var(--asfit-header-bg);
    color:var(--asfit-header-text)
}

.asfit-header-wrap {
    width:min(1500px,100%);
    min-height:96px;
    margin:0 auto;
    padding:18px clamp(18px,3vw,44px) 12px;
    display:grid;
    grid-template-columns:250px minmax(0,1fr) 220px;
    align-items:center;
    gap:22px
}

.asfit-brand,.asfit-mobile-brand {
    display:inline-flex;
    align-items:center;
    color:var(--asfit-header-text);
    text-decoration:none
}

.asfit-brand img {
    display:block;
    width:190px;
    max-width:100%;
    max-height:56px;
    height:auto;
    object-fit:contain
}

.asfit-main-nav {
    justify-self:center;
    min-height:58px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:5px;
    padding:7px;
    border:1px solid var(--asfit-header-soft-border);
    border-radius:999px;
    background:rgba(11,15,25,0.78);
    box-shadow:var(--asfit-header-shadow);
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px)
}

.asfit-nav-item {
    position:relative
}

.asfit-has-dropdown::after {
    content:"";
    position:absolute;
    top:100%;
    left:50%;
    width:calc(100% + 48px);
    height:18px;
    transform:translateX(-50%)
}

.asfit-nav-link,.asfit-nav-toggle {
    min-height:42px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    padding:10px 17px;
    border:0;
    border-radius:999px;
    background:transparent;
    color:var(--asfit-header-text);
    text-decoration:none;
    font:inherit;
    font-size:0.96rem;
    font-weight:850;
    line-height:1;
    cursor:pointer;
    white-space:nowrap;
    transition:background 180ms ease,color 180ms ease,transform 180ms ease
}

.asfit-nav-link:hover,.asfit-nav-link:focus-visible,.asfit-nav-toggle:hover,.asfit-nav-toggle:focus-visible,.asfit-nav-toggle[aria-expanded="true"] {
    color:#ffffff;
    background:rgba(47,128,255,0.18);
    outline:none
}

.asfit-chevron {
    width:8px;
    height:8px;
    display:inline-block;
    border-right:2px solid currentColor;
    border-bottom:2px solid currentColor;
    transform:rotate(45deg) translateY(-2px)
}

.asfit-dropdown {
    position:absolute;
    top:calc(100% + 13px);
    left:50%;
    z-index:9999;
    transform:translateX(-50%) translateY(8px);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    padding:14px;
    border:1px solid var(--asfit-header-border);
    border-radius:22px;
    background:radial-gradient(circle at top left,rgba(53,208,255,0.12),transparent 33%),linear-gradient(180deg,rgba(8,18,39,0.98),rgba(5,12,27,0.98));
    box-shadow:0 24px 90px rgba(0,0,0,0.52);
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
    transition:opacity 160ms ease,transform 160ms ease,visibility 160ms ease
}

.asfit-has-dropdown:hover>.asfit-dropdown,.asfit-has-dropdown:focus-within>.asfit-dropdown,.asfit-has-dropdown.asfit-dropdown-click-open>.asfit-dropdown,.asfit-dropdown.asfit-open,.asfit-nav-toggle[aria-expanded="true"] + .asfit-dropdown {
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translateX(-50%) translateY(0)
}

.asfit-tools-mega {
    width:min(1090px,calc(100vw - 44px))
}

.asfit-mega-head {
    margin-bottom:12px
}

.asfit-mega-all-link {
    min-height:44px;
    display:inline-flex;
    align-items:center;
    gap:10px;
    padding:10px 14px;
    border:1px solid rgba(53,208,255,0.24);
    border-radius:14px;
    background:rgba(47,128,255,0.12);
    color:#ffffff;
    text-decoration:none;
    font-weight:900
}

.asfit-mega-all-link:hover,.asfit-mega-all-link:focus-visible {
    background:rgba(53,208,255,0.18);
    outline:3px solid rgba(53,208,255,0.24);
    outline-offset:2px
}

.asfit-mega-grid {
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:12px
}

.asfit-mega-col {
    min-width:0;
    padding:13px;
    border:1px solid rgba(255,255,255,0.075);
    border-radius:16px;
    background:var(--asfit-header-card)
}

.asfit-mega-col h3 {
    min-height:34px;
    margin:0 0 10px;
    display:flex;
    align-items:center;
    gap:9px;
    color:var(--asfit-header-text);
    font-size:0.95rem;
    line-height:1.2;
    font-weight:900
}

.asfit-menu-icon {
    width:28px;
    height:28px;
    flex:0 0 28px;
    display:inline-grid;
    place-items:center;
    border:1px solid rgba(53,208,255,0.28);
    border-radius:10px;
    background:rgba(53,208,255,0.08);
    color:var(--asfit-header-primary)
}

.asfit-menu-icon svg {
    width:17px;
    height:17px;
    display:block;
    fill:none;
    stroke:currentColor;
    stroke-width:2;
    stroke-linecap:round;
    stroke-linejoin:round
}

.asfit-mega-col a {
    min-height:34px;
    display:flex;
    align-items:center;
    padding:7px 8px;
    border-radius:10px;
    color:var(--asfit-header-muted);
    text-decoration:none;
    font-size:0.86rem;
    font-weight:760;
    line-height:1.25;
    transition:background 160ms ease,color 160ms ease,transform 160ms ease
}

.asfit-mega-col a:hover,.asfit-mega-col a:focus-visible {
    color:var(--asfit-header-text);
    background:rgba(47,128,255,0.14);
    outline:none;
    transform:translateX(3px)
}

.asfit-mega-col .asfit-cluster-link {
    margin-bottom:8px;
    color:#ffffff;
    background:rgba(47,128,255,0.12);
    border:1px solid rgba(47,128,255,0.22)
}

.asfit-policy-dropdown {
    width:285px
}

.asfit-policy-dropdown a {
    min-height:46px;
    display:flex;
    align-items:center;
    padding:11px 14px;
    border-radius:14px;
    color:var(--asfit-header-muted);
    text-decoration:none;
    font-size:0.95rem;
    font-weight:800;
    transition:background 160ms ease,color 160ms ease,transform 160ms ease
}

.asfit-policy-dropdown a:hover,.asfit-policy-dropdown a:focus-visible {
    color:var(--asfit-header-text);
    background:rgba(47,128,255,0.14);
    outline:none;
    transform:translateX(3px)
}

.asfit-header-actions {
    display:flex;
    align-items:center;
    justify-content:flex-end
}

.asfit-header-cta {
    min-height:52px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:9px;
    padding:14px 24px;
    border-radius:14px;
    color:#ffffff;
    background:linear-gradient(135deg,var(--asfit-header-blue),#7B2CFF,#B000FF);
    text-decoration:none;
    font-size:0.98rem;
    font-weight:900;
    line-height:1.15;
    box-shadow:0 18px 46px rgba(47,128,255,0.28);
    white-space:nowrap;
    transition:transform 180ms ease,box-shadow 180ms ease
}

.asfit-header-cta:hover,.asfit-header-cta:focus-visible {
    color:#ffffff;
    outline:none;
    transform:translateY(-2px);
    box-shadow:0 22px 58px rgba(139,124,255,0.34)
}

.asfit-mobile-toggle {
    width:50px;
    height:50px;
    display:none;
    place-items:center;
    border:0;
    border-radius:15px;
    color:#ffffff;
    background:linear-gradient(135deg,var(--asfit-header-blue),#7B2CFF,#B000FF);
    cursor:pointer;
    box-shadow:0 16px 38px rgba(47,128,255,0.28)
}

.asfit-mobile-toggle span,.asfit-mobile-toggle span::before,.asfit-mobile-toggle span::after {
    width:23px;
    height:2px;
    border-radius:999px;
    background:currentColor
}

.asfit-mobile-toggle span {
    position:relative;
    display:block
}

.asfit-mobile-toggle span::before,.asfit-mobile-toggle span::after {
    content:"";
    position:absolute;
    left:0
}

.asfit-mobile-toggle span::before {
    top:-8px
}

.asfit-mobile-toggle span::after {
    top:8px
}

.asfit-mobile-toggle:focus-visible,.asfit-mobile-close:focus-visible,.asfit-mobile-search button:focus-visible,.asfit-mobile-menu a:focus-visible,.asfit-mobile-menu summary:focus-visible,.asfit-mobile-cta:focus-visible {
    outline:3px solid rgba(53,208,255,0.35);
    outline-offset:3px
}

.asfit-mobile-overlay {
    position:fixed;
    inset:0;
    z-index:10000;
    background:rgba(3,8,18,0.68);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity 220ms ease,visibility 220ms ease
}

.asfit-mobile-panel {
    position:fixed;
    top:0;
    left:0;
    z-index:10001;
    width:min(440px,100vw);
    height:100dvh;
    padding:22px;
    display:flex;
    flex-direction:column;
    background:radial-gradient(circle at top right,rgba(139,44,255,0.22),transparent 35%),linear-gradient(180deg,#0B0F19 0%,#081227 100%);
    border-right:1px solid rgba(53,208,255,0.26);
    box-shadow:24px 0 80px rgba(0,0,0,0.52);
    transform:translateX(-105%);
    transition:transform 260ms ease;
    overflow-y:auto;
    overflow-x:hidden;
    overscroll-behavior:contain
}

body.asfit-menu-open .asfit-mobile-overlay {
    opacity:1;
    visibility:visible;
    pointer-events:auto
}

body.asfit-menu-open .asfit-mobile-panel {
    transform:translateX(0)
}

.asfit-mobile-panel-head {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    margin-bottom:18px
}

.asfit-mobile-panel-head img {
    display:block;
    width:166px;
    max-width:100%;
    height:auto
}

.asfit-mobile-close {
    width:48px;
    height:48px;
    flex:0 0 48px;
    display:grid;
    place-items:center;
    border:1px solid rgba(255,255,255,0.12);
    border-radius:999px;
    color:#ffffff;
    background:rgba(255,255,255,0.07);
    cursor:pointer;
    font-size:30px;
    line-height:1
}

.asfit-mobile-search {
    margin-bottom:18px
}

.asfit-mobile-search-label {
    display:block;
    margin:0 0 7px;
    color:var(--asfit-header-text);
    font-size:0.86rem;
    font-weight:900
}

.asfit-mobile-search-box {
    min-height:50px;
    display:grid;
    grid-template-columns:36px minmax(0,1fr) auto;
    align-items:center;
    gap:8px;
    padding:6px;
    border:1px solid var(--asfit-header-border);
    border-radius:16px;
    background:rgba(3,10,24,0.72)
}

.asfit-mobile-search-icon {
    display:grid;
    place-items:center;
    color:var(--asfit-header-primary)
}

.asfit-mobile-search-icon svg {
    width:20px;
    height:20px;
    fill:none;
    stroke:currentColor;
    stroke-width:2.2;
    stroke-linecap:round;
    stroke-linejoin:round
}

.asfit-mobile-search input {
    min-width:0;
    height:40px;
    border:0;
    background:transparent;
    color:#ffffff;
    font:inherit;
    font-size:0.96rem;
    outline:none
}

.asfit-mobile-search input::placeholder {
    color:rgba(184,196,217,0.78)
}

.asfit-mobile-search button {
    min-height:40px;
    padding:9px 13px;
    border:0;
    border-radius:12px;
    background:linear-gradient(135deg,var(--asfit-header-blue),var(--asfit-header-violet));
    color:#ffffff;
    cursor:pointer;
    font:inherit;
    font-size:0.88rem;
    font-weight:900
}

.asfit-mobile-menu {
    display:grid;
    gap:6px
}

.asfit-mobile-menu a,.asfit-mobile-menu summary {
    width:100%;
    min-height:46px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    padding:10px 2px;
    color:var(--asfit-header-text);
    text-decoration:none;
    font-size:1.02rem;
    font-weight:850;
    cursor:pointer;
    list-style:none
}

.asfit-mobile-direct-link {
    border-bottom:1px solid rgba(255,255,255,0.08)
}

.asfit-mobile-menu summary::-webkit-details-marker {
    display:none
}

.asfit-mobile-menu details {
    border-bottom:1px solid rgba(255,255,255,0.08)
}

.asfit-mobile-menu summary span {
    width:10px;
    height:10px;
    flex:0 0 10px;
    border-right:2px solid currentColor;
    border-bottom:2px solid currentColor;
    transform:rotate(45deg) translateY(-2px);
    transition:transform 160ms ease
}

.asfit-mobile-menu details[open] summary span {
    transform:rotate(225deg) translateY(-2px)
}

.asfit-mobile-submenu {
    display:grid;
    gap:4px;
    padding:0 0 12px 16px
}

.asfit-mobile-submenu a {
    min-height:36px;
    padding:7px 0;
    color:var(--asfit-header-muted);
    font-size:0.94rem;
    font-weight:760
}

.asfit-mobile-menu a:hover,.asfit-mobile-menu summary:hover,.asfit-mobile-submenu a:hover {
    color:#ffffff
}

.asfit-mobile-contact {
    margin-top:24px;
    display:grid;
    gap:8px;
    color:var(--asfit-header-muted);
    font-size:0.94rem
}

.asfit-mobile-cta {
    width:100%;
    min-height:56px;
    margin-top:22px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    border-radius:15px;
    color:#ffffff;
    background:linear-gradient(135deg,var(--asfit-header-blue),#7B2CFF,#B000FF);
    text-decoration:none;
    font-weight:900
}

@media (max-width:1240px) {
    .asfit-header-wrap {
        grid-template-columns:210px minmax(0,1fr) 190px;
        gap:16px
    }

    .asfit-brand img {
        width:174px
    }

    .asfit-nav-link,.asfit-nav-toggle {
        padding-left:13px;
        padding-right:13px;
        font-size:0.92rem
    }

    .asfit-tools-mega {
        width:min(900px,calc(100vw - 36px))
    }

    .asfit-mega-grid {
        grid-template-columns:repeat(3,minmax(0,1fr))
    }
}

@media (max-width:980px) {
    .asfit-main-nav,.asfit-header-actions {
        display:none
    }

    .asfit-header-wrap {
        min-height:84px;
        padding:15px 18px 10px;
        display:flex;
        align-items:center;
        justify-content:space-between
    }

    .asfit-brand img {
        width:166px;
        max-height:52px
    }

    .asfit-mobile-toggle {
        display:grid;
        flex:0 0 auto
    }
}

@media (max-width:480px) {
    .asfit-header-wrap {
        min-height:76px;
        padding:13px 14px 8px
    }

    .asfit-brand img {
        width:152px;
        max-height:48px
    }

    .asfit-mobile-toggle {
        width:48px;
        height:48px;
        border-radius:14px
    }

    .asfit-mobile-panel {
        width:100vw;
        padding:21px
    }

    .asfit-mobile-panel-head img {
        width:156px
    }

    .asfit-mobile-search-box {
        grid-template-columns:32px minmax(0,1fr) auto
    }

    .asfit-mobile-search button {
        padding-left:11px;
        padding-right:11px
    }
}
