               * { cursor: crosshair; }
        body { background-color: #FFFFFF; color: #0E0E0E; font-family: 'Inter', sans-serif; overflow-x: hidden; scroll-behavior: smooth; }
        .hide-scroll::-webkit-scrollbar { display: none; }
        .fade-in { opacity: 0; transform: translateY(30px); transition: all 1.2s cubic-bezier(0.19, 1, 0.22, 1); }
        .fade-in.visible { opacity: 1; transform: translateY(0); }
        .hero-zoom { animation: slowScale 30s infinite alternate; }
        @keyframes slowScale { from { transform: scale(1); } to { transform: scale(1.15); } }
        .nav-active { color: #C23B22 !important; border-bottom: 1px solid #C23B22; }
        .editorial-line { position: relative; }
        .editorial-line::after { content: ''; position: absolute; width: 0; height: 1px; bottom: -4px; left: 0; background: #C23B22; transition: width 0.8s ease; }
        .group:hover .editorial-line::after { width: 100%; }
        .mobile-menu-active { transform: translateX(0) !important; }
        
        /* Typography Scale for Mobile */
        @media (max-width: 768px) {
            .hero-title { font-size: 3.5rem !important; }
            .section-padding { padding-top: 5rem; padding-bottom: 5rem; }
        }
       @keyframes reveal-up {
            from { transform: translate(-50%, 50px); opacity: 0; }
            to { transform: translate(-50%, 0); opacity: 1; }
        }
        .animate-reveal-up { animation: reveal-up 0.6s cubic-bezier(0.19, 1, 0.22, 1) forwards; }
        .animate-fade-in { animation: fadeIn 0.8s ease forwards; }
        @keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }