/* 1. Reset Dasar & Pengaturan Global */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html, body {
    height: 100%;
    width: 100%;
    overflow: hidden; 
}

body {
    background-color: #000000;
    color: #FFFFFF;
    font-family: 'Montserrat', sans-serif;
    text-transform: uppercase;
    
    display: grid;
    grid-template-rows: auto 1fr; 
    height: 100vh;
}

/* 2. Navigasi Atas */
.top-nav {
    display: flex;
    justify-content: center; 
    align-items: center;
    padding: 2rem 0; 
    
    /* === KODE TRANSISI BARU === */
    opacity: 0; /* Mulai dari transparan */
    animation: fadeInSlideUp 0.6s ease-out 0.1s forwards;
    /* Penjelasan:
       fadeInSlideUp: Nama animasi (lihat di bawah)
       0.6s: Durasi animasi
       ease-out: Efek (mulai cepat, akhir lambat)
       0.1s: Tunda 0.1 detik sebelum mulai
       forwards: Tetap di state akhir (opacity: 1)
    */
    /* === AKHIR KODE BARU === */
}

.top-nav nav {
    border: 1px solid rgba(255, 255, 255, 0.5); 
    border-radius: 50px; 
    padding: 0.5rem 0.75rem;
}

.top-nav ul {
    list-style: none; 
    display: flex; 
    gap: 1.5rem; 
}

.top-nav a {
    color: #FFFFFF;
    text-decoration: none; 
    font-size: 0.75rem; 
    font-weight: 200; 
    letter-spacing: 1.5px; 
    padding: 0.25rem 0.5rem;
}

/* 3. Konten Utama (Teks "WELCOME") */
.hero-section {
    display: flex;
    justify-content: center; 
    align-items: center; 
    text-align: center;
    
    /* === KODE TRANSISI BARU === */
    opacity: 0; /* Mulai dari transparan */
    animation: fadeInSlideUp 0.6s ease-out 0.3s forwards;
    /* Tunda 0.3 detik (agar muncul setelah navigasi) */
    /* === AKHIR KODE BARU === */
}

.hero-section h1 {
    font-size: 5vw; 
    line-height: 1.2;
    letter-spacing: 2px;
}

.line-1 {
    display: block; 
    font-weight: 200; 
}

.line-2 {
    display: block; 
    font-weight: 700; 
    position: relative; 
    padding-bottom: 0.75rem; 
    margin-top: 0.5rem;
}

.line-2::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 10%; 
    width: 80%; 
    height: 2px;
    background-color: #FFFFFF;
}

/* 4. Penyesuaian untuk Layar HP (Responsif) */
@media (max-width: 768px) {
    .hero-section h1 {
        font-size: 10vw; 
    }

    .top-nav ul {
        gap: 0.5rem; 
    }

    .top-nav a {
        font-size: 0.7rem; 
        padding: 0.25rem;
    }
}

/* ===============================================
   KODE UNTUK HALAMAN KONTAK 
===============================================
*/

.contact-content {
    align-items: center;
    justify-content: flex-end; 
    text-align: right; 
    padding-right: 15vw; 
}

.contact-content .line-1 {
    font-size: 3vw;
}

.contact-content .line-2 {
    font-size: 4vw;
}

.contact-content .line-2::after {
    display: none;
}

.contact-content p {
    font-size: 1rem;
    font-weight: 200;
    letter-spacing: 0.5px;
    margin-top: 1rem;
}

/* Penyesuaian Halaman Kontak di HP */
@media (max-width: 768px) {
    .contact-content {
        justify-content: center; 
        text-align: center;
        padding-right: 0; 
    }
    .contact-content .line-1 {
        font-size: 8vw;
    }
    .contact-content .line-2 {
        font-size: 10vw;
    }
    .contact-content p {
        font-size: 0.9rem;
    }
}

/* ===============================================
   KODE BARU: DEFINISI ANIMASI FADE-IN-SLIDE-UP
===============================================
*/
@keyframes fadeInSlideUp {
    from {
        opacity: 0;
        transform: translateY(20px); /* Mulai 20px dari bawah */
    }
    to {
        opacity: 1;
        transform: translateY(0); /* Selesai di posisi normal */
    }
}