        :root {
            --bg-cream: #FDFFC2;
            --wine-red: #A0153E;
        }

        body {
            font-family: 'Roboto Mono', monospace;
            background-color: var(--bg-cream);
            color: var(--wine-red);
            margin: 0;
            overflow-x: hidden;
            scroll-behavior: smooth;
        }

        /* Editorial Border & Layering */
        .mag-border { border: 1.5px solid var(--wine-red); }
        .mag-border-t { border-top: 1.5px solid var(--wine-red); }
        .mag-border-b { border-bottom: 1.5px solid var(--wine-red); }

        .layered-card {
            position: relative;
            transition: all 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
        }
        .layered-card::before {
            content: '';
            position: absolute;
            top: 10px;
            left: 10px;
            right: -10px;
            bottom: -10px;
            border: 1px solid var(--wine-red);
            z-index: -1;
            transition: all 0.5s;
        }
        .layered-card:hover::before {
            top: 15px;
            left: 15px;
            opacity: 0.5;
        }
        .layered-card:hover {
            transform: translate(-5px, -5px);
        }

        /* Typography Hierarchy */
        h1, h2, h3 { font-weight: 700; text-transform: uppercase; letter-spacing: -0.05em; }
        .caption { font-style: italic; font-weight: 400; font-size: 0.75rem; }
        
        /* Navigation Hover Flip */
        .nav-link {
            transition: all 0.3s ease;
            padding: 0.5rem 1rem;
        }
        .nav-link:hover {
            background-color: var(--wine-red);
            color: var(--bg-cream);
        }

        /* Animations */
        @keyframes slideUp {
            from { transform: translateY(30px); opacity: 0; }
            to { transform: translateY(0); opacity: 1; }
        }
        .animate-reveal { animation: slideUp 0.8s forwards; }

        .reveal-on-scroll { opacity: 0; transform: translateY(20px); transition: all 0.8s ease-out; }
        .reveal-on-scroll.visible { opacity: 1; transform: translateY(0); }

        /* Custom Modal Backdrop */
        #quickViewOverlay {
            background: rgba(160, 21, 62, 0.2);
            backdrop-filter: blur(12px);
            display: none;
            z-index: 1000;
        }

        /* Hero Background Grain Animation */
        .hero-bg-anim {
            background: linear-gradient(45deg, #fdfdc2 25%, #f6f8b0 50%, #fdfdc2 75%);
            background-size: 400% 400%;
            animation: gradientBG 15s ease infinite;
        }
        @keyframes gradientBG {
            0% { background-position: 0% 50%; }
            50% { background-position: 100% 50%; }
            100% { background-position: 0% 50%; }
        }

        /* Filter Active State */
        .filter-btn.active {
            background-color: var(--wine-red);
            color: var(--bg-cream);
        }

        .no-scrollbar::-webkit-scrollbar { display: none; }
    