        :root {
            --bone: #F9F8F6;
            --charcoal: #121212;
            --graphite: #2D2D2D;
            --taupe: #948F89;
        }

        body {
            background-color: var(--bone);
            color: var(--charcoal);
            font-family: 'Inter', sans-serif;
            scroll-behavior: smooth;
        }

        .serif { font-family: 'Cormorant Garamond', serif; }
        .cursive { font-family: 'Cedarville Cursive', cursive; }
        .mono { font-family: 'IBM Plex Mono', monospace; font-size: 0.7rem; letter-spacing: 0.15em; text-transform: uppercase; }

        /* Storytelling Animation */
        .reveal { opacity: 0; transform: translateY(50px); transition: all 1.2s cubic-bezier(0.25, 1, 0.5, 1); }
        .reveal.active { opacity: 1; transform: translateY(0); }

        /* Grain Texture */
        .grain::after {
            content: "";
            position: fixed;
            top: 0; left: 0; width: 100%; height: 100%;
            background: url('https://grainy-gradients.vercel.app/noise.svg');
            opacity: 0.05;
            pointer-events: none;
            z-index: 9999;
        }

        /* Navigation */
        nav { transition: all 0.5s ease; }
        .nav-scrolled { background: rgba(249, 248, 246, 0.98); padding: 1.5rem 0; border-bottom: 1px solid rgba(0,0,0,0.05); }

        /* Multi-page Display */
        .page { display: none; }
        .page.active { display: block; animation: fadeIn 1s ease-out; }
        @keyframes fadeIn { from { opacity: 0; transform: scale(0.99); } to { opacity: 1; transform: scale(1); } }

        /* Custom UI Elements */
        .btn-mlp {
            border: 1px solid var(--charcoal);
            padding: 1rem 2.5rem;
            display: inline-block;
            transition: all 0.4s ease;
            cursor: pointer;
            background: transparent;
        }
        .btn-mlp:hover { background: var(--charcoal); color: var(--bone); }

        #cart-sidebar { transform: translateX(100%); transition: transform 0.6s cubic-bezier(0.8, 0, 0.2, 1); }
        #cart-sidebar.open { transform: translateX(0); }

        #search-portal { transform: translateY(-100%); transition: transform 0.6s ease; }
        #search-portal.open { transform: translateY(0); }

        .parallax-img { transition: transform 0.3s ease-out; }
    