
body { background:#05070d; overflow-x:hidden; cursor:none; }
* { cursor:none; color:white; }

/* CURSOR */
.cursor {
  position: fixed;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: rgba(34,211,238,0.8);
  pointer-events: none;
  transform: translate(-50%, -50%);
  z-index: 9999;
  filter: blur(4px);
}
.cursor-ring {
  position: fixed;
  width: 40px;
  height: 40px;
  border: 1px solid rgba(34,211,238,0.5);
  border-radius: 50%;
  pointer-events: none;
  transform: translate(-50%, -50%);
  z-index: 9998;
}

/* BG GRID */
body::before{
  content:"";position:fixed;width:100%;height:100%;
  background-image:linear-gradient(rgba(34,211,238,0.05) 1px,transparent 1px),
  linear-gradient(90deg,rgba(34,211,238,0.05) 1px,transparent 1px);
  background-size:40px 40px;z-index:-2;
}

canvas{position:fixed;top:0;left:0;z-index:-1}

/* GLASS */
.glass { background: rgba(255,255,255,0.03); backdrop-filter: blur(14px); border:1px solid rgba(255,255,255,0.08); transition:.3s; }
.glass:hover { transform: translateY(-6px) scale(1.02); box-shadow:0 0 30px rgba(34,211,238,0.15); }

.btn { background: linear-gradient(135deg,#22d3ee,#06b6d4); }

/* REVEAL */
.reveal { opacity:0; transform:translateY(40px); transition: all 0.9s ease; }
.reveal.active { opacity:1; transform:translateY(0); }


/* NAV LINKS */
.nav-link {
  position: relative;
  transition: 0.3s;
}

.nav-link:hover {
  color: #22d3ee;
}

/* ACTIVE LINK */
.nav-link.active::after {
  content: "";
  position: absolute;
  bottom: -6px;
  left: 0;
  width: 100%;
  height: 2px;
  background: #22d3ee;
}



/* MOBILE MENU */
.menu-open {
  opacity: 1 !important;
  pointer-events: auto !important;
}

html {
  scroll-behavior: smooth;
}