.hero-gradient-text {
    background: linear-gradient(135deg, #FFD93D 0%, #6BCB77 50%, #9B59B6 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}
.card-hover { transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); }
.card-hover:hover { transform: translateY(-8px); }
.fade-up { opacity: 0; transform: translateY(24px); transition: all 0.6s ease; }
.fade-up.visible { opacity: 1; transform: translateY(0); }
.bg-grid {
    background-image: linear-gradient(rgba(255,255,255,0.03) 1px, transparent 1px),
                      linear-gradient(90deg, rgba(255,255,255,0.03) 1px, transparent 1px);
    background-size: 48px 48px;
}
.bg-dots {
    background-image: radial-gradient(circle, rgba(59,59,152,0.07) 1px, transparent 1px);
    background-size: 24px 24px;
}
details summary::-webkit-details-marker { display: none; }
details summary { list-style: none; }
@keyframes fadeSlideDown {
    from { opacity: 0; transform: translateY(-16px); }
    to { opacity: 1; transform: translateY(0); }
}
