/* Scroll Reveal (Gizleme/Gösterme) */
.reveal { opacity: 0; transform: translateY(30px); transition: all 0.8s ease-out; }
.reveal.active { opacity: 1; transform: translateY(0); }

/* Arkaplan & Efektler */
.noise-bg { position: fixed; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; z-index: 50; opacity: 0.04; background: url('https://grainy-gradients.vercel.app/noise.svg'); }
.cursor-glow { width: 500px; height: 500px; background: radial-gradient(circle, rgba(124, 58, 237, 0.15), transparent 70%); position: fixed; border-radius: 50%; pointer-events: none; z-index: 1; transform: translate(-50%, -50%); transition: transform 0.05s linear; }

/* Formlar */
.input-glass { background: rgba(255, 255, 255, 0.03); border: 1px solid rgba(255, 255, 255, 0.1); color: white; transition: all 0.3s ease; }
.input-glass:focus { background: rgba(124, 58, 237, 0.05); border-color: #7c3aed; outline: none; box-shadow: 0 0 15px rgba(124, 58, 237, 0.2); }

/* Nav Link Hover Efekti */
.nav-link { position: relative; }
.nav-link::after {
    content: ''; position: absolute; bottom: 0; left: 50%; width: 0; height: 1px;
    background: #ccf381; transition: all 0.3s ease; transform: translateX(-50%);
    box-shadow: 0 0 8px #ccf381;
}
.nav-link:hover::after { width: 20px; }

/* Mobil Menü Animasyonu */
#mobile-menu {
    transition: max-height 0.3s ease-in-out, opacity 0.3s ease-in-out;
    max-height: 0; opacity: 0; overflow: hidden;
}
#mobile-menu.open { max-height: 400px; opacity: 1; }