.site-footer{
    position:relative;
    overflow:hidden;
    background:
        radial-gradient(circle at 10% 0, rgba(37,99,235,.22), transparent 28rem),
        radial-gradient(circle at 90% 30%, rgba(20,184,166,.16), transparent 24rem),
        #0f172a;
    color:#cbd5e1;
    padding:78px 0 26px;
}

.footer-grid{
    display:grid;
    grid-template-columns:1.5fr 1fr 1fr 1fr;
    gap:24px;
    align-items:start;
}

.site-footer h3,
.site-footer h4{
    color:#fff;
    margin:0 0 18px;
}

.site-footer p{
    max-width:360px;
    line-height:1.7;
}

.footer-brand,
.footer-links{
    position:relative;
    z-index:1;
}

.footer-brand{
    padding-right:22px;
}

.footer-links{
    padding:18px;
    border:1px solid rgba(255,255,255,.08);
    border-radius:20px;
    background:rgba(255,255,255,.035);
}

.site-footer a{
    display:block;
    color:#cbd5e1;
    text-decoration:none;
    margin-bottom:10px;
    line-height:1.45;
}

.site-footer a:hover{
    color:#fff;
    transform:translateX(2px);
}

.site-footer-cta{
    display:inline-flex !important;
    align-items:center;
    justify-content:center;
    margin-top:12px;
    padding:12px 18px;
    color:#fff !important;
    font-weight:900;
    border-radius:999px;
    background:#2563eb;
    box-shadow:0 16px 32px rgba(37,99,235,.24);
}

.footer-bottom{
    display:flex;
    justify-content:space-between;
    gap:16px;
    width:min(var(--ia-container-max,1280px),calc(100% - 48px));
    max-width:100%;
    margin-left:auto;
    margin-right:auto;
    margin-top:50px;
    padding-top:24px;
    border-top:1px solid rgba(255,255,255,.1);
    color:#94a3b8;
}

@media (max-width: 900px){
    .footer-grid{
        grid-template-columns:1fr 1fr;
    }

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

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

    .footer-grid{
        grid-template-columns:1fr;
    }

    .footer-bottom{
        width:min(calc(100% - 28px),var(--ia-container-max,1280px));
        flex-direction:column;
        text-align:left;
    }
}
