/* Shared by the home page and the online menu. The unit follows the home scale
   independently of each page's root font size. */
.site-footer {
    --footer-unit: min(.8333333333vw, 16px);
    position: relative;
    max-width: calc(120 * var(--footer-unit));
    height: calc(59.8125 * var(--footer-unit));
    margin-inline: auto;
    overflow: clip;
    color: var(--cream);
    padding-top: calc(17.4375 * var(--footer-unit));
    isolation: isolate;
    background: linear-gradient(transparent 0 29%, var(--wine) 29%);
    font-family: "Montserrat", sans-serif;
}
.site-footer::before {
    position: absolute;
    z-index: -1;
    top: 0;
    left: -4.6%;
    width: 108.1%;
    height: calc(50.93 * var(--footer-unit));
    content: "";
    background: url("images/splash-footer.svg") center/100% 100% no-repeat;
    transform: rotate(180deg);
}
.footer-container {
    width: calc(107.375 * var(--footer-unit));
    max-width: calc(100% - 12.625 * var(--footer-unit));
    margin-inline: auto;
}
.footer-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: calc(6.5 * var(--footer-unit));
    font-size: calc(1.2 * var(--footer-unit));
    line-height: 1.55;
}
.footer-grid > div:first-child { margin-top: calc(-2.5 * var(--footer-unit)); }
.footer-grid > div:first-child img { width: calc(10.0625 * var(--footer-unit)); height: calc(9.874 * var(--footer-unit)); object-fit: contain; }
.footer-grid > div:first-child p { width: calc(21.125 * var(--footer-unit)); }
.footer-grid h2 { font: 400 calc(2.2 * var(--footer-unit))/1.2 "Bebas Neue", sans-serif; margin-bottom: calc(.5 * var(--footer-unit)); }
.footer-grid a { display: block; overflow-wrap: anywhere; }
.footer-grid strong { display: block; margin-top: calc(1.5 * var(--footer-unit)); font-size: calc(1.2 * var(--footer-unit)); }
.footer-social { display: flex; gap: calc(1.1875 * var(--footer-unit)); margin-top: var(--footer-unit); }
.footer-social a { display: grid; place-items: center; width: calc(1.8 * var(--footer-unit)); height: calc(1.8 * var(--footer-unit)); }
.footer-social img { width: calc(1.7 * var(--footer-unit)); height: calc(1.7 * var(--footer-unit)); object-fit: contain; }
.footer-social a:first-child img { width: calc(1.87 * var(--footer-unit)); height: calc(1.87 * var(--footer-unit)); }
.footer-brand { position: absolute; bottom: calc(-1.5 * var(--footer-unit)); left: calc(-1.3125 * var(--footer-unit)); color: var(--gold); opacity: .1; font: 400 calc(24.504 * var(--footer-unit))/1.2 "Bebas Neue", sans-serif; white-space: nowrap; pointer-events: none; }
.copyright { position: absolute; bottom: calc(3.1 * var(--footer-unit)); left: 0; right: 0; text-align: center; font-size: calc(1.35 * var(--footer-unit)); line-height: 1.2; }

@media (max-width: 900px) {
    .site-footer { --footer-unit: 16px; height: auto; min-height: 576px; padding: 96px 0 48px; }
    .site-footer::before { height: 288px; }
    .footer-container { width: calc(100% - 48px); max-width: none; }
    .footer-grid { grid-template-columns: 1fr 1fr; gap: 40px; font-size: 13.6px; line-height: 1.6; }
    .footer-grid > div:first-child { margin: 0; }
    .footer-grid > div:first-child img { width: 112px; height: 112px; }
    .footer-grid > div:first-child p { width: auto; }
    .footer-grid h2 { font-size: 28.8px; margin-bottom: 8px; }
    .footer-grid strong { font-size: 13.6px; }
    .footer-brand { position: relative; bottom: auto; left: 0; font-size: 20vw; margin-top: 32px; }
    .copyright { position: relative; bottom: auto; margin-top: -16px; padding-inline: 16px; font-size: 12px; line-height: 1.5; }
}
@media (max-width: 600px) {
    .footer-grid { grid-template-columns: 1fr 1fr; gap: 32px 24px; }
    .footer-grid > div:first-child { grid-column: 1/-1; max-width: 368px; }
    .footer-grid > div:last-child { grid-column: 1/-1; }
    .footer-grid a { font-size: 12.48px; }
}
