        html {
            scroll-behavior: smooth;
        }
        body {
            font-family: 'Nunito', sans-serif;
            background-color: #FAFAFA;
            background-image: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%239C92AC' fill-opacity='0.05'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
        }
        
        h1, h2, h3, h4, h5, h6, .font-baloo {
            font-family: 'Baloo 2', cursive;
        }
        
        .bubble {
            border-radius: 50% 50% 50% 20%;
            position: relative;
        }
        
        .bubble::after {
            content: '';
            position: absolute;
            top: 10%;
            left: 15%;
            width: 20%;
            height: 20%;
            background: rgba(255, 255, 255, 0.4);
            border-radius: 50%;
        }
        
        .cloud {
            border-radius: 50px;
            position: relative;
            margin-bottom: 20px;
        }
        
        /* .cloud::before {
            content: '';
            position: absolute;
            top: -30%;
            left: 20%;
            width: 30%;
            height: 60%;
            background: inherit;
            border-radius: 50%;
            z-index: -1;
        }
        
        .cloud::after {
            content: '';
            position: absolute;
            top: -40%;
            right: 20%;
            width: 35%;
            height: 80%;
            background: inherit;
            border-radius: 50%;
            z-index: -1;
        }
         */
        .zigzag {
            position: relative;
        }
        
        .zigzag::before {
            content: "";
            position: absolute;
            top: -15px;
            left: 0;
            right: 0;
            height: 15px;
            background: linear-gradient(-45deg, #FF6B6B 7px, transparent 0), linear-gradient(45deg, #FF6B6B 7px, transparent 0);
            background-position: left top;
            background-repeat: repeat-x;
            background-size: 15px 15px;
        }
        
        .star-shape {
            clip-path: polygon(50% 0%, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%);
        }
        
        .hexagon {
            clip-path: polygon(25% 0%, 75% 0%, 100% 50%, 75% 100%, 25% 100%, 0% 50%);
        }
        
        /* ========== MOBILE MENU STYLES ========== */
        .mobile-menu {
            transform: translateX(-100%);
            transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
            display: block !important;
            z-index: 9999 !important;
        }
        
        .mobile-menu.active {
            transform: translateX(0);
        }
        
        /* Overlay: starts hidden, becomes visible when menu has .active */
        .mobile-menu-overlay {
            opacity: 0;
            pointer-events: none;
            transition: opacity 0.4s cubic-bezier(0.4, 0, 0.2, 1);
            display: block !important;
            z-index: 9998 !important;
        }
        
        .mobile-menu.active ~ .mobile-menu-overlay {
            opacity: 1;
            pointer-events: auto;
        }

        /* Forzar legibilidad de textos y iconos dentro del menú móvil */
        .mobile-menu .mobile-menu-link,
        .mobile-menu .mobile-menu-link span,
        .mobile-menu .mobile-menu-link i {
            color: #ffffff !important;
        }

        /* Asegurar que el nav interior esté por encima del overlay */
        .mobile-menu > div,
        .mobile-menu > div * {
            z-index: 10000;
        }
        
        /* Animación de overlay */
        @keyframes fadeInOverlay {
            from {
                opacity: 0;
            }
            to {
                opacity: 1;
            }
        }
        
        /* Links del menú con animaciones */
        .mobile-menu-link {
            position: relative;
            overflow: hidden;
        }
        
        .mobile-menu-link::before {
            content: '';
            position: absolute;
            top: 0;
            left: -100%;
            width: 100%;
            height: 100%;
            background: linear-gradient(90deg, transparent, rgba(255,255,255,0.3), transparent);
            transition: left 0.5s ease;
        }
        
        .mobile-menu-link:hover::before {
            left: 100%;
        }
        
        /* Pantalla bloqueada cuando menú móvil está abierto */
        body.menu-open {
            overflow: hidden;
        }
        
        /* Animación de entrada para los links */
        @keyframes slideInLink {
            from {
                opacity: 0;
                transform: translateX(-20px);
            }
            to {
                opacity: 1;
                transform: translateX(0);
            }
        }
        
        .mobile-menu.active .mobile-menu-link {
            animation: slideInLink 0.5s cubic-bezier(0.4, 0, 0.2, 1) forwards;
        }
        
        .mobile-menu.active .mobile-menu-link:nth-child(1) { animation-delay: 0.1s; }
        .mobile-menu.active .mobile-menu-link:nth-child(2) { animation-delay: 0.15s; }
        .mobile-menu.active .mobile-menu-link:nth-child(3) { animation-delay: 0.2s; }
        .mobile-menu.active .mobile-menu-link:nth-child(4) { animation-delay: 0.25s; }
        .mobile-menu.active .mobile-menu-link:nth-child(6) { animation-delay: 0.35s; }
        
        .gradient-text {
            background: linear-gradient(to right, #FF6B6B, #FF9E53, #FFDA77, #4CD97B, #5BC0EB, #9B5DE5);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;
        }
        
        .card-hover {
            transition: all 0.3s ease;
        }
        
        .card-hover:hover {
            transform: translateY(-8px) rotate(1deg);
        }
        
        .smooth-scroll {
            scroll-behavior: smooth;
        }
        
        .blob {
            border-radius: 42% 58% 70% 30% / 45% 45% 55% 55%;
            animation: morph 5s linear infinite;
        }
        
        @keyframes morph {
            0%, 100% { border-radius: 42% 58% 70% 30% / 45% 45% 55% 55%; }
            25% { border-radius: 58% 42% 30% 70% / 55% 55% 45% 45%; }
            50% { border-radius: 50% 50% 50% 50% / 50% 50% 50% 50%; }
            75% { border-radius: 30% 70% 70% 30% / 30% 30% 70% 70%; }
        }

        .top-logo {
            width: 150px;
            height: auto;
            position: absolute;
            left: 20px;
        }

        @keyframes pulseBorder {
            0%, 100% { border-color: rgba(255,255,255,0); opacity: 0; }
            50% { border-color: rgba(255,255,255,0.3); opacity: 1; }
        }
