.site-footer{
    padding:54px 0 24px;
    background:#fffaf7;
    border-top:1px solid var(--line);
}

.footer-grid{
    display:grid;
    grid-template-columns:1.25fr .65fr 1fr 1fr;
    gap:clamp(28px,4vw,58px);
    align-items:start;
}

.footer-brand{
    max-width:290px;
}

.footer-logo{
    display:block;
    width:140px;
    height:140px;
    margin:-8px 0 16px;
}

.footer-logo img{
    display:block;
    width:100%;
    height:100%;
    object-fit:contain;
    object-position:left center;
}

.footer-brand p{
    max-width:270px;
    margin:0;
    color:var(--muted);
    font-size:14px;
    line-height:1.65;
}

.footer-col h4{
    margin:0 0 18px;
    color:var(--wine);
    font-size:12px;
    line-height:1;
    font-weight:700;
    letter-spacing:.1em;
    text-transform:uppercase;
}

.footer-col > a,
.footer-nav a{
    display:block;
    width:max-content;
    max-width:100%;
    margin:9px 0;
    color:#66555a;
    font-size:14px;
    line-height:1.4;
    text-decoration:none;
    transition:color .2s ease;
}

.footer-col > a:hover,
.footer-nav a:hover{
    color:#c86f82;
}

.footer-location + .footer-location{
    margin-top:20px;
}

.footer-location strong{
    display:block;
    margin:0 0 5px;
    color:#58464b;
    font-family:var(--serif);
    font-size:19px;
    line-height:1.15;
    font-weight:600;
}

.footer-location p{
    margin:0;
    color:var(--muted);
    font-size:13px;
    line-height:1.55;
}

.footer-socials{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:10px;
    margin-top:22px;
}

.footer-socials a{
    width:38px;
    height:38px;
    flex:0 0 38px;
    display:grid;
    place-items:center;
    border:1px solid rgba(200,111,130,.34);
    border-radius:50%;
    background:#fff;
    color:#c86f82;
    text-decoration:none;
    transition:background-color .2s ease,border-color .2s ease,color .2s ease;
}

.footer-socials a:hover{
    border-color:#c86f82;
    background:#c86f82;
    color:#fff;
}

.footer-socials svg{
    width:18px;
    height:18px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.7;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.footer-socials a:nth-child(2) svg,
.footer-socials a:nth-child(3) svg,
.footer-socials a:nth-child(4) svg{
    fill:currentColor;
    stroke:none;
}

.footer-bottom{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    margin-top:38px;
    padding-top:22px;
    border-top:1px solid var(--line);
    color:#8a777d;
    font-size:11px;
    line-height:1.5;
}

.footer-legal{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    flex-wrap:wrap;
    gap:10px 20px;
}

.footer-legal a,
.footer-legal button{
    margin:0;
    padding:0;
    border:0;
    background:transparent;
    color:#8a777d;
    cursor:pointer;
    font:inherit;
    line-height:1.5;
    text-decoration:none;
    transition:color .2s ease;
}

.footer-legal a:hover,
.footer-legal button:hover{
    color:#c86f82;
}

@media(max-width:980px){
    .footer-grid{
        grid-template-columns:1.15fr .85fr;
        gap:38px 46px;
    }

    .footer-brand{
        max-width:340px;
    }
}

@media(max-width:620px){
    .site-footer{
        padding:46px 0 22px;
    }

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

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

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

    .footer-bottom{
        align-items:flex-start;
        flex-direction:column;
        gap:14px;
        margin-top:34px;
    }

    .footer-legal{
        justify-content:flex-start;
        gap:9px 16px;
    }
}
