@media (max-width: 768px) {
    .menu-toggle {
        display: inline-block;
        margin-left: auto;
        position: relative;
        z-index: 1100;
    }

    .site-menu {
        position: fixed;
        right: 0;
        top: 0;
        height: 100svh;
        width: min(82vw, 320px);
        background: rgba(0, 0, 0, 0.92);
        backdrop-filter: blur(16px);
        -webkit-backdrop-filter: blur(16px);
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: flex-start;
        gap: 0.75rem;
        padding: 5.5rem 1.25rem 1.25rem;
        box-shadow: -14px 0 32px rgba(0, 0, 0, 0.4);
        z-index: 1000;
        opacity: 0;
        visibility: hidden;
        transform: translateX(100%);
        pointer-events: none;
        transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s ease;
    }

    .site-menu a {
        width: 100%;
        padding: 0.7rem 0;
        font-size: 1.05rem;
        border-bottom: 1px solid rgba(255, 255, 255, 0.1);
        color: rgba(255, 255, 255, 0.8);
    }

    .site-menu.is-open {
        opacity: 1;
        visibility: visible;
        transform: translateX(0);
        pointer-events: auto;
    }

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

    .footer-social {
        width: 100%;
    }
}
