@keyframes float {
    0% {
        transform: translateY(0px);
    }
    50% {
        transform: translateY(-10px);
    }
    100% {
        transform: translateY(0px);
    }
}

.animate-float {
    animation: float 4s ease-in-out infinite;
}

.glass-panel {
    backdrop-filter: blur(12px);
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: rgba(16, 20, 23, 0.6);
}

.scroll-reveal {
    opacity: 0;
    transform: translateY(30px);
    transition: all 0.8s cubic-bezier(0.22, 1, 0.36, 1);
}

.scroll-reveal.visible {
    opacity: 1;
    transform: translateY(0);
}

.grid-mark {
    position: absolute;
    width: 10px;
    height: 10px;
    border-top: 1px solid #ffb59c;
    border-left: 1px solid #ffb59c;
}

.noise-bg {
    background-image: url('../images/noise-texture.png');
    opacity: 0.05;
    pointer-events: none;
}

.material-symbols-outlined {
    font-variation-settings: "FILL" 0, "wght" 400, "GRAD" 0, "opsz" 24;
}

.stagger-item {
    transition-delay: calc(var(--order) * 100ms);
}
