        :root {
            --paper: #F9F8F6;
            --ink: #0A0A0A;
            --muted: #666666;
            --accent: #B09B82;
        }

        * { cursor: crosshair !important; }

        body {
            background-color: var(--paper);
            color: var(--ink);
            font-family: 'Montserrat', sans-serif;
            overflow-x: hidden;
            scroll-behavior: smooth;
        }

        .font-editorial { font-family: 'Italiana', serif; }
        .font-cursive { font-family: 'Cormorant', serif; font-style: italic; }
        
        .text-huge { font-size: clamp(5rem, 20vw, 18rem); line-height: 0.8; letter-spacing: -0.04em; }

        /* Storytelling Animations */
        .reveal { opacity: 0; transform: translateY(60px); transition: all 1.4s cubic-bezier(0.16, 1, 0.3, 1); }
        .reveal.active { opacity: 1; transform: translateY(0); }

        .image-zoom { overflow: hidden; }
        .image-zoom img { transition: transform 2s cubic-bezier(0.16, 1, 0.3, 1); }
        .image-zoom:hover img { transform: scale(1.1); }

        /* Layout Utilities */
        .section-padding { padding: 12rem 5% 12rem 5%; }
        .line-accent { height: 1px; background: rgba(0,0,0,0.1); width: 100%; margin: 2rem 0; }

        /* Nav & Overlays */
        .glass-nav { backdrop-filter: blur(10px); background: rgba(249, 248, 246, 0.8); border-bottom: 1px solid rgba(0,0,0,0.05); }
        .modal-overlay { 
            position: fixed; inset: 0; z-index: 99999; 
            background: var(--paper); display: none; 
            overflow-y: auto; padding: 5%;
        }

        /* Buttons */
        .btn-master {
            border: 1px solid var(--ink);
            padding: 1.2rem 2.5rem;
            font-size: 0.7rem;
            font-weight: 700;
            letter-spacing: 0.3em;
            text-transform: uppercase;
            transition: all 0.5s ease;
            position: relative;
            overflow: hidden;
        }
        .btn-master:hover { background: var(--ink); color: #fff; }

        /* Custom Scrollbar */
        ::-webkit-scrollbar { width: 4px; }
        ::-webkit-scrollbar-track { background: var(--paper); }
        ::-webkit-scrollbar-thumb { background: #ccc; }

        /* Search Interaction */
        #search-stage {
            position: fixed; inset: 0; z-index: 100000;
            background: rgba(10, 10, 10, 0.98);
            display: none; flex-direction: column; align-items: center; justify-content: center;
            color: white; opacity: 0; transition: opacity 0.8s ease;
        }
        #search-stage.active { display: flex; opacity: 1; }

        .auth-card { background: white; border: 1px solid rgba(0,0,0,0.05); padding: 4rem; max-width: 500px; width: 90%; }
    