/* MENTALIDAD CONSCIENTE — Landing: seccion «Mapa Personal de Crecimiento» (2026-09-20).
   Archivo NUEVO y aislado: no modifica ningun CSS existente. Usa las variables de la paleta
   oficial (main.css :root). Sin imagenes: solo HTML/CSS + un SVG decorativo en linea. */
.mapa-cta {
  position: relative; overflow: hidden; color: var(--text-on-deep, #eef1ff);
  background: linear-gradient(155deg, #0d1126 0%, #141a3a 58%, #1c1450 100%);
  padding-block: clamp(3rem, 7vw, 5.2rem);
}
.mapa-cta::before, .mapa-cta::after { content: ""; position: absolute; pointer-events: none; border-radius: 50%; }
.mapa-cta::before { width: 46rem; height: 46rem; right: -14rem; top: -18rem; background: radial-gradient(closest-side, rgba(0, 207, 255, .20), transparent 72%); }
.mapa-cta::after { width: 40rem; height: 40rem; left: -14rem; bottom: -20rem; background: radial-gradient(closest-side, rgba(138, 43, 226, .26), transparent 72%); }
.mapa-cta__grid { position: relative; z-index: 1; display: grid; grid-template-columns: 1.2fr .8fr; gap: clamp(1.5rem, 4vw, 3.5rem); align-items: center; }
.mapa-cta .eyebrow { color: var(--cyan, #00cfff); margin-bottom: .6rem; }
.mapa-cta h2 { color: #fff; margin: 0 0 .5rem; font-size: var(--fs-h2, 2rem); line-height: 1.15; }
.mapa-cta__lead { margin: 0 0 1rem; font-family: var(--font-title, "Montserrat", sans-serif); font-weight: 800; font-size: clamp(1.25rem, 2.6vw, 1.7rem); line-height: 1.2; color: var(--gold, #ffd700); }
.mapa-cta__copy { margin: 0 0 1.3rem; max-width: 60ch; font-size: 1.05rem; line-height: 1.6; color: var(--text-on-deep-soft, #b9c1de); }
.mapa-cta__benefits { list-style: none; margin: 0 0 1.6rem; padding: 0; display: grid; grid-template-columns: repeat(2, 1fr); gap: .7rem; }
.mapa-cta__benefits li { display: flex; align-items: center; gap: .65rem; padding: .75rem .9rem; border-radius: 14px; background: rgba(255, 255, 255, .06); border: 1px solid rgba(255, 255, 255, .14); font-weight: 600; font-size: .95rem; line-height: 1.3; color: #fff; }
.mapa-cta__benefits .ico { flex: none; font-size: 1.35rem; line-height: 1; }
.mapa-cta__btn { display: inline-flex; justify-content: center; text-align: center; max-width: 100%; }
.mapa-cta__micro { margin: .9rem 0 .2rem; font-weight: 600; color: #fff; font-size: .95rem; }
.mapa-cta__legal { margin: 0; font-size: .8rem; color: var(--text-on-deep-soft, #b9c1de); opacity: .85; max-width: 60ch; }
.mapa-cta__visual { justify-self: center; width: 100%; max-width: 380px; padding: 1rem; border-radius: 24px; background: rgba(20, 26, 58, .72); border: 1px solid rgba(255, 215, 0, .28); box-shadow: 0 18px 48px rgba(0, 0, 0, .35), 0 0 42px rgba(0, 207, 255, .16); }
.mapa-cta__visual svg { display: block; width: 100%; height: auto; }
.mapa-cta__visual figcaption, .mapa-cta__visual .cap { margin: .4rem 0 0; text-align: center; font-size: .78rem; color: var(--text-on-deep-soft, #b9c1de); }
.mc-ring { fill: none; stroke: rgba(255, 255, 255, .16); stroke-width: 1; }
.mc-axis { stroke: rgba(255, 255, 255, .13); stroke-width: 1; }
.mc-area { fill: rgba(0, 207, 255, .26); stroke: #00cfff; stroke-width: 2.4; stroke-linejoin: round; }
.mc-dot { fill: #ffd700; }
.mc-lbl { fill: #eef1ff; font: 600 11.5px "Poppins", "Segoe UI", system-ui, sans-serif; }
@media (max-width: 900px) {
  .mapa-cta__grid { grid-template-columns: 1fr; }
  .mapa-cta__text { text-align: center; }
  .mapa-cta__copy, .mapa-cta__legal { margin-inline: auto; }
  .mapa-cta .eyebrow { justify-content: center; }
  .mapa-cta__visual { max-width: 320px; }
}
@media (max-width: 520px) {
  .mapa-cta__benefits { gap: .5rem; text-align: left; }
  .mapa-cta__benefits li { padding: .6rem .65rem; font-size: .84rem; gap: .5rem; }
  .mapa-cta__benefits .ico { font-size: 1.15rem; }
  .mapa-cta__btn { width: 100%; padding-inline: 1.2rem; }
  .mapa-cta__visual { max-width: 270px; padding: .7rem; }
}
@media (max-width: 340px) {
  .mapa-cta__benefits { grid-template-columns: 1fr; }
}
