@media (max-width: 1014px) {
    .menu-toggle {
        display: block;
    }

    header nav {
        position: absolute;
        top: 70px;
        left: 0;
        width: 100%;
        background: url("/images/nav.webp") center top / cover no-repeat var(--dark);
        opacity: 0;
        visibility: hidden;
        transition: opacity .3s ease, transform .3s ease, visibility .3s ease;

        &.active {
            opacity: 1;
            visibility: visible;
        }
    }



    .mobile-only {
        display: list-item;
    }

    #main-menu .mobile-logout {
        display: block;
        padding: 0;
        border: 0;
        background: transparent;
        color: var(--white);
        font: inherit;
        text-align: left;
        cursor: pointer;
    }

    .profile-menu {
        display: none;
    }

    body::after {
        content: "";
        position: fixed;
        inset: 0;
        background: rgba(19, 51, 47, .9);
        opacity: 0;
        visibility: hidden;
        transition: opacity .25s ease;
        z-index: 9;
        pointer-events: none;
    }

    body.menu-open::after {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
    }

    #main-menu {
        flex-direction: column;
        padding: 20px 0 20px 40px;
        gap: 0;

        li {
            margin-bottom: 10px;
        }

        a {
            font-size: 16px;
            color: var(--white);
        }
    }

    .companies,
    .blog-posts {
        grid-template-columns: repeat(2, 1fr);
    }

    .categories-index>.category-tree {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .login-container {
        flex-direction: column;
        gap: 20px;
    }

    .company-claim {
        flex-direction: column;

        .icon-intro {
            display: none;
        }
    }

    .profile-section {
        gap: 20px;
    }
}