.site-footer {
    border-top: 1px solid var(--k-border);
    background:
        radial-gradient(circle at 8% 5%, rgba(38,151,232,.055), transparent 25%),
        var(--k-white);
    padding: clamp(4rem, 7vw, 6.5rem) 0 2rem;
}
.site-footer__top {
    display: grid;
    grid-template-columns: minmax(220px, 1.05fr) minmax(0, 3fr);
    gap: clamp(3rem, 7vw, 7rem);
}
.site-footer__brand img { width: min(100%, 240px); }
.site-footer__brand > p { max-width: 300px; color: var(--k-text-secondary); line-height: 1.6; }
.site-footer__developed { margin-top: 2rem; font-size: var(--k-text-sm); }
.site-footer__nav { display: grid; grid-template-columns: repeat(5, minmax(0,1fr)); gap: 1.6rem; }
.site-footer__nav h2 {
    margin: 0 0 1rem;
    color: var(--k-ink-900);
    font-size: .72rem;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.site-footer__nav ul { list-style: none; padding: 0; margin: 0; display: grid; gap: .72rem; }
.site-footer__nav a { color: var(--k-text-secondary); font-size: .86rem; text-decoration: none; }
.site-footer__nav a:hover { color: var(--k-blue-700); }
.site-footer__utility {
    margin-top: 3.5rem; padding-top: 1.5rem;
    border-top: 1px solid var(--k-border);
    display: flex; justify-content: space-between; align-items: end; gap: 1.5rem;
}
.site-footer__social { display: flex; flex-wrap: wrap; gap: 1rem; }
.site-footer__social a { color: var(--k-text-secondary); font-size: var(--k-text-sm); text-decoration: none; }
.site-footer__bottom {
    margin-top: 1.5rem; padding-top: 1.5rem;
    border-top: 1px solid var(--k-border);
    display: flex; justify-content: space-between; gap: 1rem;
    color: var(--k-ink-500); font-size: .75rem;
}
.site-footer__bottom p { margin: 0; }
@media (max-width: 1050px) {
    .site-footer__top { grid-template-columns: 1fr; }
    .site-footer__nav { grid-template-columns: repeat(3, minmax(0,1fr)); }
}
@media (max-width: 650px) {
    .site-footer__nav { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .site-footer__utility, .site-footer__bottom { align-items: flex-start; flex-direction: column; }
}
@media (max-width: 390px) { .site-footer__nav { grid-template-columns: 1fr; } }

.site-footer{padding-bottom:max(2rem,env(safe-area-inset-bottom))}
.site-footer__nav a,.site-footer__social a{min-height:44px;align-items:center}
