:root{
    --bg1:#0f172a;
    --bg2:#1e293b;
    --accent:#38bdf8;
    --text:#e2e8f0;
}

*{
    box-sizing:border-box;
}

body{
    margin:0;
    font-family: system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, sans-serif;
    color:var(--text);
    background:linear-gradient(160deg,var(--bg1),var(--bg2));
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:100vh;
    text-align:center;
    overflow:hidden;
}

.container{
    max-width:700px;
    padding:60px 30px;
    position:relative;
    z-index:2;
}

.logo{
    max-width:190px;
    margin-bottom:30px;
}

h1{
    font-size:2.7rem;
    margin-bottom:10px;
    letter-spacing:.5px;
    white-space: nowrap; /* prevents wrapping */
}

.tagline{
    font-size:1.25rem;
    opacity:.9;
    margin-bottom:30px;
}

.notice{
    opacity:.8;
    margin-bottom:28px;
}

.contact a{
    color:var(--accent);
    text-decoration:none;
    font-weight:500;
}

.contact a:hover{
    text-decoration:underline;
}

footer{
    margin-top:45px;
    font-size:.9rem;
    opacity:.6;
}

/* glow animation */
.glow{
    position:absolute;
    width:700px;
    height:700px;
    background:radial-gradient(circle,rgba(56,189,248,.15),transparent 60%);
    top:-250px;
    right:-250px;
    filter:blur(70px);
    animation: pulseGlow 6s ease-in-out infinite;
}

/* mountain parallax animation */
.mountains{
    position:absolute;
    bottom:0;
    width:100%;
    opacity:.18;
    animation: floatMountains 12s ease-in-out infinite alternate;
}

@keyframes pulseGlow{
    0%, 100% { transform: scale(1); opacity:0.15; }
    50% { transform: scale(1.05); opacity:0.25; }
}

@keyframes floatMountains{
    0% { transform: translateY(0px); }
    50% { transform: translateY(-5px); }
    100% { transform: translateY(0px); }
}

@media (max-width:600px){
    h1{
        font-size:1.9rem; /* smaller on mobile to fit */
    }

    .tagline{
        font-size:1.05rem;
    }
}
