
/* footer */
/* ==================================================
   FOOTER
================================================== */

.footer{
    background:var(--c-ink);
    color:var(--c-bg);
    padding:var(--sp-9) 0 var(--sp-5);
    position:relative;
    overflow:hidden;
}

.footer::before{
    content:'';
    position:absolute;
    inset:0;
    background:
        radial-gradient(circle at top right,
        rgba(255,255,255,.04),
        transparent 45%);
    pointer-events:none;
}

.footer-top{
    display:grid;
    grid-template-columns:2fr 1fr 1fr 1.2fr;
    gap:var(--sp-8);
    padding-bottom:var(--sp-7);
    border-bottom:1px solid rgba(255,255,255,.08);
    position:relative;
    z-index:1;
}

.footer-logo{
    display:inline-flex;
    align-items:center;
    gap:var(--sp-3);
    margin-bottom:var(--sp-5);
}

.footer-logo-icon{
    width:48px;
    height:48px;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:var(--rad-sm);

    background:linear-gradient(
        135deg,
        var(--c-primary),
        var(--c-primary-light)
    );

    color:#fff;
    font-family:var(--font-display);
    font-weight:700;

    box-shadow:var(--sh-brand);
}

.footer-logo-text{
    font-family:var(--font-display);
    font-size:1.25rem;
    font-weight:700;
}

.footer-desc{
    max-width:360px;
    color:var(--c-muted-soft);
    margin-bottom:var(--sp-5);
}

.footer-socials{
    display:flex;
    gap:var(--sp-3);
}

.footer-socials a{
    width:42px;
    height:42px;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:50%;

    background:rgba(255,255,255,.05);

    color:var(--c-bg);

    transition:var(--dur-base) var(--ease);
}

.footer-socials a:hover{
    background:var(--c-primary);
    transform:translateY(-3px);
}

.footer-socials svg{
    width:18px;
    height:18px;
}

.footer-col h4{
    margin-bottom:var(--sp-5);
    color:#fff;
    font-size:1.05rem;
}

.footer-col{
    display:flex;
    flex-direction:column;
    gap:var(--sp-3);
}

.footer-col a{
    color:var(--c-muted-soft);
    transition:var(--dur-fast) var(--ease);
}

.footer-col a:hover{
    color:#fff;
    transform:translateX(4px);
}

.footer-contact{
    display:flex;
    flex-direction:column;
    gap:2px;
}

.footer-contact strong{
    color:#fff;
    font-size:var(--fs-sm);
}

.footer-contact span{
    color:var(--c-muted-soft);
    font-size:var(--fs-sm);
}

.footer-bottom{
    margin-top:var(--sp-5);

    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:var(--sp-4);

    position:relative;
    z-index:1;
}

.footer-bottom p{
    color:var(--c-muted-soft);
    font-size:var(--fs-sm);
}

.footer-bottom-links{
    display:flex;
    gap:var(--sp-5);
}

.footer-bottom-links a{
    color:var(--c-muted-soft);
    font-size:var(--fs-sm);
}

.footer-bottom-links a:hover{
    color:#fff;
}

@media(max-width:1024px){

    .footer-top{
        grid-template-columns:repeat(2,1fr);
    }

}

@media(max-width:640px){

    .footer{
        padding:var(--sp-7) 0;
    }

    .footer-top{
        grid-template-columns:1fr;
        gap:var(--sp-6);
    }

    .footer-bottom{
        flex-direction:column;
        align-items:flex-start;
    }

    .footer-bottom-links{
        flex-wrap:wrap;
    }

}
