/* CSS Dasar untuk Fullscreen */
html, body {
    height: 100%; 
    margin: 0; padding: 0;
    overflow: hidden; 
    font-family: 'Arial', sans-serif;
    background-color: #000;
}

/* ------------------------------------- */
/* KEYFRAMES ANIMASI UTAMA */
/* ------------------------------------- */

@keyframes fall { 0% { top: -100px; } 100% { top: 100vh; } }
@keyframes sway { 0% { transform: translateX(0); } 50% { transform: translateX(50px); } 100% { transform: translateX(0); } }

@keyframes flameMove {
    0% { transform: scaleX(1) translateX(0); } 50% { transform: scaleX(1.1) translateX(10%); }
    100% { transform: scaleX(0.9) translateX(-10%); }
}
@keyframes flameHeight { 0% { height: 90%; } 100% { height: 100%; } }

/* Api Tambahan di Bawah (BERGELOMBANG) */
@keyframes bottomFlameMove {
    0% { transform: translateX(-50%) scaleX(1) scaleY(1) skewX(0deg); }
    25% { transform: translateX(-53%) scaleX(1.05) scaleY(0.97) skewX(5deg); } 
    50% { transform: translateX(-50%) scaleX(1) scaleY(1.03) skewX(0deg); }
    75% { transform: translateX(-47%) scaleX(0.95) scaleY(0.97) skewX(-5deg); } 
    100% { transform: translateX(-50%) scaleX(1) scaleY(1) skewX(0deg); }
}
@keyframes bottomFlameHeight { 0% { height: 75%; } 25% { height: 50%; } 50% { height: 85%; } 75% { height: 100%; } 100% { height: 75%; } }

@keyframes pulseGlow {
    0% { text-shadow: 0 0 10px #FF4500, 0 0 20px #FFA500; }
    50% { text-shadow: 0 0 15px #FF8C00, 0 0 30px #FFD700; }
    100% { text-shadow: 0 0 10px #FF4500, 0 0 20px #FFA500; }
}
@keyframes fadeIn {
    from { opacity: 0; transform: translateY(20px); }
    to { opacity: 1; transform: translateY(0); }
}

/* ------------------------------------- */
/* LAPISAN & CONTAINER (Z-INDEX) */
/* ------------------------------------- */

.content-overlay {
    position: absolute; top: 0; left: 0; width: 100vw; height: 100vh;
    display: flex; align-items: center; justify-content: center;
    z-index: 10; text-align: center;
    overflow: hidden;
}

.snow-container {
    position: absolute; top: 0; left: 0; width: 100%; height: 100%;
    pointer-events: none; z-index: 5; 
    overflow: hidden;
}

.fire-container {
    position: absolute; bottom: 0; left: 0; width: 100%; height: 100%;
    z-index: 2; 
    mask-image: radial-gradient(ellipse at 50% 100%, black 0%, transparent 80%);
    -webkit-mask-image: radial-gradient(ellipse at 50% 100%, black 0%, transparent 80%);
    overflow: hidden;
}

.bottom-flame-container {
    position: absolute; bottom: 0; left: 0; width: 100%; height: 100px;
    overflow: hidden; z-index: 1; 
}


/* ------------------------------------- */
/* GAYA ELEMEN */
/* ------------------------------------- */

/* Gaya Salju (Tidak Berubah) */
.snow {
    position: absolute; background: #fff; border-radius: 50%;
    animation-name: fall, sway; animation-timing-function: linear, ease-in-out;
    animation-iteration-count: infinite;
}
.snow-tiny { width: 1px; height: 1px; opacity: 0.7; animation-duration: 15s, 5s; animation-delay: 0s, 0s; }
.snow-medium { width: 2px; height: 2px; opacity: 0.8; animation-duration: 20s, 7s; animation-delay: 3s, 2s; }
.snow-large { width: 3px; height: 3px; opacity: 0.9; animation-duration: 25s, 9s; animation-delay: 5s, 4s; }

/* Gaya Api (Tidak Berubah) */
.flame {
    position: absolute; bottom: 0; left: -100%; width: 300%; height: 100%;
    background: linear-gradient(
        rgba(255, 255, 0, 0.5), rgba(255, 165, 0, 0.8), rgba(255, 69, 0, 0.9), #8B0000 
    );
    border-radius: 50% 50% 0 0; 
    animation: flameMove 10s ease-in-out infinite alternate, flameHeight 5s ease-in-out infinite alternate;
}
.bottom-flame {
    position: absolute; bottom: -50px; left: 50%; width: 200%; 
    background: radial-gradient(circle at 50% 100%, 
        rgba(255, 255, 0, 0.7), rgba(255, 140, 0, 0.8), rgba(255, 69, 0, 0.9), #8B0000 70%, transparent 100%       
    );
    border-radius: 50% 50% 0 0;
    animation: bottomFlameMove 8s ease-in-out infinite alternate, bottomFlameHeight 4s ease-in-out infinite alternate;
    filter: blur(10px); 
}


/* Gaya Konten */
.welcome-card {
    background-color: rgba(0, 0, 0, 0.5); 
    padding: 40px 50px; 
    border-radius: 10px;
    box-shadow: 0 0 30px 5px rgba(255, 100, 0, 0.5);
    max-width: 600px;
    width: 90vw; /* Menggunakan VW agar lebih responsif */
    animation: fadeIn 2s ease-out;
}
h1 {
    color: #FFD700; font-weight: bold; 
    font-size: 3.5rem; /* Menggunakan REM untuk font */
    margin-bottom: 20px; 
    text-shadow: 0 0 10px #FF4500, 0 0 20px #FFA500;
    animation: pulseGlow 4s infinite alternate;
}
.welcome-image {
    max-width: 200px; width: 80%; height: auto;
    border-radius: 8px; opacity: 0.9;
    animation: fadeIn 3s ease-out; 
    margin-top: 10px; margin-bottom: 5px; border: 2px solid #FF8C00; 
}
.fire-icon {
    color: #FF8C00; 
    font-size: 2.5rem; 
    margin-bottom: 15px;
}
.contact-info {
    color: #FFFAFA; 
    font-size: 0.9rem; /* Menggunakan REM untuk font */
    margin-top: 15px;
    line-height: 1.8;
}
.contact-info i {
    color: #FFD700; 
    margin-right: 8px;
}

/* ------------------------------------- */
/* MEDIA QUERIES (PERBAIKAN RESPONSIF) */
/* ------------------------------------- */
@media (max-width: 600px) {
    .welcome-card {
        padding: 1.5rem; /* Menggunakan REM (sekitar 24px) */
        max-width: 95%;
        width: 95vw; /* Pastikan lebar di ponsel tetap dominan */
    }
    h1 {
        font-size: 2rem; /* Ukuran Heading diperkecil lagi */
        margin-bottom: 10px;
    }
    .fire-icon {
        font-size: 2rem; 
        margin-bottom: 10px;
    }
    .contact-info {
        font-size: 0.8rem; /* Font kontak sedikit lebih kecil */
        line-height: 1.6;
    }
    .welcome-image {
        max-width: 120px; /* Ukuran gambar dikecilkan */
        margin-top: 5px;
    }
}