.hero-bg {
    background-color: #F8FAFC;
    background-image:
        radial-gradient(at 0% 0%, rgba(37, 99, 235, 0.05) 0px, transparent 50%),
        radial-gradient(at 100% 100%, rgba(236, 72, 153, 0.05) 0px, transparent 50%),
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='49' viewBox='0 0 28 49'%3E%3Cg fill-rule='evenodd'%3E%3Cg id='hexagons' fill='%232563EB' fill-opacity='0.03' fill-rule='nonzero'%3E%3Cpath d='M13.99 9.25l13 7.5v15l-13 7.5L1 31.75v-15l12.99-7.5zM3 17.9v12.7l10.99 6.34 11-6.35V17.9l-11-6.34L3 17.9zM0 15l12.98-7.5V0h-2v6.35L0 12.69v2.3zm0 18.5L12.98 41v8h-2v-6.85L0 35.81v-2.3zM15 0v7.5L27.99 15H28v-2.31h-.01L17 6.35V0h-2zm0 49v-8l12.99-7.5H28v2.31h-.01L17 42.15V49h-2z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
}

.text-gradient {
    background: linear-gradient(to right, #3B82F6, #EC4899);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

@keyframes float {
    0%, 100% {
        transform: translateY(-50%) translateY(0px);
    }
    50% {
        transform: translateY(-50%) translateY(-10px);
    }
}

.animate-float {
    animation: float 3s ease-in-out infinite;
}

.hero-typing {
    display: inline-block;
    min-width: 13ch;
    white-space: nowrap;
}

.hero-typing::after {
    content: "";
    display: inline-block;
    width: 2px;
    height: 0.9em;
    margin-left: 0.2rem;
    background-color: rgba(37, 99, 235, 0.85);
    vertical-align: -0.08em;
    animation: hero-caret-blink 1s step-end infinite;
}

@keyframes hero-caret-blink {
    50% {
        opacity: 0;
    }
}
