* {
    box-sizing: border-box;
}

html,
body {
    margin: 0;
    padding: 0;
    min-height: 100%;
}

body {
    min-height: 100vh;

    /* Repeating background */
    background-color: #0d0d0d;
    background-image: url("bg.png");
    background-repeat: repeat;

    color: white;
    font-family: Arial, Helvetica, sans-serif;

    /* Center everything */
    display: flex;
    justify-content: center;
    align-items: center;
}

/* Main container */

.container {
    text-align: center;
    padding: 40px;
}

/* Logo */

.logo {
    display: block;

    width: 700px;
    max-width: 95%;
    height: auto;

    margin: 0 auto 45px auto;
}

/* Button container */

.buttons {
    display: flex;
    flex-direction: column;

    justify-content: center;
    align-items: center;

    gap: 15px;
}

/* Image buttons */

.image-button {
    display: block;

    text-decoration: none;
    line-height: 0;
}

/* Button images */

.image-button img {
    display: block;

    width: 300px;
    max-width: 80vw;
    height: auto;
}

/* About */

.image-button:nth-child(1) img {
    content: url("about1.png");
}

.image-button:nth-child(1):hover img {
    content: url("about2.png");
}

/* Models */

.image-button:nth-child(2) img {
    content: url("models1.png");
}

.image-button:nth-child(2):hover img {
    content: url("models2.png");
}

/* Maps */

.image-button:nth-child(3) img {
    content: url("maps1.png");
}

.image-button:nth-child(3):hover img {
    content: url("maps2.png");
}

/* Mobile */

@media (max-width: 600px) {

    .container {
        padding: 25px;
    }

    .logo {
        width: 450px;
        max-width: 95%;
        margin-bottom: 30px;
    }

    .buttons {
        gap: 10px;
    }

    .image-button img {
        width: 250px;
        max-width: 80vw;
    }
}


The logo is now 700px wide, but max-width: 95% prevents it from overflowing smaller screens.