:root {
    /* --- The Cinematic Palette --- */
    --noir: #030303;
    --gold: #D4AF37;
    --gold-mute: rgba(212, 175, 55, 0.4);
    --ghost: #F8F8F8;
    --smoke: #252525;
    
    /* --- Fluid Typography (Editorial) --- */
    --font-primary: 'Plus Jakarta Sans', sans-serif;
    --font-heading: 'Playfair Display', serif;
    --font-mono: 'Space Grotesk', sans-serif;
    
    --type-display: clamp(3.5rem, 12vw, 10rem);
    --type-heading: clamp(2rem, 6vw, 5rem);
    --type-sub: clamp(0.7rem, 2vw, 0.9rem);
    
    /* --- Modern Gauges --- */
    --radius-lg: 20px;
    --glass: blur(25px) saturate(180%);
    --shadow-lux: 0 40px 100px rgba(0,0,0,0.8);
    --transition-lux: 1.5s cubic-bezier(0.23, 1, 0.32, 1);
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    -webkit-font-smoothing: antialiased;
}

body {
    background: var(--noir);
    color: var(--ghost);
    font-family: var(--font-primary);
    overflow-x: hidden;
    line-height: 1.5;
}

/* --- Atmospheric Overlays --- */
.aura-overlay {
    position: fixed;
    top: 0; left: 0; width: 100%; height: 100%;
    pointer-events: none;
    z-index: 10000;
}

.film-grain {
    background-image: url('https://upload.wikimedia.org/wikipedia/commons/7/76/1k_Noise_Texture.png');
    opacity: 0.04;
    animation: grain 0.5s steps(10) infinite;
}

@keyframes grain {
    0%, 100% { transform: translate(0,0); }
    10% { transform: translate(-1%,-1%); }
    30% { transform: translate(1%,1%); }
    50% { transform: translate(-2%,1%); }
}

.vignette {
    background: radial-gradient(circle, transparent 20%, rgba(0,0,0,0.8) 100%);
}

/* --- Navigation --- */
.zenith-nav {
    position: fixed;
    top: 30px;
    left: 50%;
    transform: translateX(-50%);
    width: 90%;
    max-width: 1400px;
    height: 80px;
    background: rgba(10, 10, 10, 0.4);
    backdrop-filter: var(--glass);
    border: 1px solid rgba(255,255,255,0.05);
    border-radius: 100px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 40px;
    z-index: 50000;
}

.nav-brand-lux {
    font-family: var(--font-mono);
    font-weight: 800;
    letter-spacing: 12px;
    color: var(--gold);
    font-size: 1.2rem;
    text-transform: uppercase;
}

.nav-links-lux {
    display: flex;
    gap: 40px;
}

.nav-links-lux a {
    text-decoration: none;
    color: var(--ghost);
    font-size: 0.7rem;
    letter-spacing: 3px;
    font-weight: 600;
    opacity: 0.4;
    transition: 0.4s;
}

.nav-links-lux a:hover {
    opacity: 1;
    color: var(--gold);
}

/* --- Zenith Hero (Digital Runway) --- */
#zenith-hero {
    height: 100vh;
    display: flex;
    position: relative;
    overflow: hidden;
}

.zenith-panel {
    flex: 1;
    position: relative;
    overflow: hidden;
    cursor: pointer;
    transition: flex 1.2s cubic-bezier(0.23, 1, 0.32, 1);
}

.zenith-panel:hover {
    flex: 1.8;
}

.panel-bg {
    position: absolute;
    top: -10%; left: -10%; width: 120%; height: 120%;
    object-fit: cover;
    filter: brightness(0.4) grayscale(1);
    transition: 2s cubic-bezier(0.23, 1, 0.32, 1);
}

.zenith-panel:hover .panel-bg {
    filter: brightness(0.7) grayscale(0);
    transform: scale(1.1);
}

.panel-info {
    position: absolute;
    top: 0; left: 0; width: 100%; height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 60px;
    z-index: 10;
    text-align: center;
}

.panel-num {
    font-family: var(--font-mono);
    font-size: 0.8rem;
    color: var(--gold);
    letter-spacing: 5px;
    margin-bottom: 20px;
    opacity: 0.8;
}

.panel-title {
    font-family: var(--font-heading);
    font-size: var(--type-display);
    line-height: 0.8;
    margin-bottom: 30px;
    text-transform: uppercase;
}

.panel-tagline {
    font-size: 0.7rem;
    letter-spacing: 8px;
    opacity: 0.5;
    text-transform: uppercase;
}

.reveal-btn {
    margin-top: 50px;
    background: transparent;
    border: 1px solid var(--gold);
    color: var(--gold);
    padding: 15px 40px;
    font-size: 0.6rem;
    letter-spacing: 5px;
    text-transform: uppercase;
    cursor: pointer;
    transition: 0.4s;
    opacity: 0;
    transform: translateY(20px);
}

.zenith-panel:hover .reveal-btn {
    opacity: 1;
    transform: translateY(0);
}

.reveal-btn:hover {
    background: var(--gold);
    color: var(--noir);
}

.alpha .panel-bg { animation: kenburns 40s infinite alternate; }
.muse .panel-bg { animation: kenburns 40s infinite alternate-reverse; }

@keyframes kenburns {
    0% { transform: scale(1) translate(0, 0); }
    100% { transform: scale(1.2) translate(-2%, -2%); }
}

/* --- Mobile Specific Overrides --- */
@media screen and (max-width: 768px) {
    #zenith-hero {
        flex-direction: column;
    }
    
    .zenith-panel {
        flex: 1;
        width: 100%;
        border-right: none;
        border-bottom: 1px solid rgba(255,255,255,0.05);
    }
    
    .panel-bg {
        filter: brightness(0.5) grayscale(0.5);
    }
    
    .panel-title {
        font-size: 4.5rem;
    }
    
    .zenith-nav {
        height: 70px;
        padding: 0 20px;
    }
    
    .nav-links-lux {
        display: none;
    }
}

/* --- Custom Cursor --- */
#custom-cursor {
    width: 15px; height: 15px;
    background: #fff;
    border-radius: 50%;
    position: fixed;
    pointer-events: none;
    z-index: 99999;
    mix-blend-mode: difference;
    transition: transform 0.2s;
}

/* --- Sections --- */
.content-section {
    padding: 151px 10%;
    background: var(--noir);
}

.section-label {
    font-family: var(--font-mono);
    font-size: 0.7rem;
    color: var(--gold);
    letter-spacing: 5px;
    margin-bottom: 20px;
}

.section-title {
    font-family: var(--font-heading);
    font-size: var(--type-heading);
    line-height: 1;
    margin-bottom: 60px;
}

/* --- USP Grid Lux --- */
.usp-grid-lux {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 40px;
}

.usp-card-lux {
    padding: 60px;
    background: rgba(255,255,255,0.02);
    border: 1px solid rgba(255,255,255,0.05);
    transition: 0.6s cubic-bezier(0.23, 1, 0.32, 1);
}

.usp-card-lux:hover {
    background: rgba(212, 175, 55, 0.05);
    border-color: var(--gold-mute);
    transform: translateY(-10px);
}

.usp-card-lux h3 {
    font-family: var(--font-mono);
    font-size: 0.8rem;
    color: var(--gold);
    margin-bottom: 30px;
    letter-spacing: 5px;
}

.usp-card-lux p {
    font-size: 0.9rem;
    opacity: 0.6;
    line-height: 1.8;
}

/* --- Club Noir --- */
.club-noir {
    background: linear-gradient(to bottom, #030303, #151515);
    text-align: center;
}

.club-form-lux {
    max-width: 600px;
    margin: 60px auto 0;
    display: flex;
    gap: 20px;
}

.club-form-lux input {
    flex: 1;
    background: transparent;
    border: none;
    border-bottom: 1px solid rgba(255,255,255,0.2);
    padding: 20px 0;
    color: #fff;
    font-family: var(--font-mono);
    font-size: 0.8rem;
    outline: none;
    transition: 0.4s;
}

.club-form-lux input:focus {
    border-color: var(--gold);
}

.join-btn-lux {
    background: var(--gold);
    color: var(--noir);
    border: none;
    padding: 0 40px;
    font-weight: 800;
    font-size: 0.7rem;
    letter-spacing: 2px;
    cursor: pointer;
    transition: 0.4s;
}

.join-btn-lux:hover {
    background: #fff;
    transform: scale(1.05);
}

/* --- Zenith Footer --- */
.zenith-footer {
    padding: 100px 10%;
    border-top: 1px solid rgba(255,255,255,0.05);
    text-align: center;
    background: #000;
}

.zenith-footer h1 {
    font-family: var(--font-mono);
    letter-spacing: 20px;
    opacity: 0.2;
    font-size: 2rem;
    margin-bottom: 20px;
}

.zenith-footer p {
    font-size: 0.6rem;
    letter-spacing: 5px;
    opacity: 0.3;
}

/* --- Splash Screen --- */
#luxury-splash {
    position: fixed;
    top: 0; left: 0; width: 100%; height: 100vh;
    background: #000;
    z-index: 60000;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    cursor: pointer;
}

.splash-logo {
    font-family: var(--font-mono);
    font-size: clamp(2rem, 10vw, 4rem);
    letter-spacing: 20px;
    font-weight: 900;
    animation: pulse 2s infinite alternate;
}

@keyframes pulse {
    from { color: #fff; text-shadow: 0 0 10px rgba(255,255,255,0.2); }
    to { color: var(--gold); text-shadow: 0 0 30px var(--gold-mute); }
}

.splash-cta {
    margin-top: 40px;
    font-size: 0.6rem;
    letter-spacing: 8px;
    opacity: 0.5;
}



/* --- Zenith Sub-Hero (Editorial Luxe) --- */
.zenith-subhero {
    height: 80vh;
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
    padding: 100px 10%;
}

.subhero-bg {
    position: absolute;
    top: 0; left: 0; width: 100%; height: 100%;
    object-fit: cover;
    z-index: -1;
    filter: brightness(0.4);
}

.subhero-content {
    max-width: 800px;
    z-index: 10;
}

.subhero-label {
    font-family: var(--font-mono);
    font-size: 0.7rem;
    color: var(--gold);
    letter-spacing: 8px;
    margin-bottom: 20px;
    display: block;
}

.subhero-title {
    font-family: var(--font-heading);
    font-size: clamp(3rem, 10vw, 7rem);
    line-height: 0.9;
    margin-bottom: 40px;
}

/* --- Zenith Product Grid --- */
.zenith-product-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 30px;
    margin-top: 60px;
}

.zenith-product-card {
    background: rgba(255,255,255,0.02);
    border: 1px solid rgba(255,255,255,0.05);
    padding: 20px;
    transition: 0.6s cubic-bezier(0.23, 1, 0.32, 1);
}

.zenith-product-card:hover {
    background: rgba(212, 175, 55, 0.03);
    border-color: var(--gold-mute);
    transform: translateY(-10px);
}

.z-prod-img {
    width: 100%;
    aspect-ratio: 3/4;
    overflow: hidden;
    margin-bottom: 20px;
}

.z-prod-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: 1s cubic-bezier(0.23, 1, 0.32, 1);
}

.zenith-product-card:hover .z-prod-img img {
    transform: scale(1.1);
}

.z-prod-info h3 {
    font-family: var(--font-primary);
    font-size: 0.9rem;
    margin-bottom: 10px;
    letter-spacing: 1px;
}

.z-price {
    font-family: var(--font-mono);
    color: var(--gold);
    font-size: 0.8rem;
}

/* --- Category Grid Fix --- */
.zenith-category-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 20px;
}

.zenith-category-card {
    height: 400px;
    position: relative;
    overflow: hidden;
    cursor: pointer;
}

.zenith-category-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: 1.2s;
}

.zenith-category-card:hover img {
    transform: scale(1.1);
}

.z-cat-overlay {
    position: absolute;
    bottom: 0; left: 0; width: 100%;
    padding: 40px;
    background: linear-gradient(to top, rgba(0,0,0,0.8), transparent);
}

.z-cat-overlay h3 {
    font-family: var(--font-heading);
    font-size: 1.5rem;
    letter-spacing: 2px;
}

/* --- Scarcity Luxe --- */
.scarcity-lux {
    background: var(--gold);
    color: var(--noir);
    padding: 100px 10%;
    text-align: center;
}

.scarcity-lux h2 {
    font-family: var(--font-heading);
    font-size: 3rem;
    font-weight: 900;
}

.timer-lux {
    font-family: var(--font-mono);
    font-size: 4rem;
    font-weight: 900;
    margin-top: 30px;
}

/* --- Testimonial Scroll --- */
.zenith-testimonials {
    display: flex;
    overflow-x: auto;
    gap: 40px;
    padding: 60px 0;
    scrollbar-width: none;
}

.testimonial-lux {
    min-width: 400px;
    padding: 60px;
    background: rgba(255,255,255,0.02);
    border: 1px solid rgba(255,255,255,0.05);
}

.testimonial-lux p {
    font-family: var(--font-heading);
    font-size: 1.2rem;
    font-style: italic;
    opacity: 0.8;
}

.testimonial-lux .t-user {
    margin-top: 30px;
    font-family: var(--font-mono);
    font-size: 0.6rem;
    color: var(--gold);
    letter-spacing: 3px;
}

/* --- Responsive Adjustments --- */
@media screen and (max-width: 768px) {
    .zenith-subhero {
        padding: 50px 20px;
        height: auto;
        min-height: 60vh;
    }
    
    .testimonial-lux {
        min-width: 300px;
        padding: 40px;
    }
    

}

/* --- Bulletproof Zenith Hub (Official Launch Ver) --- */
.bulletproof-zenith {
    background: var(--noir);
}

.cinema-bg-wrap {
    position: fixed;
    top: 0; left: 0; width: 100%; height: 120vh;
    z-index: -1;
    overflow: hidden;
}

#bg-parallax {
    width: 100%;
    height: 100%;
    background: linear-gradient(rgba(3,3,3,0.7), rgba(3,3,3,0.7)), 
                url('https://images.unsplash.com/photo-1550246140-5119ae4790b7?q=80&w=1920&auto=format&fit=crop');
    background-size: cover;
    background-position: center;
    filter: brightness(0.6) contrast(1.1);
}

.hub-section {
    min-height: 100vh;
    display: flex;
    align-items: center;
    padding: 100px 10%;
    position: relative;
    z-index: 2;
}

.hero-content {
    max-width: 900px;
}

.hero-title {
    font-family: var(--font-heading);
    font-size: clamp(4rem, 15vw, 12rem);
    line-height: 0.85;
    margin: 30px 0;
    font-weight: 900;
    letter-spacing: -5px;
}

.hero-tagline {
    font-family: var(--font-mono);
    letter-spacing: 5px;
    font-size: 0.8rem;
    opacity: 0.6;
    text-transform: uppercase;
}

.split {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 80px;
}

.section-visual img {
    width: 100%;
    height: 70vh;
    object-fit: cover;
    border: 1px solid rgba(255,255,255,0.05);
}

.section-title-lux {
    font-family: var(--font-heading);
    font-size: clamp(3rem, 8vw, 6rem);
    line-height: 1;
    margin-bottom: 30px;
}

.section-desc {
    font-size: 1.1rem;
    max-width: 450px;
    opacity: 0.7;
    margin-bottom: 40px;
}

.philosophy-plate {
    background: rgba(15, 15, 15, 0.4);
    backdrop-filter: var(--glass);
    padding: 80px;
    border: 1px solid rgba(212, 175, 55, 0.1);
    border-radius: 40px;
    width: 100%;
}

.usp-grid-zenith {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    margin-top: 60px;
}

.usp-item h3 {
    font-family: var(--font-mono);
    color: var(--gold);
    font-size: 0.7rem;
    letter-spacing: 5px;
    margin-bottom: 20px;
}

.club-card-lux {
    background: linear-gradient(135deg, rgba(20,20,20,0.8) 0%, rgba(5,5,5,0.9) 100%);
    backdrop-filter: var(--glass);
    padding: 100px;
    border: 1px solid rgba(255,255,255,0.05);
    border-radius: 60px;
    text-align: center;
    width: 100%;
}

.club-form-zenith {
    max-width: 600px;
    margin: 50px auto 0;
    display: flex;
    gap: 20px;
}

.club-form-zenith input {
    flex: 1;
    background: rgba(255,255,255,0.03);
    border: 1px solid rgba(255,255,255,0.1);
    border-radius: 100px;
    padding: 20px 40px;
    color: #fff;
    font-family: var(--font-primary);
    outline: none;
    transition: 0.3s;
}

.club-form-zenith input:focus {
    border-color: var(--gold);
    background: rgba(255,255,255,0.05);
}

.zenith-footer-final {
    padding: 100px 10%;
    text-align: center;
    background: #000;
}

.zenith-footer-final h1 {
    font-family: var(--font-mono);
    font-size: 1.5rem;
    letter-spacing: 15px;
    color: var(--gold);
    margin-bottom: 20px;
}

/* --- Discovery Split (Brand Selector) --- */
.split-brand-selector {
    display: grid;
    grid-template-columns: 1fr 1fr;
    padding: 0;
    gap: 0;
    overflow: hidden;
    height: 100vh;
}

.brand-panel {
    position: relative;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: width 0.8s cubic-bezier(0.23, 1, 0.32, 1);
    overflow: hidden;
}

.psychunter-panel {
    background: url('https://images.unsplash.com/photo-1550246140-5119ae4790b7?q=80&w=1200&auto=format&fit=crop');
    background-size: cover;
    background-position: center;
}

.yukti-panel {
    background: url('https://images.unsplash.com/photo-1581044777550-4cfa60707c03?q=80&w=1200&auto=format&fit=crop');
    background-size: cover;
    background-position: center;
}

.brand-overlay {
    position: absolute;
    top: 0; left: 0; width: 100%; height: 100%;
    background: rgba(0,0,0,0.6);
    transition: 0.5s;
    z-index: 1;
}

.brand-panel:hover .brand-overlay {
    background: rgba(0,0,0,0.3);
}

.brand-info {
    position: relative;
    z-index: 5;
    text-align: center;
}

.brand-title {
    font-family: var(--font-heading);
    font-size: clamp(2rem, 6vw, 5rem);
    letter-spacing: -2px;
    margin: 10px 0;
}

.brand-tagline {
    font-family: var(--font-mono);
    font-size: 0.7rem;
    letter-spacing: 5px;
    opacity: 0.6;
    margin-bottom: 30px;
}

.brand-btn {
    padding: 15px 40px;
    background: transparent;
    border: 1px solid var(--gold);
    color: var(--gold);
    font-family: var(--font-mono);
    font-size: 0.6rem;
    letter-spacing: 3px;
    text-transform: uppercase;
    cursor: pointer;
    transition: 0.3s;
}

.brand-panel:hover .brand-btn {
    background: var(--gold);
    color: var(--noir);
}

@media screen and (max-width: 1024px) {
    .split-brand-selector {
        grid-template-columns: 1fr;
        height: auto;
    }
    .brand-panel {
        height: 50vh;
    }
}

/* --- Editorial Luxury Upgrade (Marquee & Reel) --- */

.infinite-marquee-lux {
    background: var(--gold);
    color: var(--noir);
    padding: 15px 0;
    overflow: hidden;
    white-space: nowrap;
    border-top: 1px solid rgba(0,0,0,0.1);
    border-bottom: 1px solid rgba(0,0,0,0.1);
    display: flex;
}

.marquee-track {
    display: inline-block;
    white-space: nowrap;
    animation: marquee-scroll 25s linear infinite;
    font-family: var(--font-mono);
    font-size: 0.7rem;
    letter-spacing: 5px;
    font-weight: 800;
}

.marquee-track span {
    padding-right: 50px;
}

@keyframes marquee-scroll {
    0% { transform: translate3d(0, 0, 0); }
    100% { transform: translate3d(-50%, 0, 0); }
}

.campaign-reel-section {
    padding: 100px 0;
    background: #050505;
    overflow-x: hidden;
    position: relative;
}

.reel-header {
    padding: 0 10%;
    margin-bottom: 60px;
}

.campaign-scroll-container {
    width: 100%;
    overflow-x: auto;
    padding: 0 10%;
    scrollbar-width: none; /* Firefox */
}

.campaign-scroll-container::-webkit-scrollbar {
    display: none; /* Chrome/Safari */
}

.campaign-track {
    display: flex;
    gap: 40px;
    width: max-content;
    padding-bottom: 50px; /* Space for scroll offset visually */
}

.campaign-track img {
    height: 70vh;
    width: auto;
    object-fit: cover;
    border-radius: 4px;
    filter: grayscale(20%) contrast(1.1);
    transition: 0.5s cubic-bezier(0.23, 1, 0.32, 1);
    cursor: grab;
}

.campaign-track img:hover {
    filter: grayscale(0%) contrast(1.2);
    transform: scale(1.02);
}

/* --- Comprehensive Expansion Styles (Ver 19.0) --- */
.text-center { text-align: center; }
.edit-header { margin-bottom: 40px; width: 100%; }

.product-grid-lux {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 40px;
    margin-top: 50px;
    width: 100%;
}

.product-card {
    text-align: center;
}

.product-card img {
    width: 100%;
    height: 500px;
    object-fit: cover;
    margin-bottom: 20px;
    border: 1px solid rgba(255,255,255,0.05);
    transition: 0.4s;
}

.product-card:hover img {
    transform: translateY(-10px);
    border-color: var(--gold);
}

.product-info h3 {
    font-family: var(--font-heading);
    font-size: 1.5rem;
    margin-bottom: 5px;
}

.product-info p {
    font-family: var(--font-mono);
    font-size: 0.6rem;
    opacity: 0.5;
    letter-spacing: 2px;
    margin-bottom: 15px;
}

.shop-link {
    font-family: var(--font-mono);
    font-size: 0.7rem;
    color: var(--gold);
    text-decoration: none;
    letter-spacing: 3px;
    border-bottom: 1px solid var(--gold);
    padding-bottom: 5px;
}

.asymmetrical-img {
    margin-top: 100px;
}

.journal-wrapper { width: 100%; }

.journal-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
}

.journal-card img {
    width: 100%;
    height: 400px;
    object-fit: cover;
    margin-bottom: 20px;
    filter: brightness(0.7);
    transition: 0.4s;
}

.journal-card:hover img {
    filter: brightness(1);
}

.journal-meta .date {
    font-family: var(--font-mono);
    font-size: 0.6rem;
    letter-spacing: 4px;
    color: var(--gold);
    display: block;
    margin-bottom: 10px;
}

.journal-meta h3 {
    font-size: 1.8rem;
    margin-bottom: 15px;
}

.read-more {
    font-family: var(--font-mono);
    font-size: 0.7rem;
    color: #fff;
    text-decoration: none;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.community-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}

.social-card { overflow: hidden; border-radius: 4px; }

.social-card img {
    width: 100%;
    height: 350px;
    object-fit: cover;
    filter: grayscale(100%);
    transition: 0.4s;
    cursor: pointer;
}

.social-card:hover img {
    filter: grayscale(0%);
    transform: scale(1.05);
}

@media screen and (max-width: 1024px) {
    .journal-grid { grid-template-columns: 1fr; }
    .community-grid { grid-template-columns: repeat(2, 1fr); }
    .asymmetrical-img { margin-top: 40px; }
}

/* --- Perfection Polish (Ver 20.0) --- */

/* Liquid Page Transitions */
.page-transition-overlay {
    position: fixed;
    top: 0; left: 0; width: 100%; height: 100%;
    background: #0b0b0b;
    z-index: 999999;
    pointer-events: none;
    opacity: 1; /* Start dark, JS will fade it out */
    transition: opacity 0.6s cubic-bezier(0.85, 0, 0.15, 1);
}

body.loaded .page-transition-overlay {
    opacity: 0;
}

body.exiting .page-transition-overlay {
    opacity: 1;
    pointer-events: all;
}

/* Nav Micro-Interactions */
.nav-links-lux a {
    position: relative;
    padding-bottom: 5px;
}
.nav-links-lux a::after {
    content: '';
    position: absolute;
    width: 0;
    height: 1px;
    bottom: 0;
    left: 0;
    background-color: var(--gold);
    transition: width 0.3s ease;
}
.nav-links-lux a:hover::after {
    width: 100%;
}

/* Button Micro-Interactions */
.reveal-btn {
    position: relative;
    overflow: hidden;
    z-index: 1;
    transition: color 0.4s ease, transform 0.4s ease;
}
.reveal-btn::before {
    content: '';
    position: absolute;
    top: 0; left: -100%;
    width: 100%; height: 100%;
    background: var(--gold);
    z-index: -1;
    transition: left 0.4s cubic-bezier(0.85, 0, 0.15, 1);
}
.reveal-btn:hover {
    color: #0b0b0b;
    border-color: var(--gold);
    transform: translateY(-2px);
}
.reveal-btn:hover::before {
    left: 0;
}

/* Massive Footer */
.zenith-footer-massive {
    background: #0b0b0b;
    padding: 100px 5% 40px;
    border-top: 1px solid rgba(255,255,255,0.05);
}

.footer-grid-lux {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 1.5fr;
    gap: 60px;
    margin-bottom: 80px;
}

.f-brand h2 {
    font-size: 2rem;
    letter-spacing: 5px;
    margin-bottom: 20px;
    color: #fff;
    font-family: var(--font-heading);
}

.f-brand p {
    opacity: 0.6;
    font-size: 0.9rem;
    line-height: 1.6;
}

.f-links h3, .f-social h3 {
    font-family: var(--font-mono);
    font-size: 0.7rem;
    letter-spacing: 3px;
    color: var(--gold);
    margin-bottom: 25px;
}

.f-links a {
    display: block;
    color: #fff;
    text-decoration: none;
    margin-bottom: 15px;
    font-size: 0.85rem;
    opacity: 0.7;
    transition: 0.3s;
}

.f-links a:hover {
    opacity: 1;
    color: var(--gold);
    transform: translateX(5px);
}

.f-social p {
    font-size: 0.85rem;
    opacity: 0.7;
    margin-bottom: 20px;
}

.f-newsletter {
    display: flex;
    border-bottom: 1px solid rgba(255,255,255,0.2);
    padding-bottom: 10px;
    margin-bottom: 30px;
}

.f-newsletter input {
    background: transparent;
    border: none;
    outline: none;
    color: #fff;
    width: 100%;
    font-family: var(--font-mono);
    font-size: 0.8rem;
}

.f-newsletter button {
    background: transparent;
    border: none;
    color: var(--gold);
    cursor: pointer;
    font-size: 1.2rem;
}

.f-icons {
    display: flex;
    gap: 20px;
}

.f-icons span {
    font-family: var(--font-mono);
    font-size: 0.7rem;
    letter-spacing: 2px;
    cursor: pointer;
    opacity: 0.6;
    transition: 0.3s;
}

.f-icons span:hover {
    opacity: 1;
    color: var(--gold);
}

.footer-bottom-lux {
    display: flex;
    justify-content: space-between;
    padding-top: 30px;
    border-top: 1px solid rgba(255,255,255,0.05);
    font-family: var(--font-mono);
    font-size: 0.6rem;
    opacity: 0.5;
    letter-spacing: 1px;
}

.f-legal a {
    color: #fff;
    text-decoration: none;
    margin-left: 20px;
    transition: 0.3s;
}
.f-legal a:hover {
    color: var(--gold);
}

@media screen and (max-width: 1024px) {
    .footer-grid-lux {
        grid-template-columns: 1fr;
        gap: 40px;
    }
    .footer-bottom-lux {
        flex-direction: column;
        gap: 20px;
        text-align: center;
    }
}
