/* styles extracted from index.html + responsive hamburger */
:root{
  --bg-1: #020024;
  --bg-2: #090979;
  --accent: #ffb86b;
  --muted: rgba(255,255,255,0.85);
  --glass: rgba(255,255,255,0.06);
}
*{box-sizing:border-box}
body{
  margin:0;
  font-family: 'Poppins', sans-serif;
  color:var(--muted);
  background: radial-gradient(1200px 600px at 10% 10%, rgba(255,255,255,0.03), transparent), linear-gradient(135deg,var(--bg-1),var(--bg-2));
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  overflow-x:hidden;
}

/* NAV */
header.site-header{
  position:fixed;left:0;right:0;top:0;z-index:50;
  display:flex;align-items:center;justify-content:space-between;
  padding:12px 20px;background:linear-gradient(180deg,rgba(255,255,255,0.03),transparent);
  backdrop-filter: blur(6px);
  border-bottom:1px solid rgba(255,255,255,0.04);
}
.brand{display:flex;gap:12px;align-items:center}
.logo{width:44px;height:44px;border-radius:10px;background:linear-gradient(135deg,#ffe600,#ff758c);display:flex;align-items:center;justify-content:center;font-weight:800;color:#111}
.brand h1{margin:0;font-size:1.125rem;color:var(--accent)}
nav.main-nav{display:flex;gap:6px;align-items:center}
nav.main-nav a{color:var(--muted);text-decoration:none;margin-left:12px;padding:8px 12px;border-radius:8px;transition:all .22s}
nav.main-nav a:hover{transform:translateY(-4px);background:var(--glass);color:#fff}

/* Nav toggle (hamburger) */
.nav-toggle{display:none;background:transparent;border:0;cursor:pointer;padding:8px;border-radius:8px}
.nav-toggle .bar{display:block;width:22px;height:2px;background:var(--muted);margin:4px 0;transition:all .22s}

/* Hero */
.hero{padding:100px 20px 40px;display:grid;grid-template-columns:1fr 420px;gap:30px;align-items:center;max-width:1200px;margin:0 auto}
.hero .eyebrow{color:#ffd79a;font-weight:600}
.hero h2{font-size:2.2rem;margin:12px 0;color:#fff;line-height:1.05}
.hero p{color:rgba(255,255,255,0.85);max-width:680px}
.cta{margin-top:18px}
.btn{display:inline-block;background:linear-gradient(90deg,#ff758c,#ffe600);color:#111;padding:12px 20px;border-radius:999px;font-weight:700;text-decoration:none;box-shadow:0 8px 24px rgba(255,117,140,0.12);transition:transform .18s}
.btn:hover{transform:translateY(-4px)}

/* Card */
.card{background:linear-gradient(180deg,rgba(255,255,255,0.02),rgba(255,255,255,0.01));padding:18px;border-radius:14px;border:1px solid rgba(255,255,255,0.04);box-shadow:0 8px 30px rgba(2,6,23,0.5)}

/* Servicios */
.services{max-width:1100px;margin:40px auto;padding:20px;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.service{padding:18px;border-radius:12px;background:linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0.01));transition:transform .25s}
.service:hover{transform:translateY(-8px)}

/* Footer */
footer{margin-top:40px;padding:40px 20px;background:linear-gradient(180deg,transparent,rgba(0,0,0,0.4))}
.footer-inner{max-width:1000px;margin:0 auto;display:flex;justify-content:space-between;gap:20px;align-items:center}

img.responsive{max-width:100%;height:auto;border-radius:10px}

/* small utilities */
.muted{color:rgba(255,255,255,0.7);font-size:0.95rem}
.small{font-size:0.9rem}
/* Animaciones y efectos */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}
.reveal.visible{opacity:1;transform:translateY(0)}

/* Testimonios */
.testimonials{max-width:1000px;margin:40px auto;padding:20px;position:relative}
.testimonials .track{display:flex;gap:18px;transition:transform .6s cubic-bezier(.22,.9,.32,1)}
.testimonial{min-width:320px;background:linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0.01));padding:18px;border-radius:12px;border:1px solid rgba(255,255,255,0.04)}
.testimonial .meta{display:flex;align-items:center;gap:12px;margin-bottom:8px}
.testimonial .avatar{width:54px;height:54px;border-radius:50%;object-fit:cover;border:2px solid rgba(255,255,255,0.06)}
.testimonial .quote{font-size:1.05rem;color:rgba(255,255,255,0.9);margin-bottom:8px}
.testimonial .author{font-weight:700;color:var(--accent);font-size:0.95rem}
.test-controls{display:flex;justify-content:center;gap:8px;margin-top:12px}
.dot{width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,0.12)}
.dot.active{background:var(--accent);box-shadow:0 6px 18px rgba(255,184,107,0.14)}
/* Logos / partners */
.partners{max-width:1100px;margin:18px auto 6px;padding:12px 20px;display:flex;align-items:center;justify-content:center;background:transparent}
.partners .logos{display:flex;gap:18px;align-items:center;justify-content:center;flex-wrap:wrap}
.partners .logos img{height:40px;filter:grayscale(90%) opacity(.9);transition:filter .18s,transform .18s}
.partners .logos img:hover{filter:none;transform:translateY(-4px)}

/* Responsive / hamburger */
@media (max-width:900px){
  .hero{grid-template-columns:1fr;padding-top:100px}
  .services{grid-template-columns:1fr 1fr}
  .footer-inner{flex-direction:column;align-items:flex-start}
  .nav-toggle{display:block}
  nav.main-nav{position:fixed;right:16px;top:68px;background:rgba(2,6,23,0.94);padding:12px;border-radius:10px;flex-direction:column;gap:8px;transform:translateX(110%);transition:transform .25s,opacity .25s;opacity:0}
  nav.main-nav.open{transform:translateX(0);opacity:1}
  nav.main-nav a{display:block;margin:6px 0}
}
@media (max-width:520px){.services{grid-template-columns:1fr}}
