.site-footer{
    margin-top:0;
    padding:44px 0 20px;
    border-top:1px solid rgba(1, 24, 69, .08);
    background:#071326;
    color:rgba(255, 255, 255, .78);
}

.site-footer-inner{
    display:grid;
    grid-template-columns:minmax(0, 1.2fr) minmax(0, 1fr) minmax(220px, .8fr);
    gap:clamp(28px, 5vw, 72px);
    align-items:flex-start;
}

.footer-column{
    min-width:0;
    text-align:left;
}

.footer-logo{
    display:inline-flex;
    align-items:center;
    color:var(--primary-gold);
    line-height:1;
    text-decoration:none;
    transition:color .22s ease, transform .22s ease;
}

.footer-logo:hover,
.footer-logo:focus-visible{
    color:#f2c75c;
    transform:translateY(-1px);
}

.footer-logo-mark{
    width:158px;
    height:42px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex:0 0 auto;
    overflow:visible;
    border-radius:0;
    background:transparent;
    filter:drop-shadow(0 5px 10px rgba(0, 0, 0, .22));
}

.footer-brand p{
    max-width:340px;
    margin:14px 0 0;
    color:rgba(255, 255, 255, .66);
    font-size:14px;
    line-height:1.7;
}

.footer-proposal-button{
    margin-top:18px;
}

.footer-nav h2,
.footer-contact h2{
    margin:0 0 18px;
    color:#fff;
    font-size:15px;
    font-weight:900;
    letter-spacing:.12em;
    line-height:1.2;
    text-transform:uppercase;
}

.footer-links{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:12px 20px;
    justify-content:start;
}

.footer-links a{
    min-height:0;
    display:inline-flex;
    align-items:center;
    padding:0;
    border-radius:0;
    color:rgba(255, 255, 255, .78);
    font-size:14px;
    font-weight:700;
    line-height:1.45;
    text-decoration:none;
    transition:background-color .22s ease, color .22s ease, transform .22s ease;
}

.footer-legal-links a{
    font-size:13px;
}

.footer-links a:hover,
.footer-links a:focus-visible{
    background:transparent;
    color:#fff;
    transform:translateY(-1px);
}

.footer-contact address{
    display:grid;
    gap:10px;
    margin:0;
    font-style:normal;
}

.footer-contact address a{
    color:rgba(255, 255, 255, .78);
    font-size:14px;
    font-weight:700;
    line-height:1.45;
    text-decoration:none;
    transition:color .22s ease, transform .22s ease;
}

.footer-contact address a:hover,
.footer-contact address a:focus-visible{
    color:#fff;
    transform:translateY(-1px);
}

.footer-social{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:20px;
}

.footer-social a{
    width:40px;
    height:40px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:1px solid rgba(255, 255, 255, .16);
    border-radius:8px;
    background:rgba(255, 255, 255, .08);
    color:#fff;
    text-decoration:none;
    transition:
        background-color .22s ease,
        border-color .22s ease,
        color .22s ease,
        transform .22s ease;
}

.footer-social a:hover,
.footer-social a:focus-visible{
    border-color:var(--primary-gold);
    background:var(--primary-gold);
    color:#fff;
    transform:translateY(-2px);
}

.footer-social svg{
    width:20px;
    height:20px;
    fill:none;
    stroke:currentColor;
    stroke-width:2;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.footer-social a:first-child svg{
    fill:currentColor;
    stroke:none;
}

.footer-actions{
    display:flex;
    justify-content:flex-end;
    align-items:center;
}

.footer-back-top{
    width:42px;
    height:42px;
    border:1px solid rgba(255, 255, 255, .16);
    border-radius:8px;
    background:rgba(255, 255, 255, .08);
    color:#fff;
    cursor:pointer;
    font-size:20px;
    font-weight:800;
    line-height:1;
    transition:
        background-color .22s ease,
        border-color .22s ease,
        transform .22s ease;
}

.footer-back-top:hover,
.footer-back-top:focus-visible{
    border-color:var(--primary-gold);
    background:var(--primary-gold);
    transform:translateY(-2px);
}

.site-footer-bottom{
    margin-top:26px;
    padding-top:16px;
    border-top:1px solid rgba(255, 255, 255, .1);
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
}

.site-footer-bottom p{
    margin:0;
    color:rgba(255, 255, 255, .55);
    font-size:13px;
}

@media (max-width: 980px){
    .site-footer-inner{
        grid-template-columns:repeat(2, minmax(0, 1fr));
        gap:34px 42px;
    }

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

    .footer-brand p{
        max-width:520px;
    }
}

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

    .site-footer-inner{
        grid-template-columns:1fr;
        gap:22px;
        align-items:start;
    }

    .footer-links{
        display:grid;
        grid-template-columns:repeat(2, minmax(0, 1fr));
        gap:12px 18px;
        justify-content:flex-start;
    }

    .footer-brand p{
        max-width:none;
    }

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

    .footer-actions{
        justify-content:flex-start;
    }
}

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