/* ===== Global Layout ===== */

.page {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

body {
    margin: 0;
    padding: 0;
    min-height: 100vh;

    display: flex;
    flex-direction: column;
    align-items: center;

    background: url('/static/comingsoon/background.jpg') center/cover no-repeat fixed;
    font-family: Arial, Helvetica, sans-serif;
    color: #333;
}

body::before {
    content: "";
    position: fixed;
    inset: 0;
    background: rgba(255, 255, 255, 0.65); /* soft white wash */
    backdrop-filter: blur(2px);            /* subtle blur */
    z-index: -1;
}

/* Top stays at the top naturally */
.top-block {
    margin-top: 40px; /* adjust to taste */
    text-align: center;
}

/* Middle centers vertically in remaining space */

.center-block {
    flex: 1; /* take up all remaining vertical space */
    display: flex;
    flex-direction: column;
    justify-content: center; /* vertical centering */
    align-items: center;     /* horizontal centering */
    width: 100%;

    /*transform: translateY(-40px); /* move the whole block UP */
}



/* Optional background image support */
/*
body {
    background: url('/static/comingsoon/background.jpg') center/cover no-repeat fixed;
}

body::before {
    content: "";
    position: fixed;
    inset: 0;
    background: rgba(255, 255, 255, 0.65);
    backdrop-filter: blur(2px);
    z-index: -1;
}
*/

/* ===== Logo Styling ===== */

.logo {
    width: 300px;
    max-width: 80%;
    filter: drop-shadow(0 4px 8px rgba(0,0,0,0.2));
    animation: fadeIn 1.2s ease-out;
    margin-top: -200px;
}

/* ===== Typography ===== */

.headline {
    font-size: 2.5rem;
    margin-top: 20px;
    letter-spacing: 1px;
    font-weight: bold;
    text-align: center;
    animation: fadeIn 1.4s ease-out;
}

.tagline {
    font-size: 1.2rem;
    margin-top: 10px;
    color: #666;
    text-align: center;
    animation: fadeIn 1.6s ease-out;
}

/* ===== Footer ===== */

.footer {
    margin-bottom: 20px;
    font-size: 0.9rem;
    color: #888;
    text-align: center;
    animation: fadeIn 2s ease-out;
}


/* ===== Animations ===== */

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Large title at the top */
.title {
    font-size: 3.2rem;
    font-weight: bold;
    margin-bottom: 5px;
    letter-spacing: 1.5px;
    text-align: center;
    animation: fadeIn 1s ease-out;
}

/* Subtitle under the title */
.subtitle {
    font-size: 1.6rem;
    color: #555;
    margin-top: 0;
    margin-bottom: 0px;
    text-align: center;
    animation: fadeIn 1.2s ease-out;
}
