.footer{
    position:relative;
    background:linear-gradient(180deg,#0D4AAE 0%,#083578 100%);
    color:#fff;
    overflow:hidden;
}

.footer::before{
    content:"";
    position:absolute;
    width:500px;
    height:500px;
    border-radius:50%;
    background:rgba(255,255,255,.04);
    top:-220px;
    right:-180px;
}

.footer::after{
    content:"";
    position:absolute;
    width:350px;
    height:350px;
    border-radius:50%;
    background:rgba(255,255,255,.03);
    bottom:-160px;
    left:-120px;
}

.footer-container{
    position:relative;
    z-index:2;
    max-width:1280px;
    margin:auto;
    padding:50px 65px 10px;
}

.footer-top{
    display:grid;
    grid-template-columns:2.2fr .9fr .9fr 1.3fr;
    align-items:flex-start;
    gap:35px;
    padding-bottom:35px;
    border-bottom:1px solid rgba(255,255,255,.12);
}

.footer-brand{
    max-width:360px;
}

.footer-brand img{
    width:60px;
    margin-bottom:16px;
}

.footer-brand h2{
    font-size:2rem;
    line-height:1.2;
    margin-bottom:14px;
}

.footer-brand p{
    color:rgba(255,255,255,.75);
    line-height:1.8;
    font-size:.97rem;
    margin-bottom:24px;
}

.footer-social{
    display:flex;
    gap:12px;
}

.footer-social a{
    width:42px;
    height:42px;
    border-radius:50%;
    background:rgba(255,255,255,.08);
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    text-decoration:none;
    transition:.3s;
}

.footer-social a:hover{
    background:#4285F4;
    transform:translateY(-4px);
}

.footer-links h3,
.footer-contact h3{
    font-size:1.15rem;
    margin-bottom:18px;
}

.footer-links{
    display:flex;
    flex-direction:column;
}

.footer-links a{
    color:rgba(255,255,255,.75);
    text-decoration:none;
    margin-bottom:12px;
    transition:.3s;
}

.footer-links a:hover{
    color:#8AB4F8;
    padding-left:6px;
}

.contact-item{
    display:flex;
    align-items:center;
    gap:12px;
    margin-bottom:16px;
}

.contact-item i{
    width:38px;
    height:38px;
    border-radius:10px;
    background:rgba(255,255,255,.08);
    display:flex;
    justify-content:center;
    align-items:center;
    color:#8AB4F8;
    flex-shrink:0;
    font-size:.95rem;
}

.contact-item span{
    color:rgba(255,255,255,.75);
    font-size:.95rem;
    line-height:1.5;
}

.footer-bottom{
    padding-top:20px;
    text-align:center;
}

.footer-bottom p{
    color:rgba(255,255,255,.6);
    font-size:.9rem;
}

@media(max-width:1200px){

    .footer-container{
        padding:45px 28px 16px;
    }

    .footer-top{
        grid-template-columns:repeat(2,1fr);
        gap:30px 45px;
    }

    .footer-brand h2{
        font-size:1.5rem;
        margin-bottom:10px;
    }

    .footer-brand p{
        max-width:430px;
        font-size:.85rem;
        line-height:1.6;
        margin-bottom:18px;
    }

    .footer-brand img{
        width:50px;
        margin-bottom:12px;
    }

    .footer-links h3,
    .footer-contact h3{
        font-size:1rem;
        margin-bottom:13px;
    }

    .footer-links a{
        font-size:.85rem;
        margin-bottom:8px;
    }

    .contact-item{
        gap:9px;
        margin-bottom:11px;
    }

    .contact-item i{
        width:32px;
        height:32px;
        font-size:.8rem;
        border-radius:8px;
    }

    .contact-item span{
        font-size:.84rem;
        line-height:1.45;
    }

    .footer-social{
        gap:8px;
        margin-top:14px;
    }

    .footer-social a{
        width:36px;
        height:36px;
        font-size:.8rem;
    }

    .footer-bottom{
        padding-top:15px;
    }

    .footer-bottom p{
        font-size:.78rem;
    }

}

@media(max-width:991px){

    .footer-container{
        padding:40px 24px 14px;
    }

    .footer-top{
        grid-template-columns:1fr 1fr;
        gap:28px 35px;
    }

    .footer-brand h2{
        font-size:1.4rem;
    }

    .footer-brand p{
        font-size:.82rem;
        line-height:1.6;
    }

    .footer-links h3,
    .footer-contact h3{
        font-size:.95rem;
    }

    .footer-links a{
        font-size:.82rem;
    }

    .contact-item span{
        font-size:.8rem;
    }

}

@media(max-width:576px){

    .footer{
        text-align:center;
    }

    .footer-container{
        padding:32px 16px 12px;
    }

    .footer-top{
        grid-template-columns:1fr;
        gap:24px;
        text-align:center;
    }

    .footer-brand{
        max-width:100%;
    }

    .footer-brand img{
        width:44px;
        margin:0 auto 10px;
    }

    .footer-brand h2{
        font-size:1.25rem;
        margin-bottom:9px;
    }

    .footer-brand p{
        font-size:.78rem;
        line-height:1.55;
        margin-bottom:14px;
    }

    .footer-social{
        justify-content:center;
        gap:7px;
    }

    .footer-social a{
        width:32px;
        height:32px;
        font-size:.72rem;
    }

    .footer-links{
        align-items:center;
    }

    .footer-links h3,
    .footer-contact h3{
        margin-bottom:11px;
        font-size:.9rem;
    }

    .footer-links a{
        margin-bottom:7px;
        font-size:.78rem;
    }

    .footer-contact{
        display:flex;
        flex-direction:column;
        align-items:center;
    }

    .contact-item{
        width:auto;
        justify-content:center;
        gap:8px;
        margin-bottom:10px;
        text-align:left;
    }

    .contact-item i{
        width:30px;
        height:30px;
        font-size:.75rem;
        border-radius:7px;
    }

    .contact-item span{
        font-size:.76rem;
        line-height:1.4;
    }

    .footer-bottom{
        padding-top:13px;
    }

    .footer-bottom p{
        font-size:.7rem;
        line-height:1.5;
    }

}