        :root { scroll-behavior: smooth; }
        body { background-color: #FBFBFB; font-family: 'Inter', sans-serif; color: #111; overflow-x: hidden; }
        .font-editorial { font-family: 'Instrument Serif', serif; }
        
        /* Grain Overlay */
        .grain::after {
            content: "";
            position: fixed;
            top: 0; left: 0; width: 100%; height: 100%;
            background-image: url("https://grainy-gradients.vercel.app/noise.svg");
            opacity: 0.06;
            pointer-events: none;
            z-index: 9999;
        }

        /* Animations */
        @keyframes kenburns {
            0% { transform: scale(1); }
            50% { transform: scale(1.1) translate(-1%, -1%); }
            100% { transform: scale(1); }
        }

        .page-node { display: none; opacity: 0; transform: translateY(30px); transition: all 0.8s cubic-bezier(0.16, 1, 0.3, 1); }
        .page-node.active { display: block; opacity: 1; transform: translateY(0); }

        .vertical-text { writing-mode: vertical-rl; text-orientation: mixed; }
        .drop-cap::first-letter {
            float: left;
            font-size: 7.5rem;
            line-height: 0.7;
            padding-top: 10px;
            padding-right: 12px;
            font-family: 'Instrument Serif', serif;
            font-style: italic;
            color: #F68537;
        }

        /* Smooth Scroll & Snapping */
        .horizontal-scroll {
            display: flex;
            overflow-x: auto;
            scroll-snap-type: x mandatory;
            scrollbar-width: none;
        }
        .horizontal-scroll::-webkit-scrollbar { display: none; }
        .scroll-item { scroll-snap-align: start; flex-shrink: 0; }

        /* Floating Movement */
        @keyframes float {
            0%, 100% { transform: translateY(0) rotate(0deg); }
            50% { transform: translateY(-20px) rotate(1deg); }
        }
        .float-element { animation: float 8s ease-in-out infinite; }

        /* Sidebar Quick View */
        #quick-view {
            transform: translateX(100%);
            transition: transform 0.6s cubic-bezier(0.85, 0, 0.15, 1);
        }
        #quick-view.active { transform: translateX(0); }

        .image-reveal { clip-path: inset(0 0 100% 0); transition: clip-path 1.2s cubic-bezier(0.16, 1, 0.3, 1); }
        .active .image-reveal { clip-path: inset(0 0 0% 0); }
