.site-footer {
    background: var(--color-surface-dark);
    color: var(--color-on-dark-soft);
    /*padding-block-start: var(--space-9);*/
    padding-block-end: var(--space-6);
}

.site-footer__grid {
    display: grid;
    gap: var(--space-8);
    grid-template-columns: 1fr;
    padding-block-end: var(--space-8);
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.site-footer__brand {
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
    max-width: 340px;
}

.site-footer__brand-logo {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    color: var(--color-on-dark);
}

    .site-footer__brand-logo .site-header__logo-text {
        color: var(--color-on-dark);
    }

.site-footer__brand p {
    color: var(--color-on-dark-soft);
    font-size: var(--fs-small);
    line-height: var(--lh-normal);
}

.site-footer__social {
    display: flex;
    gap: var(--space-3);
}

    .site-footer__social a {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 38px;
        height: 38px;
        border-radius: var(--radius-full);
        background: rgba(255, 255, 255, 0.06);
        color: var(--color-on-dark);
        transition: background var(--dur-fast) var(--ease-standard), transform var(--dur-fast) var(--ease-standard);
    }

        .site-footer__social a:hover {
            background: var(--color-brand);
            transform: translateY(-2px);
        }

    .site-footer__social svg {
        width: 18px;
        height: 18px;
    }

.site-footer__col h3 {
    color: var(--color-on-dark);
    font-size: var(--fs-small);
    margin-block-end: var(--space-4);
}

.site-footer__col ul {
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
}

.site-footer__col a {
    font-size: var(--fs-small);
    transition: color var(--dur-fast) var(--ease-standard);
}

    .site-footer__col a:hover {
        color: var(--color-on-dark);
    }

.site-footer__bottom {
    padding-block-start: var(--space-6);
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-4);
    justify-content: space-between;
    font-size: var(--fs-small);
}

.site-footer__name {
    color: var(--color-brand-bright);
    font-weight: 700;
}

    .site-footer__bottom p {
        text-align: center;
        width: 100%;
    }

@media (min-width: 640px) {
    .site-footer__grid {
        grid-template-columns: 1.4fr 1fr 1fr 1fr;
    }
}
