:root {
  --verde: #4CAF50;
  --verde-dark: #1B5E20;
  --verde-light: #66BB6A;
  --neon: #7CFC00;
  --bg: #020617;
  --card: #0f172a;
  --text: #e5e7eb;
}

* { margin:0; padding:0; box-sizing:border-box; font-family:'Nunito',sans-serif; }

body {
  background: radial-gradient(circle at top, #1f2937, #020617);
  color: var(--text);
}

nav {
  position: fixed;
  width: 100%;
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:20px 40px;
  backdrop-filter: blur(12px);
  background: rgba(0,0,0,0.4);
  z-index:100;
}

nav img {
  height:50px;
  padding:6px;
  background: radial-gradient(circle, rgba(255,255,255,0.95), rgba(255,255,255,0.85));
  border-radius:50%;
  box-shadow: 0 0 20px rgba(124,252,0,0.45), 0 4px 14px rgba(0,0,0,0.4);
  border:1px solid rgba(124,252,0,0.4);
}

nav a {
  color:white;
  margin-left:20px;
  text-decoration:none;
  font-weight:600;
}

nav a:hover { color: var(--verde-light); }

header {
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  text-align:center;
  min-height:100vh;
  padding:140px 60px 60px;
  gap:40px;
}

.hero-img { display:flex; justify-content:center; }

.hero-text h1 {
  font-size:3.5rem;
  font-weight:800;
  background: linear-gradient(90deg, var(--neon), var(--verde));
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
}

.hero-text p {
  margin:20px 0;
  font-size:1.1rem;
  opacity:0.8;
}

.btn {
  display:inline-block;
  margin-top:20px;
  padding:14px 30px;
  border-radius:40px;
  background: linear-gradient(135deg, var(--verde), var(--verde-light));
  color:black;
  font-weight:bold;
  text-decoration:none;
  box-shadow:0 15px 40px rgba(0,255,0,0.3);
  transition:0.3s;
}

.btn:hover { transform:scale(1.05); }

.hero-img img {
  width:250px;
  padding:25px;
  background: radial-gradient(circle, rgba(255,255,255,0.95), rgba(255,255,255,0.8) 70%, rgba(255,255,255,0) 100%);
  border-radius:50%;
  box-shadow: 0 0 60px rgba(124,252,0,0.55), 0 20px 60px rgba(0,0,0,0.5);
  filter: drop-shadow(0 0 30px rgba(124,252,0,0.4));
  animation: float 5s ease-in-out infinite;
}

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

section { padding:100px 20px; max-width:1100px; margin:auto; }

h2 { text-align:center; margin-bottom:50px; font-size:2.2rem; }

/* SCROLL ANIM */
.reveal { opacity:0; transform: translateY(40px); transition:1s; }
.reveal.active { opacity:1; transform: translateY(0); }

.grid { display:grid; grid-template-columns: repeat(auto-fit,minmax(250px,1fr)); gap:25px; }

.card {
  background: var(--card);
  padding:30px;
  border-radius:20px;
  transition:0.4s;
  border:1px solid rgba(255,255,255,0.05);
  position:relative;
  overflow:hidden;
}

.card::before {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(120deg,transparent,rgba(124,252,0,0.2),transparent);
  opacity:0;
  transition:0.4s;
}

.card:hover::before { opacity:1; }

.card:hover {
  transform: translateY(-10px) scale(1.02);
  box-shadow:0 20px 50px rgba(0,255,0,0.25);
}

.card h3 { color: var(--verde-light); margin-bottom:10px; }

/* PROCESS */
.process-step { text-align:center; }
.process-step span {
  display:inline-block;
  width:50px; height:50px;
  border-radius:50%;
  background: var(--verde);
  margin-bottom:15px;
  line-height:50px;
  font-weight:bold;
}

/* TESTIMONIALS */
.testimonial {
  background: rgba(255,255,255,0.03);
  padding:25px;
  border-radius:20px;
  font-style:italic;
}

/* CONTACT */
.contact {
  position:relative;
  padding:80px;
  border-radius:30px;
  text-align:center;
  background: linear-gradient(135deg,#1B5E20,#4CAF50,#7CFC00);
  background-size:200% 200%;
  animation: gradient 6s ease infinite;
  box-shadow:0 30px 100px rgba(0,255,0,0.3);
}

@keyframes gradient {
  0%{background-position:0% 50%;}
  50%{background-position:100% 50%;}
  100%{background-position:0% 50%;}
}

.contact h2, .contact p { text-shadow:0 3px 12px rgba(0,0,0,0.7); }

/* WHATSAPP */
.whatsapp {
  position:fixed;
  bottom:20px;
  right:20px;
  background:#25D366;
  padding:15px 18px;
  border-radius:50%;
  font-size:20px;
  color:white;
  box-shadow:0 10px 30px rgba(0,0,0,0.3);
  text-decoration:none;
}

footer { text-align:center; padding:30px; opacity:0.6; }

@media(max-width:900px){
  header { padding:140px 20px 60px; }
  .hero-text h1 { font-size:2.5rem; }
}
