body { font-family: 'Inter', system-ui, sans-serif; }
        .font-serif { font-family: 'Playfair Display', Georgia, serif; }
        .animate-on-scroll { opacity: 0; transform: translateY(40px); transition: all 0.8s cubic-bezier(0.16, 1, 0.3, 1); }
        .animate-on-scroll.visible { opacity: 1; transform: translateY(0); }
        .animate-on-scroll.from-left { transform: translateX(-60px); }
        .animate-on-scroll.from-left.visible { transform: translateX(0); }
        .animate-on-scroll.from-right { transform: translateX(60px); }
        .animate-on-scroll.from-right.visible { transform: translateX(0); }
        .animate-on-scroll.scale { transform: scale(0.9); }
        .animate-on-scroll.scale.visible { transform: scale(1); }
        .card-hover { transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1); }
        .card-hover:hover { transform: translateY(-8px); box-shadow: 0 20px 60px rgba(10, 37, 64, 0.15); }
        .gradient-text { background: linear-gradient(135deg, #C8960C 0%, #FFD966 50%, #C8960C 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; }
        .hero-gradient { background: linear-gradient(135deg, #0A2540 0%, #071729 50%, #030A13 100%); }
        .gold-gradient { background: linear-gradient(135deg, #C8960C, #FFD966, #C8960C); }
        .gold-gradient-border { background: linear-gradient(135deg, #C8960C, #FFD966, #C8960C) border-box; border: 2px solid transparent; }
        .nav-blur { backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); }
        .parallax-bg { background-attachment: fixed; background-size: cover; background-position: center; }
        ::-webkit-scrollbar { width: 8px; }
        ::-webkit-scrollbar-track { background: #0A2540; }
        ::-webkit-scrollbar-thumb { background: #C8960C; border-radius: 4px; }
        ::-webkit-scrollbar-thumb:hover { background: #FFD966; }
        .stagger-1 { transition-delay: 0.1s; }
        .stagger-2 { transition-delay: 0.2s; }
        .stagger-3 { transition-delay: 0.3s; }
        .stagger-4 { transition-delay: 0.4s; }
        .stagger-5 { transition-delay: 0.5s; }
        .stagger-6 { transition-delay: 0.6s; }
        .line-decoration::after { content: ''; display: block; width: 60px; height: 3px; background: linear-gradient(90deg, #C8960C, #FFD966); margin-top: 16px; border-radius: 2px; }
        .line-decoration.center::after { margin-left: auto; margin-right: auto; }
        .blob { border-radius: 30% 70% 70% 30% / 30% 30% 70% 70%; }
        .text-shadow { text-shadow: 0 2px 10px rgba(0,0,0,0.3); }
        @keyframes rotate { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
        .rotate-slow { animation: rotate 20s linear infinite; }
        .mobile-menu { transform: translateX(100%); transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1); }
        .mobile-menu.open { transform: translateX(0); }
        /* Fix mobile: barras del menú hamburguesa visibles sobre fondo oscuro */
        .navbar-transparent #bar1,
        .navbar-transparent #bar2,
        .navbar-transparent #bar3 { background-color: #ffffff; }
        /* Fix mobile: evita que los títulos queden atascados en opacity 0 */
        @media (max-width: 767px) {
            .animate-on-scroll {
                opacity: 1 !important;
                transform: none !important;
            }
        }