html.lenis { height: auto; }
.lenis.lenis-smooth { scroll-behavior: auto !important; }
.lenis.lenis-smooth [data-lenis-prevent] { overflow: clip; }
.lenis.lenis-stopped { overflow: hidden; }
.lenis.lenis-scrolling iframe { pointer-events: none; }
::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: #0a0a0c; }
::-webkit-scrollbar-thumb { background: #222226; border-radius: 10px; }
::-webkit-scrollbar-thumb:hover { background: #333339; }
.glass-card { background: rgba(255, 255, 255, 0.02); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); }
.glow-container { position: fixed; top: 0; left: 0; width: 100%; height: 100%; overflow: hidden; z-index: 0; pointer-events: none; }
.glow-sphere { position: absolute; width: 500px; height: 500px; border-radius: 50%; background: radial-gradient(circle, rgba(255,255,255,0.03) 0%, rgba(255,255,255,0) 70%); filter: blur(60px); mix-blend-mode: screen; }
.glow-1 { top: -10%; right: -10%; background: radial-gradient(circle, rgba(140,140,160,0.05) 0%, rgba(0,0,0,0) 70%); }
.glow-2 { bottom: 10%; left: -10%; background: radial-gradient(circle, rgba(100,110,140,0.04) 0%, rgba(0,0,0,0) 70%); }
.animate-spin-slow { animation: spin 40s linear infinite; }
@keyframes spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
.custom-cursor-ball { width: 8px; height: 8px; background-color: #ffffff; border-radius: 50%; position: fixed; transform: translate(-50%, -50%); pointer-events: none; z-index: 9999; mix-blend-mode: difference; transition: width 0.3s, height 0.3s, background-color 0.3s; }
.custom-cursor-text { position: fixed; transform: translate(-50%, -50%) scale(0); pointer-events: none; z-index: 10000; color: #000000; font-size: 10px; font-weight: 800; letter-spacing: 1px; font-family: 'Syne', sans-serif; transition: transform 0.3s ease; }
@media (max-width: 768px) { .custom-cursor-ball, .custom-cursor-text { display: none !important; } }
body.project-hover .custom-cursor-ball { width: 80px; height: 80px; background-color: #ffffff; mix-blend-mode: normal; }
body.project-hover .custom-cursor-text { transform: translate(-50%, -50%) scale(1); }
.nav-link { position: relative; }
.nav-link::after { content: ''; position: absolute; bottom: -4px; left: 0; width: 0; height: 1px; background: currentColor; transition: width 0.3s ease; }
.nav-link:hover::after { width: 100%; }
