/* Smooth scrolling */
html {
    scroll-behavior: smooth;
}

/* Gradient text utility */
.gradient-text {
    background: linear-gradient(135deg, #1a6ef5, #19b061);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

/* Hero background pattern */
.hero-pattern {
    background-image:
        radial-gradient(circle at 25% 25%, rgba(26, 110, 245, 0.05) 0%, transparent 50%),
        radial-gradient(circle at 75% 75%, rgba(25, 176, 97, 0.05) 0%, transparent 50%);
}

/* Feature card hover */
.feature-card {
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.feature-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.1);
}

/* Floating animation for hero illustration */
@keyframes float {
    0%, 100% { transform: translateY(0px); }
    50% { transform: translateY(-12px); }
}
.animate-float {
    animation: float 4s ease-in-out infinite;
}

/* Pulse ring for CTA */
@keyframes pulse-ring {
    0% { transform: scale(1); opacity: 1; }
    100% { transform: scale(1.3); opacity: 0; }
}
.pulse-ring::before {
    content: '';
    position: absolute;
    inset: -4px;
    border-radius: inherit;
    border: 2px solid currentColor;
    animation: pulse-ring 2s ease-out infinite;
}
