.freeClass{background:var(--paper);color:var(--ink);padding:110px max(36px,50vw - 580px)}
.freeClassInner{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;max-width:1160px;margin:auto}
.freeClassCopy h2{letter-spacing:-.055em;font-size:clamp(34px,4.2vw,54px);line-height:1.05;font-family:Poppins,Arial,sans-serif;font-weight:900;text-transform:uppercase;margin:18px 0 22px}
.freeClassCopy h2 span{color:var(--red)}
.freeClassCopy p{color:#5f5e59;font-size:17px;line-height:1.65;max-width:480px;margin:0}
.freeClassForm{background:var(--ink);color:#fff;padding:38px;border-radius:6px;box-shadow:14px 15px 0 var(--green);display:flex;flex-direction:column;gap:18px}
.freeClassForm label{display:flex;flex-direction:column;gap:8px;font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#ffffffbf}
.freeClassForm input{background:#ffffff12;border:1px solid #ffffff33;border-radius:4px;padding:14px 16px;color:#fff;font-size:15px;font-weight:600;font-family:Arial,Helvetica,sans-serif;width:100%}
.freeClassForm input::placeholder{color:#ffffff66}
.freeClassForm input:focus{outline:none;border-color:var(--green);background:#ffffff1c}
.freeClassForm .button{width:100%;min-width:0;margin-top:6px;border:none;cursor:pointer}
.freeClassForm small{color:#ffffff80;font-size:11px;text-align:center;line-height:1.5}
.freeClassForm .formNote{text-align:center;color:var(--green);font-size:12px;font-weight:800;display:none;margin-top:-6px}
.freeClassForm .formNote.show{display:block}
@media (width<=900px){.freeClassInner{grid-template-columns:1fr}}
@media (width<=600px){.freeClass{padding:85px 20px}.freeClassForm{padding:26px}}

/* ===== Mejoras de conversión ===== */
.hero{position:relative}

/* Barra de urgencia pegajosa */
.urgencyBar{position:sticky;top:0;z-index:25;background:var(--ink);color:#fff;border-bottom:2px solid var(--red)}
.urgencyInner{max-width:1240px;margin:auto;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px 26px;padding:10px 20px}
.urgencyItem{display:flex;align-items:center;gap:7px;font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;color:#ffffffcf}
.urgencyItem strong{color:var(--green)}
.urgencyItem s{color:#ffffff5c;margin-right:2px;font-weight:700}
.urgencyCta{background:var(--red);color:#fff;font-size:11px;font-weight:900;letter-spacing:.04em;text-transform:uppercase;padding:9px 18px;border-radius:999px;white-space:nowrap;transition:transform .2s}
.urgencyCta:hover{transform:translateY(-2px)}
@media (width<=700px){.urgencyInner{gap:7px 14px;padding:8px 14px;justify-content:flex-start}.urgencyItem{font-size:9.5px}.urgencyCta{padding:7px 13px;font-size:9.5px;margin-left:auto}}

/* Barra de credibilidad */
.credBar{background:var(--paper);color:var(--ink);border-bottom:1px solid #bcb9af;padding:36px max(20px,50vw - 580px)}
.credBar ul{display:flex;flex-wrap:wrap;justify-content:space-between;gap:22px;max-width:1160px;margin:auto;list-style:none;padding:0}
.credBar li{flex:1;min-width:140px;text-align:center;border-left:1px solid #bcb9af}
.credBar li:first-child{border-left:none}
.credBar strong{display:block;font-family:Poppins,Arial,sans-serif;font-weight:900;font-size:clamp(26px,3vw,38px);color:var(--blue);letter-spacing:-.04em;line-height:1}
.credBar span{display:block;text-transform:uppercase;font-size:10.5px;font-weight:800;letter-spacing:.07em;color:#5f5e59;margin-top:8px;line-height:1.3}
@media (width<=700px){.credBar{padding:28px 20px}.credBar ul{gap:18px 10px}.credBar li{min-width:42%;border-left:none;border-top:1px solid #bcb9af;padding-top:14px}}

/* Checklist de dolor */
.painList{background:var(--ink);color:#fff;border-radius:6px;margin:0 0 55px;padding:38px 40px;max-width:760px}
.painTitle{font-weight:900;text-transform:uppercase;color:var(--green);font-size:14px;letter-spacing:.09em;margin-bottom:18px}
.painItems{display:grid;gap:13px;list-style:none;padding:0;margin:0}
.painItems li{display:flex;gap:12px;align-items:flex-start;font-size:16px;line-height:1.4;font-weight:600;color:#ffffffe0}
.painItems li i{color:var(--red);font-style:normal;font-weight:900;font-size:16px;line-height:1.4}
.painConclusion{margin-top:22px;font-weight:900;color:#fff;font-size:19px;line-height:1.4}
.painConclusion span{color:var(--green)}
@media (width<=600px){.painList{padding:26px 22px}.painItems li{font-size:14.5px}}

/* Tabla comparativa */
.comparison{background:var(--paper);padding:110px max(36px,50vw - 580px)}
.comparison h2{letter-spacing:-.055em;font-size:clamp(40px,5.3vw,72px);line-height:.98;max-width:1160px;margin:0 auto}
.comparisonWrap{max-width:1160px;margin:50px auto 0;overflow-x:auto}
.comparisonTable{width:100%;min-width:520px;border-collapse:collapse;border:1px solid var(--ink)}
.comparisonTable th,.comparisonTable td{padding:16px 22px;text-align:left;font-size:15px;border-bottom:1px solid #bcb9af}
.comparisonTable thead th{background:var(--ink);color:#fff;text-transform:uppercase;font-size:11.5px;letter-spacing:.08em;font-weight:900}
.comparisonTable thead th:last-child{background:var(--blue)}
.comparisonTable tbody td:first-child{color:#65645f}
.comparisonTable tbody td:last-child{font-weight:900;color:var(--blue)}
.comparisonTable tbody td:last-child i{color:var(--green);font-style:normal;margin-right:8px}
.comparisonTable tbody tr:last-child td{border-bottom:none}
@media (width<=600px){.comparisonTable th,.comparisonTable td{padding:12px 16px;font-size:13px}}

/* Bloque de riesgo percibido */
.riskBlock{background:var(--blue);color:#fff;padding:100px max(36px,50vw - 580px);text-align:center}
.riskBlock .sectionKicker{color:var(--green);justify-content:center;display:flex}
.riskBlock h2{letter-spacing:-.05em;font-size:clamp(34px,4.5vw,58px);line-height:1.05;max-width:820px;margin:18px auto 0}
.riskGrid{display:flex;justify-content:center;flex-wrap:wrap;gap:14px;margin:38px 0 30px}
.riskGrid span{border:1px solid #ffffff40;padding:14px 22px;font-weight:900;text-transform:uppercase;font-size:12.5px;letter-spacing:.03em}
.riskGrid span i{color:#ff8a80;font-style:normal;margin-right:8px}
.riskNote{max-width:600px;margin:0 auto;font-size:19px;font-weight:800;color:var(--green);line-height:1.4}
@media (width<=600px){.riskBlock{padding:75px 20px}.riskGrid span{font-size:11px;padding:12px 16px}}

/* Qué pasa después de inscribirte */
.afterSteps{background:#10131b;color:#fff;padding:110px max(36px,50vw - 580px)}
.afterSteps .sectionHead{max-width:800px}
.afterStepsGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:55px;max-width:1160px;margin-left:auto;margin-right:auto}
.afterStepsGrid article{border-top:3px solid var(--green);padding-top:22px}
.afterStepsGrid em{font-family:Poppins,Arial,sans-serif;font-size:38px;font-style:normal;font-weight:900;color:var(--green);display:block;margin-bottom:14px}
.afterStepsGrid h3{font-size:17px;margin-bottom:10px;text-transform:uppercase;letter-spacing:-.01em}
.afterStepsGrid p{color:#9296a1;font-size:14px;line-height:1.55;margin:0}
@media (width<=900px){.afterStepsGrid{grid-template-columns:1fr 1fr}}
@media (width<=600px){.afterSteps{padding:80px 20px}.afterStepsGrid{grid-template-columns:1fr;gap:30px}}

/* Precio ancla y garantía */
.priceAnchor{display:flex;align-items:baseline;gap:14px;margin:32px 0 0}
.priceOld{text-decoration:line-through;color:#a19d92;font-size:24px;font-weight:800}
.priceSavings{background:#e9332320;color:var(--red);font-size:10.5px;font-weight:900;padding:5px 10px;border-radius:3px;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}
.priceCard .price{margin:8px 0 13px}
.priceDeadline{color:var(--red);font-size:11.5px;font-weight:900;letter-spacing:.02em;margin:-8px 0 22px}
.guaranteeBadge{background:var(--green);color:var(--ink);padding:16px 18px;font-weight:800;font-size:13px;text-align:center;margin:8px 0 24px;border-radius:5px;line-height:1.45}
.guaranteeBadge strong{display:block;font-size:15px;margin-bottom:4px;text-transform:uppercase;letter-spacing:.02em}

/* Botón flotante de WhatsApp */
.whatsappFloat{position:fixed;bottom:24px;right:24px;z-index:40;background:#25D366;color:#fff;width:60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 25px #00000045;font-size:30px;transition:transform .2s}
.whatsappFloat:hover{transform:scale(1.08)}
.whatsappFloat svg{width:30px;height:30px;fill:#fff}
@media (width<=600px){.whatsappFloat{bottom:16px;right:16px;width:52px;height:52px}.whatsappFloat svg{width:26px;height:26px}}

/* Ajuste hero: precio destacado en trustRow */
.trustRow .priceTag{font-weight:900;color:var(--green)}

/* Etiqueta de resultado en testimonios */
.testimonialGrid cite{display:flex;flex-direction:column;gap:6px}
.resultTag{color:var(--blue);letter-spacing:.02em;font-size:10px;font-weight:800;text-transform:none}

/* ===== Iconos de agenda como emoji (reemplaza SVG que se veía gigante en móvil) ===== */
.agendaItem>em.agendaEmoji{width:48px;height:48px;min-width:48px;border:1px solid #2b303c;border-radius:13px;display:grid;place-items:center;font-style:normal;font-size:22px;line-height:1;background:#ffffff08}
@media (width<=900px){.agendaItem>em.agendaEmoji{width:44px;height:44px;min-width:44px;font-size:20px}}
@media (width<=600px){.agendaItem>em.agendaEmoji{width:40px;height:40px;min-width:40px;font-size:18px;border-radius:11px}}

/* ===== Programa de sesiones (5 miércoles) — bloques listos para rellenar ===== */
.program .schedule{grid-template-columns:1fr}
.sessionFill{padding:24px 10px 30px;border-top:1px dashed #2b303c;margin-top:6px}
.sessionFill .placeholderTag{display:inline-block;font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--phase-color);border:1px dashed var(--phase-color);border-radius:999px;padding:5px 12px;margin-bottom:14px}
.sessionFill h4{font-size:21px;letter-spacing:-.02em;margin:0 0 10px;color:#fff}
.sessionFill p{color:#9296a1;line-height:1.6;margin:0}
.sessionFill p em{color:#9296a1;font-style:italic}
@media (width<=600px){.sessionFill{padding:18px 0 24px}.sessionFill h4{font-size:18px}}

/* ===== Hero: fechas en un solo cuadro ===== */
.heroDates{display:flex;align-items:flex-start;gap:14px;max-width:560px;margin:24px 0 30px;padding:18px 20px;border:1px solid #ffffff40;border-left:3px solid var(--green);border-radius:6px;background:#fff1}
.heroDates .heroDatesIcon{font-size:24px;line-height:1;flex-shrink:0;margin-top:2px}
.heroDates .heroDatesBody{display:flex;flex-direction:column;gap:4px}
.heroDates strong{display:block;color:#fff;font-size:13px;letter-spacing:.03em;text-transform:uppercase}
.heroDates span{display:block;border-left:none;background:none;padding:0;color:#fffc;font-size:12.5px;font-weight:700;letter-spacing:.02em}
.heroDates small{display:block;color:#ffffff85;font-size:10.5px;font-weight:600;margin-top:2px}
@media (width<=600px){.heroDates{padding:14px 16px;gap:10px}}

/* ===== Hero: visual de IA (reemplaza la caja del libro) ===== */
.heroVisual .aiCore{width:min(560px,92vw);height:auto;position:relative;z-index:2;filter:drop-shadow(0 20px 40px #00000055)}
.aiPulse{transform-box:fill-box;transform-origin:center;animation:aiPulse 3.4s ease-in-out infinite}
.aiCenter,.aiCenterLabel{transform-box:fill-box;transform-origin:center}
.aiNodes circle{transform-box:fill-box;transform-origin:center;animation:aiNode 2.8s ease-in-out infinite}
.aiNodes circle:nth-child(1){animation-delay:0s}
.aiNodes circle:nth-child(2){animation-delay:.3s}
.aiNodes circle:nth-child(3){animation-delay:.6s}
.aiNodes circle:nth-child(4){animation-delay:.9s}
.aiNodes circle:nth-child(5){animation-delay:1.2s}
.aiLinks line{stroke-dasharray:5 6;animation:aiFlow 7s linear infinite}
@keyframes aiPulse{0%,100%{opacity:.5;transform:scale(1)}50%{opacity:.85;transform:scale(1.08)}}
@keyframes aiNode{0%,100%{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.4)}}
@keyframes aiFlow{to{stroke-dashoffset:-44}}
@media (prefers-reduced-motion:reduce){.aiPulse,.aiNodes circle,.aiLinks line{animation:none}}

/* ===== Instructor: iconos sociales corregidos (WhatsApp, Instagram, Spotify) ===== */
.instructorSocials svg.icoInstagram rect{fill:none;stroke:currentColor}
.instructorSocials svg.icoInstagram circle:nth-of-type(1){fill:none;stroke:currentColor}
.instructorSocials svg.icoInstagram circle:nth-of-type(2){fill:currentColor;stroke:none}
.instructorSocials svg.icoSpotify path{fill:none;stroke:currentColor;stroke-linecap:round}
.instructorSocials svg.icoWhatsapp path{fill:currentColor;stroke:none}

/* ===== Precio: alinear el símbolo de pesos con la cifra ===== */
.price{display:flex;align-items:baseline;gap:2px}
.price sup{vertical-align:baseline}

/* ===== Agenda: evitar que la fecha se parta en dos líneas ===== */
.agendaPhase>header{flex-wrap:wrap;row-gap:6px}
.agendaPhase>header h3{white-space:nowrap}
.agendaPhase>header small{white-space:nowrap}

/* ===== Animaciones de aparición al hacer scroll (fluidas, optimizadas para móvil) ===== */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s cubic-bezier(.22,.61,.36,1),transform .7s cubic-bezier(.22,.61,.36,1);will-change:opacity,transform}
.reveal.reveal-in{opacity:1;transform:translateY(0)}
.reveal-stagger .reveal:nth-child(1){transition-delay:.03s}
.reveal-stagger .reveal:nth-child(2){transition-delay:.09s}
.reveal-stagger .reveal:nth-child(3){transition-delay:.15s}
.reveal-stagger .reveal:nth-child(4){transition-delay:.21s}
.reveal-stagger .reveal:nth-child(5){transition-delay:.27s}
.reveal-stagger .reveal:nth-child(6){transition-delay:.33s}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}
