.reveal {
    opacity: 0;
    transform: translateY(30px);
    transition: all 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}
.reveal.active {
    opacity: 1;
    transform: translateY(0);
}

.glass-nav {
    background: rgba(255, 255, 255, 0.8);
    backdrop-filter: blur(12px);
    border-bottom: 1px solid rgba(255, 255, 255, 0.3);
}
.glass-nav.scrolled {
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.05), 0 8px 10px -6px rgba(0, 0, 0, 0.05);
    background: rgba(255, 255, 255, 0.95);
}

.text-gradient {
    background: linear-gradient(135deg, #4f46e5 0%, #ec4899 50%, #3b82f6 100%);
    background-size: 200% auto;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    animation: gradientShift 6s ease infinite;
}
@keyframes gradientShift {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}

.hover-card {
    transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}
.hover-card:hover {
    transform: translateY(-8px) scale(1.01);
    box-shadow: 0 20px 30px -10px rgba(79, 70, 229, 0.12);
}

@keyframes floatSlow {
    0%, 100% { transform: translateY(0px) scale(1); }
    50% { transform: translateY(-20px) scale(1.05); }
}
.animate-float-1 { animation: floatSlow 7s ease-in-out infinite; }
.animate-float-2 { animation: floatSlow 9s ease-in-out infinite 1s; }
.animate-float-3 { animation: floatSlow 8s ease-in-out infinite 2s; }

.truncate-fade {
    max-width: 100%;
    white-space: nowrap;
    overflow: hidden;
    -webkit-mask-image: linear-gradient(to right, black 75%, transparent 100%);
    mask-image: linear-gradient(to right, black 75%, transparent 100%);
}

::-webkit-scrollbar {
    width: 12px;
}
::-webkit-scrollbar-track {
    background: #f1f5f9;
}
::-webkit-scrollbar-thumb {
    background: linear-gradient(180deg, #4f46e5, #ec4899);
    border-radius: 999px;
    border: 3px solid #f1f5f9;
}
::-webkit-scrollbar-thumb:hover {
    background: linear-gradient(180deg, #4338ca, #db2777);
}

html {
    scrollbar-width: thin;
    scrollbar-color: #4f46e5 #f1f5f9;
}
