/* Custom styles and animations */
:root {
    --midnight-800: #0A192F;
    --midnight-700: #1E293B;
    --mint-400: #34D399;
    --mint-500: #10B981;
    --mint-600: #059669;
    --slate-300: #CBD5E1;
    --slate-400: #94A3B8;
    --slate-600: #475569;
    --slate-700: #334155;
}

html {
    scroll-behavior: smooth;
}

body {
    font-family: 'Inter', sans-serif;
}

.font-outfit {
    font-family: 'Outfit', sans-serif;
}

/* Custom color classes */
.text-mint-400 { color: #34D399; }
.text-mint-500 { color: #10B981; }
.text-mint-600 { color: #059669; }
.text-midnight-700 { color: #1E293B; }
.text-midnight-800 { color: #0A192F; }
.bg-mint-100 { background-color: #D1FAE5; }
.bg-mint-200 { background-color: #A7F3D0; }
.bg-mint-300 { background-color: #6EE7B7; }
.bg-mint-400 { background-color: #34D399; }
.bg-mint-500 { background-color: #10B981; }
.bg-mint-500\/10 { background-color: rgba(16, 185, 129, 0.1); }
.bg-mint-500\/20 { background-color: rgba(16, 185, 129, 0.2); }

/* Button styles */
.btn-primary {
    background-color: #34D399;
    color: #0A192F;
    transition: all 0.3s ease;
}

.btn-primary:hover {
    background-color: #10B981;
    transform: translateY(-2px);
    box-shadow: 0 10px 25px -5px rgba(16, 185, 129, 0.4);
}

.btn-secondary {
    background-color: transparent;
    color: #F8FAFC;
    border: 2px solid #34D399;
    transition: all 0.3s ease;
}

.btn-secondary:hover {
    background-color: #34D399;
    color: #0A192F;
    transform: translateY(-2px);
}

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

@keyframes blob {
    0%, 100% { transform: translate(0px, 0px) scale(1); }
    33% { transform: translate(30px, -50px) scale(1.1); }
    66% { transform: translate(-20px, 20px) scale(0.9); }
}

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

.animate-blob {
    animation: blob 7s ease-in-out infinite;
}

.animation-delay-2000 {
    animation-delay: 2s;
}

.animation-delay-4000 {
    animation-delay: 4s;
}

/* Scroll reveal animation */
.scroll-reveal {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

.scroll-reveal.revealed {
    opacity: 1;
    transform: translateY(0);
}

/* Staggered animation delays */
.scroll-reveal:nth-child(1) { transition-delay: 0ms; }
.scroll-reveal:nth-child(2) { transition-delay: 100ms; }
.scroll-reveal:nth-child(3) { transition-delay: 200ms; }
.scroll-reveal:nth-child(4) { transition-delay: 300ms; }
.scroll-reveal:nth-child(5) { transition-delay: 400ms; }
.scroll-reveal:nth-child(6) { transition-delay: 500ms; }

/* Responsive adjustments */
@media (max-width: 768px) {
    .hero-bg {
        min-height: auto;
        padding: 100px 0 60px;
    }
    
    .hero-text {
        text-align: center;
    }
    
    .floating-card {
        display: none;
    }
}

/* Focus styles for accessibility */
input:focus,
select:focus,
textarea:focus,
button:focus {
    outline: none;
}

/* Smooth transitions */
* {
    transition-property: background-color, border-color, color, transform;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}
