
    @import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@200;400;800&display=swap');

    html, body {
        margin: 0; padding: 0;
        background-color: #0b0930;
        color: rgb(19, 6, 90) !important; /* Forzamos blanco global */
        font-family: 'Plus Jakarta Sans', sans-serif;
        overflow-x: hidden;
    }

    .vista-continua {
        background: radial-gradient(circle at 50% 50%, #1b1670 0%, #0b0930 100%);
        background-attachment: fixed;
        width: 100%;
        position: relative;
    }

    /* Títulos Forzados a Blanco */
    .fuerza-blanco {
        color: #ffffff !important;
        -webkit-text-fill-color: #ffffff !important;
        text-shadow: 0 10px 30px rgba(0,0,0,0.5);
    }

    /* Efecto de Texto Outline Mejorado */
    .text-outline-hero {
        -webkit-text-stroke: 1px rgba(255, 255, 255, 0.5);
        color: transparent !important;
        -webkit-text-fill-color: transparent !important;
        transition: all 0.6s cubic-bezier(0.23, 1, 0.32, 1);
    }
    
    .hero-container:hover .text-outline-hero {
        -webkit-text-stroke: 1px #00BDFF;
        filter: drop-shadow(0 0 15px rgba(0, 189, 255, 0.4));
    }

    /* Tarjetas con Borde de Cristal */
    .card-premium {
        background: rgba(255, 255, 255, 0.03);
        backdrop-filter: blur(20px);
        border: 1px solid rgba(255, 255, 255, 0.1);
        border-radius: 3rem;
        transition: all 0.5s ease;
        position: relative;
    }

    .card-premium:hover {
        background: rgba(255, 255, 255, 0.07);
        border-color: #00BDFF;
        transform: translateY(-20px);
        box-shadow: 0 40px 100px rgba(0, 0, 0, 0.7);
    }

    /* Blobs de luz animados */
    .bg-blob {
        position: absolute;
        width: 600px; height: 600px;
        background: rgba(0, 189, 255, 0.15);
        filter: blur(150px);
        border-radius: 50%;
        z-index: 0;
        animation: move 20s infinite alternate;
    }

    @keyframes move {
        from { transform: translate(-10%, -10%); }
        to { transform: translate(20%, 20%); }
    }

  /* Animación de entrada (Scroll Reveal) */
  @keyframes fadeInUp {
    from {
      opacity: 0;
      transform: translateY(30px);
    }
    to {
      opacity: 1;
      transform: translateY(0);
    }
  }

  .reveal-item {
    opacity: 0; /* Empiezan invisibles */
    animation: fadeInUp 0.8s ease-out forwards;
  }

  /* Efecto sutil de flotación continua para el color azul */
  .group:hover h4 {
    text-shadow: 0 10px 15px rgba(0, 189, 255, 0.2);
  }
