/* Navigation Links */
.nav-link {
    font-size: 0.875rem;
    color: #d1d5db;
    padding: 0.5rem 0.75rem;
    border-radius: 0.5rem;
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

.nav-link:hover {
    color: white;
    background-color: rgba(255, 255, 255, 0.05);
}

.nav-link-active {
    color: white;
    background-color: rgba(255, 255, 255, 0.1);
}

/* Glassmorphism */
.glass {
    background: rgba(255, 255, 255, 0.04);
    backdrop-filter: blur(20px) saturate(1.5);
    -webkit-backdrop-filter: blur(20px) saturate(1.5);
    border: 1px solid rgba(255, 255, 255, 0.08);
}

.glass-card {
    background: rgba(255, 255, 255, 0.04);
    backdrop-filter: blur(24px) saturate(1.5);
    -webkit-backdrop-filter: blur(24px) saturate(1.5);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 1rem;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.05);
}

.glass-card:hover {
    border-color: rgba(168, 85, 247, 0.2);
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3), 0 0 40px rgba(168, 85, 247, 0.06), inset 0 1px 0 rgba(255, 255, 255, 0.05);
}

.glass-card-strong {
    background: rgba(255, 255, 255, 0.06);
    backdrop-filter: blur(32px) saturate(1.5);
    -webkit-backdrop-filter: blur(32px) saturate(1.5);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 1rem;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.4), inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

/* Scroll Smooth */
html {
    scroll-behavior: smooth;
}

/* Font Display */
.font-display {
    font-family: 'Bebas Neue', 'Impact', sans-serif;
    letter-spacing: 0.04em;
}

/* Hide on mobile utilities */
@media (max-width: 640px) {
    .sm\:hidden {
        display: none !important;
    }
}

@media (min-width: 1024px) {
    .lg\:hidden {
        display: none !important;
    }
}

/* Animations */
@keyframes pulse {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.5; }
}

.animate-pulse {
    animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}

@keyframes spin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

.animate-spin {
    animation: spin 1s linear infinite;
}

@keyframes bounce {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-0.5rem); }
}

.animate-bounce {
    animation: bounce 1s infinite;
}
