body {
    font-family: 'Montserrat', sans-serif;
    scroll-behavior: smooth;
    background-color: #050505;
    background-image:
        radial-gradient(circle at 10% 20%, rgba(168, 85, 247, 0.08), transparent 25%),
        radial-gradient(circle at 90% 80%, rgba(59, 130, 246, 0.08), transparent 25%);
    background-attachment: fixed;
}

.bg-grid {
    background-size: 50px 50px;
    background-image:
        linear-gradient(to right, rgba(255, 255, 255, 0.03) 1px, transparent 1px),
        linear-gradient(to bottom, rgba(255, 255, 255, 0.03) 1px, transparent 1px);
}

body::before,
body::after {
    content: "";
    position: fixed;
    inset: 0;
    pointer-events: none;
    z-index: -1;
}

body::before {
    background:
        radial-gradient(circle at 14% 14%, rgba(168, 85, 247, 0.14), transparent 30%),
        radial-gradient(circle at 84% 20%, rgba(56, 189, 248, 0.12), transparent 30%),
        radial-gradient(circle at 52% 82%, rgba(139, 92, 246, 0.09), transparent 34%);
    filter: blur(20px);
    animation: ambientDrift 18s ease-in-out infinite alternate;
}

.glass-panel {
    background: rgba(20, 20, 20, 0.6);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border: 1px solid rgba(255, 255, 255, 0.08);
}

.reveal {
    opacity: 0;
    transform: translateY(30px);
    transition: all 0.8s cubic-bezier(0.2, 0.8, 0.2, 1);
}

.reveal.active {
    opacity: 1;
    transform: translateY(0);
}

.delay-100 {
    transition-delay: 100ms;
}

.delay-200 {
    transition-delay: 200ms;
}

.delay-300 {
    transition-delay: 300ms;
}

.delay-400 {
    transition-delay: 400ms;
}

.countdown-item {
    font-variant-numeric: tabular-nums;
}

.timeline-item:not(:last-child)::after {
    content: '';
    position: absolute;
    left: 19px;
    top: 40px;
    bottom: -16px;
    width: 1px;
    background: linear-gradient(to bottom, rgba(168, 85, 247, 0.4), transparent);
}

.filter-tab.active {
    background: rgba(168, 85, 247, 0.15);
    border-color: rgba(168, 85, 247, 0.5);
    color: white;
}
