/* Shared footer, isolated from the older per-page footer rules. */
.site-footer {
    box-sizing: border-box;
    padding: 48px 0 40px;
    margin: 0;
    width: 100%;
    background: var(--mq-navy);
    border-top: 1px solid var(--mq-line);
    text-align: left;
    font: 400 15px/1.5 "Bricolage Grotesque", sans-serif;
    color: var(--mq-muted);
}
.site-footer *, .site-footer *::before, .site-footer *::after { box-sizing: border-box; }
.site-footer-inner { max-width: 1200px; margin: 0 auto; padding: 0 32px; }
.site-footer-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 24px; }
.site-footer .footer-logo { flex: none; text-decoration: none; }
.site-footer-nav { display: flex; flex-wrap: wrap; gap: 16px 20px; }
.site-footer a { color: var(--mq-muted); text-decoration: none; }
.site-footer a:hover { color: var(--mq-text); }
.site-footer a:focus-visible { outline: 2px solid var(--mq-gold); outline-offset: 5px; border-radius: 3px; }
.site-footer-link { position: relative; padding-bottom: 4px; }
.site-footer-link[aria-current] { color: var(--mq-text); }
.site-footer-link[aria-current]::after { content: ""; position: absolute; bottom: 0; left: 0; right: 0; height: 2px; background: var(--mq-gold); }
.site-footer-app { display: flex; gap: 24px; margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--mq-line); }
.site-footer-app a { color: var(--mq-text); }
.site-footer-bottom { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 24px; margin-top: 28px; }
.site-footer-copyright { margin: 0; font-size: 14px; }
.site-footer-socials { display: flex; flex-wrap: wrap; gap: 10px; }
.site-footer-socials a { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 50%; border: 1px solid var(--mq-line); }
.site-footer-socials a:hover { border-color: var(--mq-blue); }
.site-footer-socials svg { display: block; width: 18px; height: 18px; fill: currentColor; }
@media (max-width: 768px) {
    .site-footer-inner { padding: 0 24px; }
    .site-footer-top, .site-footer-bottom { flex-direction: column; align-items: flex-start; }
    .site-footer-nav { gap: 14px 20px; }
}
.navbar .nav-watch-mobile { display: none; }
@media (max-width: 520px) {
    .navbar .nav-watch-mobile { display: block; }
}
