.site-footer{
    position:relative;
    margin-top:80px;
    padding:120px 20px 30px;

    background:
        radial-gradient(circle at top left, rgba(0,247,255,.10), transparent 30%),
        radial-gradient(circle at top right, rgba(139,92,246,.14), transparent 35%),
        linear-gradient(180deg,#09111f 0%,#0b1220 55%,#070d18 100%);

    overflow:hidden;
}

.footer-wave{
    position:absolute;
    left:-10%;
    width:120%;
    height:120px;
    border-radius:0 0 45% 45%;
    opacity:.28;
    filter:blur(10px);
    pointer-events:none;
}

.footer-wave-one{
    top:0;

    background:
        linear-gradient(
            90deg,
            rgba(0,247,255,.28),
            rgba(108,99,255,.22)
        );
}

.footer-wave-two{
    top:18px;

    background:
        linear-gradient(
            90deg,
            rgba(255,0,153,.16),
            rgba(0,247,255,.16)
        );
}

.footer-container{
    position:relative;
    z-index:2;

    max-width:1280px;
    margin:0 auto;

    display:grid;
    grid-template-columns:1.25fr .95fr .95fr;
    gap:32px;
    align-items:start;
}

.footer-col{
    padding:34px 30px;
    min-height:260px;
    border-radius:28px;

    background:rgba(255,255,255,.05);

    border:1px solid rgba(255,255,255,.08);

    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);

    box-shadow:
        0 10px 35px rgba(0,0,0,.22),
        inset 0 1px 0 rgba(255,255,255,.08);
}

.footer-brand-col{
    min-height:260px;
}

.footer-logo-row{
    display:flex;
    align-items:center;
    gap:14px;
    margin-bottom:18px;
}

.footer-logo-icon{
    width:46px;
    height:46px;
    min-width:46px;

    border-radius:14px;

    display:flex;
    align-items:center;
    justify-content:center;

    font-size:22px;

    background:
        linear-gradient(
            135deg,
            #00f7ff,
            #7c5cff
        );

    box-shadow:
        0 10px 26px rgba(0,247,255,.22);
}

.footer-logo{
    margin:0;

    color:#fff;

    font-size:28px;
    font-weight:800;

    line-height:1.1;

    text-shadow:
        0 0 10px rgba(0,247,255,.30);
}

.footer-desc{
    margin:0 0 22px;

    color:rgba(255,255,255,.82);

    line-height:1.8;
    font-size:15px;
}

.footer-badges{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
}

.footer-badge{
    display:inline-flex;
    align-items:center;

    padding:10px 16px;

    border-radius:999px;

    font-size:13px;
    font-weight:700;

    color:#dffcff;

    background:rgba(0,247,255,.10);

    border:1px solid rgba(0,247,255,.28);

    box-shadow:
        0 0 18px rgba(0,247,255,.10);
}

.footer-col h4{
    margin:0 0 18px;

    color:#fff;

    font-size:18px;
    font-weight:700;
}

.footer-col ul{
    margin:0;
    padding:0;
    list-style:none;
}

.footer-col ul li{
    margin-bottom:14px;
}

.footer-col ul li:last-child{
    margin-bottom:0;
}

.footer-col a{
    color:rgba(255,255,255,.78);

    text-decoration:none;

    transition:
        transform .25s ease,
        color .25s ease,
        text-shadow .25s ease;

    display:inline-block;
}

.footer-col a:hover{
    color:#fff;

    transform:translateX(5px);

    text-shadow:
        0 0 10px rgba(0,247,255,.35);
}

.footer-bottom{
    position:relative;
    z-index:2;

    max-width:1280px;

    margin:34px auto 0;

    padding-top:22px;

    border-top:1px solid rgba(255,255,255,.08);

    text-align:center;
}

.footer-bottom p{
    margin:0;

    color:rgba(255,255,255,.68);

    font-size:14px;
}

@media(max-width:980px){

    .footer-container{
        grid-template-columns:1fr 1fr;
    }

    .footer-brand-col{
        grid-column:1/-1;
    }
}

@media(max-width:640px){

    .site-footer{
        padding:90px 14px 24px;
    }

    .footer-container{
        grid-template-columns:1fr;
        gap:20px;
    }

    .footer-col{
        padding:24px 20px;
        border-radius:22px;
    }

    .footer-logo-row{
        justify-content:center;
    }

    .footer-brand-col{
        text-align:center;
    }

    .footer-badges{
        justify-content:center;
    }

    .footer-col h4{
        margin-bottom:14px;
    }
}


.footer-col:not(.footer-brand-col){
    display:flex;
    flex-direction:column;
    align-items:center;
    text-align:left;
}

.footer-col:not(.footer-brand-col) h4,
.footer-col:not(.footer-brand-col) ul{
    width:max-content;
}

.footer-col:not(.footer-brand-col){
    display:flex;
    flex-direction:column;
    align-items:center;
}

.footer-col:not(.footer-brand-col) h4{
    width:100%;
    text-align:center;
    margin-bottom:22px;
}

.footer-col:not(.footer-brand-col) ul{
    width:100%;
    max-width:180px;

    padding-left:18px;

    list-style:disc;
}

.footer-col:not(.footer-brand-col) ul li{
    margin-bottom:14px;
}

.footer-col:not(.footer-brand-col) ul li a{
    display:inline-block;
}


