:root{
    --asfit-footer-bg:#081227;
    --asfit-footer-panel:rgba(255,255,255,0.045);
    --asfit-footer-card:rgba(11,27,57,0.88);
    --asfit-footer-text:#F5F7FA;
    --asfit-footer-muted:#B8C4D9;
    --asfit-footer-primary:#35D0FF;
    --asfit-footer-blue:#2F80FF;
    --asfit-footer-violet:#8B2CFF;
    --asfit-footer-green:#25F0A5;
    --asfit-footer-border:rgba(53,208,255,0.22);
    --asfit-footer-soft-border:rgba(255,255,255,0.1);
    --asfit-footer-radius:18px
}

.asfit-footer,.asfit-footer *,.asfit-footer *::before,.asfit-footer *::after{
    box-sizing:border-box
}

.asfit-footer{
    position:relative;
    overflow:hidden;
    margin-top:70px;
    color:var(--asfit-footer-text);
    background:radial-gradient(circle at 12% 0%,rgba(47,128,255,0.18),transparent 32%),radial-gradient(circle at 88% 18%,rgba(139,124,255,0.16),transparent 34%),var(--asfit-footer-bg);
    border-top:1px solid var(--asfit-footer-border);
    font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif
}

.asfit-footer a{
    color:inherit;
    text-decoration:none
}

.asfit-footer button{
    font:inherit
}

.asfit-footer img{
    display:block;
    max-width:100%;
    height:auto
}

.asfit-footer-container{
    position:relative;
    z-index:2;
    width:min(1180px,calc(100% - 32px));
    margin:0 auto
}

.asfit-footer-glow{
    position:absolute;
    right:-140px;
    bottom:-220px;
    width:420px;
    height:420px;
    border-radius:999px;
    background:rgba(47,128,255,0.12);
    filter:blur(60px);
    pointer-events:none
}

.asfit-footer-cta{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:24px;
    align-items:center;
    padding:42px 0;
    border-bottom:1px solid var(--asfit-footer-soft-border)
}

.asfit-footer-kicker{
    display:inline-flex;
    width:fit-content;
    margin-bottom:12px;
    padding:7px 13px;
    border:1px solid rgba(53,208,255,0.34);
    border-radius:999px;
    color:#EAF4FF;
    background:rgba(47,128,255,0.14);
    font-size:0.86rem;
    font-weight:850;
    line-height:1.2
}

.asfit-footer-cta h2{
    max-width:780px;
    margin:0 0 10px;
    color:#FFFFFF;
    font-size:clamp(1.45rem,3vw,2.45rem);
    line-height:1.15;
    letter-spacing:-0.02em
}

.asfit-footer-cta p{
    max-width:780px;
    margin:0;
    color:var(--asfit-footer-muted);
    font-size:1rem;
    line-height:1.7
}

.asfit-footer-cta-actions{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    justify-content:flex-end
}

.asfit-footer-btn{
    min-height:48px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:12px 18px;
    border:1px solid transparent;
    border-radius:999px;
    font-weight:850;
    line-height:1.2;
    transition:transform 180ms ease,background 180ms ease,border-color 180ms ease,color 180ms ease
}

.asfit-footer-btn:hover{
    transform:translateY(-2px)
}

.asfit-footer-btn-primary{
    color:#FFFFFF;
    background:linear-gradient(135deg,var(--asfit-footer-blue),#7B6DFF);
    box-shadow:0 16px 36px rgba(47,128,255,0.22)
}

.asfit-footer-btn-secondary{
    color:#EAF4FF;
    background:rgba(255,255,255,0.06);
    border-color:rgba(53,208,255,0.28)
}

.asfit-footer-btn-secondary:hover{
    background:rgba(139,124,255,0.14);
    border-color:rgba(139,124,255,0.55)
}

.asfit-footer-grid{
    display:grid;
    grid-template-columns:minmax(260px,1.35fr) repeat(4,minmax(145px,0.75fr));
    gap:28px;
    padding:44px 0 36px
}

.asfit-footer-brand p{
    max-width:370px;
    margin:18px 0 0;
    color:var(--asfit-footer-muted);
    font-size:0.96rem;
    line-height:1.7
}

.asfit-footer-logo{
    display:inline-flex;
    align-items:center;
    width:fit-content
}

.asfit-footer-logo img{
    width:205px;
    min-height:58px;
    object-fit:contain
}

.asfit-footer-trust{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:18px
}

.asfit-footer-trust span{
    display:inline-flex;
    padding:6px 10px;
    border:1px solid rgba(37,240,165,0.2);
    border-radius:999px;
    color:var(--asfit-footer-green);
    background:rgba(37,240,165,0.08);
    font-size:0.78rem;
    font-weight:850;
    line-height:1.2
}

.asfit-footer-contact-mini{
    margin-top:18px
}

.asfit-footer-contact-mini a{
    color:#EAF4FF;
    font-weight:850;
    border-bottom:1px solid rgba(234,244,255,0.28)
}

.asfit-footer-contact-mini a:hover{
    color:#FFCC66;
    border-bottom-color:#FFCC66
}

.asfit-footer-heading{
    width:100%;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    padding:0;
    border:0;
    color:#FFFFFF;
    background:transparent;
    font-size:1rem;
    font-weight:900;
    text-align:left;
    cursor:default
}

.asfit-footer-heading span{
    display:none
}

.asfit-footer-links{
    display:grid;
    gap:10px;
    padding:0;
    margin:16px 0 0;
    list-style:none
}

.asfit-footer-links a,.asfit-footer-mini-col a{
    display:inline-flex;
    width:fit-content;
    color:var(--asfit-footer-muted);
    font-size:0.94rem;
    line-height:1.4;
    transition:color 180ms ease,transform 180ms ease
}

.asfit-footer-links a:hover,.asfit-footer-mini-col a:hover{
    color:#FFFFFF;
    transform:translateX(3px)
}

.asfit-footer-directory{
    padding:28px;
    margin:0 0 10px;
    border:1px solid rgba(53,208,255,0.16);
    border-radius:var(--asfit-footer-radius);
    background:rgba(255,255,255,0.025)
}

.asfit-footer-directory-head{
    display:flex;
    align-items:end;
    justify-content:space-between;
    gap:18px;
    margin-bottom:20px
}

.asfit-footer-directory h2{
    margin:0;
    color:#FFFFFF;
    font-size:clamp(1.15rem,2vw,1.45rem);
    line-height:1.2
}

.asfit-footer-directory p{
    margin:0;
    color:var(--asfit-footer-muted);
    font-size:0.92rem;
    line-height:1.5
}

.asfit-footer-directory-grid{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:18px
}

.asfit-footer-mini-col{
    display:grid;
    align-content:start;
    gap:9px;
    min-width:0
}

.asfit-footer-mini-col h3{
    margin:0 0 4px;
    color:#FFFFFF;
    font-size:0.98rem;
    line-height:1.25
}

.asfit-footer-bottom{
    min-height:82px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    padding:24px 0;
    border-top:1px solid var(--asfit-footer-soft-border)
}

.asfit-footer-bottom p{
    margin:0;
    color:var(--asfit-footer-muted);
    font-size:0.92rem
}

.asfit-footer-bottom-links{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:14px
}

.asfit-footer-bottom-links a,.asfit-footer-bottom-links button{
    padding:0;
    border:0;
    color:#EAF4FF;
    background:transparent;
    cursor:pointer;
    font-size:0.92rem;
    font-weight:800
}

.asfit-footer-bottom-links a:hover,.asfit-footer-bottom-links button:hover{
    color:#FFCC66
}

.asfit-footer a:focus-visible,.asfit-footer button:focus-visible{
    outline:3px solid rgba(53,208,255,0.9);
    outline-offset:4px;
    border-radius:8px
}

@media (max-width:1100px){
    .asfit-footer-grid{
        grid-template-columns:repeat(2,minmax(0,1fr))
    }

    .asfit-footer-brand{
        grid-column:1 / -1
    }

    .asfit-footer-cta{
        grid-template-columns:1fr
    }

    .asfit-footer-cta-actions{
        justify-content:flex-start
    }

    .asfit-footer-directory-grid{
        grid-template-columns:repeat(3,minmax(0,1fr))
    }
}

@media (max-width:760px){
    .asfit-footer{
        margin-top:48px
    }

    .asfit-footer-container{
        width:min(100% - 24px,1180px)
    }

    .asfit-footer-cta{
        grid-template-columns:1fr;
        justify-items:center;
        padding:34px 0;
        text-align:center
    }

    .asfit-footer-kicker{
        margin-left:auto;
        margin-right:auto
    }

    .asfit-footer-cta-actions{
        width:100%;
        display:grid;
        grid-template-columns:1fr;
        justify-content:stretch
    }

    .asfit-footer-btn{
        width:100%;
        min-height:56px
    }

    .asfit-footer-grid{
        grid-template-columns:1fr;
        gap:12px;
        padding:34px 0 24px
    }

    .asfit-footer-brand{
        display:grid;
        justify-items:center;
        text-align:center;
        padding-bottom:18px
    }

    .asfit-footer-logo{
        justify-content:center
    }

    .asfit-footer-logo img{
        width:min(210px,82vw)
    }

    .asfit-footer-brand p{
        margin-left:auto;
        margin-right:auto
    }

    .asfit-footer-trust{
        justify-content:center
    }

    .asfit-footer-contact-mini{
        text-align:center
    }

    .asfit-footer-col{
        border:1px solid rgba(53,208,255,0.2);
        border-radius:16px;
        background:rgba(255,255,255,0.035)
    }

    .asfit-footer-heading{
        min-height:58px;
        padding:15px 18px;
        cursor:pointer
    }

    .asfit-footer-heading span{
        display:inline-grid;
        place-items:center;
        flex:0 0 auto;
        width:28px;
        height:28px;
        border-radius:999px;
        color:#EAF4FF;
        background:rgba(47,128,255,0.18);
        transition:transform 180ms ease
    }

    .asfit-footer-links{
        padding:0 18px 18px;
        margin-top:0
    }

    .asfit-footer-js .asfit-footer-col:not(.asfit-footer-open) .asfit-footer-links{
        display:none
    }

    .asfit-footer-col.asfit-footer-open .asfit-footer-heading span{
        transform:rotate(45deg)
    }

    .asfit-footer-directory{
        padding:22px 16px;
        text-align:center
    }

    .asfit-footer-directory-head{
        display:grid;
        justify-items:center
    }

    .asfit-footer-directory-grid{
        grid-template-columns:1fr;
        gap:16px;
        text-align:left
    }

    .asfit-footer-mini-col{
        padding:16px;
        border:1px solid rgba(53,208,255,0.16);
        border-radius:14px;
        background:rgba(255,255,255,0.025)
    }

    .asfit-footer-bottom{
        display:grid;
        justify-items:center;
        text-align:center;
        padding-bottom:28px
    }

    .asfit-footer-bottom-links{
        justify-content:center;
        row-gap:10px
    }
}

@media (max-width:420px){
    .asfit-footer-container{
        width:min(100% - 18px,1180px)
    }

    .asfit-footer-cta h2{
        font-size:1.45rem
    }

    .asfit-footer-bottom-links{
        gap:12px
    }
}
