        :root { scroll-behavior: smooth; }
        body { background-color: #FFFFFF; color: #111111; font-family: 'Inter', sans-serif; overflow-x: hidden; }
        
        .page-node { display: none; }
        .page-node.active { display: block; animation: pageFade 0.8s ease-out forwards; }

        @keyframes pageFade {
            from { opacity: 0; transform: translateY(20px); }
            to { opacity: 1; transform: translateY(0); }
        }

        .editorial-column { column-count: 1; column-gap: 4rem; }
        @media (min-width: 1024px) { .editorial-column { column-count: 2; } }

        .pull-quote { 
            font-family: 'Playfair Display', serif; 
            font-style: italic; 
            border-top: 1px solid #111; 
            border-bottom: 1px solid #111; 
            padding: 3rem 0; 
            margin: 4rem 0; 
            font-size: 2rem; 
            line-height: 1.3; 
            color: #111;
        }

        .side-note {
            font-family: 'IBM Plex Mono', monospace;
            font-size: 0.75rem;
            text-transform: uppercase;
            color: #E63946;
            letter-spacing: 0.15em;
            border-left: 3px solid #E63946;
            padding-left: 1.5rem;
        }

        .book-input {
            border: none;
            border-bottom: 1px solid #ddd;
            background: transparent;
            padding: 0.75rem 0;
            width: 100%;
            transition: all 0.3s;
        }
        .book-input:focus {
            outline: none;
            border-color: #E63946;
            padding-left: 10px;
        }

        .hero-bg {
            background: linear-gradient(rgba(0,0,0,0.5), rgba(0,0,0,0.5)), url('https://images.unsplash.com/photo-1517836357463-d25dfeac3438?auto=format&fit=crop&q=80&w=2000');
            background-size: cover;
            background-position: center;
            background-attachment: fixed;
        }

        .floating-label {
            font-family: 'IBM Plex Mono', monospace;
            font-size: 10px;
            text-transform: uppercase;
            letter-spacing: 2px;
            color: #7D7D7D;
        }

        /* Responsive Canvas fix */
        canvas { max-width: 100%; height: auto !important; }

        /* Custom scroll */
        ::-webkit-scrollbar { width: 6px; }
        ::-webkit-scrollbar-track { background: #f9f9f9; }
        ::-webkit-scrollbar-thumb { background: #111; }
    