:root{
  --bg:#f7f9fc;
  --bg2:#ffffff;
  --text:#0f172a;
  --muted:#5b677a;
  --stroke:#e6edf7;

  --primary:#3b82f6;   /* azul */
  --primary2:#22c55e;  /* verde */
  --accent:#7c3aed;    /* violeta suave */

  --card:#ffffff;
  --shadow: 0 16px 40px rgba(15, 23, 42, .10);
  --shadow2: 0 10px 24px rgba(15, 23, 42, .08);
}

html{ scroll-behavior:smooth; }
body{
  background:
    radial-gradient(900px 520px at 10% 0%, rgba(59,130,246,.14), transparent 60%),
    radial-gradient(800px 540px at 100% 10%, rgba(34,197,94,.12), transparent 55%),
    radial-gradient(700px 520px at 50% 110%, rgba(124,58,237,.10), transparent 60%),
    var(--bg);
  color: var(--text);
}

.topbar{
  background: rgba(247,249,252,.82);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--stroke);
}

.navbar-brand{ color: var(--text) !important; }
.nav-link{ color: rgba(15,23,42,.70) !important; font-weight: 500; }
.nav-link:hover{ color: rgba(15,23,42,1) !important; }

.brand-mark{
  width: 12px; height: 12px; border-radius: 999px;
  background: linear-gradient(135deg, var(--primary), var(--primary2));
  box-shadow: 0 0 0 6px rgba(59,130,246,.12);
}

.hero{ padding: 76px 0 40px; }

.pill{
  display:inline-flex; gap:10px; align-items:center;
  padding:10px 14px; border-radius:999px;
  background: rgba(255,255,255,.85);
  border:1px solid var(--stroke);
  color: rgba(15,23,42,.85);
  font-size: .92rem;
  box-shadow: var(--shadow2);
}

.display-5{ letter-spacing: -0.02em; }
.lead{ color: rgba(15,23,42,.72) !important; }

.btn-primary{
  background: linear-gradient(135deg, var(--primary), #2563eb);
  border: 0;
  box-shadow: 0 10px 22px rgba(59,130,246,.22);
}
.btn-primary:hover{ filter: brightness(1.03); }

.btn-outline-dark{
  border-color: rgba(15,23,42,.18);
}

.btn-glass{
  background: rgba(255,255,255,.72);
  color: var(--text);
  border:1px solid var(--stroke);
  box-shadow: var(--shadow2);
}
.btn-glass:hover{ background: rgba(255,255,255,.95); }

.trust{ display:grid; grid-template-columns: 1fr; gap:12px; }
@media(min-width: 768px){ .trust{ grid-template-columns: 1fr 1fr 1fr; } }
.trust-item{
  display:flex; gap:12px; align-items:flex-start;
  padding:14px;
  border-radius: 18px;
  background: rgba(255,255,255,.9);
  border:1px solid var(--stroke);
  box-shadow: var(--shadow2);
}
.trust-item i{ font-size: 1.2rem; color: rgba(15,23,42,.85); }

.hero-card{
  background: rgba(255,255,255,.92);
  border:1px solid var(--stroke);
  border-radius: 22px;
  box-shadow: var(--shadow);
  overflow:hidden;
}
.hero-card-head{
  display:flex; align-items:center; justify-content:space-between;
  padding:14px 16px;
  border-bottom:1px solid var(--stroke);
}
.dots{ display:flex; gap:8px; }
.dots span{ width:10px; height:10px; border-radius:999px; background: rgba(15,23,42,.18); }
.hero-illustration{ padding: 10px 12px 0; }
.hero-illustration svg{ width:100%; height:auto; display:block; }

.hero-card-foot{
  padding: 14px 16px 16px;
  border-top:1px solid var(--stroke);
  display:grid; gap:10px;
}
@media(min-width: 768px){ .hero-card-foot{ grid-template-columns: 1fr 1fr 1fr; } }
.mini{
  display:flex; gap:10px; align-items:flex-start;
  padding: 10px;
  border-radius: 16px;
  background: rgba(247,249,252,.85);
  border:1px solid var(--stroke);
}
.mini i{ color: rgba(15,23,42,.85); }

.section{ padding: 76px 0; }
.section-alt{
  background: rgba(255,255,255,.55);
  border-top: 1px solid var(--stroke);
  border-bottom: 1px solid var(--stroke);
}

.section-head{ max-width: 900px; }
.section-head p{ color: rgba(15,23,42,.68) !important; }

.cardx{
  padding: 22px;
  border-radius: 20px;
  background: rgba(255,255,255,.95);
  border: 1px solid var(--stroke);
  box-shadow: var(--shadow2);
}
.cardx-icon{
  width: 46px; height: 46px; border-radius: 16px;
  display:grid; place-items:center;
  background: rgba(59,130,246,.12);
  border:1px solid rgba(59,130,246,.18);
}
.cardx-icon i{ font-size: 1.2rem; color: rgba(15,23,42,.85); }

.grid-nichos{ display:grid; grid-template-columns: 1fr; gap: 12px; }
@media(min-width: 768px){ .grid-nichos{ grid-template-columns: 1fr 1fr; } }
.nicho{
  display:flex; gap:12px; align-items:center;
  padding: 14px;
  border-radius: 18px;
  background: rgba(255,255,255,.95);
  border:1px solid var(--stroke);
  box-shadow: var(--shadow2);
}
.nicho i{ font-size: 1.35rem; color: rgba(15,23,42,.85); }

.panel{
  border-radius: 22px;
  background: rgba(255,255,255,.95);
  border: 1px solid var(--stroke);
  box-shadow: var(--shadow);
  padding: 22px;
}

.step-mini{
  display:flex; gap:12px; align-items:flex-start;
  padding: 12px;
  border-radius: 18px;
  background: rgba(247,249,252,.90);
  border: 1px solid var(--stroke);
  margin-bottom: 10px;
}
.badge-soft{
  min-width: 34px; height: 34px; border-radius: 14px;
  display:grid; place-items:center;
  background: rgba(34,197,94,.14);
  border: 1px solid rgba(34,197,94,.18);
  color: rgba(15,23,42,.9);
  font-weight: 800;
}

.process{
  padding: 22px;
  border-radius: 22px;
  background: rgba(255,255,255,.95);
  border:1px solid var(--stroke);
  box-shadow: var(--shadow2);
}
.process-n{
  font-weight: 900;
  letter-spacing: .12em;
  color: rgba(15,23,42,.75);
  background: rgba(124,58,237,.10);
  display:inline-block;
  padding: 6px 10px;
  border-radius: 999px;
  border:1px solid rgba(124,58,237,.14);
  margin-bottom: 10px;
}

.price{
  padding: 22px;
  border-radius: 22px;
  background: rgba(255,255,255,.95);
  border:1px solid var(--stroke);
  box-shadow: var(--shadow2);
  position: relative;
  height: 100%;
}
.price-featured{
  border: 1px solid rgba(59,130,246,.35);
  box-shadow: 0 20px 55px rgba(59,130,246,.18);
}
.badge-featured{
  position:absolute; top: 16px; right: 16px;
  background: linear-gradient(135deg, var(--primary), var(--primary2));
  color:#07101f;
  font-weight: 900;
  font-size: .78rem;
  padding: 8px 10px;
  border-radius: 999px;
}

.price-list{
  list-style:none; padding:0; margin: 18px 0 18px;
  display:grid; gap:10px;
}
.price-list li{ display:flex; gap:10px; align-items:flex-start; color: rgba(15,23,42,.82); }
.price-list i{ color: #16a34a; }

.form-card{
  border-radius: 22px;
  background: rgba(255,255,255,.95);
  border:1px solid var(--stroke);
  box-shadow: var(--shadow);
  padding: 22px;
}

.form-label{ color: rgba(15,23,42,.9); font-weight: 600; }
.form-control, .form-select{
  background: #ffffff !important;
  border: 1px solid rgba(15,23,42,.16) !important;
  color: var(--text) !important;
}
.form-control:focus, .form-select:focus{
  border-color: rgba(59,130,246,.55) !important;
  box-shadow: 0 0 0 .25rem rgba(59,130,246,.15) !important;
}
.form-control::placeholder{ color: rgba(91,103,122,.75); }

.info-cards{ display:grid; gap:12px; }
.info-card{
  display:flex; gap:12px; align-items:flex-start;
  padding: 14px;
  border-radius: 18px;
  background: rgba(255,255,255,.95);
  border:1px solid var(--stroke);
  box-shadow: var(--shadow2);
}
.info-card i{ font-size: 1.2rem; color: rgba(15,23,42,.85); }

.btn-whatsapp{
  background: linear-gradient(135deg, #25d366, #1fb85a);
  border:0;
  color:#06110a;
  font-weight: 900;
}
.btn-whatsapp:hover{ filter: brightness(1.03); color:#06110a; }

.wa-float{
  position: fixed;
  right: 18px;
  bottom: 18px;
  width: 56px;
  height: 56px;
  border-radius: 18px;
  display:grid;
  place-items:center;
  background: linear-gradient(135deg, #25d366, #1fb85a);
  color: #06110a;
  text-decoration:none;
  box-shadow: 0 18px 40px rgba(15, 23, 42, .22);
  z-index: 1030;
}
.wa-float i{ font-size: 1.6rem; }

.footer{
  border-top: 1px solid var(--stroke);
  background: rgba(255,255,255,.55);
}
.link-muted{
  color: rgba(15,23,42,.72);
  text-decoration: none;
}
.link-muted:hover{ color: rgba(15,23,42,1); }

.border-soft{ border-color: var(--stroke) !important; }

.modalx{
  background: rgba(255,255,255,.98);
  border: 1px solid var(--stroke);
  color: var(--text);
}
