/* Neon/party visual styles, loader, micro-animations */
:root{
  --neon-1:#00fff7; /* cyan */
  --neon-2:#ff00d4; /* pink */
  --neon-3:#fffb00; /* yellow */
  --bg-dark:#0b0b10;
}
body{background:linear-gradient(180deg,var(--bg-dark),#071021);color:#fff;font-family:'Poppins',sans-serif;overflow-x:hidden}

/* Loader */
.site-loader{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,rgba(0,0,0,0.9),rgba(2,2,6,0.85));z-index:9999}
.lottie-loader{width:160px;height:160px}

/* Neon Hero */
.hero{min-height:78vh;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:6rem 2rem;position:relative}
.hero .headline{font-family:'Merienda',cursive;font-size:clamp(2.2rem,6vw,5rem);letter-spacing:0.02em;color:transparent;background:linear-gradient(90deg,var(--neon-1),var(--neon-2),var(--neon-3));-webkit-background-clip:text;background-clip:text;text-transform:uppercase}
.hero .sub{margin-top:1rem;font-size:1.1rem;color:rgba(255,255,255,0.85)}

/* CTA */
.cta-btn{background:linear-gradient(90deg,var(--neon-2),var(--neon-1));border:0;padding:0.9rem 1.6rem;color:#071021;font-weight:700;border-radius:12px;cursor:pointer;box-shadow:0 8px 30px rgba(0,255,247,0.08);transition:transform .18s ease,box-shadow .18s ease}
.cta-btn:hover{transform:translateY(-6px);box-shadow:0 18px 40px rgba(255,0,212,0.12)}

/* Reveal utilities */
.reveal{opacity:0;transform:translateY(20px)}

/* Card hover */
.card{background:linear-gradient(180deg,rgba(255,255,255,0.03),rgba(255,255,255,0.02));border-radius:12px;padding:1rem;transition:transform .25s ease,box-shadow .25s ease}
.card:hover{transform:translateY(-10px) rotateX(4deg);box-shadow:0 30px 80px rgba(0,0,0,0.6)}

/* Sparkles */
.sparkle{position:absolute;pointer-events:none;mix-blend-mode:screen}
.sparkle svg{filter:drop-shadow(0 4px 12px rgba(255,255,255,0.08))}

/* Counter */
.counter{font-weight:800;font-size:2rem;color:var(--neon-3)}

/* Mobile tweaks */
@media (max-width:768px){.hero{padding:4rem 1rem}.hero .headline{font-size:2.6rem}}
