body { 
    font-family: 'Inter', sans-serif; 
    letter-spacing: -0.01em;
}
.glass-nav { 
    background: rgba(255, 255, 255, 0.95); 
    backdrop-filter: blur(12px); 
}
.dark .glass-nav {
    background: rgba(15, 23, 42, 0.95);
}
 
/* Layout Utama - Proporsi Kanan Kiri Pas & Scannable */
.main-container {
    max-width: 1240px;
    margin: 0 auto;
    padding: 0 2.5rem;
    width: 100%;
}
 
.premium-card {
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}
.premium-card:hover {
    transform: translateY(-6px);
}
 
/* Kunci Posisi Scroll Tepat di Batas Atas Layout */
section, header {
    scroll-margin-top: 73px; 
}
 
/* TAMPILAN UNTUK DESTOP */
@media (min-width: 769px) {
    #nav-menu-destop {
        display: flex !important;
    }
    .menu-mobile-header {
        display: none !important;
    }
}
 
/* TAMPILAN DRAWER MOBILE - FIX BACKGROUND MEMANJANG PENUH */
@media (max-width: 768px) {
    #nav-menu-mobile {
        display: flex !important;
        flex-direction: column;
        align-items: stretch;
        position: fixed;
        top: 0;
        left: -100%; /* Sembunyikan di kiri luar layar */
        width: 280px; 
        height: 100% !important;
        min-height: 100vh !important;
        padding: 2rem 1.5rem;
        gap: 8px; 
        box-shadow: 4px 0 25px rgba(0,0,0,0.2);
        z-index: 10000 !important; /* Tingkat kasta tertinggi mutlak */
        transition: left 0.3s cubic-bezier(0.4, 0, 0.2, 1);
        background-color: #ffffff !important;
    }
    .dark #nav-menu-mobile {
        background-color: #0f172a !important;
        box-shadow: 4px 0 25px rgba(0,0,0,0.5);
    }
    #nav-menu-mobile.active { 
        left: 0 !important; /* Geser masuk mulus */
    }
    #hamburger {
        display: block !important; 
    }
    
    #nav-menu-mobile a {
        margin-left: 0 !important;
        width: 100%;
        display: block;
        text-align: left; 
        padding: 0.75rem 1rem;
        border-radius: 0.75rem;
        color: #334155 !important;
    }
    #nav-menu-mobile a#mobile-btn-analisis {
        color: #ffffff !important;
    }
    .dark #nav-menu-mobile a {
        color: #cbd5e1 !important;
    }
    #nav-menu-mobile a:hover {
        background-color: rgba(99, 102, 241, 0.08);
        color: #4f46e5 !important;
    }
    .dark #nav-menu-mobile a:hover {
        background-color: rgba(99, 102, 241, 0.15);
        color: #818cf8 !important;
    }
    
    /* FIX WARNA TEKS TOMBOL MOBILE SAAT WHITE MODE */
    #mobile-btn-analisis {
        margin-top: 16px;
        background-color: #4f46e5 !important;
        color: #ffffff !important; /* Paksa teks berwarna putih bersih */
        text-align: center !important;
    }
    #mobile-btn-analisis:hover {
        background-color: #4338ca !important;
    }
    
    .responsive-flex {
        flex-direction: column !important; 
        gap: 2.5rem !important; 
    }
    .responsive-width { 
        width: 100% !important; 
    }
    .layout-frame {
        min-height: auto !important; 
        padding-top: 5rem !important; 
        padding-bottom: 5rem !important;
    }
}
 
/* Efek Grid Halus Terisolasi Sesuai Referensi Geotoko */
.spatial-grid {
    background-image: 
        radial-gradient(circle at 80% 20%, rgba(99, 102, 241, 0.15), transparent 50%),
        radial-gradient(circle at 15% 70%, rgba(139, 92, 246, 0.08), transparent 45%),
        linear-gradient(to right, rgba(99, 102, 241, 0.05) 1px, transparent 1px),
        linear-gradient(to bottom, rgba(99, 102, 241, 0.05) 1px, transparent 1px);
    background-size: 100% 100%, 100% 100%, 44px 44px, 44px 44px;
}
.dark .spatial-grid {
    background-image: 
        radial-gradient(circle at 80% 20%, rgba(99, 102, 241, 0.18), transparent 50%),
        radial-gradient(circle at 15% 70%, rgba(139, 92, 246, 0.05), transparent 45%),
        linear-gradient(to right, rgba(255, 255, 255, 0.02) 1px, transparent 1px),
        linear-gradient(to bottom, rgba(255, 255, 255, 0.02) 1px, transparent 1px);
}
 
.layout-frame {
    min-height: calc(100vh - 73px);
    display: flex;
    flex-direction: column;
    justify-content: center;
}
 
/* Latar belakang redup mobile */
#nav-overlay {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, 0.5); 
    z-index: 9990 !important;
}
#nav-overlay.active { 
    display: block; 
}