.site-footer{
    background:#071531;
    color:#fff;
    padding-top:42px;
}

.footer-grid{
    display:grid;
    grid-template-columns:1.4fr repeat(4,.9fr) 1.1fr;
    gap:28px;
    padding-bottom:28px;
}

.footer-brand img{
    width:190px;
    height:auto;
    margin-bottom:14px;
}

.footer-brand p{
    color:#c5d2ea;
    max-width:300px;
    margin-bottom:20px;
    font-size:.94rem;
    line-height:1.7;
}

.footer-social{
    display:flex;
    gap:10px;
}

.footer-social span{
    width:34px;
    height:34px;
    display:grid;
    place-items:center;
    border-radius:50%;
    border:1px solid rgba(255,255,255,.16);
    color:#fff;
    font-size:.82rem;
    font-weight:700;
    transition:
        transform .28s cubic-bezier(.22,.61,.36,1),
        background .28s cubic-bezier(.22,.61,.36,1),
        border-color .28s cubic-bezier(.22,.61,.36,1);
}

.footer-social span:hover{
    transform:translateY(-2px);
    background:rgba(255,255,255,.08);
    border-color:rgba(255,255,255,.28);
}

.footer-column h3{
    color:#fff;
    font-size:.98rem;
    margin-bottom:16px;
}

.footer-column a,
.footer-column span{
    display:block;
    color:#c5d2ea;
    margin-bottom:12px;
    font-size:.94rem;
    line-height:1.55;
}

.footer-column a:hover,
.footer-bottom a:hover{
    color:#fff;
}

.footer-bottom{
    border-top:1px solid rgba(255,255,255,.08);
    padding:18px 0 22px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:20px;
}

.footer-bottom small,
.footer-bottom a{
    color:#9fb0cf;
    font-size:.88rem;
}

.footer-bottom div{
    display:flex;
    gap:18px;
    flex-wrap:wrap;
}

@media(max-width:1200px){
    .footer-grid{
        grid-template-columns:repeat(3,1fr);
    }
}

@media(max-width:768px){
    .site-footer{
        padding-top:34px;
    }

    .footer-grid{
        grid-template-columns:1fr 1fr;
        gap:24px 18px;
        padding-bottom:22px;
    }

    .footer-bottom{
        flex-direction:column;
        align-items:flex-start;
        gap:12px;
    }

    .footer-brand{
        grid-column:1 / -1;
    }

    .footer-brand img{
        width:176px;
    }

    .footer-column h3{
        margin-bottom:12px;
    }
}

@media(max-width:576px){
    .footer-grid{
        grid-template-columns:1fr 1fr;
        gap:18px 16px;
    }

    .footer-brand,
    .footer-contact,
    .footer-bottom{
        grid-column:1 / -1;
    }

    .footer-column h3{
        margin-bottom:10px;
    }

    .footer-bottom{
        padding:16px 0 20px;
    }

    .footer-bottom div{
        gap:10px 14px;
    }

    .footer-brand p,
    .footer-column a,
    .footer-column span,
    .footer-bottom small,
    .footer-bottom a{
        font-size:.9rem;
    }
}
