/* ─── VARIABLES ─── */
:root {
  --naranja: #faa434;
  --rojo: #ea1a20;
  --gris: #5c5c5c;
  --gris-claro: #f7f7f7;
  --gris-linea: #e8e8e8;
  --gris-medio: #aaa;
  --blanco: #ffffff;
  --negro: #383838;
  --grad: linear-gradient(130deg, #faa434 0%, #ea1a20 100%);
}
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { font-family:'Roboto',sans-serif; background:#fff; color:var(--negro); overflow-x:clip; line-height:1.6; }

/* ─── CABECERA STICKY ─── */
.site-header {
  position: sticky; top:0; z-index:100;
  box-shadow: 0 2px 20px rgba(250,164,52,0.15);
}

/* ─── TOPBAR ─── */
.topbar {
  background: var(--grad);
  padding: 11px 40px;
  display: flex; align-items:center; justify-content:center; gap:32px;
}
.topbar p { font-size:13px; font-weight:500; color:#fff; }
.topbar strong { font-weight:700; }
.topbar-pill {
  background:rgba(255,255,255,0.18); border:1px solid rgba(255,255,255,0.45);
  color:#fff; font-size:11px; font-weight:700; letter-spacing:0.08em;
  padding:5px 14px; border-radius:100px; text-decoration:none; white-space:nowrap;
  transition:background 0.2s;
}
.topbar-pill:hover { background:rgba(255,255,255,0.32); }
/* en desktop el wrapper es transparente — solo agrupa para mobile */
.topbar-bottom { display:contents; }
.countdown { display:flex; align-items:center; gap:4px; }
.cd-block { display:flex; flex-direction:column; align-items:center; min-width:36px; }
.cd-num { font-size:18px; font-weight:900; color:#fff; line-height:1; font-variant-numeric:tabular-nums; }
.cd-lbl { font-size:8px; color:rgba(255,255,255,0.6); letter-spacing:0.1em; text-transform:uppercase; margin-top:1px; }
.cd-sep { font-size:16px; font-weight:700; color:rgba(255,255,255,0.5); margin-bottom:8px; }

/* ─── NAV ─── */
nav {
  background:#fff; border-bottom:1px solid var(--gris-linea);
  padding:14px 60px;
  display:flex; align-items:center; justify-content:space-between;
}
.nav-logo { height:28px; display:block; }
.nav-right { display:flex; align-items:center; gap:24px; }
.nav-autor { font-size:13px; color:var(--gris); }
.nav-autor strong { color:var(--negro); font-weight:700; }
.btn-nav {
  background:var(--grad); color:#fff;
  font-size:13px; font-weight:700; padding:9px 22px;
  border-radius:4px; text-decoration:none;
  box-shadow:0 4px 14px rgba(250,164,52,0.25);
  transition:all 0.2s; letter-spacing:0.02em;
}
.btn-nav:hover { transform:translateY(-1px); box-shadow:0 6px 20px rgba(250,164,52,0.35); }

/* ─── HERO ─── */
.hero {
  display:grid; grid-template-columns:1fr 400px;
  gap:72px; align-items:start;
  padding:80px 60px 80px; max-width:1180px; margin:0 auto;
}
.hero-badge {
  display:inline-flex; align-items:center; gap:8px;
  background:#fff8f0; border:1px solid #fde8c0;
  border-radius:100px; padding:6px 16px;
  font-size:11px; font-weight:700; color:var(--naranja);
  letter-spacing:0.1em; text-transform:uppercase;
  margin-bottom:28px;
}
.badge-dot {
  width:7px; height:7px; border-radius:50%; background:var(--naranja);
  animation:blink 2s infinite;
}
@keyframes blink { 0%,100%{opacity:1} 50%{opacity:0.25} }

.hero h1 {
  font-size:clamp(38px,4.5vw,62px); font-weight:900;
  line-height:1.07; letter-spacing:-0.025em;
  color:var(--negro); margin-bottom:10px;
}
.hero h1 .accent {
  background:var(--grad); -webkit-background-clip:text;
  -webkit-text-fill-color:transparent; background-clip:text;
}
.hero-tagline {
  font-size:20px; font-weight:300; color:var(--gris);
  margin-bottom:32px; line-height:1.5;
}
.hero-copy {
  font-size:17px; line-height:1.85; color:#333;
  margin-bottom:36px; font-weight:400;
}
.hero-copy strong { font-weight:700; color:var(--negro); }

.hero-checks {
  display:flex; flex-direction:column; gap:10px; margin-bottom:40px;
}
.hcheck {
  display:flex; align-items:center; gap:12px;
  font-size:14px; color:var(--gris); font-weight:400;
}
.hcheck-icon { flex-shrink:0; }

.hero-btns { display:flex; align-items:center; gap:20px; flex-wrap:wrap; }
.btn-main {
  display:inline-flex; align-items:center; gap:10px;
  background:var(--grad); color:#fff;
  font-size:16px; font-weight:700; padding:17px 36px;
  border-radius:6px; text-decoration:none;
  box-shadow:0 6px 24px rgba(250,164,52,0.35);
  transition:all 0.25s; letter-spacing:0.02em;
}
.btn-main:hover { transform:translateY(-2px); box-shadow:0 10px 32px rgba(250,164,52,0.45); }
.btn-main--lg { font-size:16px; padding:18px 40px; }
.btn-ghost {
  font-size:14px; color:var(--gris); font-weight:400;
  text-decoration:underline; text-underline-offset:4px;
  cursor:pointer;
}

/* ─── HERO CARD ─── */
.hero-card {
  background:#3a3a3a; border-radius:14px;
  overflow:hidden; box-shadow:0 28px 72px rgba(0,0,0,0.14);
  position:sticky; top:120px;
}
.hcard-top { background:var(--grad); padding:28px 28px 22px; }
.hcard-pretitle { font-size:10px; font-weight:700; color:rgba(255,255,255,0.65); letter-spacing:0.18em; text-transform:uppercase; margin-bottom:6px; }
.hcard-title { font-size:26px; font-weight:900; color:#fff; letter-spacing:-0.01em; margin-bottom:4px; }
.hcard-sub { font-size:13px; color:rgba(255,255,255,0.72); font-weight:300; }

.hcard-body { padding:28px; }

.precio-bloque { margin-bottom:8px; }
.precio-valorado {
  display:flex; align-items:center; gap:8px;
  font-size:13px; color:var(--gris-medio); margin-bottom:4px;
}
.precio-tachado {
  font-size:22px; font-weight:300; color:var(--gris-medio);
  text-decoration:line-through; text-decoration-color:var(--naranja);
}
.precio-actual {
  display:flex; align-items:flex-end; gap:6px;
}
.precio-euro { font-size:24px; font-weight:300; color:#fff; line-height:1.6; }
.precio-num { font-size:56px; font-weight:900; color:#fff; line-height:1; }
.precio-desc { font-size:11px; color:var(--gris-medio); margin-bottom:16px; font-weight:300; }

.ahorro-tag {
  display:inline-block;
  background:rgba(250,164,52,0.12); border:1px solid rgba(250,164,52,0.35);
  color:var(--naranja); font-size:12px; font-weight:700;
  padding:4px 12px; border-radius:4px; margin-bottom:20px;
  letter-spacing:0.03em;
}

.plazas-wrap { margin-bottom:24px; }
.plazas-meta { display:flex; justify-content:space-between; margin-bottom:8px; }
.plazas-meta span { font-size:12px; color:var(--gris-medio); font-weight:300; }
.plazas-meta strong { font-size:12px; color:var(--naranja); font-weight:700; }
.plazas-bar { background:rgba(255,255,255,0.08); border-radius:100px; height:4px; overflow:hidden; }
.plazas-fill {
  height:100%; width:0; background:var(--grad); border-radius:100px;
  transition:width 1.2s cubic-bezier(0.4,0,0.2,1) 0.2s;
}
.plazas-fill.bar-animated { width:var(--bar-w, 70%); }

.hcard-includes {
  list-style:none; border-top:1px solid rgba(255,255,255,0.07);
  padding-top:20px; margin-bottom:24px; display:flex; flex-direction:column; gap:10px;
}
.hcard-includes li {
  display:flex; align-items:flex-start; gap:10px;
  font-size:13px; color:rgba(255,255,255,0.7); font-weight:300; line-height:1.4;
}
.check-svg { flex-shrink:0; margin-top:1px; }

.btn-reserva {
  display:block; width:100%; text-align:center;
  background:var(--grad); color:#fff;
  font-size:15px; font-weight:700; padding:15px;
  border-radius:6px; text-decoration:none;
  box-shadow:0 4px 20px rgba(234,26,32,0.3);
  transition:all 0.2s; margin-bottom:10px; letter-spacing:0.02em;
}
.btn-reserva:hover { transform:translateY(-1px); box-shadow:0 6px 24px rgba(234,26,32,0.45); }
.btn-incompany {
  display:block; width:100%; text-align:center;
  background:transparent; border:1px solid rgba(255,255,255,0.15);
  color:rgba(255,255,255,0.55); font-size:13px; font-weight:400;
  padding:12px; border-radius:6px; text-decoration:none;
  transition:all 0.2s;
}
.btn-incompany:hover { border-color:rgba(255,255,255,0.4); color:#fff; }

/* ─── SECCIÓN GENÉRICA ─── */
.seccion { padding:100px 60px; }
.seccion-sm { padding:72px 60px; }
.max { max-width:1060px; margin:0 auto; }

.sec-label {
  font-size:11px; font-weight:700; color:var(--naranja);
  letter-spacing:0.18em; text-transform:uppercase;
  display:flex; align-items:center; gap:10px; margin-bottom:16px;
}
.sec-label::before { content:''; display:block; width:28px; height:2px; background:var(--naranja); }

.sec-h2 {
  font-size:clamp(28px,3.5vw,46px); font-weight:900;
  line-height:1.1; letter-spacing:-0.02em;
  color:var(--negro); margin-bottom:18px;
}
.sec-h2 em { font-style:italic; color:var(--naranja); font-weight:900; }
.sec-lead { font-size:17px; color:var(--gris); font-weight:300; line-height:1.7; max-width:680px; }

/* ─── BREAKPOINT IMAGEN ─── */
.img-break {
  position:relative; width:100%; height:520px; overflow:hidden;
}
.img-break__photo {
  width:100%; height:100%; object-fit:cover; object-position:center 30%;
  display:block;
  filter:blur(3px) brightness(0.55);
  transform:scale(1.04);
}
.img-break__overlay {
  position:absolute; inset:0;
  background:linear-gradient(
    to bottom,
    rgba(42,42,42,0.55) 0%,
    rgba(42,42,42,0.80) 100%
  );
}
.img-break__content {
  position:absolute; inset:0;
  display:flex; flex-direction:column;
  align-items:center; justify-content:center;
  text-align:center; padding:0 40px;
}
.img-break__label {
  font-size:11px; font-weight:700; color:var(--naranja);
  letter-spacing:0.18em; text-transform:uppercase;
  display:flex; align-items:center; gap:10px;
  margin-bottom:20px;
}
.img-break__label::before,
.img-break__label::after {
  content:''; display:block; width:28px; height:1px; background:var(--naranja);
}
.img-break__title {
  font-size:clamp(28px,4vw,52px); font-weight:900;
  color:#fff; line-height:1.1; letter-spacing:-0.025em;
  max-width:720px; margin-bottom:20px;
}
.count-stat {
  background: var(--grad);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  font-weight:900;
}
.img-break__sub {
  font-size:clamp(15px,1.8vw,20px); font-weight:300;
  color:rgba(255,255,255,0.65); line-height:1.6;
  max-width:520px;
}

@media (max-width:960px) {
  .img-break { height:380px; }
  .img-break__content { padding:0 24px; }
}
@media (max-width:480px) {
  .img-break { height:320px; }
  .img-break__content { padding:0 20px; }
}

/* ─── SECCIÓN DOLOR ─── */
.dolor { background:var(--blanco); }
.dolor-grid { display:grid; grid-template-columns:1fr 1fr; gap:80px; margin-top:60px; align-items:start; }

.pain-list { display:flex; flex-direction:column; gap:0; }
.pain-item {
  display:flex; gap:20px; align-items:flex-start;
  padding:28px 0; border-bottom:1px solid var(--gris-linea);
  opacity:0; transform:translateY(16px); transition:all 0.55s;
}
.pain-item.vis { opacity:1; transform:translateY(0); }
.pain-picto {
  width:44px; height:44px; flex-shrink:0;
  background:var(--gris-claro); border-radius:8px;
  display:flex; align-items:center; justify-content:center;
}
.pain-text strong { display:block; font-size:15px; font-weight:700; color:var(--negro); margin-bottom:5px; line-height:1.3; }
.pain-text p { font-size:14px; color:var(--gris); line-height:1.65; font-weight:300; }

.dolor-right { display:flex; flex-direction:column; gap:20px; position:sticky; top:140px; }

.cita-bloque {
  background:#3a3a3a; border-radius:12px; padding:40px;
  position:relative; overflow:hidden;
}
.cita-bloque::before {
  content:'"'; font-family:'Georgia',serif; font-size:160px;
  color:rgba(255,255,255,0.04); position:absolute;
  top:-20px; left:16px; line-height:1; pointer-events:none;
}
.cita-text {
  font-size:19px; font-style:italic; font-weight:300;
  color:rgba(255,255,255,0.88); line-height:1.6; margin-bottom:20px;
  position:relative; z-index:1;
}
.cita-text strong { font-style:normal; font-weight:700; color:#fff; }
.cita-autor { font-size:12px; color:rgba(255,255,255,0.35); font-weight:300; position:relative; z-index:1; }

.metricas { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.metrica {
  background:var(--gris-claro); border-radius:8px;
  padding:20px 16px; text-align:center;
}
.metrica-val { font-size:30px; font-weight:900; color:var(--naranja); line-height:1; margin-bottom:6px; }
.metrica-label { font-size:12px; color:var(--gris); line-height:1.4; font-weight:300; }

/* ─── MÓDULOS ─── */
.modulos-sec { background:var(--gris-claro); }
.modulos-grid {
  display:grid; grid-template-columns:repeat(3,1fr);
  gap:2px; margin-top:56px;
  background:var(--gris-linea); border-radius:12px; overflow:hidden;
}
.modulo {
  background:#fff; padding:36px 28px;
  transition:all 0.3s; cursor:default; position:relative;
}
.modulo:hover { background:#3a3a3a; }
.mod-num { font-size:10px; font-weight:700; color:var(--naranja); letter-spacing:0.18em; margin-bottom:16px; display:block; }
.mod-picto { margin-bottom:16px; display:block; }
.mod-title { font-size:18px; font-weight:700; color:var(--negro); margin-bottom:10px; line-height:1.25; transition:color 0.3s; }
.modulo:hover .mod-title { color:#fff; }
.mod-desc { font-size:13px; color:var(--gris); line-height:1.65; font-weight:300; transition:color 0.3s; }
.modulo:hover .mod-desc { color:rgba(255,255,255,0.55); }
.mod-tags { display:flex; flex-wrap:wrap; gap:5px; margin-top:14px; }
.mod-tag {
  font-size:10px; font-weight:500; letter-spacing:0.05em;
  background:var(--gris-claro); color:var(--gris);
  padding:3px 9px; border-radius:100px;
  transition:all 0.3s;
}
.modulo:hover .mod-tag { background:rgba(255,255,255,0.08); color:rgba(255,255,255,0.5); }
.modulo:hover .mod-picto [stroke="#5c5c5c"] { stroke:rgba(255,255,255,0.75); transition:stroke 0.3s; }

/* ─── ESTRUCTURA + PRECIO ─── */
.estructura-sec { background:#fff; }
.estructura-wrap { display:grid; grid-template-columns:1fr 380px; gap:72px; margin-top:60px; align-items:start; }

.sesiones { display:flex; flex-direction:column; }
.sesion {
  display:flex; gap:24px; padding:28px 0;
  border-bottom:1px solid var(--gris-linea);
  opacity:0; transform:translateX(-16px); transition:all 0.5s;
}
.sesion.vis { opacity:1; transform:translateX(0); }
.sesion-num {
  font-size:10px; font-weight:700; color:var(--naranja);
  letter-spacing:0.12em; flex-shrink:0; width:48px; padding-top:2px;
}
.sesion-info strong { display:block; font-size:15px; font-weight:700; color:var(--negro); margin-bottom:5px; }
.sesion-fecha { font-size:12px; color:var(--gris-medio); font-weight:300; margin-bottom:8px; }
.sesion-info p { font-size:13px; color:var(--gris); line-height:1.65; font-weight:300; }
.sesion-chips { display:flex; flex-wrap:wrap; gap:5px; margin-top:10px; }
.chip {
  font-size:10px; font-weight:500; background:var(--gris-claro);
  color:var(--gris); padding:3px 10px; border-radius:100px; letter-spacing:0.04em;
}

/* PRECIO CARD LATERAL */
.precio-card {
  background:#3a3a3a; border-radius:14px;
  overflow:hidden; position:sticky; top:120px;
  box-shadow:0 20px 60px rgba(0,0,0,0.12);
}
.pc-top { background:var(--grad); padding:24px 24px 20px; }
.pc-label { font-size:10px; font-weight:700; color:rgba(255,255,255,0.65); letter-spacing:0.18em; text-transform:uppercase; margin-bottom:6px; }
.pc-name { font-size:22px; font-weight:900; color:#fff; margin-bottom:3px; }
.pc-sub { font-size:12px; color:rgba(255,255,255,0.65); font-weight:300; }

.pc-body { padding:24px; }
.pc-valorado { font-size:12px; color:var(--gris-medio); margin-bottom:3px; font-weight:300; }
.pc-tachado { font-size:20px; color:var(--gris-medio); text-decoration:line-through; text-decoration-color:var(--naranja); font-weight:300; }
.pc-precio { font-size:52px; font-weight:900; color:#fff; line-height:1; margin-bottom:3px; }
.pc-precio sup { font-size:22px; font-weight:300; vertical-align:super; }
.pc-perpax { font-size:11px; color:var(--gris-medio); font-weight:300; margin-bottom:12px; }
.pc-ahorro {
  display:inline-block;
  background:rgba(250,164,52,0.12); border:1px solid rgba(250,164,52,0.3);
  color:var(--naranja); font-size:11px; font-weight:700;
  padding:3px 10px; border-radius:4px; margin-bottom:18px;
}
.pc-bar-wrap { margin-bottom:20px; }
.pc-bar-meta { display:flex; justify-content:space-between; margin-bottom:6px; }
.pc-bar-meta span { font-size:11px; color:var(--gris-medio); font-weight:300; }
.pc-bar-meta strong { font-size:11px; color:var(--naranja); font-weight:700; }
.pc-bar { background:rgba(255,255,255,0.08); border-radius:100px; height:4px; overflow:hidden; }
.pc-bar-fill {
  height:100%; width:0; background:var(--grad); border-radius:100px;
  transition:width 1.2s cubic-bezier(0.4,0,0.2,1) 0.2s;
}
.pc-bar-fill.bar-animated { width:var(--bar-w, 70%); }

.pc-lista { list-style:none; border-top:1px solid rgba(255,255,255,0.07); padding-top:18px; margin-bottom:20px; display:flex; flex-direction:column; gap:9px; }
.pc-lista li { display:flex; gap:9px; align-items:flex-start; font-size:12px; color:rgba(255,255,255,0.65); font-weight:300; line-height:1.4; }

.pc-btn {
  display:block; width:100%; text-align:center;
  background:var(--grad); color:#fff;
  font-size:14px; font-weight:700; padding:14px;
  border-radius:5px; text-decoration:none;
  box-shadow:0 4px 18px rgba(250,164,52,0.3);
  transition:all 0.2s; margin-bottom:8px; letter-spacing:0.02em;
}
.pc-btn:hover { transform:translateY(-1px); }
.pc-btn-sec {
  display:block; width:100%; text-align:center;
  background:transparent; border:1px solid rgba(255,255,255,0.12);
  color:rgba(255,255,255,0.45); font-size:12px; font-weight:300;
  padding:11px; border-radius:5px; text-decoration:none; transition:all 0.2s;
}
.pc-btn-sec:hover { border-color:rgba(255,255,255,0.35); color:#fff; }
.pc-nota { text-align:center; font-size:10px; color:rgba(255,255,255,0.2); margin-top:14px; letter-spacing:0.05em; font-weight:300; }

/* ─── SEGUIMIENTO ─── */
.seguimiento-sec {
  background:#3a3a3a;
  position:relative; overflow:hidden;
}
.seguimiento-sec::before {
  content:''; position:absolute; inset:0;
  background:url('assets/roger-formacion-2.jpeg') center center / cover no-repeat;
  filter:blur(3px) brightness(0.55);
  transform:scale(1.04);
  pointer-events:none;
}
.seguimiento-sec::after {
  content:''; position:absolute; inset:0;
  background:linear-gradient(to bottom, rgba(58,58,58,0.78) 0%, rgba(42,42,42,0.88) 100%);
  pointer-events:none;
}
.seguimiento-sec .max { position:relative; z-index:1; }
.seguimiento-sec .sec-label { color:rgba(250,164,52,0.8); }
.seguimiento-sec .sec-label::before { background:var(--naranja); }
.seguimiento-sec .sec-h2 { color:#fff; }
.seguimiento-sec .sec-h2 em { color:var(--naranja); }
.seguimiento-sec .sec-lead { color:rgba(255,255,255,0.5); }

.seg-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:56px; }
.seg-card {
  border:1px solid rgba(255,255,255,0.08); border-radius:10px;
  padding:32px 24px; background:rgba(255,255,255,0.03);
  transition:all 0.3s;
}
.seg-card:hover { border-color:rgba(250,164,52,0.4); background:rgba(250,164,52,0.05); transform:translateY(-3px); }
.seg-picto { margin-bottom:18px; display:block; }
.seg-title { font-size:18px; font-weight:700; color:#fff; margin-bottom:8px; }
.seg-desc { font-size:13px; color:rgba(255,255,255,0.48); line-height:1.65; font-weight:300; }

/* ─── ROGER ─── */
.roger-sec { background:#fff; }
.roger-grid { display:grid; grid-template-columns:420px 1fr; gap:64px; margin-top:60px; align-items:stretch; }
.roger-photo-col { display:flex; }
.roger-photo-wrap {
  border-radius:16px; overflow:hidden;
  box-shadow:0 20px 56px rgba(0,0,0,0.16);
  background:#f0f0f0;
  flex:1;
  min-height:400px;
}
.roger-photo { width:100%; height:100%; object-fit:cover; object-position:top center; display:block; }
.roger-content-col { display:flex; flex-direction:column; gap:32px; }

.roger-quote-bloque {
  background:#3a3a3a; border-radius:12px;
  padding:40px 44px;
}
.roger-quote-bloque blockquote {
  font-size:19px; font-style:italic; font-weight:300;
  color:rgba(255,255,255,0.88); line-height:1.7; margin-bottom:20px;
}
.roger-quote-bloque cite {
  font-size:13px; color:rgba(255,255,255,0.4); font-style:normal;
  display:flex; align-items:center; gap:10px;
}
.roger-quote-bloque cite::before { content:''; display:block; width:24px; height:1px; background:var(--naranja); }
.roger-sobre {
  font-size:14px; color:rgba(255,255,255,0.45); line-height:1.75; font-weight:300;
  margin-top:24px; padding-top:20px; border-top:1px solid rgba(255,255,255,0.08);
}
.roger-sobre strong { color:rgba(255,255,255,0.75); }

.roger-creds { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.cred {
  display:flex; flex-direction:column; gap:10px;
  padding:20px 22px; background:var(--gris-claro); border-radius:10px;
  opacity:0; transform:translateY(12px); transition:all 0.5s;
}
.cred.vis { opacity:1; transform:translateY(0); }
.cred-picto { flex-shrink:0; }
.cred-text strong { display:block; font-size:13px; font-weight:700; color:var(--negro); margin-bottom:4px; }
.cred-text p { font-size:12px; color:var(--gris); font-weight:300; line-height:1.55; }

/* ─── TESTIMONIOS ─── */
.testi-sec { background:var(--gris-claro); }
.testi-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:56px; }
.testi {
  background:#fff; border-radius:10px; padding:32px 24px;
  box-shadow:0 2px 16px rgba(0,0,0,0.05);
}
.testi-estrellas { display:flex; gap:3px; margin-bottom:16px; }
.testi-text {
  font-size:15px; font-style:italic; font-weight:300;
  color:var(--negro); line-height:1.7; margin-bottom:20px;
}
.testi-autor { display:flex; align-items:center; gap:12px; }
.testi-avatar {
  width:42px; height:42px; border-radius:50%;
  background:var(--grad); display:flex; align-items:center;
  justify-content:center; font-weight:700; color:#fff; font-size:16px;
}
.testi-nombre { font-size:14px; font-weight:700; color:var(--negro); }
.testi-cargo { font-size:12px; color:var(--gris-medio); font-weight:300; }

/* ─── FAQ ─── */
.faq-sec { background:#fff; }
.faq-grid {
  display:flex; flex-direction:column;
  margin-top:56px;
  border-top:1px solid var(--gris-linea);
}
.faq-item {
  border-bottom:1px solid var(--gris-linea);
  transition:background 0.2s;
}
.faq-item[open] { background:#fffaf5; }

.faq-q {
  display:flex; align-items:center; gap:18px;
  width:100%; text-align:left; cursor:pointer;
  padding:28px 0; list-style:none;
  font-size:17px; font-weight:600; color:var(--negro); line-height:1.35;
  transition:color 0.2s;
  user-select:none;
}
.faq-q::-webkit-details-marker { display:none; }
.faq-item[open] > .faq-q { color:var(--negro); }

.faq-icon {
  flex-shrink:0; color:#d4d4d4;
  transition:color 0.25s, transform 0.25s;
}
.faq-item[open] .faq-icon { color:var(--naranja); }

.faq-chevron {
  margin-left:auto; flex-shrink:0;
  color:#c8c8c8;
  transition:transform 0.3s cubic-bezier(0.4,0,0.2,1), color 0.25s;
}
.faq-item[open] .faq-chevron { transform:rotate(180deg); color:var(--naranja); }

.faq-body { padding:0 0 28px 38px; }
.faq-a {
  font-size:15px; color:var(--gris); line-height:1.8; font-weight:300;
  max-width:780px;
  animation:fadeDown 0.22s ease;
}
@keyframes fadeDown {
  from { opacity:0; transform:translateY(-5px); }
  to   { opacity:1; transform:translateY(0); }
}

/* ─── CTA FINAL ─── */
.cta-final {
  background:#3d3d3d; text-align:center;
  padding:120px 60px; position:relative; overflow:hidden;
}
.cta-final::before {
  content:''; position:absolute; inset:0;
  background:radial-gradient(ellipse 70% 70% at 50% 50%, rgba(234,26,32,0.12) 0%, transparent 60%);
  pointer-events:none;
}
.cta-final .sec-label { justify-content:center; color:rgba(250,164,52,0.8); }
.cta-final .sec-label::before { background:var(--naranja); }
.cta-final .sec-h2 { color:#fff; max-width:700px; margin:0 auto 20px; }
.cta-final .sec-h2 em { color:var(--naranja); }
.cta-final .sec-lead { color:rgba(255,255,255,0.45); max-width:540px; margin:0 auto 48px; }

.cta-fechas {
  display:grid; grid-template-columns:repeat(4,1fr);
  gap:12px; max-width:760px; margin:0 auto 52px;
}
.fecha-item {
  background:#fff;
  border:1px solid rgba(255,255,255,0.12);
  border-radius:12px; padding:24px 16px;
  text-align:center; display:flex; flex-direction:column;
  align-items:center; gap:8px;
}
.fecha-val {
  font-size:22px; font-weight:900; letter-spacing:-0.02em;
  background:var(--grad); -webkit-background-clip:text;
  -webkit-text-fill-color:transparent; background-clip:text;
  line-height:1.1;
}
.fecha-lbl {
  font-size:10px; color:var(--gris-medio);
  letter-spacing:0.12em; text-transform:uppercase; font-weight:500;
}

.cta-btns { display:flex; justify-content:center; gap:14px; flex-wrap:wrap; margin-bottom:24px; }
.btn-blanco {
  display:inline-flex; align-items:center; gap:8px;
  background:#fff; color:var(--negro);
  font-size:15px; font-weight:700; padding:16px 32px;
  border-radius:5px; text-decoration:none;
  transition:all 0.2s;
}
.btn-blanco:hover { transform:translateY(-2px); box-shadow:0 8px 24px rgba(0,0,0,0.3); }
.cta-nota { font-size:12px; color:rgba(255,255,255,0.25); font-weight:300; }

/* ─── FUNDAE ─── */
.fundae-sec { background:#f4f2ee; }

.fundae-layout {
  display:grid; grid-template-columns:1fr 380px;
  gap:72px; align-items:center;
}
.fundae-left { display:flex; flex-direction:column; align-items:flex-start; }
.fundae-left .sec-h2 { margin-bottom:20px; }
.fundae-lead {
  font-size:16px; color:var(--gris); line-height:1.75;
  margin-bottom:32px; max-width:520px;
}
.fundae-lead strong { color:var(--negro); }

.fundae-checks {
  list-style:none; display:flex; flex-direction:column; gap:14px;
  margin-bottom:32px;
}
.fundae-check {
  display:flex; align-items:flex-start; gap:12px;
  font-size:14px; color:var(--negro); line-height:1.5;
}
.fundae-check strong { font-weight:700; }
.fundae-check-ico {
  flex-shrink:0; width:20px; height:20px; border-radius:50%;
  display:flex; align-items:center; justify-content:center; margin-top:1px;
}
.fundae-check--si .fundae-check-ico { background:#16a34a; }
.fundae-check--no .fundae-check-ico { background:#9ca3af; }
.fundae-check--no { color:var(--gris); }

.fundae-action-text {
  font-size:13.5px; color:var(--gris-medio); line-height:1.6;
  margin-bottom:40px;
}
.btn-fundae {
  display:inline-flex; align-items:center; gap:9px;
  background:var(--grad); color:#fff;
  font-family:'Roboto',sans-serif; font-size:16px; font-weight:700;
  padding:16px 32px; border-radius:10px; text-decoration:none;
  box-shadow:0 8px 32px rgba(250,164,52,0.4);
  transition:all 0.2s;
}
.btn-fundae:hover { transform:translateY(-2px); box-shadow:0 14px 40px rgba(250,164,52,0.5); }

/* ── Card cálculo — versión clara del precio-card ── */
.fundae-card {
  background:#fff; border-radius:14px;
  overflow:hidden; box-shadow:0 20px 60px rgba(0,0,0,0.1);
}
.fundae-card-top { background:var(--grad); padding:24px 24px 20px; text-align:center; }
.fundae-card-tag {
  display:block; font-size:10px; font-weight:700;
  color:rgba(255,255,255,0.65); letter-spacing:0.18em;
  text-transform:uppercase; margin-bottom:10px;
}
.fundae-card-num {
  font-size:52px; font-weight:900; color:#fff; line-height:1;
  letter-spacing:-0.02em; margin-bottom:3px;
}
.fundae-card-eur { font-size:28px; font-weight:300; vertical-align:super; }
.fundae-card-sub { font-size:12px; color:rgba(255,255,255,0.65); font-weight:300; }
.fundae-card--wl .fundae-card-top { padding:28px 24px 24px; }
.fundae-wl-title { font-size:15px; font-weight:600; color:#fff; line-height:1.45; margin-top:4px; }

.fundae-card-body {
  background:#fff; padding:20px 24px 24px;
  display:flex; flex-direction:column; gap:11px;
}
.fundae-row {
  display:flex; justify-content:space-between; align-items:center;
  font-size:12.5px; color:var(--gris-medio);
}
.fundae-row-val { font-weight:600; color:var(--negro); }
.fundae-row-sep { border-top:1px solid var(--gris-linea); margin:2px 0; }
.fundae-row--original { opacity:.55; }
.fundae-row-tachado { text-decoration:line-through; font-weight:500; }
.fundae-row--final { padding-top:4px; }
.fundae-row--final > span:first-child { font-size:13px; font-weight:700; color:var(--negro); }
.fundae-row-precio {
  font-size:24px; font-weight:900; line-height:1;
  background:var(--grad); -webkit-background-clip:text;
  -webkit-text-fill-color:transparent; background-clip:text;
}
.fundae-row-precio small { font-size:12px; font-weight:400; }

@media (max-width:960px) {
  .fundae-layout { grid-template-columns:1fr; gap:40px; }
}
@media (max-width:600px) {
  .fundae-card-num { font-size:42px; }
}

/* ─── FOOTER ─── */
footer {
  background:#1e1e1e;
  border-top:1px solid rgba(255,255,255,0.07);
}
.footer-inner {
  max-width:1100px; margin:0 auto;
  padding:56px 60px 48px;
  display:grid; grid-template-columns:1.6fr 1fr 1fr; gap:48px;
  align-items:start;
}
.footer-col--brand { padding-right:24px; }
.footer-logo { height:22px; display:block; margin-bottom:20px; }
.footer-tagline { font-size:13px; line-height:1.7; color:rgba(255,255,255,0.35); font-weight:300; margin:0 0 16px; }
.footer-email { font-size:13px; color:rgba(255,255,255,0.4); text-decoration:none; transition:color 0.2s; }
.footer-email:hover { color:rgba(255,255,255,0.8); }
.footer-col { text-align:left; }
.footer-col-title { font-size:11px; font-weight:600; letter-spacing:0.08em; text-transform:uppercase; color:rgba(255,255,255,0.25); margin:0 0 16px; text-align:left; }
footer nav.footer-nav {
  background:transparent; border:none; padding:0;
  display:flex; flex-direction:column; gap:10px; align-items:flex-start;
}
footer nav.footer-nav a { font-size:13px; color:rgba(255,255,255,0.4); text-decoration:none; font-weight:300; transition:color 0.2s; text-align:left; }
footer nav.footer-nav a:hover { color:rgba(255,255,255,0.85); }
.footer-bottom {
  border-top:1px solid rgba(255,255,255,0.05);
  padding:18px 60px;
}
.footer-bottom span { font-size:11px; color:rgba(255,255,255,0.2); font-weight:300; }

/* ─── DIVISOR ─── */
.divisor { height:1px; background:var(--gris-linea); margin:0 60px; }

/* ═══════════════════════════════════════════════
   PÁGINAS LEGALES
   ═══════════════════════════════════════════════ */

/* NAV */
.l-nav {
  background:#fff; border-bottom:1px solid var(--gris-linea);
  padding:0 60px; height:64px;
  display:flex; align-items:center; justify-content:space-between;
  position:sticky; top:0; z-index:100;
  box-shadow:0 1px 12px rgba(0,0,0,0.06);
}
.l-nav-brand {
  display:flex; align-items:center;
  text-decoration:none;
}
.l-nav-brand .nav-logo { height:28px; width:auto; }
.l-nav-back {
  display:inline-flex; align-items:center; gap:6px;
  font-size:13px; font-weight:500; color:var(--gris);
  text-decoration:none; transition:color 0.2s;
  padding:8px 16px; border:1px solid var(--gris-linea);
  border-radius:5px; transition:all 0.2s;
}
.l-nav-back:hover { color:var(--naranja); border-color:var(--naranja); }

/* HERO */
.l-hero {
  background:#1a1a1a; position:relative; overflow:hidden;
  padding:72px 60px 64px;
  border-bottom:3px solid transparent;
  border-image:var(--grad) 1;
}
.l-hero::before {
  content:''; position:absolute; inset:0;
  background:radial-gradient(ellipse 60% 100% at 10% 50%, rgba(250,164,52,0.08) 0%, transparent 60%);
  pointer-events:none;
}
.l-hero-inner { max-width:760px; margin:0 auto; position:relative; }
.l-hero-badge {
  display:inline-flex; align-items:center; gap:8px;
  background:rgba(250,164,52,0.12); border:1px solid rgba(250,164,52,0.25);
  color:var(--naranja); font-size:10px; font-weight:700;
  letter-spacing:0.16em; text-transform:uppercase;
  padding:5px 14px; border-radius:100px; margin-bottom:22px;
}
.l-hero h1 {
  font-size:clamp(32px,4vw,52px); font-weight:900; color:#fff;
  line-height:1.07; letter-spacing:-0.025em; margin-bottom:16px;
}
.l-hero-meta {
  display:flex; align-items:center; gap:20px; flex-wrap:wrap;
  margin-top:24px;
}
.l-hero-date { font-size:12px; color:rgba(255,255,255,0.3); font-weight:300; }
.l-hero-sep { width:1px; height:12px; background:rgba(255,255,255,0.1); }
.l-hero-company { font-size:12px; color:rgba(255,255,255,0.3); font-weight:300; }

/* CONTENIDO */
.l-content { max-width:760px; margin:0 auto; padding:64px 60px 100px; }

/* Secciones numeradas */
.l-section { margin-bottom:56px; }
.l-section-head {
  display:flex; align-items:baseline; gap:16px;
  margin-bottom:20px; padding-bottom:16px;
  border-bottom:1px solid var(--gris-linea);
}
.l-section-num {
  font-size:11px; font-weight:700; color:var(--naranja);
  letter-spacing:0.12em; flex-shrink:0;
}
.l-section-title {
  font-size:19px; font-weight:700; color:var(--negro);
  line-height:1.2; letter-spacing:-0.01em;
}
.l-section h3 {
  font-size:14px; font-weight:700; color:var(--negro);
  margin:24px 0 10px;
}
.l-section p {
  font-size:14px; color:var(--gris); line-height:1.85;
  margin-bottom:14px; font-weight:300;
}
.l-section ul {
  padding-left:0; margin-bottom:20px;
  list-style:none; display:flex; flex-direction:column; gap:8px;
}
.l-section ul li {
  font-size:14px; color:var(--gris); line-height:1.7;
  font-weight:300; padding-left:20px; position:relative;
}
.l-section ul li::before {
  content:''; position:absolute; left:0; top:10px;
  width:5px; height:5px; border-radius:50%;
  background:var(--naranja);
}
.l-section strong { color:var(--negro); font-weight:700; }
.l-section a { color:var(--naranja); text-decoration:underline; text-underline-offset:3px; }
.l-section a:hover { color:var(--rojo); }

/* Card info empresa / aviso importante */
.l-card {
  background:#f7f7f7; border-radius:10px;
  padding:24px 28px; margin:20px 0 24px;
}
.l-card p { margin-bottom:6px; font-size:14px; }
.l-card p:last-child { margin-bottom:0; }
.l-card-label {
  font-size:10px; font-weight:700; color:var(--naranja);
  letter-spacing:0.14em; text-transform:uppercase;
  margin-bottom:12px; display:block;
}

/* Grid de derechos RGPD */
.l-rights {
  display:grid; grid-template-columns:repeat(3,1fr);
  gap:12px; margin:20px 0;
}
.l-right {
  background:#f7f7f7; border-radius:8px; padding:18px 16px;
  transition:background 0.2s;
}
.l-right:hover { background:#fff0e6; }
.l-right-icon { font-size:20px; display:block; margin-bottom:8px; }
.l-right strong { display:block; font-size:13px; font-weight:700; color:var(--negro); margin-bottom:4px; }
.l-right p { font-size:12px; color:var(--gris); line-height:1.5; margin-bottom:0; font-weight:300; }

/* Tablas */
.l-table-wrap { overflow-x:auto; margin:20px 0 28px; border-radius:8px; border:1px solid var(--gris-linea); }
.l-table { width:100%; border-collapse:collapse; font-size:13px; }
.l-table thead tr { background:#f7f7f7; }
.l-table th {
  padding:13px 16px; text-align:left;
  font-weight:700; color:var(--negro); font-size:12px;
  letter-spacing:0.03em; border-bottom:1px solid var(--gris-linea);
}
.l-table td {
  padding:13px 16px; color:var(--gris); font-weight:300;
  line-height:1.55; vertical-align:top;
  border-bottom:1px solid var(--gris-linea);
}
.l-table tr:last-child td { border-bottom:none; }
.l-table-badge {
  display:inline-block; font-size:10px; font-weight:700;
  padding:2px 8px; border-radius:100px; letter-spacing:0.06em;
}
.l-table-badge--green { background:#e8f5e9; color:#388e3c; }
.l-table-badge--orange { background:#fff3e0; color:#e65100; }
.l-table-badge--blue { background:#e3f2fd; color:#1565c0; }
.l-table-badge--gray { background:#f5f5f5; color:#757575; }

/* Estado pendiente */
.l-pending {
  background:#fffbf2; border:1px dashed rgba(250,164,52,0.4);
  border-radius:8px; padding:16px 20px; margin:16px 0;
  font-size:13px; color:var(--gris); font-weight:300; line-height:1.6;
}
.l-pending strong { color:var(--naranja); }

/* Botón gestión cookies */
.l-cookie-reset {
  display:inline-flex; align-items:center; gap:8px;
  font-family:'Roboto',sans-serif; font-size:13px; font-weight:700;
  cursor:pointer; background:#fff; color:var(--negro);
  border:1px solid var(--gris-linea); padding:11px 22px;
  border-radius:6px; transition:all 0.2s; margin-top:8px;
}
.l-cookie-reset:hover { border-color:var(--naranja); color:var(--naranja); }

/* Links navegadores */
.l-browser-links { display:flex; flex-wrap:wrap; gap:10px; margin:12px 0; }
.l-browser-links a {
  font-size:13px; color:var(--gris); font-weight:400;
  text-decoration:none; padding:7px 16px;
  border:1px solid var(--gris-linea); border-radius:5px;
  transition:all 0.2s;
}
.l-browser-links a:hover { border-color:var(--naranja); color:var(--naranja); }

/* FOOTER */
.l-footer {
  background:#1e1e1e; padding:24px 60px;
  display:flex; align-items:center; justify-content:space-between;
  border-top:1px solid rgba(255,255,255,0.07);
}
.l-footer-left { display:flex; flex-direction:column; gap:4px; }
.l-footer-brand { font-size:13px; font-weight:600; color:rgba(255,255,255,0.4); }
.l-footer-copy { font-size:11px; color:rgba(255,255,255,0.2); font-weight:300; }
nav.l-footer-links {
  background:transparent; border:none; padding:0;
  display:flex; gap:24px;
}
nav.l-footer-links a {
  font-size:12px; color:rgba(255,255,255,0.35); font-weight:300;
  text-decoration:none; transition:color 0.2s;
}
nav.l-footer-links a:hover { color:#fff; }
nav.l-footer-links a.active { color:rgba(255,255,255,0.7); font-weight:500; }

/* RESPONSIVE */
@media (max-width:960px) {
  .l-nav { padding:0 20px; height:56px; }
  .l-nav-back span { display:none; }
  .l-hero { padding:48px 20px 44px; }
  .l-content { padding:40px 20px 72px; }
  .l-rights { grid-template-columns:1fr 1fr; }
  .l-footer { flex-direction:column; gap:16px; text-align:center; padding:24px 20px; }
  .l-footer-links { justify-content:center; }
}
@media (max-width:480px) {
  .l-hero { padding:36px 16px 36px; }
  .l-content { padding:32px 16px 60px; }
  .l-rights { grid-template-columns:1fr; }
  .l-table th, .l-table td { padding:10px 12px; font-size:12px; }
}

/* ─── PÁGINAS DE CAPTURA (LM1, LM2, LM3…) ─── */

/* Topbar simplificado — sin countdown */
.topbar-cap {
  background:var(--grad);
  padding:10px 40px;
  text-align:center;
}
.topbar-cap p { font-size:12px; font-weight:500; color:#fff; }

/* Hero centrado */
.cap-hero {
  min-height:calc(100vh - 116px);
  display:flex; align-items:center; justify-content:center;
  padding:72px 20px 88px;
  background:var(--gris-claro);
}
.cap-wrap { max-width:560px; width:100%; text-align:center; }

.cap-badge {
  display:inline-flex; align-items:center; gap:8px;
  background:#fff8f0; border:1px solid #fde8c0;
  border-radius:100px; padding:6px 16px;
  font-size:11px; font-weight:700; color:var(--naranja);
  letter-spacing:0.1em; text-transform:uppercase;
  margin-bottom:28px;
}
.cap-badge-dot {
  width:7px; height:7px; border-radius:50%; background:var(--naranja);
  animation:blink 2s infinite;
}
.cap-h1 {
  font-size:clamp(30px,4.5vw,50px); font-weight:900;
  line-height:1.1; letter-spacing:-0.02em;
  color:var(--negro); margin-bottom:18px;
}
.cap-h1 .accent {
  background:var(--grad); -webkit-background-clip:text;
  -webkit-text-fill-color:transparent; background-clip:text;
}
.cap-sub {
  font-size:18px; font-weight:300; color:var(--gris);
  line-height:1.6; margin-bottom:36px;
}
.cap-desc {
  font-size:15px; color:var(--gris); line-height:1.75;
  margin-bottom:36px; font-weight:400; text-align:left;
}

/* Beneficios (para LM2) */
.cap-benefits {
  display:flex; flex-direction:column; gap:14px;
  margin-bottom:36px; text-align:left;
}
.cap-benefit { display:flex; gap:14px; align-items:flex-start; }
.cap-benefit-num {
  width:26px; height:26px; flex-shrink:0;
  background:var(--grad); border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  font-size:11px; font-weight:900; color:#fff; margin-top:2px;
}
.cap-benefit-text { font-size:14px; color:var(--gris); line-height:1.65; font-weight:400; }
.cap-benefit-text strong { color:var(--negro); font-weight:700; }

/* Tarjeta con el formulario */
.cap-card {
  background:#fff; border-radius:14px;
  padding:36px 40px;
  box-shadow:0 12px 48px rgba(0,0,0,0.09);
  margin-bottom:24px;
}
.cap-form { display:flex; flex-direction:column; gap:14px; }
.wl-fecha { font-size:15px; color:var(--gris); margin-bottom:6px; }
.wl-fecha strong { color:var(--negro); }
.wl-sub { font-size:13px; color:var(--gris); line-height:1.6; margin-bottom:16px; }
.hero-card .wl-fecha,
.precio-card .wl-fecha { color:rgba(255,255,255,0.75); }
.hero-card .wl-fecha strong,
.precio-card .wl-fecha strong { color:#fff; }
.hero-card .wl-sub,
.precio-card .wl-sub { color:rgba(255,255,255,0.6); }
.precio-card .cap-microcopy { color:rgba(255,255,255,0.45); }
.wl-form--cta { max-width:480px; margin:24px auto 0; }
.wl-ok { font-size:15px; color:var(--naranja); font-weight:700; text-align:center; padding:16px 0; }
.cap-form-row { display:flex; gap:10px; }
.cap-form-row .cap-input { flex:1; min-width:0; }
.cap-input {
  width:100%; padding:14px 18px;
  font-family:'Roboto',sans-serif; font-size:15px; font-weight:400;
  color:var(--negro); background:var(--gris-claro);
  border:1.5px solid var(--gris-linea); border-radius:8px;
  outline:none; transition:border-color 0.2s; appearance:none;
}
.cap-input::placeholder { color:var(--gris-medio); }
.cap-input:focus { border-color:var(--naranja); background:#fff; }
.cap-submit {
  width:100%; padding:17px;
  background:var(--grad); color:#fff;
  font-family:'Roboto',sans-serif; font-size:16px; font-weight:700;
  letter-spacing:0.02em; border:none; border-radius:8px;
  cursor:pointer; margin-top:4px;
  box-shadow:0 6px 24px rgba(250,164,52,0.35);
  transition:all 0.2s;
}
.cap-submit:hover { transform:translateY(-2px); box-shadow:0 10px 32px rgba(250,164,52,0.45); }
/* Checkbox de privacidad */
.cap-check {
  display:flex; align-items:flex-start; gap:10px;
  cursor:pointer; text-align:left;
}
.cap-check input[type="checkbox"] {
  flex-shrink:0; width:16px; height:16px; margin-top:2px;
  accent-color:var(--naranja); cursor:pointer;
}
.cap-check span {
  font-size:12px; color:var(--gris); font-weight:300; line-height:1.6;
}
.cap-check span a {
  color:var(--gris); text-decoration:underline; text-underline-offset:3px;
  transition:color 0.2s;
}
.cap-check span a:hover { color:var(--naranja); }

.cap-microcopy {
  font-size:12px; color:var(--gris-medio);
  text-align:center; font-weight:300; line-height:1.5;
}
.cap-microcopy a { color:var(--gris-medio); text-decoration:underline; text-underline-offset:3px; }

/* Prueba social */
.cap-proof {
  display:flex; align-items:center; justify-content:center; gap:8px;
  font-size:13px; color:var(--gris-medio); font-weight:400;
}
.cap-proof-stars { color:var(--naranja); font-size:12px; letter-spacing:1px; }

/* Footer mínimo */
.cap-footer {
  background:#1e1e1e; padding:20px 60px;
  display:flex; align-items:center; justify-content:space-between;
  border-top:1px solid rgba(255,255,255,0.07);
}
.cap-footer-copy { font-size:11px; color:rgba(255,255,255,0.25); font-weight:300; }
nav.cap-footer-links {
  background:transparent; border:none; padding:0;
  display:flex; gap:20px;
}
nav.cap-footer-links a {
  font-size:11px; color:rgba(255,255,255,0.3); font-weight:300;
  text-decoration:none; transition:color 0.2s;
}
nav.cap-footer-links a:hover { color:rgba(255,255,255,0.7); }

@media (max-width:960px) {
  .topbar-cap { padding:10px 16px; }
  .cap-hero { padding:48px 20px 64px; align-items:flex-start; min-height:auto; }
  .cap-card { padding:28px 24px; }
  .cap-footer { flex-direction:column; gap:12px; text-align:center; padding:20px 16px; }
  nav.cap-footer-links { justify-content:center; flex-wrap:wrap; }
}
@media (max-width:480px) {
  .cap-card { padding:24px 18px; border-radius:10px; }
  .cap-h1 { font-size:clamp(26px,8vw,36px); }
  .cap-sub { font-size:16px; }
}

/* ═══════════════════════════════════════════════════════════
   LM LANDING PAGES — TWO COLUMN REDESIGN
   ═══════════════════════════════════════════════════════════ */

/* ─── HERO TWO-COLUMN ─── */
.lm-hero {
  background: #fff;
  padding: 0 60px 96px;
  position: relative;
  overflow: hidden;
}
.lm-hero::before {
  content: '';
  display: block;
  height: 0;
  margin: 0 -60px 72px;
}
/* ornamento de fondo derecho */
.lm-hero::after {
  content: '';
  position: absolute; right: -120px; top: 80px;
  width: 520px; height: 520px; border-radius: 50%;
  background: radial-gradient(circle, rgba(250,164,52,0.06) 0%, transparent 70%);
  pointer-events: none;
}
.lm-hero-inner {
  max-width: 1140px; margin: 0 auto;
  display: grid; grid-template-columns: 1fr 420px; gap: 72px;
  align-items: start;
  position: relative; z-index: 1;
}
.lm-left { /* left content */ }

/* Badge izquierda */
.lm-left .cap-badge { display: inline-flex; margin-bottom: 28px; }

/* H1 */
.lm-h1 {
  font-size: clamp(30px, 3.8vw, 52px); font-weight: 900;
  line-height: 1.08; letter-spacing: -0.025em;
  color: var(--negro); margin-bottom: 22px;
}
.lm-h1 .accent {
  background: var(--grad); -webkit-background-clip: text;
  -webkit-text-fill-color: transparent; background-clip: text;
}
.lm-sub {
  font-size: 18px; font-weight: 300; color: var(--gris);
  line-height: 1.7; margin-bottom: 20px;
}
.lm-desc {
  font-size: 15px; color: var(--gris); line-height: 1.85;
  margin-bottom: 36px;
}

/* Bullets con checkmark sobre gradiente (técnica correcta de capas) */
.lm-hero-bullets {
  display: flex; flex-direction: column; gap: 14px; margin-bottom: 36px;
}
.lm-hero-bullet {
  display: flex; align-items: flex-start; gap: 14px;
  font-size: 14.5px; color: var(--negro); line-height: 1.55; font-weight: 400;
}
.lm-hero-bullet::before {
  content: '';
  flex-shrink: 0; width: 22px; height: 22px; margin-top: 1px;
  border-radius: 50%;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='11' viewBox='0 0 11 11'%3E%3Cpath d='M2 5.5l2.8 2.8L9 3' stroke='%23fff' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round' fill='none'/%3E%3C/svg%3E") center/11px 11px no-repeat,
    linear-gradient(130deg, #faa434 0%, #ea1a20 100%);
}

/* Prueba social */
.lm-hero-proof {
  display: flex; align-items: center; gap: 12px;
  font-size: 13px; color: var(--gris-medio);
  padding-top: 28px; border-top: 1px solid var(--gris-linea);
}
.lm-hero-proof-stars { color: var(--naranja); font-size: 14px; letter-spacing: 2px; }

/* ─── FORMULARIO STICKY ─── */
.lm-right {
  position: sticky; top: 128px;
}

/* ─── SCROLL REVEAL — LM PAGES ─── */
.lm-reveal {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.65s cubic-bezier(0.22,1,0.36,1), transform 0.65s cubic-bezier(0.22,1,0.36,1);
}
.lm-reveal.lm-in {
  opacity: 1;
  transform: translateY(0);
}
.lm-reveal-left {
  opacity: 0;
  transform: translateX(-28px);
  transition: opacity 0.65s cubic-bezier(0.22,1,0.36,1), transform 0.65s cubic-bezier(0.22,1,0.36,1);
}
.lm-reveal-left.lm-in {
  opacity: 1;
  transform: translateX(0);
}
.lm-reveal-scale {
  opacity: 0;
  transform: scale(0.96) translateY(16px);
  transition: opacity 0.65s cubic-bezier(0.22,1,0.36,1), transform 0.65s cubic-bezier(0.22,1,0.36,1);
}
.lm-reveal-scale.lm-in {
  opacity: 1;
  transform: scale(1) translateY(0);
}
/* Tarjeta del form con franja superior */
.lm-right .cap-card {
  border-radius: 16px;
  padding: 36px 36px 32px;
  box-shadow: 0 16px 56px rgba(0,0,0,0.11), 0 2px 8px rgba(0,0,0,0.05);
  position: relative; overflow: hidden;
}
/* franja de color en la parte superior de la tarjeta */
.lm-right .cap-card::before {
  content: '';
  position: absolute; top: 0; left: 0; right: 0; height: 4px;
  background: var(--grad);
}
.lm-card-label {
  font-size: 10px; font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase;
  color: var(--naranja); margin-bottom: 8px; text-align: center;
}
.lm-card-title {
  font-size: 18px; font-weight: 700; color: var(--negro);
  margin-bottom: 24px; text-align: center; line-height: 1.3;
}
/* separador tras título */
.lm-card-title::after {
  content: '';
  display: block; width: 36px; height: 2px;
  background: var(--grad); border-radius: 2px;
  margin: 14px auto 0;
}

/* ─── SECCIONES ADICIONALES ─── */
.lm-section { padding: 96px 60px; }
.lm-section--dark { background: #1e1e1e; }
.lm-section--gray { background: var(--gris-claro); }

.lm-section-inner { max-width: 900px; margin: 0 auto; }
.lm-section-inner--wide { max-width: 1100px; margin: 0 auto; }

/* Tag con línea */
.lm-section-tag {
  display: inline-flex; align-items: center; gap: 10px;
  font-size: 10px; font-weight: 700;
  letter-spacing: 0.16em; text-transform: uppercase;
  color: var(--naranja); margin-bottom: 18px;
}
.lm-section-tag::before {
  content: ''; display: block;
  width: 24px; height: 2px; border-radius: 2px;
  background: var(--grad);
}
.lm-section-tag--white { color: rgba(255,255,255,0.45); }
.lm-section-tag--white::before { opacity: 0.4; }

.lm-section-h2 {
  font-size: clamp(26px, 3.2vw, 40px); font-weight: 900;
  line-height: 1.12; letter-spacing: -0.022em;
  color: var(--negro); margin-bottom: 20px;
}
.lm-section-h2--white { color: #fff; }

.lm-section-lead {
  font-size: 17px; color: var(--gris); line-height: 1.75;
  max-width: 680px; margin-bottom: 52px;
}
.lm-section-lead--white { color: rgba(255,255,255,0.55); }

/* Espaciado entre header y contenido de sección */
.lm-section-hd { margin-bottom: 56px; }

/* ─── CARDS ─── */
.lm-cards {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px;
}
.lm-card {
  background: #fff; border-radius: 14px;
  padding: 32px 28px;
  box-shadow: 0 2px 20px rgba(0,0,0,0.06), 0 1px 4px rgba(0,0,0,0.04);
  transition: box-shadow 0.25s, transform 0.25s;
}
.lm-card:hover {
  box-shadow: 0 12px 40px rgba(0,0,0,0.10), 0 2px 8px rgba(0,0,0,0.05);
  transform: translateY(-4px);
}

.lm-card-icon {
  width: 48px; height: 48px; border-radius: 12px;
  background: var(--grad);
  display: flex; align-items: center; justify-content: center;
  margin-bottom: 20px;
  box-shadow: 0 4px 16px rgba(234,26,32,0.25);
}
.lm-card-icon svg { width: 22px; height: 22px; }

.lm-card h3 {
  font-size: 15px; font-weight: 700; color: var(--negro);
  margin-bottom: 10px; line-height: 1.3;
}
.lm-card p {
  font-size: 13.5px; color: var(--gris); line-height: 1.7;
}

/* Cards sobre fondo oscuro */
.lm-card--dark {
  background: rgba(255,255,255,0.05);
  box-shadow: none;
}
.lm-card--dark h3 { color: #fff; }
.lm-card--dark p { color: rgba(255,255,255,0.5); }
.lm-card--dark:hover { background: rgba(255,255,255,0.08); transform: translateY(-4px); }

/* ─── STEPS ─── */
.lm-steps { display: flex; flex-direction: column; gap: 0; }

.lm-step {
  display: grid; grid-template-columns: 64px 1fr; gap: 28px;
  align-items: start; padding: 36px 0;
  border-bottom: 1px solid var(--gris-linea);
  position: relative;
}
.lm-step:last-child { border-bottom: none; }

/* línea vertical conectando los números */
.lm-step:not(:last-child)::before {
  content: '';
  position: absolute; left: 23px; top: 84px;
  width: 2px; bottom: 0;
  background: linear-gradient(to bottom, var(--gris-linea), transparent);
}

.lm-step-num {
  width: 48px; height: 48px;
  background: var(--grad); border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: 19px; font-weight: 900; color: #fff;
  flex-shrink: 0;
  box-shadow: 0 4px 16px rgba(234,26,32,0.28);
  position: relative; z-index: 1;
}

.lm-step-body h3 {
  font-size: 18px; font-weight: 700; color: var(--negro);
  margin-bottom: 10px; line-height: 1.3; padding-top: 10px;
}
.lm-step-body p {
  font-size: 14.5px; color: var(--gris); line-height: 1.75;
}
.lm-step-example {
  margin-top: 18px; padding: 18px 20px;
  background: var(--gris-claro); border-radius: 10px;
  font-size: 13.5px; color: var(--gris); line-height: 1.7;
}
.lm-step-example strong { color: var(--negro); font-weight: 700; }

/* ─── PERFILES (LM2) ─── */
.lm-profiles {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px;
}
.lm-profile {
  background: #fff; border-radius: 14px; padding: 32px 26px;
  box-shadow: 0 2px 20px rgba(0,0,0,0.06);
  transition: box-shadow 0.25s, transform 0.25s;
}
.lm-profile:hover {
  box-shadow: 0 12px 40px rgba(0,0,0,0.10);
  transform: translateY(-4px);
}
.lm-profile-letter {
  width: 44px; height: 44px; background: var(--grad);
  border-radius: 10px; display: flex; align-items: center; justify-content: center;
  font-size: 20px; font-weight: 900; color: #fff; margin-bottom: 16px;
  box-shadow: 0 4px 14px rgba(234,26,32,0.25);
}
.lm-profile h3 {
  font-size: 15px; font-weight: 700; color: var(--negro); margin-bottom: 10px; line-height: 1.3;
}
.lm-profile p {
  font-size: 13.5px; color: var(--gris); line-height: 1.7; margin-bottom: 16px;
}
.lm-profile-strength {
  padding: 12px 14px; background: var(--gris-claro);
  border-radius: 8px; font-size: 12px; color: var(--gris); line-height: 1.6;
}
.lm-profile-strength strong { color: var(--naranja); font-weight: 700; }

/* ─── CTA INTERMEDIO ─── */
.lm-cta-mid {
  display: flex; align-items: center; justify-content: space-between;
  gap: 40px; margin-top: 64px; padding: 40px 48px;
  background: var(--grad); border-radius: 16px;
  position: relative; overflow: hidden;
}
.lm-cta-mid::before {
  content: '';
  position: absolute; right: -60px; top: -60px;
  width: 220px; height: 220px; border-radius: 50%;
  background: rgba(255,255,255,0.08);
  pointer-events: none;
}
.lm-cta-mid-text h3 {
  font-size: 22px; font-weight: 900; color: #fff; margin-bottom: 8px; line-height: 1.2;
}
.lm-cta-mid-text p {
  font-size: 14px; color: rgba(255,255,255,0.75); line-height: 1.5;
}
.lm-cta-mid-btn {
  flex-shrink: 0; padding: 16px 36px;
  background: #fff; color: var(--negro);
  font-family: 'Roboto', sans-serif; font-size: 15px; font-weight: 700;
  border: none; border-radius: 10px; cursor: pointer;
  text-decoration: none; white-space: nowrap;
  transition: transform 0.2s, box-shadow 0.2s;
  box-shadow: 0 6px 24px rgba(0,0,0,0.20);
}
.lm-cta-mid-btn:hover { transform: translateY(-2px); box-shadow: 0 10px 32px rgba(0,0,0,0.28); }

/* ─── AUTOR ─── */
.lm-autor { padding: 96px 60px; background: var(--gris-claro); }

/* Tarjeta contenedora — foto a la izquierda, texto a la derecha */
.lm-autor-card {
  max-width: 960px; margin: 0 auto;
  display: grid; grid-template-columns: 300px 1fr;
  border-radius: 20px; overflow: hidden;
  box-shadow: 0 24px 72px rgba(0,0,0,0.10), 0 4px 16px rgba(0,0,0,0.05);
}

/* Panel de foto — oscuro, foto cubre todo el alto */
.lm-autor-img {
  position: relative; overflow: hidden; min-height: 420px;
  background: var(--negro);
}
.lm-autor-img img {
  width: 100%; height: 100%; object-fit: cover;
  object-position: top center; display: block;
  opacity: 0.88;
}
/* degradado en la parte baja para fundir con el borde */
.lm-autor-img::after {
  content: '';
  position: absolute; bottom: 0; left: 0; right: 0; height: 120px;
  background: linear-gradient(to top, rgba(30,30,30,0.6), transparent);
  pointer-events: none;
}

/* Panel de texto */
.lm-autor-body {
  background: #fff;
  padding: 48px 52px;
  display: flex; flex-direction: column; justify-content: center;
}

.lm-autor-tag {
  font-size: 10px; font-weight: 700; letter-spacing: 0.16em;
  text-transform: uppercase; color: var(--naranja); margin-bottom: 12px;
  display: flex; align-items: center; gap: 8px;
}
.lm-autor-tag::before {
  content: ''; width: 20px; height: 2px; background: var(--grad); border-radius: 2px; flex-shrink: 0;
}
.lm-autor-name { font-size: 26px; font-weight: 900; color: var(--negro); margin-bottom: 4px; line-height: 1.1; }
.lm-autor-role {
  font-size: 13px; color: var(--gris-medio); margin-bottom: 24px; font-weight: 400;
  padding-bottom: 24px; border-bottom: 1px solid var(--gris-linea);
}
.lm-autor-bio { font-size: 14.5px; color: var(--gris); line-height: 1.85; }
.lm-autor-bio + .lm-autor-bio { margin-top: 14px; }

.lm-autor-stats {
  display: flex; gap: 0; margin-top: 32px; padding-top: 28px;
  border-top: 1px solid var(--gris-linea);
}
.lm-autor-stat {
  flex: 1; padding-right: 20px;
  border-right: 1px solid var(--gris-linea);
  margin-right: 20px;
}
.lm-autor-stat:last-child { border-right: none; margin-right: 0; padding-right: 0; }
.lm-autor-stat-num {
  font-size: 26px; font-weight: 900;
  background: var(--grad); -webkit-background-clip: text;
  -webkit-text-fill-color: transparent; background-clip: text;
  line-height: 1;
}
.lm-autor-stat-lbl {
  font-size: 11px; color: var(--gris-medio); margin-top: 5px; line-height: 1.45;
}

/* ─── QUOTE ─── */
.lm-quote {
  margin-top: 48px; padding: 36px 40px 32px;
  background: #fff; border-radius: 14px;
  box-shadow: 0 2px 20px rgba(0,0,0,0.06);
  position: relative;
}
.lm-quote::before {
  content: '\201C';
  position: absolute; top: 12px; left: 28px;
  font-size: 80px; line-height: 1;
  background: var(--grad); -webkit-background-clip: text;
  -webkit-text-fill-color: transparent; background-clip: text;
  font-weight: 900; opacity: 0.35;
  pointer-events: none;
}
.lm-quote p {
  font-size: 17px; color: var(--negro); font-style: italic; line-height: 1.75;
  margin-bottom: 16px; padding-top: 28px;
}
.lm-quote cite {
  font-size: 11px; color: var(--gris-medio); font-style: normal; font-weight: 700;
  letter-spacing: 0.1em; text-transform: uppercase;
  display: flex; align-items: center; gap: 8px;
}
.lm-quote cite::before {
  content: ''; width: 20px; height: 2px; background: var(--grad); border-radius: 2px;
}

/* ─── RESPONSIVE LM ─── */
@media (max-width:960px) {
  .lm-hero { padding: 0 24px 72px; }
  .lm-hero::before { margin: 0 -24px 56px; }
  .lm-hero-inner { grid-template-columns: 1fr; gap: 48px; }
  .lm-right { position: static; }
  .lm-section { padding: 64px 24px; }
  .lm-cards { grid-template-columns: 1fr; gap: 16px; }
  .lm-profiles { grid-template-columns: 1fr; gap: 16px; }
  .lm-autor { padding: 48px 20px; }
  .lm-autor-card { grid-template-columns: 1fr; }
  .lm-autor-img { min-height: 280px; }
  .lm-autor-body { padding: 36px 32px; }
  .lm-autor-stats { flex-wrap: wrap; }
  .lm-cta-mid { flex-direction: column; text-align: center; padding: 36px 28px; gap: 24px; }
  .lm-step { grid-template-columns: 52px 1fr; gap: 20px; }
  .lm-step:not(:last-child)::before { left: 19px; }
}
@media (max-width:640px) {
  .lm-h1 { font-size: clamp(26px, 8vw, 38px); }
  .lm-sub { font-size: 15px; }
  .lm-section-h2 { font-size: clamp(22px, 6.5vw, 30px); }
  .lm-autor-body { padding: 28px 24px; }
  .lm-autor-stats { flex-wrap: wrap; gap: 16px; }
  .lm-autor-stat { border-right: none; margin-right: 0; padding-right: 0; min-width: 100px; }
  .lm-quote { padding: 28px 24px 24px; }
  .lm-quote p { font-size: 15px; padding-top: 24px; }
  .lm-cta-mid { padding: 28px 20px; }
}

/* ─── CTA FINAL LM ─── */
.lm-cta-final {
  background: var(--negro);
  padding: 96px 60px;
  position: relative; overflow: hidden;
}
/* orbe decorativo */
.lm-cta-final::before {
  content: '';
  position: absolute; left: -160px; top: -160px;
  width: 500px; height: 500px; border-radius: 50%;
  background: radial-gradient(circle, rgba(250,164,52,0.12) 0%, transparent 70%);
  pointer-events: none;
}
.lm-cta-final::after {
  content: '';
  position: absolute; right: -120px; bottom: -120px;
  width: 400px; height: 400px; border-radius: 50%;
  background: radial-gradient(circle, rgba(234,26,32,0.10) 0%, transparent 70%);
  pointer-events: none;
}
.lm-cta-final-inner {
  max-width: 1060px; margin: 0 auto;
  display: grid; grid-template-columns: 1fr 420px; gap: 80px;
  align-items: center;
  position: relative; z-index: 1;
}
.lm-cta-final-left { }
.lm-cta-final-tag {
  font-size: 10px; font-weight: 700; letter-spacing: 0.16em;
  text-transform: uppercase; color: var(--naranja);
  display: flex; align-items: center; gap: 8px; margin-bottom: 20px;
}
.lm-cta-final-tag::before {
  content: ''; width: 20px; height: 2px;
  background: var(--grad); border-radius: 2px; flex-shrink: 0;
}
.lm-cta-final-h2 {
  font-size: clamp(26px, 3.2vw, 42px); font-weight: 900;
  line-height: 1.1; letter-spacing: -0.022em;
  color: #fff; margin-bottom: 20px;
}
.lm-cta-final-h2 .accent {
  background: var(--grad); -webkit-background-clip: text;
  -webkit-text-fill-color: transparent; background-clip: text;
}
.lm-cta-final-desc {
  font-size: 16px; color: rgba(255,255,255,0.5);
  line-height: 1.75; margin-bottom: 36px;
}
.lm-cta-final-bullets {
  display: flex; flex-direction: column; gap: 12px;
}
.lm-cta-final-bullet {
  display: flex; align-items: center; gap: 12px;
  font-size: 14px; color: rgba(255,255,255,0.65); line-height: 1.4;
}
.lm-cta-final-bullet::before {
  content: '';
  flex-shrink: 0; width: 20px; height: 20px; border-radius: 50%;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='11' viewBox='0 0 11 11'%3E%3Cpath d='M2 5.5l2.8 2.8L9 3' stroke='%23fff' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round' fill='none'/%3E%3C/svg%3E") center/11px 11px no-repeat,
    linear-gradient(130deg, #faa434 0%, #ea1a20 100%);
}
.lm-cta-final-right .cap-card {
  background: #fff;
  border-radius: 16px;
  padding: 36px 36px 32px;
  box-shadow: 0 24px 64px rgba(0,0,0,0.35);
  position: relative; overflow: hidden;
}
.lm-cta-final-right .cap-card::before {
  content: '';
  position: absolute; top: 0; left: 0; right: 0; height: 4px;
  background: var(--grad);
}

@media (max-width: 960px) {
  .lm-cta-final { padding: 64px 24px; }
  .lm-cta-final-inner { grid-template-columns: 1fr; gap: 48px; }
}
@media (max-width: 640px) {
  .lm-cta-final-right .cap-card { padding: 28px 22px 24px; }
}

/* ─── BANNER DE COOKIES ─── */
.cookie-banner {
  position:fixed; bottom:24px; right:24px; z-index:500;
  background:#1e1e1e;
  border:1px solid rgba(255,255,255,0.08);
  border-radius:12px;
  padding:20px 22px;
  max-width:320px; width:calc(100% - 32px);
  box-shadow:0 8px 32px rgba(0,0,0,0.4);
  opacity:0; pointer-events:none;
  transform:translateY(12px);
  transition:opacity 0.35s ease, transform 0.35s cubic-bezier(0.4,0,0.2,1);
}
.cookie-banner.cb-visible {
  opacity:1; pointer-events:all;
  transform:translateY(0);
}
.cookie-banner__title {
  font-size:13px; font-weight:700; color:#fff;
  margin:0 0 6px;
}
.cookie-banner__text {
  font-size:12px; color:rgba(255,255,255,0.45);
  line-height:1.6; font-weight:300; margin:0 0 16px;
}
.cookie-banner__text a { color:rgba(255,255,255,0.4); text-decoration:underline; text-underline-offset:3px; }
.cookie-banner__text a:hover { color:#fff; }
.cookie-banner__btns { display:flex; gap:8px; }
.cookie-banner__btn {
  font-family:'Roboto',sans-serif; font-size:12px; font-weight:700;
  padding:9px 14px; border-radius:6px; cursor:pointer;
  transition:all 0.2s; letter-spacing:0.02em; flex:1; text-align:center;
}
.cookie-banner__btn--accept {
  background:var(--grad); border:none; color:#fff;
  box-shadow:0 3px 10px rgba(250,164,52,0.3);
}
.cookie-banner__btn--accept:hover { box-shadow:0 5px 16px rgba(250,164,52,0.45); }
.cookie-banner__btn--ghost {
  background:transparent; border:1px solid rgba(255,255,255,0.12);
  color:rgba(255,255,255,0.4);
}
.cookie-banner__btn--ghost:hover { border-color:rgba(255,255,255,0.3); color:rgba(255,255,255,0.75); }

@media (max-width:480px) {
  .cookie-banner { bottom:16px; right:16px; max-width:calc(100% - 32px); }
}

/* ─── RESPONSIVE ─── */
@media (max-width:960px) {

  /* Espacio inferior para el FAB (solo página principal) */
  body.has-fab { padding-bottom:80px; }

  /* TOPBAR: 2 filas — texto arriba / countdown + botón abajo */
  .topbar {
    flex-direction:column; gap:8px;
    padding:10px 16px; text-align:center;
  }
  .topbar p { font-size:12px; }
  .topbar-bottom {
    display:flex; align-items:center;
    justify-content:center; gap:12px;
  }
  .topbar-pill {
    font-size:12px; padding:7px 18px;
    background:rgba(255,255,255,0.22);
    border-color:rgba(255,255,255,0.55);
  }

  /* NAV: ocultar texto autor y botón (FAB los reemplaza) */
  nav { padding:10px 20px; }
  .nav-autor { display:none; }
  .btn-nav { display:none; }

  /* HERO */
  .hero {
    grid-template-columns:1fr; gap:32px;
    padding:40px 20px 48px;
  }
  .hero-badge { font-size:10px; padding:5px 12px; }
  .hero h1 { font-size:clamp(32px,8vw,44px); }
  .hero-tagline { font-size:17px; margin-bottom:24px; }
  .hero-copy { font-size:15px; line-height:1.75; margin-bottom:28px; }
  .hero-btns { flex-direction:column; gap:12px; }
  .btn-main { justify-content:center; width:100%; }

  /* Hero card: estática, sin sticky */
  .hero-card { position:relative; top:0; }
  .hcard-body { padding:20px; }
  .hcard-top { padding:20px 20px 16px; }
  .precio-num { font-size:46px; }

  /* SECCIONES */
  .seccion { padding:48px 20px; }
  .seccion-sm { padding:36px 20px; }
  .sec-h2 { font-size:clamp(24px,6.5vw,36px); }
  .sec-lead { font-size:15px; }
  .divisor { margin:0 20px; }

  /* DOLOR */
  .dolor-grid { grid-template-columns:1fr; gap:40px; }
  .dolor-right { position:relative; top:0; }
  .cita-bloque { padding:28px 24px; }
  .cita-text { font-size:17px; }
  .metricas { gap:10px; }
  .metrica { padding:16px 12px; }
  .metrica-val { font-size:26px; }

  /* MÓDULOS */
  .modulos-grid { grid-template-columns:1fr; }
  .modulo { padding:24px 20px; }

  /* ESTRUCTURA + PRECIO */
  .estructura-wrap { grid-template-columns:1fr; gap:40px; }
  .precio-card { position:relative; top:0; }
  .pc-precio { font-size:42px; }
  .pc-body { padding:20px; }
  .pc-top { padding:18px 20px 14px; }

  /* SEGUIMIENTO */
  .seg-grid { grid-template-columns:1fr; }

  /* ROGER */
  .roger-grid { grid-template-columns:1fr; gap:32px; }
  .roger-photo-col { display:block; }
  .roger-photo-wrap {
    flex:none; min-height:0;
    aspect-ratio:4/3; max-height:360px; width:100%;
  }
  .roger-photo { object-position:center 15%; }
  .roger-quote-bloque { padding:28px 24px; }
  .roger-quote-bloque blockquote { font-size:17px; }
  .roger-creds { grid-template-columns:1fr 1fr; }

  /* TESTIMONIOS */
  .testi-grid { grid-template-columns:1fr; }

  /* FAQ */
  .faq-q { font-size:15px; padding:22px 0; gap:14px; }
  .faq-body { padding:0 0 22px 34px; }
  .faq-a { font-size:14px; max-width:100%; }

  /* CTA FINAL */
  .cta-final { padding:72px 20px; }
  .cta-fechas { grid-template-columns:repeat(2,1fr); max-width:100%; }
  .fecha-item { padding:20px 12px; }
  .cta-btns { flex-direction:column; align-items:center; }
  .btn-main--lg { width:100%; justify-content:center; }
  .btn-blanco { width:100%; justify-content:center; }

  /* FOOTER */
  .footer-inner { grid-template-columns:1fr; gap:32px; padding:40px 20px 32px; }
  .footer-col--brand { padding-right:0; }
  .footer-bottom { padding:16px 20px; }
}

/* ─── RESPONSIVE XS (≤480px) ─── */
@media (max-width:480px) {
  .topbar p { font-size:11px; }
  .countdown { gap:3px; }
  .cd-num { font-size:16px; }
  .cd-block { min-width:30px; }

  nav { padding:10px 16px; }
  .nav-logo { height:22px; }

  .hero { padding:32px 16px 40px; }
  .hero h1 { font-size:clamp(28px,8.5vw,38px); }
  .hero-tagline { font-size:15px; }

  .seccion { padding:40px 16px; }
  .seccion-sm { padding:28px 16px; }
  .divisor { margin:0 16px; }

  .cita-bloque { padding:22px 18px; }
  .metricas { grid-template-columns:1fr 1fr; }

  /* PRECIO */
  .precio-num { font-size:38px; }
  .pc-precio { font-size:36px; }

  /* ROGER */
  .roger-creds { grid-template-columns:1fr; }
  .roger-photo-wrap { aspect-ratio:3/2; max-height:220px; }
  .roger-quote-bloque { padding:22px 18px; }
  .roger-quote-bloque blockquote { font-size:15px; }

  /* CTA FINAL: 1 columna en móvil */
  .cta-fechas { grid-template-columns:1fr; max-width:320px; margin-left:auto; margin-right:auto; }
  .fecha-item { padding:16px 20px; }

  .faq-q { font-size:14px; padding:18px 0; gap:12px; }
  .faq-body { padding:0 0 18px 30px; }
  .cta-final { padding:56px 16px; }
  .footer-inner { padding:32px 16px 24px; }
  .footer-bottom { padding:14px 16px; }
}

/* ─── FAB (botón flotante mobile) ─── */
.fab {
  display: none; /* oculto por defecto en desktop */
}
@media (max-width:960px) {
  .fab {
    display: flex; align-items:center; justify-content:center;
    position: fixed; bottom:16px; left:16px; right:16px;
    background: var(--grad);
    color: #fff; font-size:14px; font-weight:700;
    padding:16px 24px; border-radius:8px; text-decoration:none;
    box-shadow: 0 6px 24px rgba(234,26,32,0.35);
    z-index:200;
    opacity:0; transform:translateY(80px);
    transition:opacity 0.3s ease, transform 0.3s ease;
    pointer-events:none;
  }
  .fab--visible {
    opacity:1; transform:translateY(0);
    pointer-events:auto;
  }
}

/* ─── ANIMACIONES ─── */
@keyframes fadeUp {
  from { opacity:0; transform:translateY(24px); }
  to { opacity:1; transform:translateY(0); }
}
.hero > * { animation:fadeUp 0.7s ease forwards; opacity:0; }
.hero-badge { animation-delay:0.05s; }
.hero h1 { animation-delay:0.15s; }
.hero-tagline { animation-delay:0.22s; }
.hero-copy { animation-delay:0.28s; }
.hero-checks { animation-delay:0.33s; }
.hero-btns { animation-delay:0.38s; }
.hero-card { animation-delay:0.2s; }

/* ─── PÁGINA GRACIAS ─── */
.gracias-hero {
  min-height:calc(100vh - 116px);
  display:flex; align-items:center; justify-content:center;
  padding:72px 20px 88px;
  background:var(--gris-claro);
}
.gracias-wrap { max-width:600px; width:100%; text-align:center; }

.gracias-icon {
  width:72px; height:72px; border-radius:50%;
  background:var(--grad);
  display:flex; align-items:center; justify-content:center;
  margin:0 auto 32px;
  box-shadow:0 8px 28px rgba(234,26,32,0.25);
}
.gracias-badge {
  display:inline-flex; align-items:center; gap:8px;
  background:#f0faf0; border:1px solid #b8e8b8;
  border-radius:100px; padding:6px 16px;
  font-size:11px; font-weight:700; color:#2a8a2a;
  letter-spacing:0.1em; text-transform:uppercase;
  margin-bottom:28px;
}
.gracias-badge-dot { width:7px; height:7px; border-radius:50%; background:#2a8a2a; }
.gracias-h1 {
  font-size:clamp(28px,5vw,46px); font-weight:900;
  line-height:1.1; letter-spacing:-0.02em;
  color:var(--negro); margin-bottom:20px;
}
.gracias-h1 em {
  font-style:normal;
  background:var(--grad);
  -webkit-background-clip:text; -webkit-text-fill-color:transparent;
  background-clip:text;
}
.gracias-sub {
  font-size:17px; color:var(--gris); font-weight:300;
  line-height:1.7; margin-bottom:48px;
}
.gracias-countdown-label {
  font-size:11px; font-weight:700; color:var(--naranja);
  letter-spacing:0.18em; text-transform:uppercase; margin-bottom:16px;
}
.gracias-countdown {
  display:flex; align-items:flex-start; justify-content:center;
  gap:10px; margin-bottom:48px;
}
.gc-sep {
  font-size:32px; font-weight:900; color:#bbb;
  margin-top:16px; line-height:1;
}

/* ─── FLIP CLOCK ─── */
.fc-unit { display:flex; flex-direction:column; align-items:center; gap:10px; }
.fc-card {
  position:relative; width:76px; height:90px;
  perspective:500px; border-radius:10px;
  box-shadow:0 6px 24px rgba(0,0,0,0.18);
}
/* Dividing line at center */
.fc-card::after {
  content:''; position:absolute; left:0; right:0; top:calc(50% - 1px);
  height:1px; background:rgba(0,0,0,0.45); z-index:4; pointer-events:none;
}
.fc-half {
  position:absolute; left:0; right:0; height:45px; overflow:hidden;
  background:#2d2d2d;
}
.fc-top { top:0; border-radius:10px 10px 0 0; }
.fc-bot { bottom:0; border-radius:0 0 10px 10px; }
.fc-half .fc-val {
  position:absolute; left:0; right:0;
  height:90px; line-height:90px;
  text-align:center;
  font-size:54px; font-weight:900; color:#fff;
  font-variant-numeric:tabular-nums; letter-spacing:-0.02em;
}
.fc-top .fc-val { top:0; }
.fc-bot .fc-val { top:-45px; }

/* Fold overlays (on top of static halves) */
.fc-fold { z-index:2; }
.fc-fold-top { transform-origin:bottom center; }
.fc-fold-bot { transform-origin:top center; transform:rotateX(90deg); }
.fc-fold-top.fc-go { animation:fc-top 0.25s ease-in forwards; }
.fc-fold-bot.fc-go { animation:fc-bot 0.25s ease-out forwards; animation-delay:0.25s; }

@keyframes fc-top {
  from { transform:rotateX(0deg); }
  to   { transform:rotateX(-90deg); }
}
@keyframes fc-bot {
  from { transform:rotateX(90deg); }
  to   { transform:rotateX(0deg); }
}

.fc-lbl {
  font-size:10px; color:var(--gris-medio);
  letter-spacing:0.12em; text-transform:uppercase; font-weight:500;
}
.gracias-pasos {
  background:#fff; border-radius:16px; padding:36px 40px;
  box-shadow:0 4px 24px rgba(0,0,0,0.07);
  text-align:left; margin-bottom:36px;
}
.gracias-pasos-title {
  font-size:13px; font-weight:700; color:var(--negro);
  letter-spacing:0.08em; text-transform:uppercase; margin-bottom:24px;
}
.paso { display:flex; gap:16px; align-items:flex-start; margin-bottom:20px; }
.paso:last-child { margin-bottom:0; }
.paso-num {
  width:28px; height:28px; border-radius:50%; flex-shrink:0;
  background:var(--grad);
  display:flex; align-items:center; justify-content:center;
  font-size:12px; font-weight:900; color:#fff; margin-top:1px;
}
.paso-text strong {
  display:block; font-size:14px; font-weight:700;
  color:var(--negro); margin-bottom:3px;
}
.paso-text p { font-size:13px; color:var(--gris); font-weight:300; line-height:1.6; }
.gracias-back { font-size:13px; color:var(--gris); font-weight:300; }
.gracias-back a { color:var(--naranja); font-weight:500; text-decoration:none; }
.gracias-back a:hover { text-decoration:underline; }

@media (max-width:480px) {
  .gracias-pasos { padding:24px 20px; }
  .gracias-countdown { gap:6px; }
  .fc-card { width:58px; height:70px; }
  .fc-half { height:35px; }
  .fc-half .fc-val { height:70px; line-height:70px; font-size:40px; }
  .fc-bot .fc-val { top:-35px; }
  .fc-card::after { top:calc(50% - 1px); }
  .gc-sep { font-size:24px; margin-top:12px; }
}

/* ─── PÁGINA PAGO ─── */
.pago-page {
  background:#f0efec;
  min-height:100vh; display:flex; flex-direction:column;
}
.pago-page .pago-wrap { flex:1; }

.pago-wrap {
  max-width:1060px; margin:0 auto;
  padding:44px 24px 80px;
  display:grid; grid-template-columns:360px 1fr;
  gap:24px; align-items:start;
}

/* ─ Resumen ─ */
.pago-summary-col {
  position:sticky; top:73px;
}
.pago-summary {
  border-radius:14px; overflow:hidden;
  box-shadow:0 4px 24px rgba(0,0,0,0.1);
}
.pago-sum-head {
  background:var(--grad);
  padding:28px 28px 24px;
}
.pago-sum-badge {
  display:inline-flex; align-items:center; gap:6px;
  background:rgba(255,255,255,0.18); border:1px solid rgba(255,255,255,0.32);
  border-radius:100px; padding:4px 12px;
  font-size:10px; font-weight:700; color:#fff;
  letter-spacing:0.1em; text-transform:uppercase; margin-bottom:16px;
}
.pago-sum-badge .badge-dot { background:#fff; width:6px; height:6px; }
.pago-sum-name { font-size:22px; font-weight:900; color:#fff; line-height:1.15; margin-bottom:3px; }
.pago-sum-sub { font-size:13px; color:rgba(255,255,255,0.75); font-weight:300; margin-bottom:20px; }
.pago-sum-price-row {
  display:flex; align-items:flex-end; gap:12px;
  border-top:1px solid rgba(255,255,255,0.2); padding-top:18px;
}
.pago-sum-price { font-size:42px; font-weight:900; color:#fff; line-height:1; letter-spacing:-0.02em; }
.pago-sum-price-nota { font-size:11px; color:rgba(255,255,255,0.65); line-height:1.5; padding-bottom:4px; }
.pago-sum-body { background:#fff; padding:24px 28px; }

.pago-includes { list-style:none; display:flex; flex-direction:column; gap:9px; }
.pago-includes li {
  display:flex; align-items:flex-start; gap:9px;
  font-size:13px; color:#555; line-height:1.4;
}
.pago-includes li::before {
  content:''; flex-shrink:0; width:16px; height:16px; margin-top:1px;
  background:url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='8' cy='8' r='8' fill='%23faa434' fill-opacity='0.15'/%3E%3Cpath d='M4.5 8l2.5 2.5 4.5-4.5' stroke='%23faa434' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C%2Fsvg%3E") center/16px no-repeat;
}
.pago-divisor { border:none; border-top:1px solid #ebebeb; margin:20px 0; }

.pago-precio-tabla { display:flex; flex-direction:column; gap:8px; margin-bottom:12px; }
.pago-precio-row { display:flex; justify-content:space-between; align-items:center; font-size:12.5px; color:#999; }
.pago-precio-row .tachado { text-decoration:line-through; color:#ccc; }
.pago-precio-row .descuento { color:#16a34a; font-weight:600; }
.pago-total-box {
  display:flex; justify-content:space-between; align-items:center;
  background:#fafaf7; border-radius:8px; padding:12px 14px;
  border:1px solid #f0efe8;
}
.pago-total-left { display:flex; flex-direction:column; gap:2px; }
.pago-total-label { font-size:13px; font-weight:700; color:var(--negro); }
.pago-total-iva { font-size:10px; color:#bbb; text-transform:uppercase; letter-spacing:0.06em; }
.pago-total-amount {
  font-size:24px; font-weight:900; line-height:1;
  background:var(--grad); -webkit-background-clip:text;
  -webkit-text-fill-color:transparent; background-clip:text;
}
.pago-trust { display:flex; flex-direction:column; gap:9px; }
.pago-trust-item { display:flex; align-items:center; gap:8px; font-size:12px; color:#999; }
.pago-trust-icon { flex-shrink:0; }
.pago-urgency {
  display:flex; align-items:center; gap:8px;
  margin-top:16px; background:#fff8f0; border:1px solid #fde8c0;
  border-radius:7px; padding:10px 12px;
  font-size:12px; color:var(--naranja);
}
.pago-urgency strong { font-weight:700; }

/* ─ Formulario ─ */
.pago-form-col { display:flex; flex-direction:column; gap:16px; }

/* Stepper */
.pago-stepper {
  display:flex; align-items:center;
  background:#fff; border-radius:14px;
  box-shadow:0 2px 16px rgba(0,0,0,0.07);
  padding:16px 24px;
}
.pago-stepper-item { display:flex; align-items:center; gap:10px; }
.pago-stepper-num {
  width:28px; height:28px; border-radius:50%; flex-shrink:0;
  display:flex; align-items:center; justify-content:center;
  font-size:13px; font-weight:900;
  border:1.5px solid #e0e0e0; color:#ccc;
  transition:background 0.25s, color 0.25s, border-color 0.25s;
}
.pago-stepper-label { font-size:13px; font-weight:500; color:#ccc; transition:color 0.25s; }
.pago-stepper-sep { flex:1; height:1.5px; background:#e8e8e8; margin:0 16px; transition:background 0.25s; }
.pago-stepper-item--active .pago-stepper-num { background:var(--grad); border-color:transparent; color:#fff; }
.pago-stepper-item--active .pago-stepper-label { color:var(--negro); font-weight:700; }
.pago-stepper-item--done .pago-stepper-num { background:#16a34a; border-color:transparent; color:#fff; }
.pago-stepper-item--done .pago-stepper-label { color:#16a34a; font-weight:600; }
.pago-stepper-sep--done { background:var(--grad); }

/* Card visibility */
.pago-card--hidden { display:none; }

/* Continuar button */
.pago-next-btn {
  width:100%; background:var(--grad); color:#fff; border:none;
  border-radius:9px; font-family:'Roboto',sans-serif;
  font-size:16px; font-weight:700; padding:16px 28px; cursor:pointer;
  box-shadow:0 6px 28px rgba(250,164,52,0.4);
  transition:all 0.2s; letter-spacing:0.02em; margin-top:6px;
}
.pago-next-btn:hover { transform:translateY(-1px); box-shadow:0 8px 32px rgba(250,164,52,0.5); }

/* Volver button */
.pago-back-btn {
  display:inline-flex; align-items:center; gap:6px;
  background:none; border:none; cursor:pointer; padding:0 0 20px;
  font-family:'Roboto',sans-serif; font-size:13px; font-weight:500;
  color:#aaa; transition:color 0.15s;
}
.pago-back-btn:hover { color:var(--naranja); }
.pago-back-btn svg { transition:transform 0.15s; }
.pago-back-btn:hover svg { transform:translateX(-2px); }

/* Campo inválido */
.pago-input--invalid { border-color:#ea1a20 !important; background:#fff8f8 !important; }

/* Error inline por campo */
.pago-field-error {
  display:none; font-size:11px; color:#ea1a20;
  font-weight:600; margin-top:4px; line-height:1.3;
}
.pago-field-error--visible { display:block; }

.pago-card {
  background:#fff; border-radius:14px;
  box-shadow:0 2px 16px rgba(0,0,0,0.07);
  padding:28px 28px 24px;
}
.pago-card-hd {
  display:flex; align-items:center; gap:12px; margin-bottom:24px;
}
.pago-step {
  width:28px; height:28px; border-radius:50%; flex-shrink:0;
  background:var(--grad);
  display:flex; align-items:center; justify-content:center;
  font-size:13px; font-weight:900; color:#fff;
}
.pago-card-title { font-size:15px; font-weight:700; color:var(--negro); flex:1; margin:0; }
.pago-ssl-tag {
  display:flex; align-items:center; gap:4px;
  font-size:10px; font-weight:700; color:#888;
  text-transform:uppercase; letter-spacing:0.08em;
  background:#f5f5f3; border-radius:100px; padding:4px 10px;
  flex-shrink:0;
}

.pago-field { display:flex; flex-direction:column; gap:5px; margin-bottom:14px; }
.pago-row { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-bottom:14px; }
.pago-row--332 { grid-template-columns:1fr 2fr; }
.pago-row .pago-field { margin-bottom:0; }
.pago-label {
  font-size:11px; font-weight:700; color:#999;
  letter-spacing:0.05em; text-transform:uppercase;
  display:flex; align-items:center; gap:4px;
}
.pago-req { color:var(--rojo); font-weight:700; }
.pago-opcional { font-size:10px; color:#ccc; font-weight:400; text-transform:none; letter-spacing:0; }
.pago-input {
  width:100%; border:1.5px solid #e8e8e8; border-radius:7px;
  padding:11px 13px; font-family:'Roboto',sans-serif; font-size:14px;
  color:var(--negro); background:#fafafa; outline:none;
  transition:border-color 0.15s, background 0.15s, box-shadow 0.15s;
  -webkit-appearance:none; appearance:none;
}
.pago-input::placeholder { color:#ccc; }
.pago-input:focus {
  border-color:var(--naranja); background:#fff;
  box-shadow:0 0 0 3px rgba(250,164,52,0.1);
}
.pago-select {
  width:100%; border:1.5px solid #e8e8e8; border-radius:7px;
  padding:11px 36px 11px 13px; font-family:'Roboto',sans-serif; font-size:14px;
  color:var(--negro); background:#fafafa; outline:none; cursor:pointer;
  transition:border-color 0.15s, background 0.15s, box-shadow 0.15s;
  -webkit-appearance:none; appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23aaaaaa' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C%2Fsvg%3E");
  background-repeat:no-repeat; background-position:right 13px center;
}
.pago-select:focus {
  border-color:var(--naranja); background:#fff;
  box-shadow:0 0 0 3px rgba(250,164,52,0.1);
}
.pago-element-wrap {
  border:1.5px solid #e8e8e8; border-radius:8px;
  padding:18px; background:#fafafa; margin-bottom:18px;
}
.pago-error {
  display:flex; align-items:flex-start; gap:9px;
  background:#fef2f2; border:1.5px solid #fecaca; border-radius:7px;
  padding:12px 14px; font-size:13px; color:var(--rojo);
  margin-bottom:16px; line-height:1.5;
}
.pago-error.hidden { display:none; }
.pago-error-icon { flex-shrink:0; margin-top:1px; }
.pago-submit-btn {
  width:100%; background:var(--grad); color:#fff; border:none;
  border-radius:9px; font-family:'Roboto',sans-serif;
  font-size:17px; font-weight:700; padding:17px 28px; cursor:pointer;
  box-shadow:0 6px 28px rgba(250,164,52,0.4);
  transition:all 0.2s; letter-spacing:0.02em;
  display:flex; align-items:center; justify-content:center; gap:9px;
}
.pago-submit-btn:hover:not(:disabled) { transform:translateY(-1px); box-shadow:0 8px 32px rgba(250,164,52,0.5); }
.pago-submit-btn:disabled { opacity:0.6; cursor:not-allowed; transform:none; }
.pago-btn-lock { flex-shrink:0; }
.pago-spinner {
  display:inline-block; width:18px; height:18px;
  border:2px solid rgba(255,255,255,0.3); border-top-color:#fff;
  border-radius:50%; animation:pago-spin 0.65s linear infinite; flex-shrink:0;
}
.pago-spinner.hidden { display:none; }
@keyframes pago-spin { to { transform:rotate(360deg); } }
.pago-metodos {
  display:flex; align-items:center; justify-content:center; gap:8px;
  margin-top:14px; flex-wrap:wrap;
}
.pago-metodos-more { font-size:11px; color:#ccc; }
.pago-legal-nota {
  font-size:11.5px; color:#bbb; text-align:center; margin-top:12px; line-height:1.65;
}
.pago-link { color:#aaa; text-decoration:underline; }
.pago-link:hover { color:var(--naranja); }

/* Card wrapper del embedded checkout */
.pago-checkout-card {
  width:100%;
  background:#fff; border-radius:14px;
  box-shadow:0 2px 20px rgba(0,0,0,0.08);
  overflow:hidden;
}
#checkout { width:100%; }
.pago-checkout-card-header {
  display:flex; align-items:center; justify-content:space-between;
  padding:16px 24px; border-bottom:1px solid #f2f2f0;
}
.pago-checkout-card-title {
  font-size:14px; font-weight:700; color:var(--negro); letter-spacing:0.01em;
}
.pago-checkout-card-ssl {
  display:flex; align-items:center; gap:5px;
  font-size:11px; font-weight:600; color:#16a34a;
}
.pago-checkout-card .pago-error { margin:16px 20px 0; }

/* Estado de carga del embedded checkout */
.pago-checkout-loading {
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  padding:72px 20px; gap:16px;
}
.pago-checkout-spinner {
  width:32px; height:32px;
  border:2.5px solid rgba(250,164,52,0.2);
  border-top-color:var(--naranja);
  border-radius:50%; animation:pago-spin 0.65s linear infinite;
}
.pago-checkout-loading p {
  font-size:13px; color:var(--gris-medio); font-weight:300;
}

.pago-footer { border-top:1px solid #e8e8e8; padding:20px 24px; background:#fff; }
.pago-footer-inner {
  max-width:1060px; margin:0 auto;
  display:flex; align-items:center; gap:20px; flex-wrap:wrap;
  font-size:12px; color:#bbb;
}
.pago-footer-inner span { margin-right:auto; }
.pago-footer-inner a { color:#bbb; text-decoration:none; }
.pago-footer-inner a:hover { color:var(--naranja); }

@media (max-width:860px) {
  .pago-page { background:#f0efec; }
  .pago-wrap { grid-template-columns:1fr; gap:16px; padding:24px 16px 60px; }
  .pago-form-col { order:-1; }
  .pago-summary-col { position:static; height:auto; }
  .pago-summary-col { order:1; }
  .pago-sum-head { padding:22px 20px 18px; }
  .pago-sum-price { font-size:34px; }
  .pago-sum-body { padding:20px; }
  .pago-card { padding:20px; }
  .pago-stepper { padding:14px 18px; }
}
@media (max-width:520px) {
  .pago-row { grid-template-columns:1fr; }
  .pago-row--332 { grid-template-columns:1fr; }
  .pago-wrap { padding:16px 12px 60px; }
  .pago-card { border-radius:10px; }
  .pago-summary { border-radius:10px; }
  .pago-summary-col { order:1; }
  .pago-stepper { padding:11px 14px; }
  .pago-stepper-num { width:24px; height:24px; font-size:12px; }
  .pago-stepper-label { font-size:12px; }
}

/* ─── PÁGINA 404 ─── */
body.notfound-page {
  background:#141414;
}

/* Hero */
.notfound-hero {
  background:#141414;
  min-height:calc(100vh - 61px);
  display:flex; align-items:center; justify-content:center;
  padding:80px 24px 96px;
  position:relative; overflow:hidden;
}

/* Orbes de color de fondo */
.notfound-hero::before {
  content:''; position:absolute;
  left:-220px; top:-180px;
  width:680px; height:680px; border-radius:50%;
  background:radial-gradient(circle, rgba(250,164,52,0.13) 0%, transparent 65%);
  pointer-events:none;
}
.notfound-hero::after {
  content:''; position:absolute;
  right:-180px; bottom:-160px;
  width:580px; height:580px; border-radius:50%;
  background:radial-gradient(circle, rgba(234,26,32,0.10) 0%, transparent 65%);
  pointer-events:none;
}

/* "404" fantasma de fondo */
.notfound-ghost {
  position:absolute;
  font-size:clamp(180px,38vw,480px); font-weight:900;
  line-height:1; letter-spacing:-0.05em;
  color:rgba(255,255,255,0.025);
  user-select:none; pointer-events:none; white-space:nowrap;
  top:50%; left:50%; transform:translate(-50%,-50%);
  z-index:0;
}

/* Contenido central */
.notfound-wrap {
  max-width:580px; width:100%; text-align:center;
  position:relative; z-index:1;
  animation:nf-fadein 0.7s ease both;
}
@keyframes nf-fadein {
  from { opacity:0; transform:translateY(20px); }
  to   { opacity:1; transform:translateY(0); }
}

/* Línea-tag superior */
.notfound-tag {
  display:inline-flex; align-items:center; gap:10px;
  font-size:10px; font-weight:700; letter-spacing:0.18em;
  text-transform:uppercase; color:var(--naranja);
  margin-bottom:28px;
}
.notfound-tag::before {
  content:''; width:24px; height:2px;
  background:var(--grad); border-radius:2px; flex-shrink:0;
}

/* Titular */
.notfound-h1 {
  font-size:clamp(38px,6.5vw,72px); font-weight:900;
  line-height:1.04; letter-spacing:-0.03em;
  color:#fff; margin-bottom:22px;
}

/* Subtítulo */
.notfound-sub {
  font-size:17px; color:rgba(255,255,255,0.4);
  font-weight:300; line-height:1.8;
  margin-bottom:52px;
}

/* Botón CTA */
.notfound-btn {
  display:inline-flex; align-items:center; gap:10px;
  background:var(--grad); color:#fff;
  font-family:'Roboto',sans-serif; font-size:15px; font-weight:700;
  padding:18px 38px; border-radius:9px; text-decoration:none;
  box-shadow:0 8px 36px rgba(250,164,52,0.38);
  transition:transform 0.2s, box-shadow 0.2s;
  letter-spacing:0.025em;
}
.notfound-btn:hover {
  transform:translateY(-2px); box-shadow:0 14px 48px rgba(250,164,52,0.55);
}
.notfound-btn svg { flex-shrink:0; }

/* Contacto secundario */
.notfound-contact {
  margin-top:32px; font-size:13px;
  color:rgba(255,255,255,0.25); font-weight:300;
}
.notfound-contact a {
  color:rgba(255,255,255,0.45); font-weight:400;
  text-decoration:underline; text-underline-offset:3px;
  transition:color 0.15s;
}
.notfound-contact a:hover { color:var(--naranja); }

/* Footer oscuro */
.notfound-footer {
  background:#0e0e0e; border-top:1px solid rgba(255,255,255,0.06);
  padding:22px 60px;
  display:flex; align-items:center; justify-content:space-between;
  flex-wrap:wrap; gap:16px;
}
.notfound-footer-copy {
  font-size:12px; color:rgba(255,255,255,0.18); font-weight:300;
}
nav.notfound-footer-nav {
  background:transparent; border:none; padding:0;
  display:flex; gap:24px;
}
nav.notfound-footer-nav a {
  font-size:12px; color:rgba(255,255,255,0.28); font-weight:300;
  text-decoration:none; transition:color 0.2s;
}
nav.notfound-footer-nav a:hover { color:rgba(255,255,255,0.75); }

@media (max-width:960px) {
  .notfound-footer { padding:22px 20px; }
}
@media (max-width:480px) {
  .notfound-hero { padding:60px 20px 80px; }
  .notfound-footer { flex-direction:column; text-align:center; gap:12px; }
  nav.notfound-footer-nav { justify-content:center; flex-wrap:wrap; }
}

/* ─── LM2 TEST INTERACTIVO ─── */
[hidden] { display:none !important; }

.test-ov {
  position:fixed; inset:0; background:#fff;
  z-index:9999; overflow-y:auto;
  display:flex; flex-direction:column;
}
.test-ov-top {
  position:sticky; top:0; background:#fff; z-index:1;
  padding:18px 32px; border-bottom:1px solid #f0f0f0;
  display:flex; align-items:center; gap:24px; flex-shrink:0;
}
.test-ov-logo { height:26px; flex-shrink:0; }
.test-ov-progress { flex:1; display:flex; align-items:center; gap:14px; }
.test-ov-bar {
  flex:1; height:6px; background:#f0f0f0;
  border-radius:99px; overflow:hidden;
}
.test-ov-fill {
  height:100%; background:var(--grad);
  border-radius:99px; transition:width 0.4s ease; width:0%;
}
.test-ov-step { font-size:13px; color:#999; font-weight:500; white-space:nowrap; }

.test-ov-content {
  flex:1; display:flex; justify-content:center;
  padding:52px 24px 80px;
}

/* Pregunta */
.test-q { width:100%; max-width:620px; animation:tqIn 0.28s ease; }
@keyframes tqIn {
  from { opacity:0; transform:translateY(14px); }
  to   { opacity:1; transform:translateY(0); }
}
.test-q-num {
  font-size:12px; font-weight:700; color:var(--naranja);
  text-transform:uppercase; letter-spacing:0.6px; margin:0 0 14px;
}
.test-q-text {
  font-size:21px; font-weight:700; color:#383838;
  line-height:1.45; margin:0 0 32px;
}
.test-opts { display:flex; flex-direction:column; gap:12px; }
.test-opt {
  display:flex; align-items:flex-start; gap:16px;
  padding:17px 20px; background:#fff;
  border:2px solid #e8e8e8; border-radius:12px;
  cursor:pointer; text-align:left; width:100%;
  transition:border-color 0.15s, background 0.15s, transform 0.1s;
}
.test-opt:hover:not(:disabled) { border-color:var(--naranja); background:#fffaf4; }
.test-opt--selected {
  border-color:var(--naranja);
  background:linear-gradient(130deg, rgba(250,164,52,0.07), rgba(234,26,32,0.05));
  transform:scale(0.99);
}
.test-opt:disabled { cursor:default; }
.test-opt-ltr {
  width:30px; height:30px; border-radius:50%;
  background:var(--grad); color:#fff; padding:7px;
  font-size:12px; font-weight:700;
  display:flex; align-items:center; justify-content:center; flex-shrink:0;
}
.test-opt-ltr svg { width:16px; height:16px; display:block; }
.test-opt-txt { font-size:15px; color:#383838; line-height:1.5; padding-top:3px; }

/* Resultado */
.test-result {
  width:100%; max-width:600px; text-align:center;
  animation:tqIn 0.35s ease;
}
.test-result-badge {
  width:80px; height:80px; border-radius:50%;
  background:var(--grad); color:#fff;
  font-size:36px; font-weight:900;
  display:flex; align-items:center; justify-content:center;
  margin:0 auto 20px;
  box-shadow:0 8px 32px rgba(250,164,52,0.35);
}
.test-result-tipo {
  font-size:12px; font-weight:700; color:var(--naranja);
  text-transform:uppercase; letter-spacing:0.6px; margin:0 0 10px;
}
.test-result-name {
  font-size:28px; font-weight:900; color:#383838;
  line-height:1.2; margin:0 0 20px;
}
.test-result-desc {
  font-size:15px; color:#5c5c5c; line-height:1.75;
  margin:0 0 28px; text-align:left;
}
.test-result-meta {
  display:grid; grid-template-columns:1fr 1fr;
  gap:14px; margin:0 0 28px; text-align:left;
}
.test-result-meta-item {
  background:#f8f8f8; border-radius:10px;
  padding:16px 18px; display:flex; flex-direction:column; gap:6px;
}
.test-result-meta-item strong {
  font-size:11px; font-weight:700; color:var(--naranja);
  text-transform:uppercase; letter-spacing:0.6px;
}
.test-result-meta-item span { font-size:14px; color:#383838; line-height:1.5; }
.test-result-cta-text {
  font-size:15px; color:#5c5c5c; line-height:1.65; margin:0 0 24px;
}
.test-result-actions { display:flex; flex-direction:column; align-items:center; gap:12px; }
.test-result-btn {
  display:inline-flex; align-items:center; gap:8px;
  background:var(--grad); color:#fff;
  font-size:16px; font-weight:700;
  padding:16px 36px; border-radius:10px; text-decoration:none;
  box-shadow:0 8px 32px rgba(250,164,52,0.35);
  transition:transform 0.15s, box-shadow 0.15s;
}
.test-result-btn:hover {
  transform:translateY(-2px);
  box-shadow:0 12px 40px rgba(250,164,52,0.45);
}

.test-result-dl {
  display:inline-flex; align-items:center; gap:8px;
  background:transparent; border:2px solid #e8e8e8;
  color:#5c5c5c; font-size:14px; font-weight:600;
  padding:12px 28px; border-radius:10px; cursor:pointer;
  font-family:inherit; transition:border-color 0.15s, color 0.15s;
}
.test-result-dl:hover:not(:disabled) { border-color:var(--naranja); color:#383838; }
.test-result-dl:disabled { opacity:0.55; cursor:default; }

@media (max-width:520px) {
  .test-ov-top { padding:14px 20px; gap:14px; }
  .test-ov-logo { height:22px; }
  .test-ov-content { padding:32px 20px 60px; }
  .test-q-text { font-size:18px; }
  .test-result-meta { grid-template-columns:1fr; }
  .test-result-name { font-size:22px; }
}

/* ─── LM FORM: ESTADO ÉXITO / ERROR ─── */
.cap-success {
  display:flex; flex-direction:column; align-items:center;
  text-align:center; padding:40px 24px 44px; gap:14px;
}
.cap-success-icon { width:52px; height:52px; flex-shrink:0; }
.cap-success-title {
  margin:0; font-size:18px; font-weight:700;
  color:#383838; line-height:1.3;
}
.cap-success-text {
  margin:0; font-size:14px; color:#5c5c5c;
  line-height:1.6; max-width:280px;
}
.cap-form-error {
  color:#ea1a20; font-size:13px; line-height:1.5;
  margin:8px 0 0; text-align:center;
}

/* ── PÁGINAS DE PERFIL — resultado test LM2 ─────────────── */

.result-hero { padding:72px 24px 40px; }
.result-hero-inner { max-width:680px; margin:0 auto; text-align:center; }
.result-label {
  font-size:0.78rem; font-weight:700; letter-spacing:0.12em;
  text-transform:uppercase; color:#aaa; margin:10px 0 4px;
}
.result-body { padding:0 24px 80px; }
.result-body-inner { max-width:680px; margin:0 auto; }

.result-grid {
  display:grid; grid-template-columns:1fr 1fr;
  gap:20px; margin:36px 0 28px;
}
.result-card {
  border:2px solid #efefef; border-radius:12px; padding:26px 22px;
}
.result-card-title {
  font-size:0.73rem; font-weight:700; letter-spacing:0.1em;
  text-transform:uppercase; margin:0 0 14px;
}
.result-card-title--pos { color:#faa434; }
.result-card-title--neg { color:#ea1a20; }
.result-list {
  list-style:none; padding:0; margin:0;
  display:flex; flex-direction:column; gap:10px;
}
.result-list-item {
  font-size:0.93rem; color:#383838; line-height:1.45;
  padding-left:1.3em; position:relative;
}
.result-list-item--pos::before {
  content:'✓'; position:absolute; left:0;
  color:#faa434; font-weight:700;
}
.result-list-item--neg::before {
  content:'→'; position:absolute; left:0; color:#ea1a20;
}
.result-note {
  padding:22px 26px; background:#fafafa;
  border-radius:12px; border-left:4px solid #faa434;
}
.result-note p {
  font-size:0.97rem; color:#222; line-height:1.65; margin:0;
}
.result-cta {
  background:#1e1e1e; padding:72px 24px; text-align:center;
}
.result-cta-inner { max-width:580px; margin:0 auto; }
.result-cta-tag {
  display:inline-block; font-size:0.73rem; font-weight:700;
  letter-spacing:0.1em; text-transform:uppercase;
  color:rgba(255,255,255,0.45); margin-bottom:20px;
}
.result-cta-h2 {
  font-size:clamp(1.6rem,4vw,2.2rem); font-weight:900;
  color:#fff; line-height:1.2; margin:0 0 18px;
}
.result-cta-p {
  font-size:1rem; color:rgba(255,255,255,0.65);
  line-height:1.65; margin:0 0 32px;
}
.result-cta-fine {
  font-size:0.8rem; color:rgba(255,255,255,0.35); margin-top:16px;
}

@media (max-width:560px) {
  .result-grid { grid-template-columns:1fr; }
  .result-hero { padding-top:52px; }
}
