:root{
  --bg:#0d1b2a;
  --fg:#ffffff;
  --accent:#ff7b00;
  --muted:#e0e0e0;
  --container:1200px;
}

*{box-sizing:border-box;margin:0;padding:0}
body{font-family:'Poppins',sans-serif;background:var(--bg);color:var(--fg);line-height:1.6;overflow-x:hidden}
.container{max-width:var(--container);margin:0 auto;padding:2rem}

/* Header */
header{position:sticky;top:0;z-index:1000;background:rgba(13,27,42,.95);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:space-between;padding:1rem;border-bottom:1px solid rgba(255,255,255,.1)}
.brand img{width:180px;height:100px;object-fit:contain}
nav{display:flex;gap:1rem}
nav a{text-decoration:none;color:var(--fg);transition:.3s}
nav a:hover{color:var(--accent)}
.menu-toggle{display:none;font-size:1.8rem;background:none;border:none;color:var(--fg);cursor:pointer}

.btn{background:var(--accent);color:var(--bg);padding:.6rem 1rem;border-radius:8px;text-decoration:none;font-weight:600;transition:.3s}
.btn:hover{opacity:.85}

/* Hero */
.hero{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:center;padding:6rem 0}
.hero h1{font-size:clamp(2rem,5vw,3rem);color:var(--accent);margin-bottom:1rem}
.hero p{color:var(--fg);font-size:1.1rem;margin-bottom:2rem}
.hero img{width:80%;border-radius:12px;object-fit:cover}

/* Cards & Services */
.features{display:flex;gap:1rem;flex-wrap:wrap;margin-top:3rem}
.card,.service-box{background:#1b263b;padding:1rem;border-radius:12px;box-shadow:0 4px 10px rgba(0,0,0,.3);transition:.3s}
.card:hover,.service-box:hover{transform:translateY(-8px);background:#23344d}
.service-box h3{margin-bottom:.5rem;color:var(--accent)}
.service-box p{color:var(--muted);font-size:.9rem}
.services{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem;margin-bottom:4rem}

.carousel {
  position: relative;
  overflow: hidden;
  width: 100%;
  max-width: 900px;
  margin: 2rem auto;
}

.carousel-track {
  display: flex;
  transition: transform 0.5s ease-in-out;
}

.carousel-track img {
  flex: 0 0 100%;
  width: 100%;
  height: 500px;
  object-fit: cover;
  border-radius: 12px;
}

.carousel-btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(0,0,0,0.5);
  border: none;
  color: white;
  font-size: 2rem;
  padding: 0.5rem 0.8rem;
  cursor: pointer;
  z-index: 10;
  border-radius: 50%;
}

.carousel-btn:hover {
  background: rgba(0,0,0,0.7);
}

.carousel-btn.prev { left: 10px; }
.carousel-btn.next { right: 10px; }



/* Clients */
.clients {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2rem;
  align-items: center;
  margin-bottom: 4rem;
}

@media (max-width: 1024px) {
  .clients {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 768px) {
  .clients {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 480px) {
  .clients {
    grid-template-columns: 1fr;
  }
}

.clients img {
  width: 80%;
  filter: grayscale(100%);
  opacity: 0.8;
  transition: 0.3s;
}

.clients img:hover {
  filter: grayscale(0);
  opacity: 1;
}

/* Testimonials */
.testimonials{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;margin-top:2rem;margin-bottom:4rem}
.testimonial{background:#1b263b;padding:1rem;border-radius:12px;box-shadow:0 4px 10px rgba(0,0,0,.3)}
.testimonial p{color:var(--muted);font-size:.95rem;margin-bottom:.5rem}
.testimonial strong{color:var(--accent)}

/* Contact Section */
.contact-info{text-align:center;margin-bottom:1.5rem}
.contact-info p{font-size:1.1rem;margin:0.3rem 0}
.contact-info a{color:var(--accent);text-decoration:none}
.contact-info a:hover{text-decoration:underline}
.contacto{text-align:center;margin-bottom:4rem}
#contactForm{display:grid;gap:.5rem;max-width:640px;margin:0 auto 2rem auto}
#contactForm input,#contactForm select,#contactForm textarea{padding:.6rem;border-radius:8px;border:1px solid #e6eef6;font-family:'Poppins',sans-serif;font-size:1rem}
.mapa{width:100%;height:400px;border-radius:12px;overflow:hidden;margin-bottom:4rem}

/* Footer */
footer{margin-top:3rem;padding:2rem 0;border-top:1px solid rgba(255,255,255,.1);color:var(--muted);font-size:.9rem;text-align:center}
.footer-nav{margin-top:1rem;display:flex;justify-content:center;flex-wrap:wrap;gap:1rem}
.footer-nav a{color:var(--muted);text-decoration:none;transition:.3s}
.footer-nav a:hover{color:var(--accent)}

/* WhatsApp button */
.whatsapp-btn{position:fixed;bottom:20px;right:20px;width:60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 10px rgba(0,0,0,.3);z-index:2000;cursor:pointer}
.whatsapp-btn img{width:60px;height:60px}

/* Fade-in animations */
.fade-in{opacity:0;transform:translateY(20px);transition:opacity 0.8s ease-out, transform 0.8s ease-out;}
.fade-in.show{opacity:1;transform:translateY(0);}

@media(max-width:900px){
  .hero{grid-template-columns:1fr;text-align:center}
  .hero img{margin-top:1.5rem}
  nav{display:none;flex-direction:column;gap:.5rem;background:#1b263b;position:absolute;top:70px;right:20px;padding:1rem;border-radius:8px}
  .menu-toggle{display:block}
}
