:root {
    --footer-bg: #0e0e0e;
    --footer-mid-bg: #101010;
    --footer-sep: #202020;
    --footer-text: #d7d7d7;
    --footer-muted: #9aa0a6;
    --footer-red: #d61f1f;
    --footer-white: #ffffff;
}

.site-footer {
    color: var(--footer-text);
    background: var(--footer-bg);
    padding: 0px 20px;
}

.site-footer a {
    color: var(--footer-text);
    text-decoration: none;
}

.site-footer a:hover {
    color: #fff;
    text-decoration: underline;
}

.container {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 16px;
}

/* Top strip */
.footer-top {
    border-bottom: 1px solid var(--footer-sep);
}

.footer-top__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
    padding: 28px 0;
}

.ft-item {
    display: flex;
    gap: 16px;
    align-items: flex-start;
}

.ft-title {
    color: #fff;
    font-weight: 700;
    margin-bottom: 6px;
}

.ft-ic {
    width: 28px;
    height: 28px;
    opacity: .9;
    margin-top: 2px;
}

.ft-ic--phone {
    background: radial-gradient(circle at 40% 40%, var(--footer-red), #8f1111);
    mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="white" d="M6.62 10.79a15.053 15.053 0 006.59 6.59l2.2-2.2a1 1 0 011-.25c1.09.36 2.26.56 3.59.56a1 1 0 011 1V21a1 1 0 01-1 1C10.3 22 2 13.7 2 3a1 1 0 011-1h4.5a1 1 0 011 1c0 1.33.2 2.5.56 3.59a1 1 0 01-.25 1l-2.2 2.2z"/></svg>') center/contain no-repeat;
}

.ft-ic--mail {
    background: radial-gradient(circle at 40% 40%, var(--footer-red), #8f1111);
    mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="white" d="M20 4H4a2 2 0 00-2 2v12a2 2 0 002 2h16a2 2 0 002-2V6a2 2 0 00-2-2zm0 4l-8 5-8-5V6l8 5 8-5v2z"/></svg>') center/contain no-repeat;
}

.ft-ic--map {
    background: radial-gradient(circle at 40% 40%, var(--footer-red), #8f1111);
    mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="white" d="M12 2A7 7 0 005 9c0 5.25 7 13 7 13s7-7.75 7-13a7 7 0 00-7-7zm0 9.5A2.5 2.5 0 119.5 9 2.5 2.5 0 0112 11.5z"/></svg>') center/contain no-repeat;
}

/* Mid */
.footer-mid {
    background: var(--footer-mid-bg);
}

.footer-mid__grid {
    display: grid;
    grid-template-columns: 1fr 2fr 1fr;
    gap: 40px;
    padding: 40px 0;
}

.brand__logo img {
    display: block;
    max-width: 200px;
    height: auto;
    filter: contrast(1.1) brightness(.95);
}

.footer-columns {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 28px 64px;
}

.footer-col__title {
    color: var(--footer-red);
    font-weight: 700;
    margin: 0 0 14px;
    font-size: 20px;
}

.footer-col__list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    gap: 10px;
}

.footer-col__list a {
    color: var(--footer-text);
}

.footer-col__list a.is-active {
    color: #fff;
    text-decoration: underline;
}

.news-blurb .footer-col__title {
    margin-bottom: 14px;
}

.news-blurb p {
    color: var(--footer-text);
    margin: 0;
}

/* Bottom */
.footer-bottom {
    border-top: 1px solid var(--footer-sep);
}

.footer-bottom__grid {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    padding: 16px 0 22px;
}

.legal-links {
    display: flex;
    gap: 24px;
}

.copyright {
    color: var(--footer-muted);
}

/* Responsive */
@media (max-width: 1024px) {
    .footer-mid__grid {
        grid-template-columns: 1fr 1fr;
    }

    .brand {
        order: -1;
    }
}

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

    .footer-mid__grid {
        grid-template-columns: 1fr;
        gap: 28px;
    }

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

    .footer-bottom__grid {
        flex-direction: column;
        align-items: flex-start;
    }
}