body {
    font-family: sans-serif;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100vh;
    margin: 0;
    background-color: #0E0E0E;
    color: white;
}

.container {
    text-align: center;
    padding: 0 20px; /* Add some padding for smaller screens */
}

.teaser-image {
    max-width: 256px;
    height: auto;
    margin-bottom: 20px;
}

#email-form {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
}

#email-input {
    padding: 10px;
    border: 1px solid #ccc;
    border-radius: 5px;
    background-color: #333;
    color: white;
}

button {
    padding: 10px 20px;
    border: none;
    background-color: #007bff;
    color: white;
    border-radius: 5px;
    cursor: pointer;
}

.error-message {
    color: red;
    margin-top: 10px;
}

@media (max-width: 600px) {
    body {
        align-items: flex-start; /* Align content to the top on mobile */
    }

    #email-form {
        flex-direction: column;
        align-items: stretch; /* Make items fill the width */
    }

    #email-input {
        width: 100%;
        box-sizing: border-box; /* Include padding and border in the element's total width */
    }

    button {
        margin-top: 10px;
        width: 100%;
    }
}
