:root{
  --lila:#c1a5cd;
  --verde-agua:#9ecdd3;
  --blanco:#fcfbfd;
  --lila-claro:#e1cfe7;
  --morado:#815fb2;
  --verde-oscuro:#15999d;
  --beige:#f7f1e8;
  --beige-2:#efe4d6;
  --tinta:#4a3b52;
  --sombra: 0 10px 30px rgba(129,95,178,0.12);
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:'Raleway', sans-serif;
  color:var(--tinta);
  background:var(--blanco);
  overflow-x:hidden;
}
h1,h2,h3,.script{
  font-family:'Gloria Hallelujah', cursive;
  font-weight:400;
  line-height:1.35;
}
img{max-width:100%;display:block;}
.wrap{
  max-width:1100px;
  margin:0 auto;
  padding:0 24px;
}
a{color:inherit;}

/* ============ SITE NAV ============ */
body{padding-top:76px;}
.site-header{
  position:fixed;
  top:0; left:0; right:0;
  z-index:100;
  background:rgba(252,251,253,0.97);
  box-shadow:0 4px 18px rgba(129,95,178,0.08);
  height:76px;
  display:flex;
  align-items:center;
}
.site-header .wrap{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  max-width:1200px;
}
.nav-logo{
  display:flex;
  align-items:center;
  gap:0;
}
.nav-logo img{height:52px;width:auto;display:block;}
.nav-menu{
  display:flex;
  align-items:center;
  gap:6px;
  list-style:none;
  margin:0;
  padding:0;
}
.nav-menu li{position:relative;}
.nav-link{
  display:inline-block;
  padding:10px 14px;
  font-family:'Raleway',sans-serif;
  font-weight:700;
  font-size:.92rem;
  color:var(--tinta);
  text-decoration:none;
  border-radius:20px;
  transition:background .2s ease, color .2s ease;
  white-space:nowrap;
}
.nav-link:hover{background:var(--lila-claro);color:var(--morado);}
.nav-link.activo{background:var(--lila-claro);color:var(--morado);}
.nav-link.destacado{
  background:var(--morado);
  color:#fff;
}
.nav-link.destacado:hover{background:#6d4a9e;color:#fff;}
.nav-cta{
  display:inline-flex;
  align-items:center;
  gap:6px;
  background:var(--verde-oscuro);
  color:#fff;
  font-weight:700;
  font-size:.88rem;
  padding:10px 18px;
  border-radius:20px;
  text-decoration:none;
  margin-left:8px;
  white-space:nowrap;
}
.nav-toggle{
  display:none;
  flex-direction:column;
  gap:5px;
  background:none;
  border:none;
  cursor:pointer;
  padding:8px;
  z-index:110;
}
.nav-toggle span{
  width:24px;height:2px;
  background:var(--morado);
  border-radius:2px;
  transition:transform .25s ease, opacity .25s ease;
}
.nav-toggle.abierto span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.nav-toggle.abierto span:nth-child(2){opacity:0;}
.nav-toggle.abierto span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

@media (max-width:900px){
  .nav-toggle{display:flex;}
  .nav-menu{
    position:fixed;
    top:76px; left:0; right:0; bottom:0;
    background:var(--blanco);
    flex-direction:column;
    align-items:stretch;
    justify-content:flex-start;
    padding:26px 24px;
    gap:4px;
    transform:translateX(100%);
    transition:transform .3s ease;
    overflow-y:auto;
  }
  .nav-menu.abierto{transform:translateX(0);}
  .nav-menu li{width:100%;}
  .nav-link{
    display:block;
    width:100%;
    padding:16px 18px;
    font-size:1.1rem;
    border-radius:14px;
  }
  .nav-cta{
    display:flex;
    justify-content:center;
    width:100%;
    margin:10px 0 0;
    padding:16px;
    font-size:1rem;
  }
}
.btn{
  display:inline-block;
  padding:18px 38px;
  border-radius:50px;
  font-family:'Raleway',sans-serif;
  font-weight:700;
  font-size:1.05rem;
  text-decoration:none;
  cursor:pointer;
  transition:transform .25s ease, box-shadow .25s ease;
  border:none;
}
.btn:hover{transform:translateY(-3px);}
.btn-primary{
  background:linear-gradient(135deg, var(--morado), #9a6fc4);
  color:#fff;
  box-shadow:0 12px 28px rgba(129,95,178,0.35);
}
.btn-secondary{
  background:transparent;
  color:var(--morado);
  border:2px solid var(--morado);
  padding:16px 34px;
}
.btn-secondary:hover{background:var(--lila-claro);}
.btn-giant{
  padding:24px 54px;
  font-size:1.25rem;
  border-radius:60px;
}

/* decorative botanical svg */
.botanico{position:absolute;opacity:.55;pointer-events:none;z-index:0;}

/* torn paper divider */
.rasgado{
  position:relative;
  width:100%;
  height:60px;
  margin-top:-1px;
}
.rasgado svg{width:100%;height:100%;display:block;}

/* ============ LOGO ============ */
.logo-vitalclub{
  display:flex;
  flex-direction:column;
  align-items:center;
  margin-bottom:18px;
}
.logo-vitalclub img{
  width:150px;
  height:auto;
}
footer .logo-vitalclub{margin-bottom:20px;}
footer .logo-vitalclub img{width:130px;}

/* ============ NAV ============ */
.nav-flotante{
  position:fixed;
  bottom:22px;
  right:22px;
  z-index:50;
}
.nav-flotante a{
  display:flex;
  align-items:center;
  gap:8px;
  background:var(--verde-oscuro);
  color:#fff;
  padding:14px 22px;
  border-radius:50px;
  font-weight:700;
  text-decoration:none;
  box-shadow:0 10px 26px rgba(21,153,157,0.4);
  font-size:.95rem;
}

/* ============ HERO ============ */
.hero{
  position:relative;
  min-height:100vh;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  padding:30px 20px 40px;
  background:
    radial-gradient(circle at 15% 10%, var(--lila-claro) 0%, transparent 45%),
    radial-gradient(circle at 90% 20%, var(--verde-agua) 0%, transparent 40%),
    linear-gradient(180deg, var(--beige) 0%, var(--blanco) 60%);
  overflow:hidden;
  text-align:center;
}
.hero-tag{
  font-family:'Raleway',sans-serif;
  letter-spacing:3px;
  text-transform:uppercase;
  font-size:.72rem;
  color:var(--morado);
  font-weight:700;
  margin-bottom:14px;
}
.hero h1{
  font-size:clamp(2.1rem, 5vw, 3.6rem);
  color:var(--morado);
  max-width:820px;
  margin:0 0 18px;
}
.hero p.subtitulo{
  max-width:560px;
  font-size:1.15rem;
  line-height:1.7;
  color:var(--tinta);
  margin:0 auto 32px;
}
.hero-botones{
  display:flex;
  gap:18px;
  flex-wrap:wrap;
  justify-content:center;
  margin-bottom:46px;
  position:relative;
  z-index:2;
}

/* Calendar */
.calendario-wrap{
  position:relative;
  width:100%;
  max-width:900px;
  margin:0 auto;
}
.calendario{
  background:#fff;
  border-radius:22px;
  box-shadow:var(--sombra);
  padding:34px 28px 30px;
  transform:rotate(-1.2deg);
  position:relative;
  border:1px solid var(--lila-claro);
}
.calendario::before{
  content:"";
  position:absolute;
  top:-14px; left:40px;
  width:70px; height:26px;
  background:rgba(193,165,205,0.55);
  border:1px solid rgba(129,95,178,0.25);
  transform:rotate(-6deg);
}
.calendario::after{
  content:"";
  position:absolute;
  top:-12px; right:60px;
  width:60px; height:24px;
  background:rgba(158,205,211,0.55);
  border:1px solid rgba(21,153,157,0.25);
  transform:rotate(5deg);
}

/* Hero imagen (evergreen, sin calendario) */
.hero-imagen-wrap{position:relative;width:100%;max-width:820px;margin:0 auto;}
.hero-imagen{
  background:#fff;
  border-radius:22px;
  box-shadow:var(--sombra);
  padding:14px;
  transform:rotate(-1deg);
  position:relative;
  border:1px solid var(--lila-claro);
}
.hero-imagen::before{
  content:"";
  position:absolute;
  top:-14px; left:40px;
  width:70px; height:26px;
  background:rgba(193,165,205,0.55);
  border:1px solid rgba(129,95,178,0.25);
  transform:rotate(-6deg);
}
.hero-imagen::after{
  content:"";
  position:absolute;
  top:-12px; right:60px;
  width:60px; height:24px;
  background:rgba(158,205,211,0.55);
  border:1px solid rgba(21,153,157,0.25);
  transform:rotate(5deg);
}
.hero-imagen img{
  width:100%;
  border-radius:14px;
  display:block;
  max-height:460px;
  object-fit:cover;
}
.cal-titulo{
  text-align:center;
  font-size:1.6rem;
  color:var(--morado);
  margin:0 0 18px;
}
.cal-mes{
  font-size:2.5rem;
  color:var(--morado);
  position:relative;
  display:inline-block;
}
.cal-mes::after{
  content:"";
  position:absolute;
  left:-4%;
  bottom:4px;
  width:108%;
  height:.35em;
  background:var(--lila-claro);
  z-index:-1;
  transform:rotate(-1deg);
}
.cal-anio{
  font-size:1.05rem;
  color:var(--verde-oscuro);
  font-family:'Raleway', sans-serif;
  font-weight:700;
  letter-spacing:1px;
}
.cal-grid{
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:8px;
  width:100%;
}
.cal-dow{
  font-size:.72rem;
  text-transform:uppercase;
  letter-spacing:1px;
  color:var(--verde-oscuro);
  font-weight:700;
  text-align:center;
  padding-bottom:6px;
}
.cal-day{
  position:relative;
  aspect-ratio:1/1;
  min-width:0;
  width:100%;
  overflow:hidden;
  border-radius:12px;
  background:var(--beige);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  padding:6px 4px;
  font-size:.85rem;
  font-weight:600;
  color:var(--tinta);
  text-align:center;
  box-sizing:border-box;
}
.cal-day .num{align-self:flex-start;}
.cal-day.evento{
  aspect-ratio:unset;
  min-height:112px;
  padding-top:8px;
  padding-bottom:20px;
}
.cal-day .nombre-cat{
  font-size:.5rem;
  line-height:1.1;
  font-weight:800;
  color:#5c3d7a;
  margin-top:4px;
  width:100%;
  overflow-wrap:break-word;
  word-break:break-word;
  hyphens:auto;
}
.cal-day .nombre-esp{
  font-size:.46rem;
  line-height:1.1;
  font-weight:600;
  font-style:italic;
  color:var(--verde-oscuro);
  margin-top:2px;
  width:100%;
  overflow-wrap:break-word;
  word-break:break-word;
  hyphens:auto;
}
.cal-day.vacio{background:transparent;}
.cal-day.evento{
  background:var(--lila-claro);
  box-shadow:inset 0 0 0 2px rgba(129,95,178,0.25);
}
.cal-day.deadline{
  background:var(--verde-agua);
  box-shadow:inset 0 0 0 2px rgba(21,153,157,0.3);
}
.cal-icono{
  position:absolute;
  bottom:6px;
  right:6px;
  font-size:1rem;
}
.cal-day span.num{font-size:.85rem;}

/* ============ SECCION GENERICA ============ */
section{
  position:relative;
  padding:100px 0;
}
.titulo-seccion{
  text-align:center;
  font-size:clamp(1.85rem,4.4vw,2.7rem);
  color:var(--morado);
  margin:0 0 16px;
  line-height:1.3;
}
.resalte-titulo{
  background-image:linear-gradient(var(--lila-claro), var(--lila-claro));
  background-repeat:no-repeat;
  background-size:100% 38%;
  background-position:0 92%;
  padding:0 .12em;
  box-decoration-break:clone;
  -webkit-box-decoration-break:clone;
}
.subtitulo-seccion{
  text-align:center;
  max-width:640px;
  margin:0 auto 56px;
  font-size:1.05rem;
  line-height:1.7;
  color:var(--tinta);
  opacity:.85;
}

/* Section 2 - quotes */
.seccion-frases{
  background:var(--beige);
}
.frases-lista{
  max-width:640px;
  margin:0 auto 50px;
  display:flex;
  flex-direction:column;
  gap:18px;
}
.frase-item{
  background:#fff;
  border-radius:18px 18px 18px 4px;
  padding:20px 26px;
  font-style:italic;
  font-size:1.05rem;
  box-shadow:0 6px 18px rgba(129,95,178,0.08);
  position:relative;
}
.frase-item:nth-child(even){
  align-self:flex-end;
  border-radius:18px 18px 4px 18px;
}
.cierre-frases{
  max-width:580px;
  margin:0 auto 18px;
  text-align:center;
  font-size:1.18rem;
  line-height:1.85;
  color:var(--tinta);
}
.cierre-frases .resaltado{
  font-weight:700;
  color:var(--morado);
  background-image:linear-gradient(var(--verde-agua), var(--verde-agua));
  background-repeat:no-repeat;
  background-size:100% 40%;
  background-position:0 90%;
  padding:0 .12em;
  box-decoration-break:clone;
  -webkit-box-decoration-break:clone;
}
.cierre-final{
  text-align:center;
  font-family:'Gloria Hallelujah', cursive;
  font-size:1.9rem;
  color:var(--morado);
  margin:6px 0 0;
}

/* Section 3 - timeline / cards experiencias */
.seccion-experiencias{background:var(--blanco);}
.timeline{
  max-width:820px;
  margin:0 auto;
  position:relative;
  padding-left:0;
}
.timeline::before{
  content:"";
  position:absolute;
  left:52px;
  top:10px;
  bottom:10px;
  width:2px;
  background:repeating-linear-gradient(180deg, var(--lila), var(--lila) 6px, transparent 6px, transparent 12px);
}
.cap{
  display:flex;
  gap:26px;
  margin-bottom:46px;
  position:relative;
}
.cap-icono{
  flex:0 0 104px;
  width:104px;
  height:104px;
  border-radius:50%;
  background:var(--lila-claro);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:2.4rem;
  box-shadow:var(--sombra);
  z-index:1;
}
.cap-card{
  background:#fff;
  border-radius:16px;
  padding:22px 26px;
  box-shadow:0 8px 22px rgba(129,95,178,0.08);
  flex:1;
}
.cap-card h3{
  margin:0 0 6px;
  font-size:1.25rem;
  color:var(--morado);
}
.cap-categoria{
  display:inline-block;
  font-size:.78rem;
  font-weight:700;
  color:var(--verde-oscuro);
  text-transform:uppercase;
  letter-spacing:.5px;
  margin-bottom:10px;
}
.cap-card p{margin:0;line-height:1.7;font-size:.98rem;}

/* Section 4 - benefit cards */
.seccion-beneficios{background:var(--lila-claro);}
.beneficios-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
  max-width:980px;
  margin:0 auto;
}
@media (max-width:820px){
  .beneficios-grid{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:520px){
  .beneficios-grid{grid-template-columns:1fr;}
}
.beneficio-card{
  background:#fff;
  border-radius:18px;
  padding:30px 24px;
  text-align:center;
  box-shadow:0 10px 24px rgba(129,95,178,0.1);
  transition:transform .3s ease;
}
.beneficio-card:hover{transform:translateY(-6px) rotate(-1deg);}
.beneficio-card .emoji{font-size:2rem;margin-bottom:12px;display:block;}
.beneficio-card h3{font-size:1.1rem;color:var(--morado);margin:0 0 8px;}
.beneficio-card p{margin:0;font-size:.92rem;line-height:1.6;opacity:.85;}

/* Section 5 - checklist */
.seccion-incluye{background:var(--blanco);}
.checklist-box{
  max-width:760px;
  margin:0 auto;
  background:#fff;
  border-radius:28px;
  padding:50px 40px 40px;
  box-shadow:var(--sombra);
  position:relative;
  border:1px solid var(--lila-claro);
}
.checklist-box::before{
  content:"";
  position:absolute;
  top:-16px; left:50%;
  transform:translateX(-50%) rotate(-2deg);
  width:110px; height:30px;
  background:rgba(193,165,205,0.6);
  border:1px solid rgba(129,95,178,0.25);
}
.checklist-box .cinta{
  display:block;
  text-align:center;
  font-family:'Gloria Hallelujah', cursive;
  color:var(--morado);
  font-size:1.15rem;
  margin-bottom:26px;
}
.checklist{
  list-style:none;
  padding:0;margin:0;
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:14px;
}
.checklist li{
  display:flex;
  align-items:center;
  gap:12px;
  font-size:.98rem;
  font-weight:600;
  color:var(--tinta);
  background:var(--beige);
  border-radius:16px;
  padding:12px 16px;
}
.checklist li:nth-child(3n+2){background:var(--lila-claro);}
.checklist li:nth-child(3n+3){background:rgba(158,205,211,0.28);}
.check-icono{
  flex:0 0 28px;
  height:28px;
  border-radius:50%;
  background:var(--verde-oscuro);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:.82rem;
}
@media (max-width:560px){
  .checklist{grid-template-columns:1fr;}
}

/* Section 6 - precio */
.seccion-precio{
  background:linear-gradient(135deg, var(--morado), #6d4a9e);
  color:#fff;
  text-align:center;
}
.seccion-precio .titulo-seccion{color:#fff;}
.precio-numero{
  font-family:'Gloria Hallelujah', cursive;
  font-size:clamp(3.2rem,9vw,5.5rem);
  margin:10px 0;
}

/* Tarjetas de planes */
.planes-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:26px;
  max-width:900px;
  margin:40px auto 0;
  text-align:left;
}
@media (max-width:760px){
  .planes-grid{grid-template-columns:1fr;}
}
.plan-card{
  background:#fff;
  border-radius:24px;
  padding:34px 28px;
  color:var(--tinta);
  box-shadow:0 20px 45px rgba(0,0,0,0.18);
  position:relative;
  display:flex;
  flex-direction:column;
}
.plan-card.destacado{
  border:3px solid var(--lila-claro);
  transform:translateY(-8px);
}
.plan-etiqueta{
  position:absolute;
  top:-16px; left:50%;
  transform:translateX(-50%) rotate(-2deg);
  background:var(--morado);
  color:#fff;
  font-size:.75rem;
  font-weight:700;
  padding:6px 16px;
  border-radius:20px;
  white-space:nowrap;
}
.plan-nombre{
  font-family:'Gloria Hallelujah', cursive;
  font-size:1.5rem;
  color:var(--morado);
  margin:6px 0 2px;
  text-align:center;
}
.plan-precio{
  text-align:center;
  font-family:'Gloria Hallelujah', cursive;
  font-size:2.6rem;
  color:var(--tinta);
  margin:6px 0 2px;
}
.plan-frecuencia{
  text-align:center;
  font-size:.85rem;
  opacity:.7;
  margin-bottom:20px;
}
.plan-lista{
  list-style:none;
  margin:0 0 26px;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:11px;
  flex-grow:1;
}
.plan-lista li{
  display:flex;
  align-items:flex-start;
  gap:10px;
  font-size:.92rem;
  line-height:1.5;
}
.plan-lista .check-icono{flex-shrink:0;margin-top:1px;}
.plan-cta{
  display:block;
  text-align:center;
  background:linear-gradient(135deg, var(--morado), #9a6fc4);
  color:#fff;
  font-weight:700;
  padding:14px 20px;
  border-radius:50px;
  text-decoration:none;
  box-shadow:0 12px 24px rgba(129,95,178,0.3);
}
.plan-cta:hover{transform:translateY(-2px);}
.planes-nota{
  text-align:center;
  max-width:600px;
  margin:30px auto 0;
  font-size:.95rem;
  opacity:.9;
}

/* Bio Kathe */
.seccion-bio{background:var(--blanco);}
.bio-grid{
  display:flex;
  align-items:center;
  gap:50px;
  max-width:980px;
  margin:0 auto;
}
.bio-foto{
  flex:0 0 260px;
  border-radius:20px;
  overflow:hidden;
  box-shadow:var(--sombra);
  transform:rotate(-2deg);
}
.bio-foto img{width:100%;height:100%;object-fit:cover;display:block;}
.bio-texto h3{
  font-family:'Gloria Hallelujah', cursive;
  color:var(--morado);
  font-size:1.6rem;
  margin:0 0 14px;
}
.bio-texto p{
  line-height:1.8;
  font-size:1.02rem;
  margin:0 0 14px;
}
.bio-firma{
  font-family:'Gloria Hallelujah', cursive;
  color:var(--morado);
  font-size:1.1rem;
}
@media (max-width:760px){
  .bio-grid{flex-direction:column;text-align:center;}
  .bio-foto{flex-basis:auto;width:220px;margin:0 auto;}
}
.precio-nota{
  max-width:460px;
  margin:0 auto;
  font-size:1rem;
  opacity:.9;
  line-height:1.7;
}

/* comparacion table */
.comparacion-wrap{
  max-width:720px;
  margin:60px auto 0;
  background:var(--beige);
  border-radius:20px;
  padding:34px 30px;
  box-shadow:0 20px 45px rgba(0,0,0,0.18);
}
table.comparacion{
  width:100%;
  border-collapse:collapse;
  font-size:.95rem;
  color:var(--tinta);
}
table.comparacion th{
  text-align:center;
  padding:8px 12px 14px;
  font-family:'Gloria Hallelujah', cursive;
  font-weight:400;
  font-size:1.1rem;
  color:var(--morado);
  border-bottom:2px solid var(--lila);
}
table.comparacion td{
  padding:11px 12px;
  border-bottom:1px solid rgba(129,95,178,0.15);
  text-align:center;
}
table.comparacion td:first-child{text-align:left;}
table.comparacion tr.total td{
  font-weight:700;
  padding-top:20px;
  font-size:1rem;
  color:var(--tinta);
}
table.comparacion tr.total td:last-child{
  font-family:'Gloria Hallelujah', cursive;
  font-size:1.7rem;
  color:var(--morado);
  font-weight:400;
}
.frase-ahorro{
  text-align:center;
  max-width:480px;
  margin:26px auto 0;
  font-size:1.05rem;
  font-family:'Gloria Hallelujah', cursive;
  color:var(--tinta);
}
.btn-pertenecer{
  animation:pulso-cta 2.2s ease-in-out infinite;
}
@keyframes pulso-cta{
  0%,100%{box-shadow:0 12px 28px rgba(129,95,178,0.35);}
  50%{box-shadow:0 14px 40px rgba(129,95,178,0.6);}
}

/* Section 7 - cupos */
.seccion-cupos{background:var(--beige);text-align:center;}
.cupos-caja{
  max-width:560px;
  margin:40px auto 0;
  background:#fff;
  border-radius:18px;
  padding:24px 30px;
  box-shadow:var(--sombra);
  font-weight:700;
  color:var(--morado);
  font-size:1.1rem;
  transform:rotate(-1deg);
  position:relative;
  border:2px dashed var(--lila);
}
.cupos-caja::before{
  content:"";
  position:absolute;
  top:-14px; left:30px;
  width:64px; height:24px;
  background:rgba(158,205,211,0.6);
  border:1px solid rgba(21,153,157,0.25);
  transform:rotate(-5deg);
}
.seccion-cupos{position:relative;overflow:hidden;}
.cupos-deco{position:absolute;opacity:.5;pointer-events:none;}
.cupos-numero{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:110px;height:110px;
  border-radius:50%;
  background:var(--verde-agua);
  color:#fff;
  font-family:'Gloria Hallelujah', cursive;
  font-size:2.6rem;
  margin:20px auto;
  box-shadow:0 10px 24px rgba(21,153,157,0.3);
}

/* testimonios */
.seccion-testimonios{background:var(--blanco);}
.testimonios-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(230px,1fr));
  gap:24px;
  max-width:980px;
  margin:0 auto;
}
.testimonio-card{
  background:var(--lila-claro);
  border-radius:18px;
  padding:26px 22px;
  text-align:center;
  box-shadow:0 8px 20px rgba(129,95,178,0.1);
  transform:rotate(-1deg);
}
.testimonio-card:nth-child(even){transform:rotate(1deg);}
.avatar{
  width:74px;height:74px;
  border-radius:50%;
  margin:0 auto 14px;
  background:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:1.8rem;
  font-family:'Gloria Hallelujah', cursive;
  color:var(--morado);
  box-shadow:0 4px 12px rgba(0,0,0,0.08);
}
.testimonio-card p.frase{
  font-style:italic;
  font-size:.98rem;
  line-height:1.6;
  margin:0 0 14px;
}
.testimonio-card .nombre{font-weight:700;font-size:.95rem;color:var(--morado);}
.testimonio-card .profesion{font-size:.82rem;opacity:.75;}

/* section 8 - composicion emocional */
.seccion-emocional{
  background:var(--verde-agua);
  color:#fff;
  text-align:center;
}
.seccion-emocional .titulo-seccion{color:#fff;}
.nube-palabras{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:16px 22px;
  max-width:800px;
  margin:20px auto 0;
}
.nube-item{
  background:rgba(255,255,255,0.18);
  border:1px solid rgba(255,255,255,0.4);
  border-radius:40px;
  padding:12px 22px;
  font-size:1.02rem;
  font-family:'Gloria Hallelujah', cursive;
}

/* ============ RETIRO: PARA TI SI ============ */
.seccion-para-ti{background:var(--beige);}
.para-ti-lista{
  max-width:640px;
  margin:0 auto;
  display:flex;
  flex-direction:column;
  gap:14px;
}
.para-ti-item{
  background:#fff;
  border-radius:14px;
  padding:16px 22px;
  display:flex;
  align-items:center;
  gap:14px;
  box-shadow:0 6px 16px rgba(129,95,178,0.08);
  font-size:1rem;
  line-height:1.5;
}
.para-ti-item .icono{flex-shrink:0;font-size:1.25rem;}

/* ============ RETIRO: GUIAS ============ */
.seccion-guias{background:var(--blanco);}
.guias-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:30px;
  max-width:980px;
  margin:0 auto;
}
@media (max-width:820px){.guias-grid{grid-template-columns:1fr;max-width:420px;}}
.guia-card{text-align:center;}
.guia-avatar{
  width:140px;height:140px;
  border-radius:50%;
  background:var(--lila-claro);
  color:var(--morado);
  display:flex;
  align-items:center;
  justify-content:center;
  font-family:'Gloria Hallelujah', cursive;
  font-size:1.8rem;
  margin:0 auto 18px;
  box-shadow:var(--sombra);
  overflow:hidden;
  border:4px solid #fff;
}
.guia-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%;}
@media (max-width:600px){
  .guia-avatar{width:160px;height:160px;}
}
.guia-card h3{font-size:1.15rem;color:var(--morado);margin:0 0 4px;}
.guia-card .rol{
  display:block;
  font-size:.76rem;
  font-weight:700;
  color:var(--verde-oscuro);
  text-transform:uppercase;
  letter-spacing:.5px;
  margin-bottom:12px;
}
.guia-card p{font-size:.9rem;line-height:1.65;opacity:.85;margin:0;}

/* ============ RETIRO: INVERSION (single plan) ============ */
.plan-card.solo{max-width:420px;margin:40px auto 0;}

/* ============ VSL (video sales letter) ============ */
.seccion-vsl{background:var(--blanco);text-align:center;}
.vsl-wrap{
  max-width:760px;
  margin:0 auto;
  border-radius:20px;
  overflow:hidden;
  box-shadow:0 20px 45px rgba(129,95,178,0.22);
  border:6px solid #fff;
}
.vsl-wrap video{width:100%;display:block;aspect-ratio:16/9;background:#000;}
.vsl-nota{
  max-width:560px;
  margin:18px auto 0;
  font-size:.92rem;
  opacity:.8;
}

/* ============ VIDEO TESTIMONIO ============ */
.seccion-video-testimonio{background:var(--beige);text-align:center;}
.video-wrap{
  max-width:320px;
  margin:0 auto;
  border-radius:22px;
  overflow:hidden;
  box-shadow:var(--sombra);
  border:6px solid #fff;
  transform:rotate(-1deg);
}
.video-wrap video{width:100%;display:block;}

/* FAQ */
.seccion-faq{background:var(--beige);}
.faq-lista{
  max-width:720px;
  margin:0 auto;
  display:flex;
  flex-direction:column;
  gap:14px;
}
.faq-item{
  background:#fff;
  border-radius:16px;
  padding:6px 26px;
  box-shadow:0 6px 18px rgba(129,95,178,0.08);
}
.faq-item summary{
  cursor:pointer;
  list-style:none;
  padding:20px 0;
  font-weight:700;
  color:var(--morado);
  font-size:1.02rem;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{
  content:"+";
  font-size:1.5rem;
  color:var(--verde-oscuro);
  flex-shrink:0;
  transition:transform .25s ease;
  line-height:1;
}
.faq-item[open] summary::after{transform:rotate(45deg);}
.faq-item p{
  margin:0 0 22px;
  line-height:1.75;
  font-size:.96rem;
  opacity:.9;
}

/* CTA final */
.cta-final{
  background:linear-gradient(160deg, var(--beige), var(--lila-claro));
  text-align:center;
  padding:110px 0 120px;
}
.cta-final h2{
  font-size:clamp(1.8rem,4.5vw,2.6rem);
  color:var(--morado);
  max-width:600px;
  margin:0 auto 8px;
}
.cta-final p.pre{
  font-size:1.1rem;
  opacity:.8;
  margin:0 0 30px;
}
.cta-final .nota{
  margin-top:20px;
  font-size:.92rem;
  opacity:.75;
}

footer{
  background:#3d2f47;
  color:#f2e9f7;
  text-align:center;
  padding:56px 20px 28px;
  font-size:.9rem;
}
footer a{text-decoration:none;color:#f2e9f7;}
.footer-wrap{max-width:640px;margin:0 auto;}
.footer-tagline{
  font-size:.88rem;
  opacity:.75;
  margin:0 0 36px;
}
.footer-contacto{margin-bottom:30px;}
.footer-contacto h4{
  font-family:'Gloria Hallelujah', cursive;
  font-weight:400;
  font-size:1.15rem;
  color:#fff;
  margin:0 0 18px;
}
.footer-contacto-items{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:14px 28px;
}
.footer-contacto-items a{
  display:inline-flex;
  align-items:center;
  gap:7px;
  font-weight:600;
  transition:opacity .2s;
}
.footer-contacto-items a:hover{opacity:.7;}
.footer-nav{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:10px 20px;
  padding-top:26px;
  border-top:1px solid rgba(242,233,247,0.15);
  margin-bottom:22px;
  font-size:.82rem;
}
.footer-nav a{color:rgba(242,233,247,0.8);}
.footer-nav a:hover{color:#fff;}
.footer-copy{
  font-size:.75rem;
  opacity:.55;
  margin:0;
}
@media (max-width:520px){
  .footer-contacto-items{gap:12px 20px;font-size:.85rem;}
  .footer-nav{gap:8px 14px;}
}

.fade-in{
  opacity:0;
  transform:translateY(24px);
  transition:opacity .8s ease, transform .8s ease;
}
.fade-in.visible{opacity:1;transform:translateY(0);}

/* ============ FOTOS REALES ============ */
.cap-foto{
  flex:0 0 104px;
  width:104px;
  height:104px;
  border-radius:50%;
  overflow:hidden;
  box-shadow:var(--sombra);
  z-index:1;
  border:4px solid #fff;
}
.cap-foto img{width:100%;height:100%;object-fit:cover;}
.cap-foto.cap-libro{
  border-radius:10px;
  width:104px;
  height:132px;
  background:linear-gradient(160deg, var(--morado), #6d4a9e);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:10px;
  overflow:visible;
}
.mini-portada span{
  color:#fff;
  font-family:'Gloria Hallelujah', cursive;
  font-size:.72rem;
  line-height:1.25;
  text-align:center;
  display:block;
}
.cap-detalle{
  display:inline-block;
  margin-top:10px;
  font-size:.85rem;
  font-weight:700;
  color:var(--verde-oscuro);
  background:var(--beige);
  padding:5px 12px;
  border-radius:20px;
}

.polaroid{
  position:absolute;
  background:#fff;
  padding:10px 10px 34px;
  border-radius:4px;
  box-shadow:0 14px 30px rgba(0,0,0,0.18);
  z-index:2;
}
.polaroid img{width:100%;height:100%;object-fit:cover;border-radius:2px;}
.polaroid span{
  position:absolute;
  bottom:8px;left:0;right:0;
  text-align:center;
  font-family:'Gloria Hallelujah', cursive;
  font-size:.8rem;
  color:var(--morado);
}

/* Novedades */
.seccion-novedades{background:var(--beige);}
.novedades-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:22px;
  max-width:760px;
  margin:40px auto 0;
}
.novedad-card{
  background:#fff;
  border-radius:22px;
  padding:30px 32px;
  box-shadow:var(--sombra);
  position:relative;
}
.novedad-tag{
  display:inline-block;
  background:var(--lila-claro);
  color:var(--morado);
  font-size:.78rem;
  font-weight:700;
  padding:5px 16px;
  border-radius:20px;
  margin-bottom:12px;
}
.novedad-card h3{
  font-family:'Gloria Hallelujah', cursive;
  color:var(--morado);
  font-size:1.35rem;
  font-weight:400;
  margin:0 0 10px;
}
.novedad-card p{
  margin:0 0 16px;
  line-height:1.75;
  opacity:.9;
}
.novedad-card p:last-child{margin-bottom:0;}
.novedad-card .btn{font-size:.85rem;padding:10px 22px;}
@media (max-width:640px){
  .novedad-card{padding:24px 22px;}
}

/* Galeria momentos reales */
.seccion-galeria{background:var(--beige-2);}
.galeria-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:26px 20px;
  max-width:1000px;
  margin:0 auto;
}
.galeria-item{
  background:#fff;
  padding:10px 10px 30px;
  border-radius:4px;
  box-shadow:0 10px 24px rgba(74,59,82,0.12);
  transition:transform .3s ease;
}
.galeria-item:nth-child(odd){transform:rotate(-2deg);}
.galeria-item:nth-child(even){transform:rotate(2deg);}
.galeria-item:hover{transform:rotate(0) scale(1.03);}
.galeria-item img{
  width:100%;
  aspect-ratio:4/5;
  object-fit:cover;
  border-radius:2px;
  display:block;
}
.galeria-item p{
  text-align:center;
  margin:8px 0 0;
  font-family:'Gloria Hallelujah', cursive;
  font-size:.82rem;
  color:var(--morado);
}

/* Testimonios estilo chat */
.chat-testimonios{
  max-width:640px;
  margin:0 auto;
  display:flex;
  flex-direction:column;
  gap:20px;
}
.chat-burbuja{
  background:#fff;
  border-radius:18px 18px 18px 4px;
  padding:18px 22px;
  box-shadow:0 8px 20px rgba(129,95,178,0.1);
  max-width:88%;
  align-self:flex-start;
  position:relative;
}
.chat-burbuja:nth-child(even){
  align-self:flex-end;
  border-radius:18px 18px 4px 18px;
  background:var(--lila-claro);
}
.chat-burbuja p{
  margin:0;
  font-size:.98rem;
  line-height:1.6;
  font-style:italic;
}
.chat-burbuja .autor{
  display:block;
  margin-top:10px;
  font-size:.8rem;
  font-style:normal;
  font-weight:700;
  color:var(--morado);
  opacity:.8;
}

/* Nueva tabla comparacion (precios reales) */
.comparacion-nota{
  text-align:center;
  font-size:.85rem;
  color:var(--tinta);
  opacity:.75;
  margin-top:10px;
}

/* ============ HOMEPAGE: PILARES ============ */
.seccion-pilares{background:var(--beige);}
.pilares-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:26px;
  max-width:820px;
  margin:0 auto;
}
@media (max-width:640px){.pilares-grid{grid-template-columns:1fr;}}
.pilar-card{
  background:#fff;
  border-radius:22px;
  padding:38px 28px;
  text-align:center;
  box-shadow:0 12px 28px rgba(129,95,178,0.1);
  transition:transform .3s ease;
}
.pilar-card:hover{transform:translateY(-6px);}
.pilar-icono{
  width:74px;height:74px;
  border-radius:50%;
  background:var(--lila-claro);
  display:flex;align-items:center;justify-content:center;
  font-size:2rem;
  margin:0 auto 18px;
}
.pilar-card h3{font-size:1.25rem;color:var(--morado);margin:0 0 10px;}
.pilar-card p{margin:0;font-size:.96rem;line-height:1.7;opacity:.88;}

/* ============ HOMEPAGE: COMO FUNCIONA ============ */
.seccion-como-funciona{background:var(--blanco);}
.pasos-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:30px;
  max-width:980px;
  margin:0 auto;
  position:relative;
}
@media (max-width:820px){.pasos-grid{grid-template-columns:1fr;gap:40px;}}
.paso-card{text-align:center;position:relative;}
.paso-numero{
  width:56px;height:56px;
  border-radius:50%;
  background:var(--morado);
  color:#fff;
  font-family:'Gloria Hallelujah', cursive;
  font-size:1.5rem;
  display:flex;align-items:center;justify-content:center;
  margin:0 auto 16px;
  box-shadow:0 10px 22px rgba(129,95,178,0.3);
}
.paso-card h3{font-size:1.1rem;color:var(--morado);margin:0 0 8px;}
.paso-card p{margin:0;font-size:.92rem;line-height:1.6;opacity:.85;}
.paso-flecha{
  display:none;
  position:absolute;
  top:26px;right:-24px;
  font-size:1.6rem;
  color:var(--lila);
}
@media (min-width:821px){
  .paso-card:not(:last-child) .paso-flecha{display:block;}
}

/* ============ HOMEPAGE: CTA DOBLE ============ */
.seccion-cta-doble{background:var(--lila-claro);}
.cta-doble-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:26px;
  max-width:920px;
  margin:0 auto;
}
@media (max-width:760px){.cta-doble-grid{grid-template-columns:1fr;}}
.cta-doble-card{
  background:#fff;
  border-radius:24px;
  overflow:hidden;
  box-shadow:0 16px 36px rgba(129,95,178,0.14);
  text-decoration:none;
  color:var(--tinta);
  display:flex;
  flex-direction:column;
  transition:transform .3s ease;
}
.cta-doble-card:hover{transform:translateY(-6px);}
.cta-doble-foto{height:200px;overflow:hidden;}
.cta-doble-foto img{width:100%;height:100%;object-fit:cover;}
.cta-doble-texto{padding:26px 26px 30px;text-align:center;}
.cta-doble-texto .tag{
  display:inline-block;
  font-size:.7rem;
  font-weight:700;
  letter-spacing:1.5px;
  text-transform:uppercase;
  color:var(--verde-oscuro);
  margin-bottom:8px;
}
.cta-doble-texto h3{font-size:1.4rem;color:var(--morado);margin:0 0 10px;}
.cta-doble-texto p{margin:0 0 18px;font-size:.94rem;line-height:1.6;opacity:.85;}
.cta-doble-texto .btn{padding:13px 28px;font-size:.94rem;}

/* ============ HOMEPAGE: ACTIVIDADES PREVIEW ============ */
.seccion-actividades-preview{background:var(--beige-2);}
.actividades-preview-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
  max-width:1000px;
  margin:0 auto 34px;
}
@media (max-width:820px){.actividades-preview-grid{grid-template-columns:1fr;}}
.actividad-preview-card{
  background:#fff;
  border-radius:18px;
  overflow:hidden;
  box-shadow:0 10px 24px rgba(74,59,82,0.1);
}
.actividad-preview-card img{width:100%;height:170px;object-fit:cover;display:block;}
.actividad-preview-texto{padding:18px 20px;}
.actividad-preview-texto span{
  display:block;
  font-size:.72rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.5px;
  color:var(--verde-oscuro);
  margin-bottom:4px;
}
.actividad-preview-texto h4{margin:0;font-size:1.05rem;color:var(--morado);font-family:'Gloria Hallelujah', cursive;font-weight:400;}
.actividades-preview-cta{text-align:center;}

@media (max-width:640px){
  .cap{flex-direction:column;align-items:center;text-align:center;}
  .timeline::before{display:none;}
  .cap-icono, .cap-foto{margin:0 auto 14px;width:120px;height:120px;flex-basis:120px;}
  .cap-foto.cap-libro{height:150px;}
  .cap-icono{font-size:2.7rem;}
  .cap-card{width:100%;}
  .cap-categoria{display:block;}
  .hero-botones{flex-direction:column;width:100%;}
  .hero-botones .btn{width:100%;text-align:center;}
  .calendario{padding:20px 10px 18px;transform:none;}
  .cal-grid{gap:4px;}
  .cal-day{font-size:.62rem;padding:3px 2px;}
  .cal-day.evento{min-height:76px;padding-bottom:16px;}
  .cal-day .nombre-cat{font-size:.36rem;margin-top:2px;}
  .cal-day .nombre-esp{font-size:.32rem;}
  .cal-icono{font-size:.65rem;bottom:3px;right:3px;}
  .cal-mes{font-size:1.9rem;}
  .polaroid{display:none;}
  .chat-burbuja{max-width:100%;}
  .comparacion-wrap{padding:22px 14px;}
  table.comparacion{font-size:.78rem;}
  table.comparacion th{font-size:.9rem;padding:6px 4px 10px;}
  table.comparacion td{padding:8px 4px;}
  table.comparacion tr.total td:last-child{font-size:1.3rem;}
  .btn-giant{padding:18px 30px;font-size:1.05rem;}
}
