        :root {
            --navy: #0A1128;
            --charcoal: #151515;
            --gold: #B89655;
            --off-white: #FAF9F6;
            --military-olive: #3E4437;
        }

        body {
            font-family: 'Inter', sans-serif;
            background-color: var(--off-white);
            color: var(--charcoal);
            scroll-behavior: smooth;
        }

        .serif { font-family: 'Playfair Display', serif; }
        .cursive { font-family: 'Caveat', cursive; }
        .accent { font-variant: all-small-caps; letter-spacing: 0.15em; }

        /* Custom Animations */
        @keyframes fadeUp {
            from { opacity: 0; transform: translateY(30px); }
            to { opacity: 1; transform: translateY(0); }
        }
        .reveal { animation: fadeUp 1.2s cubic-bezier(0.16, 1, 0.3, 1) forwards; }
        
        .page-node { display: none; }
        .page-node.active { display: block; animation: fadeUp 0.8s ease; }

        .image-overlay {
            background: linear-gradient(to bottom, rgba(10,17,40,0.4), rgba(10,17,40,0.8));
        }

        .btn-editorial {
            position: relative;
            padding: 1rem 2.5rem;
            border: 1px solid var(--gold);
            color: var(--navy);
            transition: all 0.5s ease;
            overflow: hidden;
            display: inline-block;
        }
        .btn-editorial:hover {
            color: white;
            background: var(--navy);
            border-color: var(--navy);
        }

        /* Search Bar */
        #search-overlay {
            background: rgba(10,17,40,0.98);
            backdrop-filter: blur(10px);
        }

        /* Hide scrollbar */
        ::-webkit-scrollbar { width: 5px; }
        ::-webkit-scrollbar-track { background: var(--off-white); }
        ::-webkit-scrollbar-thumb { background: var(--gold); }
    /* Custom Animations for Manifesto */
    @keyframes fadeInUp {
        from {
            opacity: 0;
            transform: translateY(40px);
        }
        to {
            opacity: 1;
            transform: translateY(0);
        }
    }
    
    @keyframes slideInLeft {
        from {
            opacity: 0;
            transform: translateX(-60px);
        }
        to {
            opacity: 1;
            transform: translateX(0);
        }
    }
    
    @keyframes slideInRight {
        from {
            opacity: 0;
            transform: translateX(60px);
        }
        to {
            opacity: 1;
            transform: translateX(0);
        }
    }
    
    @keyframes floatSlow {
        0%, 100% {
            transform: translateY(0);
        }
        50% {
            transform: translateY(-15px);
        }
    }
    
    @keyframes pulseSlow {
        0%, 100% {
            opacity: 0.5;
        }
        50% {
            opacity: 1;
        }
    }
    
    /* Animation Classes */
    .animate-fade-in-up {
        opacity: 0;
        animation: fadeInUp 0.8s ease-out forwards;
    }
    
    .animate-slide-in-left {
        opacity: 0;
        animation: slideInLeft 0.8s ease-out forwards;
    }
    
    .animate-slide-in-right {
        opacity: 0;
        animation: slideInRight 0.8s ease-out forwards;
    }
    
    .animate-float-slow {
        animation: floatSlow 8s ease-in-out infinite;
    }
    
    .animate-pulse-slow {
        animation: pulseSlow 4s ease-in-out infinite;
    }
    
    /* Sticky Sections */
    .sticky {
        position: sticky;
        z-index: 10;
    }
    
    /* Button Styles */
    .btn-editorial {
        background: transparent;
        border: 2px solid;
        padding: 16px 40px;
        font-size: 1.125rem;
        letter-spacing: 0.05em;
        text-transform: uppercase;
        transition: all 0.3s ease;
        cursor: pointer;
    }
    
    .btn-editorial:hover {
        transform: translateY(-2px);
    }
    
    /* Scroll Animation Triggers */
    .animate-on-scroll {
        opacity: 0;
        transform: translateY(30px);
        transition: opacity 0.8s ease, transform 0.8s ease;
    }
    
    .animate-on-scroll.visible {
        opacity: 1;
        transform: translateY(0);
    }
/* Marquee Animation */
@keyframes marquee {
    0% { transform: translateX(0%); }
    100% { transform: translateX(-50%); }
}

.animate-marquee {
    display: inline-flex;
    animation: marquee 25s linear infinite;
}