* { 
    margin: 0;
    padding: 0; 
    box-sizing: border-box; 
    -webkit-tap-highlight-color: transparent; }

    html {
        scroll-behavior: smooth;
    }

    body {
        font-family: 'Cormorant Garamond', serif;
        overflow: hidden;
        color: #fff;
        background: #000;
        text-align: center;
        width: 100vw;
        height: 100vh;
        margin: 0;
        padding: 0;
        touch-action: manipulation;
    }
    
    body.splash-active {
        overflow: hidden;
        position: fixed;
        width: 100%;
        height: 100%;
    }

    /* ===== VIDEO BACKGROUND ===== */
    #video-background {
        position: fixed;
        top: 0;
        left: 0;
        width: 100vw;
        height: 100vh;
        object-fit: cover;
        z-index: -2;
    }
    
    body.loading #video-background,
    body.loading .overlay {
        display: none;
    }

    .overlay {
        position: fixed;
        top: 0; left: 0;
        width: 100%; height: 100%;
        background: rgba(0,0,0,0.55);
        z-index: -1;
    }

    /* ===== PAGE SYSTEM ===== */
    .page {
        scroll-snap-align: start;
        position: relative; /* Ubah dari fixed */
        width: 100%;
        min-height: 100vh; /* Ubah dari height: 100% */
        margin: 0;
        display: flex;
        justify-content: center;
        align-items: center;
        padding: 20px 15px;
        opacity: 1; /* Ubah dari 0 */
        visibility: visible; /* Ubah dari hidden */
        z-index: 10;
    }
    
    /* ===== LOADING SCREEN ===== */
    #loading-screen {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-image: 
        linear-gradient(135deg, rgba(41, 41, 41, 0.7) 0%, rgba(41, 41, 41, 0.7) 100%),
        url('../background-splash.png');
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;
        display: flex;
        justify-content: center;
        align-items: center;
        z-index: 99999;
        transition: opacity 0.5s ease, visibility 0.5s ease;
    }
    
    #loading-screen.hidden {
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
    }
    
    .loading-content {
        text-align: center;
        padding: 20px;
    }
    
    .loading-logo {
        margin-bottom: 20px;
        animation: fadeInScale 1s ease-out;
    }
    
    .loading-logo img {
        filter: drop-shadow(0 4px 8px rgba(0,0,0,0.1));
    }
    
    .loading-names {
        font-family: "Zeyada", cursive;
        font-size: clamp(28px, 6vw, 36px);
        color: #ffffff;
        margin-bottom: 30px;
        animation: fadeInUp 1s ease-out 0.2s both;
    }
    
    .loading-progress-container {
        width: clamp(200px, 60vw, 300px);
        height: 6px;
        background: rgba(138, 136, 137, 0.2);
        border-radius: 10px;
        overflow: hidden;
        margin: 0 auto 15px;
        animation: fadeInUp 1s ease-out 0.4s both;
    }
    
    .loading-progress-bar {
        height: 100%;
        background: linear-gradient(90deg, #292424, #faf5f5);
        border-radius: 10px;
        width: 0%;
        transition: width 0.3s ease;
        box-shadow: 0 0 10px rgba(255, 255, 255, 0.5);
    }
    
    .loading-text {
        font-family: "Poiret One", sans-serif;
        font-size: clamp(12px, 3vw, 14px);
        color: #ffffff;
        letter-spacing: 2px;
        animation: fadeInUp 1s ease-out 0.6s both;
    }
    
    @keyframes fadeInScale {
        from {
            opacity: 0;
            transform: scale(0.8);
        }
        to {
            opacity: 1;
            transform: scale(1);
        }
    }
    
    @keyframes fadeInUp {
        from {
            opacity: 0;
            transform: translateY(20px);
        }
        to {
            opacity: 1;
            transform: translateY(0);
        }
    }
    
    /* Container untuk pages yang bisa scroll */
    #app-container {
        scroll-snap-type: y mandatory;
        opacity: 0;
        transition: opacity 0.5s ease;
        overflow-y: auto; /* Tambahkan ini */
        height: 100vh; /* Tambahkan ini */
    }
    
    #app-container.loaded {
        opacity: 1;
    }