/* ===== LBP · Seminario de Feng Shui 2027 con Ximena Cazals =====
   Estructura basada en /biofisica_elemental/; paleta "Obsidiana + ámbar" con símbolos de Feng Shui. */

:root{
  /* Paleta "Obsidiana + ámbar": negro profundo, naranja (fuego) y oro cálido (metal) */
  --bg:#050505;
  --bg-panel:#0D0C0B;
  --bg-panel-2:#161412;
  --bg-void:#000000;
  --ivory:#F6F1EA;
  --ivory-dim:#A9A39B;
  --ivory-faint:rgba(246,241,234,.10);
  --blue-deep:#E8590C;
  --accent:#FF8A3D;
  --blue-light:#FFCFA6;
  --accent-ink:#FFFFFF;
  --accent-rgb:255,138,61;
  --deep-rgb:232,89,12;
  --bg-rgb:5,5,5;
  --gold:#D9A55B;
  --gold-rgb:217,165,91;
  --card-a:#1A1714;
  --card-b:#0E0D0B;
  --btn-a:#F04A1A;
  --btn-b:#FF8A3D;
  --btn-ink:#FFFFFF;
  --accent-glow:rgba(var(--accent-rgb),.45);
  --green:#6FCF44;
  --green-hover:#82DC58;
  --ink:#050505;
  --line:rgba(var(--accent-rgb),.28);
  --line-soft:rgba(247,245,242,.10);

  /* Tipografías (mismas que /salto_cuantico/) */
  /* Frases destacadas: misma familia que los títulos (Montserrat), en peso regular */
  --serif:'Montserrat', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --sans:'Jost', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --display:'Montserrat', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;

  --wrap:1180px;
  --radius:16px;
}

*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0; background:var(--bg); color:var(--ivory);
  font-family:var(--sans); font-weight:300; line-height:1.6;
  -webkit-font-smoothing:antialiased; overflow-x:hidden;
}
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
button{ font-family:inherit; }
h1,h2,h3,h4,p{ margin:0; }
::selection{ background:var(--accent); color:#fff; }

.wrap{ max-width:var(--wrap); margin:0 auto; padding:0 24px; }

.skip-link{
  position:absolute; left:-9999px; top:0; background:var(--accent); color:var(--accent-ink);
  padding:10px 16px; z-index:200; border-radius:0 0 8px 0;
}
.skip-link:focus{ left:0; top:0; }

/* Aparición al hacer scroll (visible por defecto si el JS falla) */
.js .reveal{ opacity:0; transform:translateY(16px); transition:opacity .7s ease, transform .7s ease; }
.js .reveal.is-visible{ opacity:1; transform:none; }
@media (prefers-reduced-motion:reduce){
  .js .reveal{ opacity:1; transform:none; transition:none; }
  *{ animation:none !important; scroll-behavior:auto; }
}

/* ===== Barra de cuenta regresiva ===== */
.countdown-bar{ background:var(--bg-void); border-bottom:1px solid rgba(var(--accent-rgb),.35); }
.countdown-bar__inner{
  max-width:var(--wrap); margin:0 auto; padding:10px 20px;
  display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:10px 18px; text-align:center;
}
.countdown-bar__label{ font-size:.78rem; letter-spacing:.03em; color:rgba(245,243,239,.85); }
.countdown-bar__label strong{ color:var(--accent); font-weight:500; }
.countdown{ display:flex; gap:8px; }
.countdown__unit{
  display:flex; flex-direction:column; align-items:center;
  background:var(--bg-void); border:1px solid rgba(var(--accent-rgb),.45); border-radius:7px; min-width:42px; padding:3px 4px;
}
.countdown__num{ font-family:var(--display); font-weight:800; font-size:1rem; color:var(--accent); line-height:1.1; font-variant-numeric:tabular-nums; }
.countdown__unit-label{ font-size:.55rem; letter-spacing:.1em; color:rgba(245,243,239,.65); text-transform:uppercase; margin-top:1px; }
.countdown--big{ gap:12px; justify-content:center; }
.countdown--big .countdown__unit{ min-width:62px; padding:8px 6px; border-radius:10px; border-color:rgba(var(--accent-rgb),.6); }
.countdown--big .countdown__num{ font-size:1.5rem; }
.countdown--big .countdown__unit-label{ font-size:.62rem; }
@media (max-width:480px){
  .countdown--big{ gap:8px; }
  .countdown--big .countdown__unit{ min-width:50px; padding:6px 4px; }
  .countdown--big .countdown__num{ font-size:1.2rem; }
}

/* ===== Barra de menú (basada en /vidas_pasadas/): logo a la izquierda, enlaces y botón a la derecha ===== */
.site-header{
  position:sticky; top:0; z-index:100; width:100%;
  padding:18px 0; border-bottom:1px solid transparent;
  transition:background .4s ease, padding .4s ease, border-color .4s ease;
}
.site-header.is-scrolled{
  background:rgba(var(--bg-rgb),.86); backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px);
  padding:12px 0; border-color:var(--line-soft);
}
.site-header__inner{ display:flex; align-items:center; justify-content:space-between; gap:24px; }
.brandmark{ display:inline-flex; align-items:center; }
.brandmark img{ height:46px; width:auto; display:block; }
.site-nav{ display:flex; align-items:center; gap:36px; font-size:.9rem; }
.site-nav a:not(.btn){ color:var(--ivory-dim); transition:color .25s ease; }
.site-nav a:not(.btn):hover{ color:var(--ivory); }
.site-nav .btn{ padding:12px 22px; font-size:.82rem; }
@media (max-width:860px){ .site-nav a:not(.btn){ display:none; } }
@media (max-width:640px){
  .site-header{ padding:12px 0; }
  .site-header.is-scrolled{ padding:9px 0; }
  .site-header .wrap{ padding:0 16px; }
  .brandmark img{ height:38px; }
  .site-nav .btn{ padding:11px 18px; font-size:.78rem; }
}

/* ===== Botones (sobrios, esquinas suaves, como /vidas_pasadas/) ===== */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  padding:16px 32px; border-radius:10px; font-family:var(--display); font-weight:700; font-size:.95rem;
  letter-spacing:.01em; border:none; cursor:pointer;
  transition:transform .3s cubic-bezier(.16,.8,.24,1), box-shadow .3s ease, background .3s ease;
}
.btn--gradient{
  background:linear-gradient(135deg, var(--btn-a), var(--btn-b)); color:var(--btn-ink);
  box-shadow:0 14px 34px -16px rgba(var(--accent-rgb),.6), 0 0 0 1px rgba(247,245,242,.08) inset;
}
.btn--gradient:hover{ transform:translateY(-2px); box-shadow:0 18px 44px -14px rgba(var(--accent-rgb),.75), 0 0 0 1px rgba(247,245,242,.12) inset; }
.btn--green{ background:var(--green); color:var(--ink); box-shadow:0 14px 34px -16px rgba(111,207,68,.5); }
.btn--green:hover{ background:var(--green-hover); transform:translateY(-2px); box-shadow:0 18px 44px -14px rgba(111,207,68,.65); }
.btn--block{ width:100%; }
.btn__spark{ width:15px; height:15px; flex:none; }
@media (max-width:980px){ .btn--block-mobile{ width:100%; max-width:440px; } }

/* ===== Tipografía de sección ===== */
.eyebrow{
  display:inline-flex; align-items:center; gap:8px; font-size:.78rem; letter-spacing:.18em;
  text-transform:uppercase; color:var(--accent); margin:0 0 16px; font-weight:400;
}
.eyebrow-dot{ width:6px; height:6px; border-radius:50%; background:var(--accent); flex:none; }
.h2{
  font-family:var(--display); font-weight:800; font-size:clamp(1.6rem, 3.6vw, 2.5rem);
  letter-spacing:-.01em; line-height:1.18; margin:0 0 18px; color:var(--ivory);
}
.h2 em{ font-family:var(--serif); font-style:normal; color:var(--accent); font-weight:400; }
.h2--center{ text-align:center; margin-left:auto; margin-right:auto; }
.lede{ font-size:1.05rem; color:var(--ivory-dim); max-width:620px; }
.lede--center{ margin:0 auto; text-align:center; }

.section{ padding:76px 0; }
.section--panel{ background:var(--bg-panel); }
.section-head{ max-width:720px; margin:0 auto 44px; text-align:center; }

/* ===== Hero ===== */
.hero{ position:relative; overflow:hidden; padding:40px 0 48px; }
.hero__bg{
  position:absolute; inset:0; z-index:-2;
  background:
    radial-gradient(900px 500px at 85% -10%, rgba(var(--accent-rgb),.20), transparent 60%),
    radial-gradient(700px 500px at 0% 100%, rgba(var(--accent-rgb),.12), transparent 60%),
    var(--bg);
}
.hero__inner{ display:grid; grid-template-columns:1.05fr .95fr; gap:40px; align-items:center; }
.hero__content{ max-width:620px; }
.hero__title{
  font-family:var(--display); font-weight:800; color:var(--ivory);
  font-size:clamp(1.9rem, 4.6vw, 3.1rem); line-height:1.16; letter-spacing:-.01em; margin:0 0 16px;
}
.hero__title .accent{ color:var(--accent); }
.hero__subtitle{ font-size:1rem; color:var(--ivory-dim); margin:0 0 22px; max-width:540px; }
.hero__subtitle b{ color:var(--ivory); font-weight:600; }
.hero__price{ display:flex; align-items:baseline; gap:12px; margin-bottom:18px; flex-wrap:wrap; }
.hero__price-new{ font-family:var(--display); font-weight:900; font-size:2.1rem; color:#fff; line-height:1.1; }
.hero__price-new small{ font-size:1rem; font-weight:700; color:var(--accent); margin-left:4px; }
.hero__price-alt{ font-family:var(--display); font-size:1rem; color:var(--ivory-dim); }
.hero__price-note{ font-size:.82rem; color:var(--accent); text-transform:uppercase; letter-spacing:.08em; font-weight:600; }
.hero__actions{ margin-bottom:14px; }
.hero__fuds{ list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:6px 18px; }
.hero__fuds li{ font-size:.82rem; color:var(--ivory-dim); display:flex; align-items:center; gap:6px; }
.hero__fuds li::before{ content:'✓'; color:var(--green); font-weight:700; }
.hero__date-line{ font-weight:700; color:var(--accent); margin:10px 0 0; font-size:.95rem; }

.hero__media{ position:relative; }
.hero__glow{
  position:absolute; inset:-30px -8%; z-index:0; pointer-events:none; filter:blur(24px);
  background:
    radial-gradient(220px 180px at 25% 20%, rgba(var(--accent-rgb),.35), transparent 65%),
    radial-gradient(200px 200px at 78% 78%, rgba(var(--deep-rgb),.40), transparent 65%);
}
.hero__card{
  position:relative; z-index:1; border-radius:22px; overflow:hidden; aspect-ratio:1/1; max-width:480px; margin:0 auto;
  background:linear-gradient(160deg,#1c1a18,#0a0908); border:1px solid var(--line);
  box-shadow:0 30px 60px -24px rgba(0,0,0,.75);
}
.hero__card img{ width:100%; height:100%; object-fit:cover; }
.hero__caption{ font-size:.9rem; color:var(--ivory-dim); margin:18px auto 0; max-width:480px; text-align:center; position:relative; z-index:1; }

@media (max-width:980px){
  .hero{ padding:32px 0 40px; }
  .hero__inner{ grid-template-columns:1fr; gap:30px; }
  .hero__content{ text-align:center; max-width:none; margin:0 auto; }
  .hero__subtitle{ margin-left:auto; margin-right:auto; }
  .hero__price, .hero__fuds{ justify-content:center; }
  .hero__actions{ display:flex; justify-content:center; }
  .hero__card{ max-width:340px; }
}

/* Móvil: todo lo importante cabe en el primer pantallazo (igual que /salto_cuantico/) */
@media (max-width:640px){
  .hero{ padding:18px 0 22px; }
  .hero__inner{ gap:20px; }
  .eyebrow{ font-size:.7rem; margin-bottom:10px; letter-spacing:.14em; }
  .hero__title{ font-size:clamp(1.55rem, 7vw, 1.9rem); line-height:1.2; margin-bottom:8px; }
  .hero__subtitle{
    font-size:.88rem; margin-bottom:10px; line-height:1.45;
    display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden;
  }
  .hero__price{ margin-bottom:10px; gap:4px 8px; }
  .hero__price-new{ font-size:1.7rem; }
  .hero__price-alt{ font-size:.86rem; }
  .hero__price-note{ flex-basis:100%; font-size:.68rem; }
  .hero__actions{ margin-bottom:10px; }
  .hero__fuds{ gap:4px 14px; }
  .hero__fuds li{ font-size:.72rem; }
  .hero__date-line{ font-size:.85rem; margin-top:8px; }
  .btn{ padding:13px 24px; font-size:.86rem; }
  .countdown-bar__inner{ padding:6px 14px; gap:5px 8px; }
  .countdown-bar__label{ font-size:.66rem; }
  .countdown__unit{ min-width:34px; padding:2px 3px; }
  .countdown__num{ font-size:.8rem; }
  .countdown__unit-label{ font-size:.5rem; }
  .hero__card{ max-width:300px; }
}

/* ===== Cifras ===== */
.stats{ border-top:1px solid var(--line-soft); border-bottom:1px solid var(--line-soft); background:var(--bg-panel); }
.stats__inner{ max-width:var(--wrap); margin:0 auto; padding:30px 24px; display:grid; grid-template-columns:repeat(4,1fr); gap:20px; text-align:center; }
@media (max-width:720px){ .stats__inner{ grid-template-columns:repeat(2,1fr); } }
.stats__num{ font-family:var(--display); font-weight:800; font-size:1.7rem; color:var(--accent); line-height:1.2; }
.stats__label{ font-size:.78rem; color:var(--ivory-dim); text-transform:uppercase; letter-spacing:.05em; margin-top:4px; }

/* ===== Tarjetas de dolor ===== */
.pain-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin:0 0 36px; }
@media (max-width:900px){ .pain-grid{ grid-template-columns:1fr; } }
.pain-card{ background:var(--bg-panel-2); border:1px solid var(--line-soft); border-radius:var(--radius); padding:28px 26px; }
.pain-card__title{ font-family:var(--display); font-weight:700; font-size:1.05rem; color:#fff; margin:0 0 10px; }
.pain-card__body{ font-size:.94rem; color:var(--ivory-dim); }
.pain-close{ max-width:680px; margin:0 auto; text-align:center; font-size:1.08rem; color:var(--ivory); }
.pain-close em{ font-family:var(--serif); font-style:normal; font-weight:400; color:var(--accent); }

/* ===== Promesa ===== */
.promise{ max-width:760px; margin:0 auto; text-align:center; }
.promise .lede{ margin:0 auto 18px; }
.pull-quote{
  margin:34px 0 0; padding:26px 28px; border-left:3px solid var(--accent); background:var(--bg-panel-2);
  border-radius:0 14px 14px 0; text-align:left;
}
.pull-quote__title{ font-family:var(--display); font-weight:700; font-size:1.15rem; color:#fff; margin:0 0 8px; }
.pull-quote__body{ font-size:.98rem; color:var(--ivory-dim); }

/* ===== Tres ejes ===== */
.ejes{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
@media (max-width:900px){ .ejes{ grid-template-columns:1fr; } }
.eje{ position:relative; background:var(--bg-panel-2); border:1px solid var(--line-soft); border-radius:var(--radius); padding:30px 26px; overflow:hidden; }
.eje::after{ content:''; position:absolute; right:-40px; top:-40px; width:140px; height:140px; border-radius:50%; background:radial-gradient(circle, rgba(var(--accent-rgb),.22), transparent 70%); z-index:0; pointer-events:none; }
.eje > *{ position:relative; z-index:1; }
.eje__num{ font-size:.74rem; letter-spacing:.14em; color:var(--accent); margin-bottom:10px; display:block; font-weight:500; }
.eje__title{ font-family:var(--display); font-weight:800; font-size:1.5rem; line-height:1.1; color:#fff; margin:0 0 10px; }
.eje__body{ font-size:.94rem; color:var(--ivory-dim); }

/* ===== Programa ===== */
.programa{ display:flex; flex-direction:column; gap:20px; max-width:900px; margin:0 auto; }
.modulo{
  display:grid; grid-template-columns:90px 1fr; gap:22px; background:linear-gradient(165deg, var(--card-a), var(--card-b) 70%);
  border:1px solid var(--line); border-radius:var(--radius); padding:26px;
}
@media (max-width:640px){ .modulo{ grid-template-columns:1fr; } }
.modulo__day{
  display:flex; flex-direction:column; align-items:center; justify-content:center; align-self:start;
  background:var(--bg-void); border:1px solid rgba(var(--accent-rgb),.35); border-radius:12px; padding:10px 6px; text-align:center;
}
.modulo__day-num{ font-family:var(--display); font-weight:800; font-size:1.3rem; line-height:1; color:#fff; }
.modulo__day-label{ font-size:.62rem; text-transform:uppercase; letter-spacing:.08em; color:var(--accent); font-weight:700; margin-top:2px; }
.modulo__eyebrow{ font-size:.72rem; letter-spacing:.12em; text-transform:uppercase; color:var(--accent); margin-bottom:6px; }
.modulo__title{ font-family:var(--display); font-weight:700; font-size:1.15rem; color:#fff; margin:0 0 14px; }
.modulo__list{ margin:0; padding:0; list-style:none; display:flex; flex-direction:column; gap:8px; font-size:.9rem; color:var(--ivory-dim); }
.modulo__list li{ display:flex; gap:10px; }
.modulo__list li b{ color:var(--accent); font-weight:600; flex:none; min-width:22px; }
.modulo__list li.med{
  background:rgba(var(--accent-rgb),.14); border:1px solid rgba(var(--accent-rgb),.28); border-radius:10px; padding:12px 14px; color:var(--ivory);
}
.modulo__list li.med strong{ color:var(--blue-light); font-weight:600; }

/* ===== Qué incluye ===== */
.incluye-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:20px; max-width:960px; margin:0 auto; }
@media (max-width:720px){ .incluye-grid{ grid-template-columns:1fr; } }
.incluye-card{ background:var(--bg-panel-2); border:1px solid var(--line-soft); border-radius:14px; padding:22px 24px; }
.incluye-card__title{ font-family:var(--display); font-weight:700; font-size:1rem; color:#fff; margin:0 0 6px; display:flex; gap:10px; align-items:baseline; }
.incluye-card__title::before{ content:'✓'; color:var(--green); font-weight:700; }
.incluye-card__body{ font-size:.9rem; color:var(--ivory-dim); }

/* ===== Instructora ===== */
.instructor{ display:grid; grid-template-columns:.8fr 1.2fr; gap:48px; align-items:center; }
@media (max-width:900px){ .instructor{ grid-template-columns:1fr; gap:30px; } }
.instructor__photo{ border-radius:18px; overflow:hidden; aspect-ratio:1229/1280; max-width:440px; width:100%; margin:0 auto; border:1px solid var(--line); box-shadow:0 30px 60px -28px rgba(0,0,0,.8); }
.instructor__photo img{ width:100%; height:100%; object-fit:cover; object-position:center top; }
.instructor__name{ font-family:var(--display); font-weight:800; font-size:1.6rem; color:#fff; margin:0 0 6px; }
.instructor__role{ color:var(--accent); font-size:.9rem; text-transform:uppercase; letter-spacing:.08em; margin-bottom:16px; }
.instructor__bio{ color:var(--ivory-dim); font-size:.98rem; margin-bottom:14px; }
.instructor__podcast{
  display:inline-block; max-width:100%; padding:10px 18px; border-radius:14px; border:1px solid var(--line-soft);
  font-size:.85rem; color:var(--ivory-dim); margin:4px 0 18px;
}
.socials{ display:flex; gap:10px; flex-wrap:wrap; }
.social-btn{
  width:44px; height:44px; border-radius:50%; border:1px solid var(--line); display:flex; align-items:center; justify-content:center;
  color:var(--ivory); background:rgba(245,243,239,.03); transition:border-color .2s, color .2s, background .2s;
}
.social-btn:hover{ border-color:var(--accent); color:var(--accent); background:rgba(var(--accent-rgb),.1); }
.social-btn svg{ width:20px; height:20px; }
@media (max-width:900px){ .instructor__copy{ text-align:center; } .socials{ justify-content:center; } }

/* ===== Para quién ===== */
.paraquien{ display:grid; grid-template-columns:repeat(2,1fr); gap:22px; max-width:960px; margin:0 auto; }
@media (max-width:780px){ .paraquien{ grid-template-columns:1fr; } }
.paraquien-card{ background:var(--bg-panel-2); border:1px solid var(--line); border-radius:var(--radius); padding:26px; }
.paraquien-card--no{ border-color:var(--line-soft); opacity:.88; }
.paraquien-card__label{ font-size:.72rem; letter-spacing:.1em; text-transform:uppercase; color:var(--accent); margin-bottom:10px; display:block; }
.paraquien-card--no .paraquien-card__label{ color:var(--ivory-dim); }
.paraquien-card__body{ font-size:.95rem; color:var(--ivory-dim); }
.disclaimer{ margin:26px auto 0; max-width:760px; font-size:.8rem; color:var(--ivory-dim); opacity:.75; text-align:center; }

/* ===== Reservar ===== */
.reservar-box{
  max-width:880px; margin:0 auto 44px; padding:40px; border-radius:22px; border:1px solid var(--accent);
  background:var(--bg-panel-2); text-align:center;
}
.reservar-box .h2{ text-align:center; }
.reservar-box .lede{ margin:0 auto; text-align:center; max-width:none; }
.checklist{ list-style:none; margin:20px 0; padding:0; display:inline-flex; flex-direction:column; gap:10px; text-align:left; }
.checklist li{ display:flex; gap:10px; font-size:1rem; color:var(--ivory); }
.checklist li::before{ content:'✓'; color:var(--green); font-weight:700; flex:none; }
.reservar-box__date{ font-weight:700; color:#fff; font-size:1.05rem; margin:6px 0 18px; }
.reservar-box__cd-label{ font-size:.74rem; letter-spacing:.14em; text-transform:uppercase; color:var(--ivory-dim); margin-bottom:12px; }
@media (max-width:640px){ .reservar-box{ padding:28px 20px; } }

/* ===== Sección de pagos: fondo oscuro con destellos ===== */
.section--void{ background:var(--bg-void); }
.price-section{ position:relative; overflow:hidden; }
.orb-field{ position:absolute; inset:0; pointer-events:none; z-index:0; }
.orb{ position:absolute; border-radius:50%; filter:blur(70px); opacity:.5; }
.orb--blue{ background:rgba(var(--accent-rgb),.55); }
.orb--green{ background:rgba(111,207,68,.28); }
.orb--1{ width:320px; height:320px; left:-80px; top:8%; }
.orb--2{ width:300px; height:300px; right:-60px; bottom:8%; }
.orb--3{ width:260px; height:260px; right:12%; top:40%; opacity:.35; }
.eyebrow--green{ color:var(--green); }
.eyebrow--green::before{ content:''; width:28px; height:1px; background:currentColor; display:inline-block; }
.section-head--pay{ margin-bottom:34px; }

/* ===== Carrusel infinito de monedas (USD · MXN · EUR) — basado en /vidas_pasadas/ ===== */
@property --angle{ syntax:'<angle>'; initial-value:0deg; inherits:false; }
@keyframes spin-ring{ to{ --angle:360deg; } }
@keyframes sparkle{
  0%,100%{ transform:translateY(0); opacity:.15; }
  50%{ transform:translateY(-14px); opacity:.85; }
}
.pcar{ --cw:340px; position:relative; width:100vw; margin-left:calc(50% - 50vw); }
@media (max-width:720px){ .pcar{ --cw:min(84vw, 340px); } }
.pcar__viewport{
  overflow:hidden; padding:40px 0 100px; margin:-40px 0 -100px;
  cursor:grab; touch-action:pan-y; -webkit-user-select:none; user-select:none;
}
.pcar__viewport.is-dragging{ cursor:grabbing; }
.pcar__track{ display:flex; gap:28px; will-change:transform; transition:transform .55s cubic-bezier(.22,.9,.3,1); }
@media (max-width:720px){ .pcar__track{ gap:16px; } }
.pcar__track.no-anim, .pcar__track.no-anim .pcard{ transition:none; }
.pcard{
  flex:0 0 var(--cw); transform:scale(.92); opacity:.5;
  transition:transform .55s cubic-bezier(.22,.9,.3,1), opacity .55s ease;
}
.pcard.is-active{ transform:scale(1); opacity:1; }
.pcard__ring{
  padding:2px; border-radius:28px;
  background:conic-gradient(from var(--angle), transparent 0 52%, var(--c2) 76%, var(--c1) 100%), rgba(247,245,242,.10);
  animation:spin-ring 5s linear infinite; box-shadow:0 34px 70px -38px var(--c1);
}
.pcard__inner{
  position:relative; overflow:hidden; isolation:isolate; border-radius:26px; padding:22px 22px 26px; text-align:center;
  background:linear-gradient(165deg, var(--card-a), var(--card-b) 70%);
}
.pcard__inner::before{
  content:''; position:absolute; z-index:-1; left:50%; top:-100px; width:260px; height:260px; margin-left:-130px;
  border-radius:50%; background:var(--c1); opacity:.16; filter:blur(52px); pointer-events:none;
}
.pcard__inner::after{
  content:''; position:absolute; z-index:1; left:0; top:0; width:3px; height:3px; border-radius:50%;
  background:var(--c1); pointer-events:none;
  box-shadow:52px 210px 0 var(--c1), 310px 120px 0 var(--c1), 160px 470px 0 var(--c1),
             296px 400px 0 var(--c1), 30px 380px 0 var(--c1), 220px 40px 0 var(--c1);
  animation:sparkle 5s ease-in-out infinite;
}
.pcard__cover{ aspect-ratio:1/1; border-radius:18px; overflow:hidden; margin-bottom:20px; background:var(--bg-void); }
.pcard__cover img{ width:100%; height:100%; object-fit:cover; -webkit-user-drag:none; }
.pcard__icon{
  display:inline-flex; align-items:center; justify-content:center; width:52px; height:52px; border-radius:50%; margin-bottom:10px;
  font-family:var(--display); font-weight:800; font-size:1.4rem; color:#fff; box-shadow:0 10px 24px -10px var(--c1);
}
.pcard__icon--usd{ background:linear-gradient(145deg, #33C26B, #168A4A); }
.pcard__icon--mxn{ background:linear-gradient(90deg, #0B7A43 0 33.3%, #F7F5F2 33.3% 66.6%, #C8202F 66.6% 100%); }
.pcard__icon--eur{ background:linear-gradient(145deg, #2A56D6, #16318F); color:#F2C94C; }
.pcard__label{ margin:0 0 6px; font-size:.72rem; font-weight:600; letter-spacing:.22em; text-transform:uppercase; color:var(--ivory-dim); }
.pcard__price{ margin:0; font-family:var(--serif); font-weight:400; font-size:2.9rem; line-height:1.05; color:var(--c1); }
.pcard__sym{ color:var(--ivory); }
.pcard__sub{ margin:6px 0 20px; font-size:.82rem; letter-spacing:.06em; color:var(--ivory-dim); }
.pcard__btn{
  display:block; padding:15px 20px; border-radius:100px; background:linear-gradient(135deg, var(--c1), var(--c2)); color:var(--btn-ink);
  font-family:var(--display); font-weight:800; font-size:.8rem; letter-spacing:.12em; text-transform:uppercase;
  text-decoration:underline; text-underline-offset:4px; box-shadow:0 14px 30px -14px var(--c1);
  transition:transform .3s ease, box-shadow .3s ease; -webkit-user-drag:none;
}
.pcard__btn:hover{ transform:translateY(-2px); box-shadow:0 18px 38px -14px var(--c1); }
.pcar__nav{ display:flex; justify-content:center; gap:16px; margin-top:34px; }
.pcar__arrow{
  width:52px; height:52px; border-radius:50%; cursor:pointer; display:inline-flex; align-items:center; justify-content:center;
  background:transparent; border:1px solid rgba(var(--accent-rgb),.55); color:var(--ivory);
  transition:background .3s ease, border-color .3s ease, transform .3s ease;
}
.pcar__arrow:hover{ background:rgba(var(--accent-rgb),.22); border-color:var(--accent); transform:scale(1.06); }
.pcar__arrow svg{ width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.pcar__hint{ margin:16px 0 0; text-align:center; font-size:.8rem; letter-spacing:.08em; color:var(--ivory-dim); opacity:.8; }
@media (prefers-reduced-motion:reduce){
  .pcard__ring, .pcard__inner::after{ animation:none; }
  .pcar__track, .pcard{ transition:none; }
}
.reservar__note{ margin-top:30px; text-align:center; font-size:.9rem; color:var(--ivory-dim); }
.reservar__note a{ color:var(--accent); border-bottom:1px solid rgba(var(--accent-rgb),.4); }

/* ===== Preguntas frecuentes ===== */
.accordion{ max-width:760px; margin:0 auto; display:flex; flex-direction:column; gap:10px; }
.accordion__item{ border:1px solid var(--line-soft); border-radius:12px; overflow:hidden; background:var(--bg-panel-2); }
.accordion__item h3{ font-size:inherit; font-weight:inherit; }
.accordion__trigger{
  width:100%; text-align:left; background:none; border:none; color:var(--ivory); padding:18px 20px;
  font-size:.98rem; font-weight:500; display:flex; justify-content:space-between; align-items:center; cursor:pointer;
}
.accordion__trigger::after{ content:'+'; font-size:1.3rem; color:var(--accent); transition:transform .25s ease; flex:none; margin-left:14px; }
.accordion__trigger[aria-expanded="true"]::after{ transform:rotate(45deg); }
.js .accordion__panel{ max-height:0; overflow:hidden; transition:max-height .3s ease; }
.accordion__panel-inner{ padding:0 20px 18px; font-size:.92rem; color:var(--ivory-dim); }

/* ===== Cierre ===== */
.closer{ text-align:center; background:linear-gradient(180deg, var(--bg-panel), var(--bg)); }
.closer .lede{ margin:0 auto 14px; }
.closer__facts{ list-style:none; margin:26px auto; padding:0; display:inline-flex; flex-direction:column; gap:8px; text-align:left; }
.closer__facts li{ display:flex; align-items:center; gap:8px; font-size:.95rem; color:var(--ivory); }
.closer__facts li::before{ content:'✓'; color:var(--green); font-weight:700; }
.closer__ask{ font-family:var(--display); font-weight:800; font-size:clamp(1.2rem,3vw,1.7rem); color:#fff; margin:22px 0 4px; }
.closer__ask em{ font-family:var(--serif); font-style:normal; font-weight:400; color:var(--accent); }

/* ===== Barra fija de compra (móvil) ===== */
.sticky-cta{
  position:fixed; left:0; right:0; bottom:0; z-index:90; background:rgba(8,7,10,.92);
  backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px); border-top:1px solid var(--line);
  padding:12px 16px; display:flex; align-items:center; justify-content:space-between; gap:12px;
  transform:translateY(110%); transition:transform .3s ease;
}
.sticky-cta.is-visible{ transform:translateY(0); }
.sticky-cta__price{ font-family:var(--display); font-weight:800; color:#fff; font-size:.95rem; line-height:1.2; }
.sticky-cta__price small{ display:block; font-size:.65rem; color:var(--ivory-dim); font-weight:400; }
.sticky-cta .btn{ padding:12px 20px; font-size:.82rem; }
@media (min-width:981px){ .sticky-cta{ display:none; } }

/* ===== Pie ===== */
.site-footer{ padding:34px 0 100px; text-align:center; font-size:.8rem; color:var(--ivory-dim); border-top:1px solid var(--line-soft); }
.site-footer__brand{ font-family:var(--display); font-weight:800; font-size:.95rem; letter-spacing:.06em; color:#fff; margin-bottom:6px; }
@media (min-width:981px){ .site-footer{ padding-bottom:34px; } }

@media (max-width:640px){
  .section{ padding:56px 0; }
}

/* ===== Ajustes de Biofísica Elemental ===== */
.hero__card img{ object-position:center top; }
.hero__price-old{ font-family:var(--display); font-size:.95rem; color:var(--ivory-dim); text-decoration:line-through; text-decoration-color:rgba(232,38,44,.8); }
/* Hero más limpio: un precio, el tachado y una sola línea de apoyo */
.hero__price .hero__price-note{ flex-basis:100%; text-transform:none; letter-spacing:.01em; font-weight:400; font-size:.88rem; color:var(--ivory-dim); }
.hero__price-old{ align-self:center; }
.hero__actions{ margin-bottom:6px; }
@media (max-width:640px){ .hero__price-old{ font-size:.85rem; } .hero__price .hero__price-note{ font-size:.78rem; } }

/* "No es… / Es…": la pregunta que cambia todo */
.pain-grid--two{ grid-template-columns:repeat(2,1fr); max-width:860px; margin-left:auto; margin-right:auto; }
@media (max-width:720px){ .pain-grid--two{ grid-template-columns:1fr; } }
.pain-card__label{ display:block; font-size:.72rem; letter-spacing:.16em; text-transform:uppercase; color:var(--ivory-dim); margin-bottom:10px; }
.pain-card__q{ font-family:var(--serif); font-style:normal; font-weight:400; font-size:1.35rem; line-height:1.2; color:var(--ivory-dim); }
.pain-card--no .pain-card__q{ text-decoration:line-through; text-decoration-color:rgba(247,245,242,.35); text-decoration-thickness:1px; }
.pain-card--yes{ border-color:var(--accent); background:linear-gradient(165deg, var(--card-a), var(--card-b) 70%); box-shadow:0 24px 50px -30px var(--accent-glow); }
.pain-card--yes .pain-card__label{ color:var(--accent); }
.pain-card--yes .pain-card__q{ color:#fff; }

.modulo__goal{ margin:14px 0 0; padding-top:12px; border-top:1px solid var(--line-soft); font-size:.9rem; color:var(--ivory); }
.modulo__goal em{ font-family:var(--serif); font-style:normal; font-weight:400; color:var(--blue-light); }

.instructor__photo{ aspect-ratio:4/5; }

/* Tarjetas de pago: precio de lista tachado y etiqueta */
/* Etiqueta discreta debajo de la portada (no encima de la foto) */
.pcard__badge{
  display:table; margin:-6px auto 14px; white-space:nowrap;
  padding:4px 12px; border-radius:100px; border:1px solid var(--c1); background:transparent; color:var(--c1);
  font-family:var(--display); font-weight:700; font-size:.62rem; letter-spacing:.14em; text-transform:uppercase;
}
.pcard__old{ margin:0 0 2px; font-size:.85rem; color:var(--ivory-dim); }
.pcard__old s{ text-decoration-color:rgba(232,38,44,.8); }
.pcard__times{ font-family:var(--display); font-size:1.4rem; font-weight:800; color:var(--ivory); margin-right:4px; }

/* ===== WhatsApp en la paleta de la landing (azul cobalto, no verde) ===== */
.btn-wa{
  display:inline-flex; align-items:center; gap:12px; flex:none;
  padding:10px 24px 10px 10px; border-radius:100px;
  background:linear-gradient(135deg, var(--btn-a), var(--btn-b)); color:#fff;
  font-family:var(--display); font-weight:700; font-size:.95rem; letter-spacing:.01em;
  box-shadow:0 14px 34px -16px rgba(var(--accent-rgb),.7), 0 0 0 1px rgba(247,245,242,.12) inset;
  transition:transform .3s cubic-bezier(.16,.8,.24,1), box-shadow .3s ease;
}
.btn-wa:hover{ transform:translateY(-2px); box-shadow:0 18px 44px -14px rgba(var(--accent-rgb),.85), 0 0 0 1px rgba(247,245,242,.18) inset; }
.btn-wa__icon{
  width:40px; height:40px; padding:9px; border-radius:50%; flex:none;
  background:rgba(247,245,242,.16); fill:#fff;
  box-shadow:0 0 0 0 rgba(195,207,255,.55); animation:waPulse 2.4s ease-out infinite;
}
@keyframes waPulse{ 0%{ box-shadow:0 0 0 0 rgba(195,207,255,.5); } 70%,100%{ box-shadow:0 0 0 12px rgba(195,207,255,0); } }

/* Recuadro de dudas (debajo de Preguntas frecuentes) */
.wa-card{
  max-width:760px; margin:40px auto 0; padding:22px 24px;
  display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:20px;
  border-radius:var(--radius); border:1px solid var(--line);
  background:linear-gradient(160deg, var(--card-a), var(--card-b));
  box-shadow:0 24px 50px -30px var(--accent-glow);
}
.wa-card__bubble{
  width:58px; height:58px; border-radius:18px 18px 18px 6px; display:grid; place-items:center;
  background:linear-gradient(135deg, var(--btn-a), var(--btn-b));
  box-shadow:0 10px 24px -10px rgba(var(--accent-rgb),.8);
}
.wa-card__bubble svg{ width:30px; height:30px; fill:#fff; }
.wa-card__title{ font-family:var(--display); font-weight:700; font-size:1.08rem; color:#fff; line-height:1.3; }
.wa-card__title em{ font-style:normal; font-weight:400; color:var(--accent); }
.wa-card__body{ font-size:.9rem; color:var(--ivory-dim); margin-top:4px; }
@media (max-width:720px){
  .wa-card{ grid-template-columns:1fr; justify-items:center; text-align:center; gap:14px; }
}

/* Botón de dudas en la sección de pago */
.wa-inline{ margin-top:34px; display:flex; flex-direction:column; align-items:center; gap:14px; text-align:center; }
.wa-inline__text{ font-family:var(--display); font-weight:700; font-size:1.02rem; color:#fff; }
.wa-inline__text span{ display:block; font-family:var(--sans); font-weight:300; font-size:.9rem; color:var(--ivory-dim); margin-top:2px; }

/* ===== Línea "Vienes de La Buena Plática" en la barra superior ===== */
.countdown-bar__from{ flex-basis:100%; margin:0; font-size:.8rem; color:rgba(255,255,255,.85); }
.countdown-bar__from strong{ color:var(--accent); font-weight:600; }
@media (max-width:640px){ .countdown-bar__from{ font-size:.72rem; } }

/* ===== Hero con video vertical 9:16 (Vimeo) ===== */
.hero--vsl .hero__inner{
  grid-template-columns:1.1fr .9fr; grid-template-areas:"head media" "body media";
  grid-template-rows:auto 1fr; column-gap:56px; row-gap:0; align-items:start;
}
.hero--vsl .hero__head{ grid-area:head; align-self:end; max-width:620px; }
.hero--vsl .hero__body{ grid-area:body; max-width:560px; }
.hero--vsl .hero__media{ grid-area:media; align-self:center; }
.hero--vsl .hero__title{ font-size:clamp(2rem, 5vw, 3.6rem); font-weight:900; line-height:1.05; letter-spacing:-.02em; }
.hero--vsl .hero__subtitle{ font-size:1.08rem; }
.hero__note{ display:flex; align-items:center; gap:8px; font-size:.88rem; color:var(--ivory-dim); margin:0 0 22px; }
.hero__note-dot{ width:8px; height:8px; border-radius:50%; background:var(--accent); flex:none; animation:vslPulse 1.6s ease-in-out infinite; }
@keyframes vslPulse{ 50%{ opacity:.35; } }
.btn--xl{ padding:20px 36px; font-size:1.05rem; border-radius:12px; min-width:340px; }

.vsl{
  position:relative; z-index:1; aspect-ratio:9/16; width:100%; max-width:370px; margin:0 auto;
  border-radius:24px; overflow:hidden; background:#000;
  box-shadow:0 40px 80px -30px rgba(0,0,0,.85), 0 0 0 1px var(--ivory-faint);
}
.vsl__poster, .vsl iframe{ position:absolute; inset:0; width:100%; height:100%; border:0; object-fit:cover; }
.vsl.is-playing .vsl__poster{ opacity:0; transition:opacity .4s ease; }
.vsl__pause{ position:absolute; inset:0; z-index:2; background:transparent; border:0; cursor:pointer; }
.vsl__unmute{
  position:absolute; inset:0; z-index:3; border:0; cursor:pointer; color:#fff;
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; padding:24px;
  background:linear-gradient(180deg, rgba(0,0,0,.05), rgba(0,0,0,.45) 50%, rgba(0,0,0,.05));
  font-family:var(--display); text-align:center;
}
.vsl__unmute[hidden], .vsl__pause[hidden]{ display:none; }
.vsl__unmute-icon{
  width:76px; height:76px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  background:linear-gradient(135deg, var(--btn-a), var(--btn-b));
  box-shadow:0 0 0 0 rgba(var(--accent-rgb),.6); animation:vslRing 1.8s ease-out infinite;
}
.vsl__unmute-icon svg{ width:34px; height:34px; }
@keyframes vslRing{ 0%{ box-shadow:0 0 0 0 rgba(var(--accent-rgb),.55); } 100%{ box-shadow:0 0 0 22px rgba(var(--accent-rgb),0); } }
.vsl__unmute-title{ font-weight:800; font-size:1.3rem; line-height:1.2; max-width:220px; text-shadow:0 2px 12px rgba(0,0,0,.6); }
.vsl__unmute-sub{ font-family:var(--sans); font-size:.92rem; opacity:.9; text-shadow:0 2px 10px rgba(0,0,0,.6); }
.vsl__progress{ position:absolute; left:0; right:0; bottom:0; height:5px; z-index:4; background:rgba(255,255,255,.18); }
.vsl__progress span{ display:block; height:100%; width:0; background:linear-gradient(90deg, var(--btn-a), var(--btn-b)); transition:width .25s linear; }

@media (max-width:980px){
  .hero--vsl .hero__inner{ grid-template-columns:1fr; grid-template-areas:"head" "media" "body"; row-gap:22px; }
  .hero--vsl .hero__head, .hero--vsl .hero__body{ max-width:none; text-align:center; margin:0 auto; }
  .hero--vsl .hero__body{ display:flex; flex-direction:column; align-items:center; }
  .hero__note{ justify-content:center; }
  .vsl{ max-width:360px; }
}
@media (max-width:640px){
  .hero--vsl .hero__title{ font-size:clamp(1.6rem, 7.4vw, 2rem); }
  .hero--vsl .hero__head .eyebrow{ display:none; }
  /* En el celular: el botón va pegado al video y el texto de apoyo después */
  .hero--vsl .hero__actions{ order:-2; width:100%; display:flex; justify-content:center; margin-bottom:6px; }
  .hero--vsl .hero__date-line{ order:-1; margin:0 0 14px; }
  .hero--vsl .hero__subtitle{ -webkit-line-clamp:unset; display:block; }
  .hero__note{ margin-bottom:0; }
  .btn--xl{ min-width:0; padding:17px 22px; font-size:.98rem; }
  .vsl{ width:min(88vw, 360px); border-radius:20px; }
}
/* =====================================================================
   TEMA "Obsidiana + ámbar" · contraste entre secciones y símbolos de Feng Shui
   (bagua con 8 trigramas, monedas chinas, octágonos y yin-yang, siempre sutiles)
   ===================================================================== */
:root{
  --line:rgba(var(--gold-rgb),.22);
  --line-soft:rgba(246,241,234,.08);
  --ico-coin:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Ccircle cx='10' cy='10' r='8.4' fill='none' stroke='%23D9A55B' stroke-width='1.6'/%3E%3Crect x='7.4' y='7.4' width='5.2' height='5.2' fill='none' stroke='%23FF8A3D' stroke-width='1.5'/%3E%3C/svg%3E");
  --ico-octa:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3E%3Cpolygon points='13.4,2 26.6,2 38,13.4 38,26.6 26.6,38 13.4,38 2,26.6 2,13.4' fill='%23050505' stroke='%23D9A55B' stroke-width='1.4'/%3E%3Cpolygon points='15.8,8 24.2,8 32,15.8 32,24.2 24.2,32 15.8,32 8,24.2 8,15.8' fill='none' stroke='%23D9A55B' stroke-opacity='.45' stroke-width='1'/%3E%3Ccircle cx='20' cy='20' r='3.4' fill='%23FF8A3D'/%3E%3C/svg%3E");
}

/* Fondo base más profundo y paneles con contraste claro */
body{ background:var(--bg); }
.section{ position:relative; }
.section--panel{
  background:
    radial-gradient(700px 320px at 50% 0%, rgba(var(--gold-rgb),.07), transparent 70%),
    linear-gradient(180deg, #100E0C, #0A0908);
  border-top:1px solid rgba(var(--gold-rgb),.16); border-bottom:1px solid rgba(var(--gold-rgb),.10);
}
/* Ornamento octagonal (bagua) al inicio de cada panel */
.section--panel::before{
  content:''; position:absolute; left:50%; top:0; width:38px; height:38px; transform:translate(-50%,-50%);
  background:var(--ico-octa) center/contain no-repeat; z-index:2; pointer-events:none;
}
.section--void{ background:#000; border-top:1px solid rgba(var(--gold-rgb),.16); }

/* Marca de agua: bagua girando muy lento */
.bagua-mark{ position:absolute; z-index:0; pointer-events:none; color:var(--gold); opacity:.07; animation:baguaSpin 180s linear infinite; }
.bagua-mark svg{ width:100%; height:100%; display:block; }
.bagua-mark--hero{ width:760px; height:760px; right:-170px; top:50%; margin-top:-380px; opacity:.09; }
.bagua-mark--ejes{ width:620px; height:620px; left:-260px; top:40px; opacity:.05; }
.bagua-mark--reservar{ width:820px; height:820px; left:50%; top:-120px; margin-left:-410px; opacity:.06; }
.bagua-mark--closer{ width:520px; height:520px; right:-200px; bottom:-200px; opacity:.05; }
@keyframes baguaSpin{ to{ transform:rotate(360deg); } }
@media (max-width:980px){ .bagua-mark--hero{ width:560px; height:560px; right:50%; margin-right:-280px; top:120px; margin-top:0; } }
.section > .wrap, .hero__inner, .closer > .wrap{ position:relative; z-index:1; }

/* Encabezados: punto del eyebrow como pequeño octágono */
.eyebrow-dot{
  width:9px; height:9px; border-radius:0; background:linear-gradient(135deg, var(--gold), var(--accent));
  clip-path:polygon(30% 0,70% 0,100% 30%,100% 70%,70% 100%,30% 100%,0 70%,0 30%);
}
.h2{ color:var(--ivory); }
.eyebrow--green{ color:var(--gold); }

/* Barra superior y cuenta regresiva */
.countdown-bar{ background:#000; border-bottom:1px solid rgba(var(--gold-rgb),.25); }
.countdown__unit{ background:#0B0A09; border-color:rgba(var(--gold-rgb),.38); }
.countdown--big .countdown__unit{ border-color:rgba(var(--gold-rgb),.5); background:#0B0A09; }

/* Hero */
.hero__bg{
  background:
    radial-gradient(800px 520px at 82% 40%, rgba(var(--accent-rgb),.16), transparent 62%),
    radial-gradient(600px 420px at 0% 100%, rgba(var(--gold-rgb),.07), transparent 60%),
    var(--bg);
}
.vsl{ box-shadow:0 40px 90px -30px rgba(0,0,0,.95), 0 0 0 1px rgba(var(--gold-rgb),.35), 0 0 60px -20px rgba(var(--accent-rgb),.35); }

/* Cifras: franja negra con divisores dorados */
.stats{ background:#000; border-top:1px solid rgba(var(--gold-rgb),.2); border-bottom:1px solid rgba(var(--gold-rgb),.2); }
.stats__inner > div{ position:relative; }
.stats__inner > div + div::before{
  content:''; position:absolute; left:-10px; top:50%; width:7px; height:7px; margin-top:-4px;
  background:var(--gold); opacity:.6; transform:rotate(45deg);
}
@media (max-width:720px){ .stats__inner > div:nth-child(3)::before{ display:none; } }

/* Tarjetas: superficie cálida, borde dorado tenue y filo superior naranja→oro */
.pain-card, .eje, .incluye-card, .paraquien-card, .accordion__item, .pull-quote, .modulo{
  background:linear-gradient(170deg, var(--card-a), var(--card-b) 75%);
  border:1px solid rgba(var(--gold-rgb),.16);
  box-shadow:0 1px 0 rgba(246,241,234,.05) inset, 0 24px 48px -32px rgba(0,0,0,.9);
}
.eje, .incluye-card, .paraquien-card, .pain-card{ position:relative; overflow:hidden; transition:transform .35s ease, border-color .35s ease; }
.eje::before, .incluye-card::before, .paraquien-card::before, .pain-card::before{
  content:''; position:absolute; left:0; right:0; top:0; height:2px;
  background:linear-gradient(90deg, transparent, var(--accent), var(--gold), transparent); opacity:.7;
}
.eje:hover, .incluye-card:hover, .paraquien-card:hover{ transform:translateY(-3px); border-color:rgba(var(--gold-rgb),.38); }
.pain-card--no{ background:#0B0A09; }
.pain-card--no::before{ opacity:.18; }
.pain-card--yes{ border-color:rgba(var(--accent-rgb),.65); box-shadow:0 30px 60px -30px rgba(var(--accent-rgb),.45); }
/* Yin-yang sutil en la tarjeta "Tu casa necesita…" */
.pain-card__yy{ position:absolute; right:-26px; bottom:-26px; width:120px; height:120px; color:var(--accent); opacity:.12; pointer-events:none; }
.pull-quote{ border-left:3px solid var(--accent); }

/* Tres ejes con trigramas */
.eje::after{ background:radial-gradient(circle, rgba(var(--gold-rgb),.16), transparent 70%); }
.eje__tri{ width:44px; height:34px; color:var(--gold); margin-bottom:16px; display:block; }
.eje__num{ color:var(--accent); }

/* Programa */
.modulo{ border-color:rgba(var(--gold-rgb),.2); }
.modulo__day{ background:#000; border-color:rgba(var(--gold-rgb),.45); }
.modulo__list li b{ color:var(--gold); }
.modulo__list li.med{ background:rgba(var(--accent-rgb),.08); border-color:rgba(var(--accent-rgb),.3); }
.modulo__list li.med strong{ color:var(--accent); }
.modulo__goal em{ color:var(--accent); }

/* Monedas chinas en lugar de palomitas */
.incluye-card__title::before, .checklist li::before, .closer__facts li::before{
  content:''; width:16px; height:16px; flex:none; background:var(--ico-coin) center/contain no-repeat; align-self:center;
}
.incluye-card__title{ align-items:center; }

/* Instructora */
.instructor__photo{ border-color:rgba(var(--gold-rgb),.35); }
.instructor__role{ color:var(--gold); }
.instructor__podcast{ border-color:rgba(var(--gold-rgb),.3); color:var(--ivory); }

/* Para quién */
.paraquien-card__label{ color:var(--gold); }

/* Reserva y pagos */
.reservar-box{
  background:linear-gradient(170deg, #1A1714, #0B0A09 80%);
  border:1px solid rgba(var(--gold-rgb),.45);
  box-shadow:0 40px 90px -40px rgba(var(--accent-rgb),.35);
}
.orb--green{ background:rgba(var(--gold-rgb),.30); }
.pcard__badge{ border-color:var(--gold); color:var(--gold); }

/* FAQ */
.accordion__trigger::after{ color:var(--gold); }
.accordion__trigger[aria-expanded="true"]{ color:var(--accent); }

/* Cierre y pie */
.closer{ position:relative; overflow:hidden; background:linear-gradient(180deg, #0D0C0B, #000); border-top:1px solid rgba(var(--gold-rgb),.16); }
.site-footer{ background:#000; border-top:1px solid rgba(var(--gold-rgb),.2); }
.site-footer__yy{ width:28px; height:28px; color:var(--gold); margin:0 auto 10px; display:block; opacity:.8; }
.sticky-cta{ background:rgba(0,0,0,.92); border-top-color:rgba(var(--gold-rgb),.3); }
/* ===== Video: velo mientras está sin sonido ===== */
.vsl__unmute{ background:radial-gradient(circle at 50% 48%, rgba(0,0,0,.25), rgba(0,0,0,.6) 75%); }
.vsl__progress{ height:4px; background:rgba(255,255,255,.14); }
.vsl__progress span{ transition:none; }

/* ===== Pagos: carrusel USD · MXN más intuitivo ===== */
.pcar__nav{ align-items:center; gap:18px; }
.pcar__dots{ display:flex; gap:10px; align-items:center; }
.pcar__dot{
  width:10px; height:10px; padding:0; border:1px solid rgba(var(--gold-rgb),.6); background:transparent; cursor:pointer;
  clip-path:polygon(30% 0,70% 0,100% 30%,100% 70%,70% 100%,30% 100%,0 70%,0 30%);
  transition:background .3s ease, transform .3s ease;
}
.pcar__dot.is-active{ background:linear-gradient(135deg, var(--gold), var(--accent)); transform:scale(1.3); }
.pcar__arrow{ border-color:rgba(var(--gold-rgb),.5); }
.pcard:not(.is-active){ cursor:pointer; }

/* ===== Pagos: yin-yang de fondo (líneas finas, gira muy lento) ===== */
.pay-stage{ position:relative; isolation:isolate; }
.pay-fengshui{ position:absolute; left:50%; top:44%; width:min(820px, 120vw); aspect-ratio:1; transform:translate(-50%,-50%); z-index:-1; pointer-events:none; }
.pay-yy{ width:100%; height:100%; display:block; opacity:.56; animation:yySpin 120s linear infinite; }
.pay-yy__glow{ animation:yyBreath 5s ease-in-out infinite; transform-box:fill-box; transform-origin:center; }
@keyframes yySpin{ to{ transform:rotate(360deg); } }
@keyframes yyBreath{ 50%{ opacity:.9; transform:scale(1.35); } }
.pay-stage .pcar{ position:relative; z-index:1; }
@media (max-width:720px){ .pay-fengshui{ top:40%; width:150vw; } }
/* ===== Video: aviso para tocar el video cuando el navegador bloquea el sonido ===== */
.vsl__tap{ position:absolute; left:0; right:0; bottom:22px; z-index:3; display:flex; justify-content:center; pointer-events:none; }
.vsl__tap[hidden]{ display:none; }
.vsl__tap span{
  padding:10px 18px; border-radius:100px; background:rgba(0,0,0,.72); border:1px solid rgba(var(--gold-rgb),.5);
  color:#fff; font-family:var(--display); font-weight:700; font-size:.85rem; animation:vslPulse 1.6s ease-in-out infinite;
}
.vsl__progress{ pointer-events:none; }