body {
    font-family: 'Inter', sans-serif;
    background-color: #fcfcfc;
}

.gummy-accent {
    background-color: #7c3aed; 
}

.gummy-bg-soft {
    background-color: #faf5ff; 
}

.hero-gradient {
    background: linear-gradient(135deg, #7c3aed 0%, #a855f7 100%);
}

.benefits-gradient {
    background: linear-gradient(135deg, #06b6d4 0%, #22d3ee 100%); 
}

.soft-shadow-gummy {
    box-shadow: 0 10px 20px rgba(124, 58, 237, 0.4), 0 6px 6px rgba(124, 58, 237, 0.2);
    transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.soft-shadow-gummy:hover {
    box-shadow: 0 15px 30px rgba(124, 58, 237, 0.5), 0 8px 8px rgba(124, 58, 237, 0.3);
    transform: translateY(-3px);
}

.cta-button-gummy {
    background: linear-gradient(90deg, #f59e0b 0%, #fbbf24 100%);
    color: white;
    font-weight: 700;
    padding: 0.75rem 2rem;
    border-radius: 1rem;
    box-shadow: 0 5px 15px rgba(245, 158, 11, 0.4);
    transition: all 0.3s ease;
}

.cta-button-gummy:hover {
    box-shadow: 0 8px 20px rgba(245, 158, 11, 0.6);
    transform: translateY(-2px) scale(1.02);
}

.wave-separator {
    background-color: #fcfcfc;
    position: relative;
    padding-bottom: 80px; 
}

.wave-separator::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 80px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 320'%3E%3Cpath fill='%23faf5ff' fill-opacity='1' d='M0,192L80,186.7C160,181,320,171,480,181.3C640,192,800,224,960,224C1120,224,1280,192,1360,176L1440,160L1440,320L1360,320C1280,320,1120,320,960,320C800,320,640,320,480,320C320,320,160,320,80,320L0,320Z'%3E%3C/path%3E%3C/svg%3E");
    background-size: cover;
    background-repeat: no-repeat;
    transform: scaleY(-1); 
}

.hero-pattern {
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="100" height="100" viewBox="0 0 100 100"><circle cx="50" cy="50" r="10" fill="rgba(255,255,255,0.7)" /></svg>'); /* Changed to a soft dot pattern for better visual */
}

@keyframes bounce-slow {
    0%, 100% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(-5px);
    }
}

.group-hover\\:animate-bounce-slow:hover {
    animation: bounce-slow 1s infinite;
}

.tab-active {
    color: #8b5cf6 !important; 
    border-color: #8b5cf6 !important;
}