@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;600;700&display=swap');

body {
    font-family: 'Montserrat', sans-serif;
    margin: 0;
    padding: 0;
    overflow-x: hidden;
}

.night-sky {
    background: linear-gradient(to bottom, #0a0a2a, #1a1a4a);
    position: relative;
    overflow: hidden;
}

.star {
    position: absolute;
    background-color: white;
    border-radius: 50%;
    animation: twinkle 4s infinite ease-in-out;
}

.firefly {
    position: absolute;
    width: 4px;
    height: 4px;
    background-color: #ffaa33;
    border-radius: 50%;
    filter: blur(1px);
    box-shadow: 0 0 10px 2px rgba(255, 170, 51, 0.8);
    animation: float 15s infinite ease-in-out;
}

.ai-node {
    position: absolute;
    width: 3px;
    height: 3px;
    background-color: #ff9933;
    border-radius: 50%;
    filter: blur(1px);
    box-shadow: 0 0 8px 2px rgba(255, 153, 51, 0.7);
}

.connection {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(100, 255, 218, 0.5), transparent);
    transform-origin: left center;
    animation: pulse 3s infinite alternate;
}

@keyframes twinkle {
    0%, 100% { opacity: 0.3; }
    50% { opacity: 1; }
}

@keyframes float {
    0% { transform: translate(0, 0); opacity: 0; }
    10% { opacity: 1; }
    90% { opacity: 1; }
    100% { transform: translate(var(--move-x), var(--move-y)); opacity: 0; }
}

@keyframes pulse {
    0% { opacity: 0.2; }
    100% { opacity: 0.8; }
}

.hero-content {
    position: relative;
    z-index: 10;
    animation: fadeIn 1.5s ease-out;
}

@keyframes fadeIn {
    from { opacity: 0; transform: translateY(20px); }
    to { opacity: 1; transform: translateY(0); }
}

.btn-primary {
    background: linear-gradient(90deg, #ff9933, #ff7700);
    transition: all 0.3s ease;
}

.btn-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 20px rgba(255, 153, 51, 0.3);
}

.email-input {
    transition: all 0.3s ease;
    border: 2px solid rgba(255, 153, 51, 0.3);
    background-color: rgba(0, 0, 0, 0.2);
}

.email-input:focus {
    border-color: #ff9933;
    box-shadow: 0 0 0 2px rgba(255, 153, 51, 0.2);
    outline: none;
}

.success-message {
    display: none;
    animation: fadeIn 0.5s ease-out;
}

.grecaptcha-badge {
    filter: invert(1) hue-rotate(180deg);
} 