:root {
    /* LUX Theme: Elegant, Minimalistic */
    --mist: #F5F5F7;
    --charcoal: #1D1D1F;
    --card-bg: #1D1D1F;
    --card-text: #FFFFFF;
    --glass-border: rgba(29, 29, 31, 0.08);
    --glass-bg: rgba(255, 255, 255, 0.4);
    --accent: #1D1D1F;
    --menu-line: #1D1D1F;
    --transition: 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}

body.neo-mode {
    /* NEO Theme: Cinematic, Minimalistic (Infinite Void) */
    --mist: #050505;
    --charcoal: #FFFFFF;
    --card-bg: #F5F5F7;
    --card-text: #1D1D1F;
    --glass-border: rgba(255, 255, 255, 0.1);
    --glass-bg: rgba(20, 20, 22, 0.8);
    --accent: #FFFFFF;
    --menu-line: #FFFFFF;
}

/* Header Display Typography System */
h1, .display-bold { font-weight: 900; letter-spacing: -0.05em; }
h2, .display-regular { font-weight: 400; letter-spacing: -0.02em; }
h3, .display-thin { font-weight: 100; letter-spacing: 0.02em; }

body { 
    font-family: 'Inter', sans-serif; 
    background-color: var(--mist); 
    color: var(--charcoal);
    margin: 0;
    overflow-x: hidden;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    transition: background-color var(--transition), color var(--transition);
}

/* Scroll Lock - Optimized for iOS & Android */
body.no-scroll {
    overflow: hidden !important;
    position: fixed !important;
    width: 100% !important;
    height: 100% !important;
}

/* Fluid Mobile Layout - Global Reset */
section, main, .main-content {
    width: 100% !important;
    max-width: 100vw !important;
    overflow-x: hidden !important;
    box-sizing: border-box !important;
}

/* Priority Stacking System - Sharp Menu Focus */
nav { 
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    z-index: 8000 !important; 
    transition: background-color var(--transition), transform 0.4s ease;
}

#drawer-overlay { 
    position: fixed;
    inset: 0;
    z-index: 8500 !important; 
    background: rgba(0, 0, 0, 0.4); 
    backdrop-filter: blur(25px); 
    -webkit-backdrop-filter: blur(25px);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.6s ease, visibility 0.6s;
}

#genesis-drawer { 
    z-index: 9000 !important; 
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    background-color: var(--mist);
    transform: translateX(100%);
    transition: transform 0.7s cubic-bezier(0.16, 1, 0.3, 1);
}

/* --- ALYSSIUN STATE MANAGER --- */
body.menu-open {
    overflow: hidden !important;
}
body.menu-open #drawer-overlay {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}
body.menu-open #genesis-drawer {
    transform: translateX(0);
}

/* Global Fluid Spacing & Type */
.all-caps { 
    text-transform: uppercase; 
    /* Responsive tracking: slightly tighter on mobile for readability */
    letter-spacing: clamp(0.2em, 0.8vw, 0.4em); 
}

/* Responsive Logo Scaling - Sovereign Left Alignment */
.brand-logo { 
    width: 155px; /* Mobile presence */
    height: auto; 
    transition: var(--transition); 
    display: block;
    margin-left: 0;
}

@media (min-width: 768px) {
    .brand-logo {
        width: 215px; /* Desktop command */
    }
}

/* Adjusting the icon for a more powerful presence */
.brand-icon { 
    width: clamp(40px, 8vw, 60px); 
    height: auto; 
    transition: var(--transition); 
}

/* Adaptive Container */
.main-content {
    width: 100%;
    max-width: 1800px;
    margin: 0 auto;
    padding: 0 clamp(15px, 3vw, 40px);
}

/* Dynamic Logo System */
.brand-logo { 
    content: url('https://assets.lozanocorp.com/alyssiun/png/alyssiun-name-000000.png'); 
    transition: var(--transition); 
}
.brand-icon { content: url('https://assets.lozanocorp.com/alyssiun/png/alyssiun-icon-000000.png'); height: 36px; width: auto; transition: var(--transition); }

body.neo-mode .brand-logo { content: url('https://assets.lozanocorp.com/alyssiun/png/alyssiun-name-ffffff.png'); }
body.neo-mode .brand-icon { content: url('https://assets.lozanocorp.com/alyssiun/png/alyssiun-icon-ffffff.png'); }

/* Visual Components */
.kinetic-glass {
    background: var(--glass-bg);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    transition: var(--transition);
    will-change: transform;
}

.aura {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100vw;
    height: 100vw;
    background: radial-gradient(circle, rgba(29, 29, 31, 0.05) 0%, transparent 70%);
    z-index: -1;
    pointer-events: none;
    transition: opacity 1s ease;
}

body.neo-mode .aura { 
    background: radial-gradient(circle, rgba(255, 255, 255, 0.05) 0%, transparent 70%); 
}

/* Page Animations */
.page-fade { 
    animation: fadeIn 1s ease-out forwards; 
}

@keyframes fadeIn { 
    from { opacity: 0; transform: translateY(10px); } 
    to { opacity: 1; transform: translateY(0); } 
}

/* Kinetic Interactions */
#menu-close:hover {
    transform: scale(1.1);
}
#menu-close:active {
    transform: scale(0.9);
}