/* --- CONFIGURACIÓN GLOBAL --- */
* { font-family: 'Plus Jakarta Sans', sans-serif; }

body {
    background-color: #ffffff;
    background-image: 
        radial-gradient(at 0% 0%, rgba(14, 165, 233, 0.15) 0px, transparent 50%),
        radial-gradient(at 100% 0%, rgba(14, 165, 233, 0.1) 0px, transparent 50%),
        radial-gradient(at 100% 100%, rgba(14, 165, 233, 0.15) 0px, transparent 50%),
        radial-gradient(at 0% 100%, rgba(14, 165, 233, 0.1) 0px, transparent 50%),
        radial-gradient(at 50% 50%, rgba(14, 165, 233, 0.05) 0px, transparent 50%);
    background-attachment: fixed;
}

/* PATRÓN DEL SÍMBOLO Λ EN EL FONDO */
.bg-lambda-pattern {
    position: fixed;
    top: 0; left: 0; width: 100%; height: 100%;
    pointer-events: none;
    z-index: -1;
    opacity: 0.06;
    background-image: url("data:image/svg+xml,%3Csvg width='100' height='100' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Ctext x='30' y='60' fill='%230ea5e9' font-family='sans-serif' font-size='40' font-weight='800'%3EΛ%3C/text%3E%3C/svg%3E");
    background-size: 150px 150px;
}

/* --- SISTEMA DE REVELADO (SCROLL) --- */
.reveal {
    opacity: 0;
    transform: translateY(30px);
    transition: all 0.9s cubic-bezier(0.17, 0.55, 0.55, 1);
}

.reveal.active {
    opacity: 1;
    transform: translateY(0);
}

/* Delays para efecto cascada */
.delay-1 { transition-delay: 0.15s; }
.delay-2 { transition-delay: 0.3s; }
.delay-3 { transition-delay: 0.45s; }
.delay-4 { transition-delay: 0.6s; }
.delay-5 { transition-delay: 0.75s; }
.delay-6 { transition-delay: 0.9s; }

/* --- ANIMACIONES EXTRAS --- */
.float-animation {
    animation: float 6s ease-in-out infinite;
}

@keyframes float {
    0%, 100% { transform: translateY(0px); }
    50% { transform: translateY(-20px); }
}

@keyframes bounce-x {
    0%, 100% { transform: translateX(0); }
    50% { transform: translateX(5px); }
}
.animate-bounce-x { animation: bounce-x 1s infinite; }

.software-blob {
    position: absolute; font-family: monospace; font-size: 10px;
    color: #0ea5e9; opacity: 0.1; white-space: pre;
    pointer-events: none; user-select: none;
}