:root{
  --bg:#0b1020;
  --card:#111733;
  --muted:#aab1c6;
  --text:#eaf0ff;
  --primary:#1f6feb;
  --primary-2:#4692ff;
  --accent:#00d4ff;
  --ok:#2ecc71;
  --shadow:0 10px 30px rgba(0,0,0,.25);
  --radius:18px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,Inter,Helvetica,Arial,sans-serif;line-height:1.55}
a{color:var(--primary)}
img{max-width:100%;display:block}
.container{max-width:1100px;margin:0 auto;padding:0 1.2rem}
.small{font-size:.9rem}
.muted{color:var(--muted)}
.lead{font-size:1.125rem;color:var(--muted)}
.section-title{margin:2rem 0 1rem 0;font-size:1.6rem}
.btn-primary,.btn-secondary{display:inline-block;padding:.8rem 1.1rem;border-radius:999px;text-decoration:none;font-weight:600}
.btn-primary{background:linear-gradient(90deg,var(--primary),var(--primary-2));color:white;box-shadow:var(--shadow)}
.btn-secondary{border:2px solid var(--primary);color:var(--text)}
.card{background:var(--card);border:1px solid #1e2748;border-radius:var(--radius);padding:1.1rem;box-shadow:var(--shadow)}
.card h3,.card h4{margin-top:.2rem}
.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
@media (max-width:900px){.card-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.card-grid{grid-template-columns:1fr}}

.site-header{position:sticky;top:0;background:rgba(11,16,32,.8);backdrop-filter:blur(10px);border-bottom:1px solid #1e2748;z-index:20}
.header-inner{display:flex;align-items:center;justify-content:space-between;height:64px}
.brand{display:flex;align-items:center;gap:.6rem;color:var(--text);text-decoration:none;font-size:1.1rem}
.brand-icon{font-size:1.6rem}
.nav .menu{display:flex;gap:.4rem;list-style:none;margin:0;padding:0;align-items:center}
.nav a{display:block;padding:.5rem .8rem;text-decoration:none;color:var(--text);border-radius:10px}
.nav a:hover{background:#1a2140}
.menu-toggle{display:none;background:transparent;border:1px solid #2a355f;color:var(--text);padding:.4rem .6rem;border-radius:10px}
@media (max-width:760px){
  .menu-toggle{display:block}
  .nav .menu{position:absolute;right:1rem;top:64px;background:var(--card);border:1px solid #1e2748;border-radius:var(--radius);padding:.6rem;display:none;flex-direction:column;min-width:220px}
  .nav .menu.show{display:flex}
}

.hero{padding:3rem 0;background:radial-gradient(1000px 400px at 10% -10%,rgba(70,146,255,.25),transparent),radial-gradient(1200px 400px at 90% -10%,rgba(0,212,255,.2),transparent)}
.hero-inner{display:grid;gap:1rem}
.hero h1{font-size:2.4rem;margin:0}
.hero .accent{color:var(--accent)}
.cta-row{display:flex;gap:.8rem;margin-top:.6rem;flex-wrap:wrap}

.features{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:2rem auto}
.features .feature{background:var(--card);padding:1rem;border-radius:var(--radius);border:1px solid #1e2748}
@media (max-width:900px){.features{grid-template-columns:1fr}}

.banner{margin:2rem auto}
.banner-inner{background:linear-gradient(90deg,rgba(31,111,235,.3),rgba(0,212,255,.25));border:1px solid #1e2748;border-radius:var(--radius);padding:1rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.banner .btn-primary{box-shadow:none}

.cols{display:grid;grid-template-columns:2fr 1fr;gap:1rem;margin:1.2rem 0}
@media (max-width:900px){.cols{grid-template-columns:1fr}}
.cols--contact{align-items:start}

.checklist{padding-left:1.1rem}
.checklist li{margin:.4rem 0}

.steps{list-style:none;padding:0;counter-reset:step}
.steps li{background:var(--card);border:1px solid #1e2748;border-radius:var(--radius);padding:1rem;margin:.6rem 0}
.steps h3{margin:.2rem 0}

.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:1rem 0}
.stat{background:var(--card);border:1px solid #1e2748;border-radius:var(--radius);padding:1rem;text-align:center}
.stat .num{display:block;font-size:1.6rem;font-weight:700}

.callout{background:rgba(0,212,255,.09);border:1px dashed #2f96c4;border-radius:var(--radius);padding:1rem;margin-top:1rem}

.form .form-row{display:grid;gap:.3rem;margin-bottom:.7rem}
input,textarea{background:#0e1630;border:1px solid #243160;color:var(--text);border-radius:12px;padding:.7rem;width:100%}
label{font-size:.95rem}
button{cursor:pointer}

.map-wrap{overflow:hidden;border-radius:var(--radius);border:1px solid #1e2748}
.map-wrap iframe{width:100%;height:280px;border:0;display:block}

.site-footer{margin-top:2rem;border-top:1px solid #1e2748;background:#0b1020}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:1rem;padding:1.2rem 0}
@media (max-width:900px){.footer-grid{grid-template-columns:1fr}}
.footer-bottom{border-top:1px dashed #1e2748;padding:.8rem 0}
.brand--footer{margin-bottom:.4rem}
.link-list{padding-left:1.1rem}

/* Botón de envío a la izquierda */
.form{ text-align: left; } /* por si algún estilo global centraba el contenido */
.form button[type="submit"]{
  display: inline-flex;
  margin: .8rem 0 0 0;   /* sin auto-centering */
}

/* Consentimiento en una sola línea (por si no lo tenías) */
.form .form-row .consent{
  display: inline-flex;
  align-items: center;
  gap: .6rem;
  line-height: 1.3;
}

/* Anula el width:100% que pueda afectar a los checkboxes */
.form .form-row .consent input[type="checkbox"]{
  width: auto;
  height: auto;
  margin: 0;
  vertical-align: middle;
  accent-color: var(--primary);
}





/* Sustituye tu regla full-bleed por esta */
.container > .page-hero{
  margin: 1rem 0 1.5rem;
}
.container > .page-hero img{
  display:block;
  width: min(1100px, 100%);
  height:auto;
  max-width:100%;
}