/* ---- SELLO — motivo lineal de marca como joya de la casa, solo aquí
   (handoff "Marca - Ajustes"). Sustituye al isotipo 3D: en un contexto
   plano/editorial como este, el render con luces de estudio desentonaba. */
.membership-seal{
  display:block;width:64px;height:64px;
  margin:0 auto 26px;color:var(--gold);
  filter:drop-shadow(0 0 20px rgba(237,237,235,0.3));
  animation:emblemaFloat 7s ease-in-out infinite;
}
@keyframes emblemaFloat{0%,100%{transform:translateY(0);}50%{transform:translateY(-8px);}}
@media (prefers-reduced-motion: reduce){.membership-seal{animation:none;}}

/* ---- TESTIMONIOS — scroll vertical infinito, CSS puro ---- */
.testi-marquee{
  display:grid;grid-template-columns:repeat(3,1fr);gap:24px;
  margin-top:16px;
  height:560px;
  overflow:hidden;
  -webkit-mask-image:linear-gradient(to bottom, transparent 0%, black 14%, black 86%, transparent 100%);
  mask-image:linear-gradient(to bottom, transparent 0%, black 14%, black 86%, transparent 100%);
}
.testi-col{overflow:hidden;}
.testi-col-track{
  display:flex;flex-direction:column;gap:20px;
  animation:testiScroll var(--dur, 34s) linear infinite;
}
.testi-col:nth-child(even) .testi-col-track{animation-direction:reverse;}
.testi-col:hover .testi-col-track{animation-play-state:paused;}
@keyframes testiScroll{
  from{transform:translateY(0);}
  to{transform:translateY(-50%);}
}
.testi-m-card{
  background:var(--void-2);
  border:1px solid rgba(237,237,235,0.16);
  border-radius:16px;
  padding:22px;
}
.testi-m-avatar{
  width:32px;height:32px;border-radius:50%;
  background:rgba(237,237,235,0.14);color:var(--gold);
  display:flex;align-items:center;justify-content:center;
  font-family:'Space Grotesk',sans-serif;font-size:11.5px;font-weight:600;
  margin-bottom:14px;
}
.testi-m-quote{
  font-family:'Fraunces','Georgia',serif;font-optical-sizing:auto;font-style:italic;font-weight:300;
  font-size:14.5px;line-height:1.6;color:var(--ink);opacity:0.9;margin-bottom:14px;
}
.testi-m-author{
  font-family:'Space Grotesk',sans-serif;font-size:11.5px;color:var(--muted);
}
.testi-m-author span{display:block;opacity:0.6;font-size:10.5px;margin-top:2px;letter-spacing:0.5px;}
@media (max-width:900px){
  .testi-marquee{grid-template-columns:repeat(2,1fr);}
  .testi-marquee .testi-col:nth-child(3){display:none;}
}
@media (max-width:600px){
  .testi-marquee{grid-template-columns:1fr;height:480px;}
  .testi-marquee .testi-col:nth-child(2){display:none;}
}
@media (prefers-reduced-motion: reduce){
  .testi-col-track{animation:none;}
}

/* ---- PRECIOS / MEMBERSHIP ---- */
#precios{
  background:radial-gradient(ellipse 1100px 420px at 50% 0%, rgba(237,237,235,0.06), transparent 70%);
}
.pricing-toggle{
  display:flex;justify-content:center;gap:4px;margin:0 auto 40px;
  border:1px solid var(--border);border-radius:24px;padding:4px;width:fit-content;
}
.pricing-toggle-btn{
  font-family:inherit;font-size:13px;color:var(--muted);
  background:none;border:none;border-radius:20px;padding:8px 18px;cursor:pointer;
  transition:background var(--dur-micro) var(--ease-premium), color var(--dur-micro) var(--ease-premium);
}
.pricing-toggle-btn.is-active{background:rgba(237,237,235,0.12);color:var(--gold);}
.pricing-toggle-badge{font-size:10px;opacity:0.85;}
.price-annual-note{font-size:12px;color:var(--muted);margin:-2px 0 10px;}
.pricing-stack{
  display:flex;flex-direction:row;flex-wrap:nowrap;align-items:stretch;justify-content:center;gap:28px;
  max-width:980px;margin:0 auto;
}
.price-card{
  position:relative;
  padding:36px 28px;
  border:1px solid var(--border);border-radius:4px;
  text-align:center;
  transition:transform var(--dur-micro) var(--ease-premium), border-color var(--dur-micro) var(--ease-premium);
}
.price-card--compact{flex:1 1 300px;max-width:320px;}
.price-card--wide{flex:1 1 420px;text-align:left;}
.price-card.featured{
  border-color:rgba(237,237,235,0.5);
  background:rgba(237,237,235,0.04);
}
.price-card.featured::before{
  content:'Recomendado';
  position:absolute;top:-11px;left:50%;transform:translateX(-50%);
  font-size:10px;font-weight:500;letter-spacing:1.5px;text-transform:uppercase;
  background:var(--void);color:var(--gold);padding:2px 12px;
  border:1px solid rgba(237,237,235,0.5);border-radius:20px;
}
.price-name{font-size:16px;font-weight:500;margin-bottom:8px;}
.price-amount{
  font-size:36px;font-weight:300;margin-bottom:4px;
}
.price-amount span{font-size:13px;color:var(--muted);font-weight:400;}
.price-tag{
  font-family:'Fraunces','Georgia',serif;font-optical-sizing:auto;font-weight:300;
  font-size:14px;color:var(--muted);margin-bottom:24px;line-height:1.5;
}
.price-features{
  list-style:none;text-align:left;
  font-size:13px;color:var(--ink);
  margin-bottom:28px;
}
.price-features li{
  padding:8px 0;border-top:1px solid var(--border);
}
.price-features li:first-child{border-top:none;}

/* Vidente — tarjeta a juego en altura con Iniciado: info arriba, checklist agrupado debajo */
.price-card--wide{
  display:flex;flex-direction:column;gap:20px;
}
.price-wide-info{
  display:flex;flex-direction:column;gap:12px;
  padding-bottom:20px;border-bottom:1px solid var(--border);
}
.price-wide-info .price-tag{margin-bottom:0;}
.price-wide-info .action-btn{width:100%;}
.price-feature-group + .price-feature-group{margin-top:20px;padding-top:20px;border-top:1px solid var(--border);}
.price-feature-group-title{
  font-size:12px;font-weight:500;letter-spacing:0.8px;text-transform:uppercase;
  color:var(--muted);margin-bottom:14px;
}
.price-feature-checklist{
  list-style:none;display:flex;flex-direction:column;gap:12px;
}
.price-feature-checklist li{
  display:flex;align-items:flex-start;gap:8px;font-size:13px;color:var(--ink);line-height:1.4;
  opacity:0;transform:translateX(-14px);
  transition:opacity var(--dur-base) var(--ease-premium), transform var(--dur-base) var(--ease-premium);
  transition-delay:calc(var(--i, 0) * 0.06s);
}
.reveal.in-view .price-feature-checklist li{opacity:1;transform:translateX(0);}
.check-icon{
  width:14px;height:14px;flex:0 0 auto;margin-top:2px;
  fill:none;stroke:var(--gold);stroke-width:3;stroke-linecap:round;stroke-linejoin:round;
}
@media (max-width:720px){
  .pricing-stack{flex-direction:column;align-items:center;}
  .price-card--compact,.price-card--wide{width:100%;max-width:340px;}
}
