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

/* Tailwind Setup & Base Variables */
@tailwind base;
@tailwind components;
@tailwind utilities;

@layer base {
    html {
        font-family: 'Outfit', sans-serif;
        scroll-behavior: smooth;
    }
}

/* Custom Utilities for Premium Look */
@layer utilities {
    .glass-nav {
        @apply bg-white/70 backdrop-blur-md border-b border-white/20 shadow-sm sticky top-0 z-50;
    }
    
    .glass-card {
        @apply bg-white/60 backdrop-blur-lg border border-white/30 shadow-xl rounded-2xl;
    }

    .glass-dark {
        @apply bg-slate-900/80 backdrop-blur-lg border border-slate-700/50 shadow-2xl rounded-2xl;
    }

    .text-gradient {
        @apply bg-clip-text text-transparent bg-gradient-to-r from-blue-600 to-indigo-600;
    }
    
    .text-gradient-gold {
         @apply bg-clip-text text-transparent bg-gradient-to-r from-yellow-500 to-amber-600;
    }
}

/* Animations */
.fade-up {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}

.fade-up.visible {
    opacity: 1;
    transform: translateY(0);
}

.delay-100 { transition-delay: 100ms; }
.delay-200 { transition-delay: 200ms; }
.delay-300 { transition-delay: 300ms; }

/* Custom Hero Background */
.hero-gradient {
    background: linear-gradient(135deg, #f0f4ff 0%, #e0e7ff 100%);
    position: relative;
    overflow: hidden;
}

.hero-gradient::before {
    content: '';
    position: absolute;
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
    background: radial-gradient(circle, rgba(99, 102, 241, 0.05) 0%, transparent 60%);
    animation: rotate 30s linear infinite;
    z-index: 0;
}

@keyframes rotate {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* Ensure content sits above background effects */
.hero-content {
    position: relative;
    z-index: 10;
}
