/* Responsive base helpers */
*, *::before, *::after {
    box-sizing: border-box;
}

html, body {
    height: 100%;
}

body {
    font-family: Arial, sans-serif;
    margin: 0;
    padding: 0 1rem;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    background-image: linear-gradient(135deg, #000000 0%, #0d182c 100%);
    color: #fffefe;
}

#logo {
    font-size: 2em;
    font-weight: bold;
    margin-top: clamp(20px, 5vh, 50px);
}

img {
    width: 90vw;
    max-width: 600px;
    height: auto;
    display: block;
}

#message {
    font-size: clamp(1.5rem, 5vw, 3em);
    text-align: center;
    margin: 0;
}

#contact {
    text-align: center;
    margin-bottom: clamp(20px, 5vh, 50px);
}

#contact p {
    margin: 5px 0;
    font-size: clamp(0.95rem, 2.5vw, 1.2em);
}

#contact i {
    margin-right: 10px;
    color: #00ADEE;
}

/* Small tweaks for narrow screens */
@media (max-width: 420px) {
    body {
        padding: 0 0.75rem;
    }

    #logo {
        font-size: 1.6em;
    }

    #message {
        font-size: clamp(1.4rem, 6.5vw, 2.2rem);
    }

    #contact p {
        font-size: 0.95rem;
    }
}

/* Optional: keep typography roomy on very large screens */
@media (min-width: 1400px) {
    img {
        max-width: 700px;
    }
}
