/* --------- Base --------- */
* { box-sizing: border-box; }
html, body { height: 100%; }
:root {
  --brand:#7c5cff; --brand-2:#4cc9f0; --bg:#0b1020; --surface:#0f162e; --ink:#e8ecff; --muted:#a6b0d1; --accent:#a3e635;
}
body { margin:0; font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial; color: var(--ink);
  background: radial-gradient(1200px 800px at 80% -20%, rgba(124,92,255,.25), transparent 50%),
              radial-gradient(900px 600px at -10% 0%, rgba(76,201,240,.2), transparent 60%),
              linear-gradient(180deg, #0b1020 0%, #0a0f1f 100%); line-height:1.5; }
img{max-width:100%;height:auto;display:block;}
h1,h2,h3{line-height:1.2;margin:0 0 .5rem;} p{margin:0 0 1rem;} a{color:var(--brand-2);text-decoration:none;} a:hover{text-decoration:underline;}
.container{width:min(1128px,92%);margin:0 auto;}
.site-header{position:sticky;top:0;z-index:50;background:rgba(15,22,46,.7);backdrop-filter:saturate(180%) blur(12px);border-bottom:1px solid rgba(124,92,255,.25);}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:.8rem 0;}
.brand{display:inline-flex;align-items:center;gap:.5rem;font-weight:700;}.logo{font-size:1.35rem;}.brand-name{letter-spacing:.2px;}
.nav{display:none;gap:1rem;}.header-cta{display:none;} @media(min-width:900px){.nav{display:inline-flex;}.header-cta{display:inline-flex;}}
.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:.6rem;padding:.7rem 1rem;font-weight:600;border:1px solid transparent;}
.btn-lg{padding:.9rem 1.1rem;}.btn-primary{background:linear-gradient(90deg,var(--brand),var(--brand-2));color:#fff;}
.btn-primary:hover{filter:brightness(1.05);text-decoration:none;}.btn-accent{background:var(--accent);color:#0a0f1f;}
.badge{display:inline-flex;align-items:center;padding:.35rem .6rem;border-radius:999px;background:rgba(76,201,240,.18);color:#e6f7ff;font-weight:600;font-size:.85rem;}
.badges{display:flex;flex-wrap:wrap;gap:.5rem;}
.small{font-size:.9rem;}.muted{color:var(--muted);}.mt8{margin-top:.5rem;}
.hero{padding:1.2rem 0 0;background:linear-gradient(180deg,rgba(10,16,31,0) 0%, rgba(12,20,46,.35) 60%, rgba(10,16,31,1) 100%);}
.hero-grid{display:grid;gap:1.2rem;align-items:center;grid-template-columns:1fr;padding:1.2rem 0 0;}
.hero-copy{padding:1rem 0 2rem;}.hero-copy h1{font-size:clamp(1.8rem,3vw,3rem);} .highlight{color:var(--brand-2);} .sub{color:var(--muted);font-size:1.05rem;}
.hero-actions{display:grid;gap:.4rem;align-items:start;} .hero-media{border-radius:1rem 1rem 0 0;overflow:hidden;box-shadow:0 40px 80px -20px rgba(124,92,255,.35);}
@media(min-width:900px){.hero-grid{grid-template-columns:1.1fr .9fr;gap:2rem;padding:2rem 0 0;}.hero-media{border-radius:1.25rem;}.hero-actions{grid-auto-flow:column;align-items:center;gap:1rem;}}
.trust-strip{background:rgba(255,255,255,0.02);border-top:1px solid rgba(124,92,255,.2);border-bottom:1px solid rgba(76,201,240,.1);margin-top:1rem;}
.trust-items{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem;padding:.6rem 0;text-align:center;color:#cde3ff;font-weight:600;}
.section{padding:2.5rem 0;}.section-accent{background:linear-gradient(180deg,rgba(124,92,255,.08),rgba(76,201,240,.06));}
.two-col{display:grid;gap:1.2rem;grid-template-columns:1fr;align-items:start;} @media(min-width:900px){.two-col{grid-template-columns:1.1fr .9fr;gap:2rem;}}
.card{background:rgba(18,26,56,.85);border:1px solid rgba(124,92,255,.18);border-radius:1rem;padding:1.2rem;box-shadow:0 20px 60px -20px rgba(76,201,240,.15);}
.bullet-card .bullets{margin:.6rem 0 .3rem;padding-left:1.2rem;} .bullet-card .bullets li{margin:.35rem 0;}
.form-grid{display:grid;gap:1rem;grid-template-columns:1fr;align-items:center;} .form-copy h2{margin-bottom:.4rem;}
.lead-form{display:grid;gap:.6rem;} .lead-form label{font-weight:700;} .lead-form input[type="text"],.lead-form input[type="email"]{padding:.75rem .8rem;border:1px solid #3a4569;border-radius:.6rem;font-size:1rem;outline:none;background:rgba(255,255,255,.06);color:#fff;}
.lead-form input::placeholder{color:#9fb0d9;} .lead-form input:focus{border-color:var(--brand-2);box-shadow:0 0 0 4px rgba(76,201,240,.15);} .lead-form button{margin-top:.3rem;}
@media(min-width:900px){.form-grid{grid-template-columns:1.1fr .9fr;gap:2rem;}}
.testimonials{display:grid;gap:1rem;grid-template-columns:1fr;} @media(min-width:800px){.testimonials{grid-template-columns:repeat(3,1fr);}}
.testimonial .quote{font-size:1.05rem;} .testimonial .author{color:var(--muted);margin-top:.4rem;}
.section-deep{background:radial-gradient(600px 300px at 0% 0%, rgba(124,92,255,.15), transparent 60%), radial-gradient(500px 250px at 100% 0%, rgba(76,201,240,.12), transparent 60%);}
.title-contrast{color:#fff;} .sub-contrast{color:var(--muted);} .center{text-align:center;}
.gallery{display:grid;grid-template-columns:1fr;gap:1rem;margin-top:1rem;} .gallery-card{border-radius:1rem;overflow:hidden;border:1px solid rgba(124,92,255,.2);}
.gallery-card img{width:100%;height:100%;object-fit:cover;aspect-ratio:16/10;transition:transform .5s ease;} .gallery-card:hover img{transform:scale(1.03);}
@media(min-width:900px){.gallery{grid-template-columns:1fr 1fr;}}
.site-footer{border-top:1px solid rgba(124,92,255,.2);background:rgba(255,255,255,0.02);} .footer-grid{display:grid;gap:1rem;grid-template-columns:1fr;padding:1.2rem 0;align-items:start;}
.footer-nav{display:grid;grid-auto-flow:row;gap:.4rem;} @media(min-width:800px){.footer-grid{grid-template-columns:1fr auto;}.footer-nav{grid-auto-flow:column;gap:1rem;}}
.cta-final{padding:2.5rem 0;background:linear-gradient(180deg,rgba(76,201,240,.08),rgba(124,92,255,.08));} .cta-card{display:grid;grid-template-columns:1fr;gap:1rem;align-items:center;}
@media(min-width:800px){.cta-card{grid-template-columns:1fr auto;}}

/* FAQ */
.faq { display: grid; gap: .6rem; margin-top: 1rem; }
.faq-item { background: rgba(18,26,56,.85); border: 1px solid rgba(124,92,255,.18); border-radius: .8rem; padding: .6rem .8rem; }
.faq-item > summary { cursor: pointer; font-weight: 700; outline: none; }
.faq-item > summary::-webkit-details-marker { display: none; }
.faq-item[open] { box-shadow: 0 10px 30px -12px rgba(76,201,240,.15); }
.faq-item p { margin: .6rem 0 0; color: var(--muted); }


/* Hamburger menu */
.hamburger{display:inline-flex;flex-direction:column;gap:4px;width:40px;height:40px;align-items:center;justify-content:center;
  background:transparent;border:1px solid rgba(124,92,255,.25);border-radius:.6rem;color:#e6f7ff;}
.hamburger span{display:block;width:20px;height:2px;background:#e6f7ff;transition:transform .3s ease, opacity .3s ease;}
@media (min-width: 900px){ .hamburger{display:none;} }

/* Mobile nav as dropdown */
.nav{display:none;gap:1rem;}
@media (min-width: 900px){ .nav{display:inline-flex;} }

/* Open state */
.menu-open .nav{
  display:block;
  position:absolute;
  top:60px; left:0; right:0;
  background: rgba(15,22,46,.98);
  border-top: 1px solid rgba(124,92,255,.25);
  box-shadow: 0 20px 60px -20px rgba(76,201,240,.2);
  padding: .8rem 4%;
}
.menu-open .nav a{display:block; padding:.6rem 0;}

/* Rotate hamburger when open */
.menu-open .hamburger span:nth-child(1){ transform: translateY(6px) rotate(45deg); }
.menu-open .hamburger span:nth-child(2){ opacity:0; }
.menu-open .hamburger span:nth-child(3){ transform: translateY(-6px) rotate(-45deg); }

/* Social strip at page end */
.social-strip{ background: rgba(255,255,255,0.02); border-top: 1px solid rgba(124,92,255,.2); padding: .8rem 0; }
.social-row{ display: flex; gap: .8rem; align-items: center; justify-content: center; }
.social-icon{ display:inline-flex; width:40px; height:40px; align-items:center; justify-content:center; border-radius:.6rem; 
  background: rgba(255,255,255,0.06); color:#e6f7ff; border:1px solid rgba(124,92,255,.18); }
.social-icon:hover{ text-decoration:none; transform: translateY(-1px); }


/* === CTA alignment fix === */
.cta-final { padding: 2.5rem 0; }
.cta-card { 
  display: flex; 
  align-items: center;         /* centra verticalmente texto y botón */
  justify-content: space-between;
  gap: 1rem;
}
.cta-card > a.btn { margin-left: auto; }
@media (max-width: 799px) {
  .cta-card { flex-direction: column; align-items: flex-start; }
  .cta-card > a.btn { margin-left: 0; width: 100%; max-width: 260px; }
}


/* === CTA Final Padding Fix === */
.cta-final {
  padding: 3.5rem 2rem !important;  /* más espacio arriba y abajo */
}


/* === CTA Final Mobile Fix === */
@media (max-width: 768px) {
  .cta-final {
    flex-direction: column;
    text-align: center;
    padding: 2rem 1rem !important;
  }

  .cta-final .btn {
    margin: 1rem 0 0 0;
    width: 100%;
    max-width: 250px;
  }
}
