/* Landing «Mente en movimiento · Mes 1» · Moveo
   Todo cuelga de .mm para que se pueda pegar en una sección de Shopify sin chocar con el tema.
   Celular primero (375 px); escritorio desde 900 px. Texto base 19 px, nunca menos de 18 px. */

/* ---------- Fuentes locales ---------- */
@font-face { font-family: "Poppins"; font-weight: 600; font-style: normal; font-display: swap; src: url("fonts/poppins-600.woff2") format("woff2"); }
@font-face { font-family: "Poppins"; font-weight: 700; font-style: normal; font-display: swap; src: url("fonts/poppins-700.woff2") format("woff2"); }
@font-face { font-family: "Poppins"; font-weight: 800; font-style: normal; font-display: swap; src: url("fonts/poppins-800.woff2") format("woff2"); }
@font-face { font-family: "Roboto"; font-weight: 400; font-style: normal; font-display: swap; src: url("fonts/roboto-400.woff2") format("woff2"); }
@font-face { font-family: "Roboto"; font-weight: 500; font-style: normal; font-display: swap; src: url("fonts/roboto-500.woff2") format("woff2"); }
@font-face { font-family: "Roboto"; font-weight: 700; font-style: normal; font-display: swap; src: url("fonts/roboto-700.woff2") format("woff2"); }

/* ---------- Base ---------- */
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body { margin: 0; background: #FFF8E7; }

.mm {
  --azul-profundo: #000066;
  --azul-noche: #00004D;
  --azul: #0033FF;
  --azul-medio: #2241C4;
  --magenta: #9933CC;
  --lila: #AD6EE7;
  --amarillo: #FFD54C;
  --amarillo-suave: #F6E0A2;
  --crema: #FFF8E7;
  --arena: #FCEFCB;
  --blanco: #FFFFFF;
  --tinta: #1A1A3A;
  --tinta-suave: #44445E;
  --cafe: #7A4E00;
  --whatsapp: #128C4A;
  --foco: #0033FF;
  --radio: 28px;
  --radio-chico: 18px;
  --sombra: 0 6px 0 var(--amarillo-suave), 0 14px 30px rgba(0, 0, 102, .08);
  --fuente-titulo: "Poppins", "Avenir Next", "Segoe UI", system-ui, sans-serif;
  --fuente-texto: "Roboto", "Helvetica Neue", Arial, system-ui, sans-serif;

  font-family: var(--fuente-texto);
  font-size: 19px;
  line-height: 1.6;
  color: var(--tinta);
  background: var(--crema);
  overflow-x: clip;
}
.mm *, .mm *::before, .mm *::after { box-sizing: border-box; }
.mm img, .mm video { max-width: 100%; display: block; }
.mm svg { width: 1em; height: 1em; flex: none; }
.mm h1, .mm h2, .mm h3 { font-family: var(--fuente-titulo); line-height: 1.15; margin: 0 0 .5em; color: var(--azul-profundo); letter-spacing: -.01em; }
.mm h1 { font-weight: 800; font-size: clamp(36px, 9vw, 58px); }
.mm h2 { font-weight: 800; font-size: clamp(30px, 7vw, 44px); }
.mm h3 { font-weight: 700; font-size: clamp(21px, 5vw, 24px); }
.mm p { margin: 0 0 1em; }
.mm p:last-child { margin-bottom: 0; }
.mm ul, .mm ol { margin: 0; padding: 0; list-style: none; }
.mm a { color: var(--azul); text-underline-offset: 3px; text-decoration-thickness: 2px; }
.mm strong { font-weight: 700; }
.mm figure { margin: 0; }

.mm :focus-visible { outline: 4px solid var(--foco); outline-offset: 3px; border-radius: 10px; }
.mm .fondo-azul, .mm .hero, .mm .barra, .mm .pie, .mm .visor, .mm .compra-fija { --foco: var(--amarillo); }

.sr-only { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.mm .saltar { position: absolute; left: 12px; top: -80px; z-index: 100; background: var(--amarillo); color: var(--azul-profundo); padding: 14px 20px; border-radius: 14px; font-weight: 700; }
.mm .saltar:focus { top: 12px; }

.mm .contenedor { width: 100%; max-width: 1120px; margin: 0 auto; padding: 0 20px; }
.mm .contenedor-angosto { max-width: 820px; }
.mm .centrado { text-align: center; }

/* Imagen que falló al cargar: se oculta y queda el fondo de su marco */
.mm img.img-falla { visibility: hidden; }
.mm [hidden] { display: none !important; }

/* ---------- Botones ---------- */
.mm .boton {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  min-height: 56px; padding: 14px 28px; border-radius: 999px; border: 0;
  font-family: var(--fuente-titulo); font-weight: 700; font-size: 20px; line-height: 1.2;
  text-decoration: none; text-align: center; cursor: pointer;
  transition: transform .15s ease, box-shadow .15s ease, background-color .15s ease;
}
.mm .boton-amarillo { background: var(--amarillo); color: var(--azul-profundo); box-shadow: 0 5px 0 #C9A21F; }
.mm .boton-amarillo:hover { background: #FFDF73; transform: translateY(-2px); box-shadow: 0 7px 0 #C9A21F; }
.mm .boton-amarillo:active { transform: translateY(3px); box-shadow: 0 2px 0 #C9A21F; }
.mm .boton-grande { min-height: 64px; font-size: 22px; padding: 16px 36px; }
.mm .boton-ancho { width: 100%; }

/* ---------- Chips, kicker ---------- */
.mm .chip { display: inline-block; font-family: var(--fuente-titulo); font-weight: 600; font-size: 18px; padding: 8px 18px; border-radius: 999px; background: #EFE3FA; color: #6B1F99; margin-bottom: 18px; }
.mm .chip-claro { background: rgba(255, 213, 76, .16); color: var(--amarillo); border: 2px solid rgba(255, 213, 76, .5); }
.mm .kicker { font-family: var(--fuente-titulo); font-weight: 700; font-size: 18px; letter-spacing: .08em; text-transform: uppercase; color: var(--magenta); margin-bottom: 8px; }
.mm .kicker-claro { color: var(--amarillo); }
.mm .resaltado { display: inline-block; background: var(--amarillo); color: var(--azul-profundo); padding: 0 .22em; border-radius: .25em; transform: rotate(-1.5deg); box-decoration-break: clone; -webkit-box-decoration-break: clone; }

/* ---------- Secciones ---------- */
.mm .seccion { position: relative; padding: 64px 0; }
.mm .fondo-crema { background: var(--crema); }
.mm .fondo-blanco { background: var(--blanco); }
.mm .fondo-arena { background: var(--arena); }
.mm .fondo-azul { background: var(--azul-profundo); color: #F1F1FA; }
.mm .fondo-azul h2, .mm .fondo-azul h3 { color: var(--blanco); }
.mm .encabezado { max-width: 760px; margin: 0 auto 36px; text-align: center; }
.mm .encabezado > p:not(.kicker) { font-size: 20px; color: var(--tinta-suave); }
.mm .fondo-azul .encabezado > p:not(.kicker) { color: #D9D9EE; }

/* Arcos decorativos como en la cartilla */
.mm .arcos { overflow: hidden; }
.mm .arcos::before, .mm .arcos::after { content: ""; position: absolute; border-radius: 50%; pointer-events: none; }
.mm .arcos::before { width: 420px; height: 420px; right: -230px; top: -250px; border: 4px solid rgba(58, 105, 249, .28); box-shadow: 0 0 0 26px var(--crema), 0 0 0 30px rgba(173, 110, 231, .28); }
.mm .arcos::after { width: 14px; height: 14px; right: 36px; top: 40px; background: var(--amarillo); }
.mm .arcos > .contenedor { position: relative; z-index: 1; }

/* ---------- Tarjeta base ---------- */
.mm .tarjeta { background: var(--blanco); border: 3px solid var(--amarillo); border-radius: var(--radio); box-shadow: var(--sombra); padding: 28px 24px; }

/* ---------- 0 · Barra ---------- */
.mm .barra { background: var(--azul-profundo); border-bottom: 3px solid var(--amarillo); position: relative; z-index: 40; }
.mm .barra-fila { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 76px; }
.mm .barra-logo { display: inline-flex; align-items: center; min-height: 48px; text-decoration: none; }
.mm .barra-logo img { height: 22px; width: auto; }
.mm .logo-texto { font-family: var(--fuente-titulo); font-weight: 800; font-size: 32px; color: var(--blanco); letter-spacing: -.02em; }
.mm .boton-barra { min-height: 56px; padding: 10px 16px; font-size: 18px; box-shadow: 0 4px 0 #C9A21F; white-space: nowrap; }
@media (max-width: 359px) { .mm .boton-barra { display: none; } .mm .barra-fila { justify-content: center; } }

/* ---------- 1 · Hero ---------- */
.mm .hero { position: relative; background: radial-gradient(120% 70% at 85% 0%, #14148A 0%, var(--azul-profundo) 60%); color: #EDEDF8; padding: 22px 0 56px; overflow: hidden; }
.mm .hero::before { content: ""; position: absolute; width: 520px; height: 520px; left: -330px; bottom: -300px; border-radius: 50%; border: 4px solid rgba(58, 105, 249, .45); box-shadow: 0 0 0 28px var(--azul-profundo), 0 0 0 32px rgba(173, 110, 231, .35); pointer-events: none; }
.mm .hero::after { content: ""; position: absolute; width: 16px; height: 16px; right: 28px; top: 30px; border-radius: 50%; background: var(--amarillo); display: none; }
.mm .hero-grilla { position: relative; z-index: 1; display: grid; gap: 20px; text-align: center; }
.mm .hero .chip { line-height: 1.3; padding: 6px 16px; margin-bottom: 12px; }
.mm .hero h1 { line-height: 1.1; margin-bottom: .35em; }
.mm .hero h1 { color: var(--blanco); }
.mm .hero-sub { font-size: 19px; line-height: 1.5; color: #DCDCF0; max-width: 620px; margin-left: auto; margin-right: auto; }
.mm .hero-cifras { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; max-width: 460px; margin: 16px auto 0; }
.mm .hero-cifras li { display: flex; align-items: baseline; justify-content: center; gap: 6px; border: 2px solid rgba(255, 213, 76, .55); border-radius: 14px; padding: 6px 8px; font-family: var(--fuente-titulo); font-weight: 600; font-size: 18px; color: #E6E6F6; line-height: 1.2; }
.mm .hero-cifras strong { font-size: 26px; font-weight: 800; color: var(--amarillo); }

.mm .hero-video { position: relative; width: min(100%, 300px); margin: 0 auto; aspect-ratio: 9 / 16; border-radius: var(--radio); border: 4px solid var(--amarillo); overflow: hidden; background: #1B1B7A url("img/portada-cartilla.jpg") center / cover no-repeat; box-shadow: 0 20px 50px rgba(0, 0, 0, .35); }
.mm .hero-video video { width: 100%; height: 100%; object-fit: cover; background: transparent; }
.mm .hero-play { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: flex-end; gap: 10px; padding-bottom: 26px; border: 0; cursor: pointer; background: linear-gradient(to top, rgba(0, 0, 77, .75), rgba(0, 0, 77, 0) 45%); color: var(--blanco); font-family: var(--fuente-titulo); font-weight: 700; font-size: 20px; }
.mm .hero-play-circulo { width: 84px; height: 84px; border-radius: 50%; background: var(--amarillo); color: var(--azul-profundo); display: grid; place-items: center; box-shadow: 0 0 0 10px rgba(255, 213, 76, .3); transition: transform .2s ease; }
.mm .hero-play-circulo svg { width: 38px; height: 38px; margin-left: 5px; }
.mm .hero-play:hover .hero-play-circulo { transform: scale(1.06); }
.mm .hero-play:focus-visible { outline: 4px solid var(--amarillo); outline-offset: -10px; border-radius: 22px; }
.mm .hero-nota-ia { margin: 12px auto 0; max-width: 340px; font-size: 18px; line-height: 1.4; color: #E6E6F6; text-align: center; }
.mm .hero-video.reproduciendo .hero-play { display: none; }

.mm .hero-accion { display: flex; flex-direction: column; align-items: center; }
.mm .hero-precio { margin: 16px 0 0; font-size: 19px; color: #DCDCF0; }
.mm .hero-precio strong { color: var(--blanco); }
.mm .confianza { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 18px; margin-top: 14px; font-size: 18px; font-weight: 500; color: #EDEDF8; }
.mm .confianza li { display: inline-flex; align-items: center; gap: 8px; }
.mm .confianza svg { width: 22px; height: 22px; color: var(--amarillo); }
.mm .confianza-oscura { color: var(--tinta); }
.mm .confianza-oscura svg { color: var(--azul); }
.mm .hero-firma { margin-top: 20px; font-size: 18px; color: #C9C9E6; max-width: 480px; }

/* ---------- 2 · Centro real ---------- */
.mm .dos-columnas { display: grid; gap: 32px; align-items: center; }
.mm .foto-marco { border-radius: var(--radio); border: 3px solid var(--amarillo); overflow: hidden; background: var(--amarillo-suave); box-shadow: var(--sombra); aspect-ratio: 4 / 3; }
.mm .foto-marco img { width: 100%; height: 100%; object-fit: cover; }
.mm .foto-centro { aspect-ratio: 1 / 1; }
.mm .foto-centro img { object-position: center 30%; }
.mm .foto-portada { aspect-ratio: 216 / 279; max-width: 400px; margin: 0 auto; background: var(--blanco); }
.mm .foto-portada img { object-fit: contain; }
.mm .lista-check { display: grid; gap: 12px; margin: 20px 0; }
.mm .lista-check li { display: flex; gap: 12px; align-items: flex-start; }
.mm .lista-check svg { width: 30px; height: 30px; padding: 6px; border-radius: 50%; background: var(--amarillo); color: var(--azul-profundo); margin-top: 1px; }
.mm .lista-grande { gap: 16px; font-size: 19px; }
.mm .direccion { display: inline-flex; align-items: center; gap: 10px; font-family: var(--fuente-titulo); font-weight: 600; color: var(--azul-profundo); background: var(--blanco); border: 2px solid var(--amarillo); border-radius: 999px; padding: 10px 20px; }
.mm .direccion svg { width: 24px; height: 24px; color: var(--magenta); }

/* ---------- 3 · Pasos ---------- */
.mm .pasos { display: grid; gap: 22px; counter-reset: paso; }
.mm .paso { position: relative; background: var(--crema); border: 3px solid var(--amarillo); border-radius: var(--radio); padding: 30px 24px 26px; text-align: center; }
.mm .paso-num { position: absolute; top: -20px; left: 50%; transform: translateX(-50%); width: 44px; height: 44px; border-radius: 50%; background: var(--azul-profundo); color: var(--amarillo); display: grid; place-items: center; font-family: var(--fuente-titulo); font-weight: 800; font-size: 22px; }
.mm .paso-icono { width: 64px; height: 64px; padding: 14px; border-radius: 50%; background: var(--amarillo); color: var(--azul-profundo); margin: 6px auto 14px; display: block; }
.mm .paso p { color: var(--tinta-suave); }
.mm .nota-whatsapp { display: flex; align-items: center; justify-content: center; gap: 12px; margin: 32px auto 0; max-width: 640px; padding: 16px 22px; border-radius: var(--radio-chico); background: #E8F6EE; color: #0B4F2A; font-weight: 500; text-align: left; }
.mm .nota-whatsapp svg { width: 36px; height: 36px; color: var(--whatsapp); }

/* ---------- 4 · Cifras ---------- */
.mm .cifras { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; }
.mm .cifra { border: 3px solid var(--amarillo); border-radius: var(--radio); padding: 22px 16px; text-align: center; background: rgba(255, 255, 255, .04); }
.mm .cifra strong { display: block; font-family: var(--fuente-titulo); font-weight: 800; font-size: clamp(44px, 12vw, 60px); line-height: 1; color: var(--amarillo); }
.mm .cifra-nombre { display: block; font-family: var(--fuente-titulo); font-weight: 700; font-size: 21px; color: var(--blanco); margin: 4px 0 10px; }
.mm .cifra p { font-size: 18px; color: #D9D9EE; line-height: 1.45; }

/* ---------- 5 · Semanas ---------- */
.mm .semanas { display: grid; gap: 16px; }
.mm .semana { position: relative; background: var(--blanco); border: 3px solid var(--amarillo); border-radius: var(--radio); padding: 22px 22px 22px 26px; box-shadow: var(--sombra); overflow: hidden; }
.mm .semana::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 8px; background: var(--c, var(--azul)); }
.mm .semana:nth-child(1) { --c: #3A69F9; }
.mm .semana:nth-child(2) { --c: var(--azul); }
.mm .semana:nth-child(3) { --c: var(--magenta); }
.mm .semana:nth-child(4) { --c: var(--azul-profundo); }
.mm .semana-num { font-family: var(--fuente-titulo); font-weight: 700; font-size: 18px; color: var(--cafe); margin-bottom: 2px; text-transform: uppercase; letter-spacing: .06em; }
.mm .semana h3 { font-size: 28px; margin-bottom: 10px; }
.mm .semana-datos { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 12px; }
.mm .semana-datos li { font-family: var(--fuente-titulo); font-weight: 600; font-size: 18px; padding: 4px 14px; border-radius: 999px; background: var(--crema); border: 2px solid var(--amarillo); color: var(--azul-profundo); }
.mm .semana-datos li:first-child { background: var(--amarillo); }
.mm .semana p { color: var(--tinta-suave); }

.mm .sesion { margin-top: 36px; }
.mm .sesion h3 { font-size: 26px; text-align: center; margin-bottom: 22px; }
.mm .sesion-pasos { display: grid; gap: 16px; counter-reset: sesion; }
.mm .sesion-pasos li { counter-increment: sesion; position: relative; padding-left: 60px; display: flex; flex-direction: column; }
.mm .sesion-pasos li::before { content: counter(sesion); position: absolute; left: 0; top: 0; width: 44px; height: 44px; border-radius: 50%; background: var(--cafe); color: var(--blanco); display: grid; place-items: center; font-family: var(--fuente-titulo); font-weight: 800; font-size: 20px; }
.mm .sesion-pasos li:nth-child(3)::before { background: var(--magenta); }
.mm .sesion-pasos strong { font-family: var(--fuente-titulo); font-size: 20px; color: var(--azul-profundo); }
.mm .sesion-pasos span { color: var(--tinta-suave); }

.mm .subtitulo-areas { text-align: center; font-size: 26px; margin: 48px 0 20px; }
.mm .areas { display: grid; gap: 12px; }
.mm .area { display: flex; flex-direction: column; background: var(--blanco); border-radius: var(--radio-chico); border: 2px solid #EADBB0; border-left: 8px solid var(--c); padding: 14px 18px; }
.mm .area strong { font-family: var(--fuente-titulo); font-weight: 700; font-size: 19px; color: var(--c); }
.mm .area span { font-size: 18px; color: var(--tinta-suave); }

/* ---------- 6 · Carrusel ---------- */
.mm .carrusel { position: relative; }
.mm .carrusel-pista { overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; -webkit-overflow-scrolling: touch; padding: 8px 4px 18px; margin: 0 -20px; padding-left: 20px; padding-right: 20px; scroll-padding: 0 20px; }
.mm .carrusel-pista::-webkit-scrollbar { display: none; }
.mm .carrusel-lista { display: flex; gap: 16px; }
.mm .carrusel-item { flex: 0 0 82%; scroll-snap-align: start; }
.mm .pagina { position: relative; display: block; width: 100%; padding: 0; border: 3px solid var(--amarillo); border-radius: 22px; overflow: hidden; background: var(--crema); cursor: zoom-in; aspect-ratio: 216 / 279; box-shadow: var(--sombra); }
.mm .pagina img { position: relative; width: 100%; height: 100%; object-fit: cover; object-position: top; }
.mm .pagina-respaldo { position: absolute; inset: 0; display: grid; place-items: center; font-family: var(--fuente-titulo); font-weight: 700; font-size: 22px; color: var(--cafe); }
.mm .carrusel-controles { display: flex; align-items: center; justify-content: center; gap: 24px; margin-top: 10px; }
.mm .flecha { width: 64px; height: 64px; border-radius: 50%; border: 3px solid var(--azul-profundo); background: var(--blanco); color: var(--azul-profundo); display: grid; place-items: center; cursor: pointer; transition: background-color .15s ease; }
.mm .flecha svg { width: 30px; height: 30px; }
.mm .flecha:hover { background: var(--amarillo); }
.mm .flecha[aria-disabled="true"] { opacity: .35; cursor: default; background: var(--blanco); }
.mm .contador { margin: 0; min-width: 90px; text-align: center; font-family: var(--fuente-titulo); font-weight: 700; font-size: 22px; color: var(--azul-profundo); }
.mm .carrusel-ayuda { display: flex; align-items: center; justify-content: center; gap: 8px; margin-top: 12px; font-size: 18px; color: var(--tinta-suave); }
.mm .carrusel-ayuda svg { width: 22px; height: 22px; color: var(--magenta); }

/* Visor (lightbox) */
.mm .visor { width: 100vw; height: 100dvh; max-width: none; max-height: none; margin: 0; padding: 0; border: 0; background: rgba(0, 0, 51, .97); color: var(--blanco); }
.mm .visor[open] { display: flex; flex-direction: column; }
.mm .visor::backdrop { background: rgba(0, 0, 51, .9); }
.mm .visor-barra { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 16px; }
.mm .visor-titulo { margin: 0; font-family: var(--fuente-titulo); font-weight: 700; font-size: 20px; }
.mm .visor-cerrar { min-height: 60px; font-size: 21px; padding: 12px 24px; }
.mm .visor-cerrar svg { width: 24px; height: 24px; }
.mm .visor-imagen { flex: 1; min-height: 0; overflow: auto; display: flex; align-items: flex-start; justify-content: center; padding: 0 12px; touch-action: pan-x pan-y pinch-zoom; }
.mm .visor-imagen img { width: auto; max-width: 100%; height: auto; border-radius: 12px; background: var(--blanco); }
.mm .visor-controles { display: flex; justify-content: center; gap: 40px; padding: 14px 16px 20px; }
.mm .flecha-clara { border-color: var(--amarillo); background: var(--amarillo); }
.mm .flecha-clara:hover { background: #FFDF73; }
.mm .flecha-clara[aria-disabled="true"] { background: transparent; color: var(--amarillo); }
html.visor-abierto { overflow: hidden; }

/* ---------- 8 · Para quién ---------- */
.mm .quienes { display: grid; gap: 20px; }
.mm .quien { background: var(--crema); border: 3px solid var(--amarillo); border-radius: var(--radio); overflow: hidden; }
.mm .quien-foto { aspect-ratio: 4 / 5; overflow: hidden; background: var(--amarillo-suave); }
.mm .quien-foto img { width: 100%; height: 100%; object-fit: cover; object-position: center 35%; }
.mm .quien h3, .mm .quien p { padding: 0 22px; }
.mm .quien h3 { padding-top: 20px; }
.mm .quien p { padding-bottom: 22px; color: var(--tinta-suave); }
.mm .aviso { display: flex; gap: 14px; align-items: flex-start; margin: 32px auto 0; max-width: 820px; padding: 20px 22px; border-radius: var(--radio-chico); background: #EEF1FF; border: 2px solid #C5D0FF; color: var(--tinta); }
.mm .aviso svg { width: 30px; height: 30px; color: var(--azul); margin-top: 2px; }

/* ---------- 9 · Objeciones ---------- */
.mm .objeciones { display: grid; gap: 16px; }
.mm .objecion { background: var(--blanco); border-radius: var(--radio); padding: 24px 22px; border: 3px solid var(--amarillo); box-shadow: var(--sombra); }
.mm .objecion h3 { font-size: 22px; color: #6B1F99; }
.mm .objecion p { color: var(--tinta); }

/* ---------- 10 · Bonos ---------- */
.mm .bonos { display: grid; gap: 20px; }
.mm .bono { background: var(--blanco); color: var(--tinta); border: 3px solid var(--amarillo); border-radius: var(--radio); overflow: hidden; display: flex; flex-direction: column; }
.mm .bono-foto { aspect-ratio: 4 / 3; overflow: hidden; background: linear-gradient(135deg, var(--amarillo-suave), var(--crema)); }
.mm .bono-foto img { width: 100%; height: 100%; object-fit: cover; object-position: top; }
.mm .bono-cuerpo { padding: 20px 22px 24px; display: flex; flex-direction: column; flex: 1; }
.mm .fondo-azul .bono h3 { color: var(--azul-profundo); font-size: 23px; }
.mm .bono-cabeza { display: flex; justify-content: space-between; align-items: center; gap: 8px; margin-bottom: 8px; }
.mm .bono-num { font-family: var(--fuente-titulo); font-weight: 700; font-size: 18px; color: var(--magenta); text-transform: uppercase; letter-spacing: .06em; }
.mm .bono-sello { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; margin: 0 0 12px; }
.mm .bono-vale { font-family: var(--fuente-titulo); font-weight: 600; font-size: 18px; color: var(--tinta-suave); white-space: nowrap; }
.mm .tachado { text-decoration: line-through; text-decoration-thickness: 2px; text-decoration-color: rgba(68, 68, 94, .8); }
.mm .hoy-gratis { display: inline-flex; align-items: center; font-family: var(--fuente-titulo); font-weight: 800; font-size: 18px; letter-spacing: .03em; padding: 3px 14px; border-radius: 999px; background: var(--amarillo); color: var(--azul-profundo); white-space: nowrap; box-shadow: 0 3px 0 #C9A21F; }
.mm .bonos-cierre { max-width: 720px; margin: 36px auto 0; padding: 16px 22px; border: 3px solid var(--amarillo); border-radius: var(--radio-chico); text-align: center; font-size: 20px; color: var(--blanco); background: rgba(255, 255, 255, .05); }
.mm .bonos-cierre strong { color: var(--amarillo); white-space: nowrap; }
.mm .bono-texto { display: flex; flex-direction: column; flex: 1; }
.mm .bono-llega { margin-top: auto; padding-top: 12px; border-top: 2px dashed var(--amarillo-suave); font-size: 18px; color: var(--tinta-suave); }

/* ---------- 12 · Oferta ---------- */
.mm .oferta { max-width: 680px; margin: 0 auto; background: var(--blanco); border: 4px solid var(--amarillo); border-radius: 36px; box-shadow: 0 8px 0 var(--amarillo-suave), 0 24px 60px rgba(0, 0, 102, .12); padding: 32px 20px 28px; }
.mm .oferta-kit { margin: 0 0 24px; }
.mm .oferta-kit img { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--radio-chico); background: var(--crema); }
.mm .oferta-kit figcaption { margin-top: 10px; font-size: 18px; line-height: 1.45; color: var(--tinta-suave); text-align: center; }
.mm .oferta-lista { display: grid; gap: 12px; margin-bottom: 24px; }
.mm .oferta-lista li { display: flex; gap: 12px; align-items: flex-start; padding-bottom: 12px; border-bottom: 2px dotted #EADBB0; }
.mm .item-nombre { flex: 1; min-width: 0; }
.mm .item-precio { display: flex; flex-direction: column; align-items: flex-end; flex: none; font-size: 18px; line-height: 1.3; text-align: right; color: var(--tinta-suave); white-space: nowrap; }
.mm .item-precio strong { font-family: var(--fuente-titulo); font-weight: 800; color: #0B6B35; }
.mm .oferta-lista li:last-child { border-bottom: 0; padding-bottom: 0; }
.mm .oferta-lista svg { width: 28px; height: 28px; padding: 5px; border-radius: 50%; background: var(--azul-profundo); color: var(--amarillo); margin-top: 1px; }
.mm .oferta-precio { text-align: center; background: var(--crema); border-radius: var(--radio-chico); border: 2px dashed var(--cafe); padding: 22px 18px; margin-bottom: 24px; }
.mm .lanzamiento { display: inline-block; font-family: var(--fuente-titulo); font-weight: 700; font-size: 18px; color: var(--blanco); background: var(--magenta); padding: 6px 16px; border-radius: 999px; }
.mm .valor-total { font-family: var(--fuente-titulo); font-weight: 600; font-size: 20px; color: var(--tinta-suave); margin-bottom: 10px; }
.mm .precio-etiqueta { font-family: var(--fuente-titulo); font-weight: 700; font-size: 20px; color: var(--azul-profundo); margin: 0; }
.mm .ahorro { display: inline-block; font-family: var(--fuente-titulo); font-weight: 800; font-size: 20px; color: #0B5A2E; background: #DDF3E5; border: 2px solid #8FD3A8; padding: 4px 18px; border-radius: 999px; margin: 4px 0 14px; }
.mm .precio-grande { font-family: var(--fuente-titulo); font-weight: 800; font-size: clamp(46px, 13vw, 72px); line-height: 1; color: var(--azul-profundo); margin: 6px 0 8px; white-space: nowrap; }
.mm .precio-moneda { font-size: .4em; font-weight: 700; }
.mm .precio-nota { font-family: var(--fuente-titulo); font-weight: 600; font-size: 20px; color: var(--cafe); }
.mm .oferta .confianza { margin-top: 18px; }
.mm .medios-pago { text-align: center; font-size: 18px; color: var(--tinta-suave); margin-top: 12px; }

/* ---------- 13 · Garantía ---------- */
.mm .garantia { display: grid; gap: 24px; justify-items: center; text-align: center; max-width: 860px; margin: 0 auto; background: var(--crema); border: 3px solid var(--amarillo); border-radius: var(--radio); padding: 32px 22px; }
.mm .sello { width: 150px; height: 150px; border-radius: 50%; background: var(--azul-profundo); color: var(--amarillo); display: flex; flex-direction: column; align-items: center; justify-content: center; box-shadow: 0 0 0 8px var(--amarillo), 0 0 0 12px var(--azul-profundo); font-family: var(--fuente-titulo); line-height: 1; }
.mm .sello-num { font-size: 64px; font-weight: 800; }
.mm .sello-txt { font-size: 22px; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; color: var(--blanco); }

/* ---------- 15 · Preguntas ---------- */
.mm .faq { display: grid; gap: 12px; }
.mm .faq details { background: var(--blanco); border: 3px solid var(--amarillo); border-radius: 22px; overflow: hidden; }
.mm .faq summary { display: flex; align-items: center; justify-content: space-between; gap: 14px; min-height: 64px; padding: 16px 20px; cursor: pointer; list-style: none; font-family: var(--fuente-titulo); font-weight: 700; font-size: 20px; color: var(--azul-profundo); line-height: 1.3; }
.mm .faq summary::-webkit-details-marker { display: none; }
.mm .faq summary svg { width: 36px; height: 36px; padding: 8px; border-radius: 50%; background: var(--amarillo); color: var(--azul-profundo); transition: transform .2s ease; }
.mm .faq details[open] summary svg { transform: rotate(45deg); }
.mm .faq details[open] summary { border-bottom: 2px dashed var(--amarillo-suave); }
.mm .faq summary:focus-visible { outline-offset: -6px; }
.mm .faq-respuesta { padding: 16px 20px 20px; }
.mm .faq-mas { text-align: center; margin-top: 28px; font-size: 20px; }
.mm .faq-mas a { font-weight: 700; color: var(--azul-profundo); }

/* ---------- Cierre ---------- */
.mm .cierre { padding: 64px 0 72px; }
.mm .cierre h2 { color: var(--blanco); }
.mm .cierre p { font-size: 20px; color: #DCDCF0; }
.mm .cierre .boton { margin-top: 12px; }
.mm .cierre-precio { margin-top: 16px; font-size: 18px; }

/* ---------- 16 · Pie ---------- */
.mm .pie { background: var(--azul-noche); color: #CFCFE6; padding: 48px 0 40px; font-size: 18px; }
.mm .pie a { color: var(--amarillo); }
.mm .pie-marca { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; margin-bottom: 24px; }
.mm .pie-marca img { height: 30px; width: auto; }
.mm .lema { font-family: var(--fuente-titulo); font-weight: 600; color: var(--amarillo); letter-spacing: .04em; margin: 0; }
.mm .pie-aviso { background: rgba(255, 255, 255, .06); border-left: 5px solid var(--amarillo); border-radius: 10px; padding: 14px 18px; color: #E4E4F2; }
.mm .pie-enlaces { display: flex; flex-wrap: wrap; gap: 8px 24px; margin: 8px 0 18px; }
.mm .pie-enlaces a { display: inline-block; padding: 10px 0; }
.mm .pie-copy { color: #A9A9C9; }

/* ---------- Botón fijo en el celular ---------- */
.mm .compra-fija { position: fixed; left: 0; right: 0; bottom: 0; z-index: 50; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 16px calc(10px + env(safe-area-inset-bottom)); background: var(--azul-profundo); border-top: 3px solid var(--amarillo); box-shadow: 0 -10px 30px rgba(0, 0, 51, .25); transform: translateY(110%); transition: transform .25s ease; }
.mm .compra-fija.visible { transform: none; }
.mm .compra-fija-precio { margin: 0; font-family: var(--fuente-titulo); font-weight: 800; font-size: 24px; color: var(--amarillo); line-height: 1.15; white-space: nowrap; }
.mm .compra-fija-precio small { font-family: var(--fuente-texto); font-weight: 500; font-size: 16px; color: #DCDCF0; }
.mm .cf-monto, .mm .cf-bonos { display: block; }
.mm .cf-bonos { font-family: var(--fuente-texto); font-weight: 700; font-size: 16px; color: #FFFFFF; }
.mm .compra-fija .boton { flex: 0 1 auto; padding: 12px 16px; font-size: 18px; white-space: nowrap; }

/* ---------- WhatsApp flotante ---------- */
.mm .wa-flotante { position: fixed; right: 16px; bottom: 20px; z-index: 45; width: 58px; height: 58px; border-radius: 50%; background: var(--whatsapp); color: var(--blanco); display: grid; place-items: center; box-shadow: 0 8px 22px rgba(0, 0, 0, .25); transition: bottom .25s ease, transform .15s ease; }
.mm .wa-flotante svg { width: 32px; height: 32px; }
.mm .wa-flotante:hover { transform: scale(1.06); }
.mm .wa-flotante:focus-visible { outline: 4px solid #000066; outline-offset: 0; box-shadow: 0 0 0 8px #FFD54C; border-radius: 50%; }
.compra-fija-activa .mm .wa-flotante { bottom: 104px; }
@media (max-width: 767px) { .mm .wa-flotante { display: none; } }

/* Más aire abajo en el celular para que el botón fijo no tape el pie */
@media (max-width: 899px) {
  .mm .pie { padding-bottom: 120px; }
}

/* ---------- Celular: tarjetas más compactas ---------- */
@media (max-width: 599px) {
  .mm .quien-foto { aspect-ratio: 3 / 2; }
  .mm .bono { display: grid; grid-template-columns: 104px 1fr; grid-template-areas: "foto cabeza" "texto texto"; }
  .mm .bono-foto { grid-area: foto; aspect-ratio: 800 / 1034; margin: 18px 0 0 18px; border-radius: 12px; overflow: hidden; border: 2px solid var(--amarillo-suave); }
  .mm .bono-cuerpo { display: contents; }
  .mm .bono-tope { grid-area: cabeza; padding: 18px 18px 0 14px; align-self: center; }
  .mm .bono-texto { grid-area: texto; padding: 14px 20px 22px; }
  .mm .bono-cabeza { flex-wrap: wrap; justify-content: flex-start; }
}

/* ---------- Tableta ---------- */
@media (min-width: 600px) {
  .mm .hero-cifras { grid-template-columns: repeat(4, 1fr); max-width: 620px; }
  .mm .cifras { grid-template-columns: repeat(4, 1fr); }
  .mm .semanas { grid-template-columns: repeat(2, 1fr); }
  .mm .areas { grid-template-columns: repeat(2, 1fr); }
  .mm .quienes { grid-template-columns: repeat(2, 1fr); }
  .mm .objeciones { grid-template-columns: repeat(2, 1fr); }
  .mm .objecion:last-child { grid-column: 1 / -1; }
  .mm .bonos { grid-template-columns: repeat(2, 1fr); }
  .mm .carrusel-item { flex-basis: 46%; }
  .mm .oferta { padding: 40px 40px 32px; }
  .mm .sesion-pasos { grid-template-columns: repeat(2, 1fr); gap: 22px 28px; }
}

/* ---------- Escritorio ---------- */
@media (min-width: 900px) {
  .mm { font-size: 20px; }
  .mm .seccion { padding: 96px 0; }
  .mm .barra { position: sticky; top: 0; }
  .mm .barra-fila { min-height: 84px; }
  .mm .barra-logo img { height: 32px; }
  .mm .boton-barra { min-height: 56px; padding: 12px 28px; font-size: 19px; }

  .mm .hero { padding: 64px 0 88px; }
  .mm .hero::after { display: block; }
  .mm .hero .chip { padding: 8px 18px; margin-bottom: 18px; }
  .mm .hero-cifras li { flex-direction: column; align-items: center; gap: 0; padding: 10px 8px; }
  .mm .hero-cifras strong { font-size: 30px; }
  .mm .hero-grilla { grid-template-columns: 1.25fr .75fr; grid-template-areas: "texto medio" "accion medio"; text-align: left; column-gap: 56px; row-gap: 32px; align-items: start; }
  .mm .hero-texto { grid-area: texto; }
  .mm .hero-medio { grid-area: medio; align-self: center; }
  .mm .hero-accion { grid-area: accion; align-items: flex-start; }
  .mm .hero-sub { margin-left: 0; font-size: 22px; }
  .mm .hero-cifras { margin-left: 0; }
  .mm .hero-video { width: 340px; }
  .mm .confianza { justify-content: flex-start; }
  .mm .oferta .confianza { justify-content: center; }

  .mm .dos-columnas { grid-template-columns: 1fr 1fr; gap: 64px; }
  .mm .dos-columnas-invertidas { grid-template-columns: 1.2fr .8fr; }
  .mm .pasos { grid-template-columns: repeat(3, 1fr); gap: 28px; }
  .mm .semanas { grid-template-columns: repeat(4, 1fr); }
  .mm .areas { grid-template-columns: repeat(4, 1fr); }
  .mm .sesion { padding: 36px 40px; }
  .mm .sesion-pasos { grid-template-columns: repeat(4, 1fr); }
  .mm .quienes { grid-template-columns: repeat(4, 1fr); }
  .mm .objeciones { grid-template-columns: repeat(6, 1fr); }
  .mm .objecion { grid-column: span 2; }
  .mm .objecion:nth-child(4) { grid-column: 2 / span 2; }
  .mm .objecion:nth-child(5) { grid-column: 4 / span 2; }
  .mm .bonos { grid-template-columns: repeat(6, 1fr); }
  .mm .bono { grid-column: span 2; }
  .mm .bono:nth-child(7) { grid-column: 3 / span 2; }
  .mm .carrusel-item { flex-basis: calc((100% - 32px) / 3); }
  .mm .carrusel-pista { margin: 0; padding-left: 4px; padding-right: 4px; scroll-padding: 0; }
  .mm .garantia { grid-template-columns: auto 1fr; text-align: left; padding: 40px 48px; gap: 40px; }
  .mm .pie-marca { flex-direction: row; align-items: center; gap: 20px; }

  .mm .compra-fija, .mm .compra-fija.visible { display: none; }
  .compra-fija-activa .mm .wa-flotante { bottom: 24px; }
  .mm .wa-flotante { right: 24px; bottom: 24px; }
}

/* ---------- Formulario de compra por pasos (dialog) ----------
   Celular: hoja a pantalla completa. Escritorio (≥ 700 px): ventana centrada. Texto ≥ 18 px, botones ≥ 56 px. */
.mm .compra { width: 100%; height: 100%; max-width: none; max-height: none; margin: 0; padding: 0; border: 0; background: var(--crema); color: var(--tinta); }
.mm .compra[open] { display: flex; position: fixed; inset: 0; z-index: 200; }
.mm .compra::backdrop { background: rgba(0, 0, 51, .75); }
.mm .compra-form { display: flex; flex-direction: column; width: 100%; height: 100%; min-height: 0; }
.mm .compra-barra { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 16px; background: var(--azul-profundo); --foco: var(--amarillo); }
.mm .compra-progreso { margin: 0; font-family: var(--fuente-titulo); font-weight: 700; font-size: 20px; color: var(--blanco); }
.mm .compra-cerrar { display: inline-flex; align-items: center; gap: 8px; min-height: 52px; padding: 8px 18px; border-radius: 999px; border: 3px solid var(--amarillo); background: transparent; color: var(--amarillo); font-family: var(--fuente-titulo); font-weight: 700; font-size: 19px; cursor: pointer; }
.mm .compra-cerrar svg { width: 22px; height: 22px; }
.mm .compra-cerrar:hover { background: var(--amarillo); color: var(--azul-profundo); }
.mm .compra-avance { height: 8px; background: var(--amarillo-suave); }
.mm .compra-avance span { display: block; height: 100%; width: 25%; background: var(--azul); transition: width .25s ease; }
.mm .compra-cuerpo { flex: 1; min-height: 0; overflow-y: auto; -webkit-overflow-scrolling: touch; padding: 24px 20px 28px; }
.mm .compra-paso h2 { font-size: clamp(28px, 7vw, 34px); margin-bottom: .35em; }
.mm .compra-paso h2:focus { outline: none; }
.mm .compra-paso h2:focus-visible { outline: 4px solid var(--foco); outline-offset: 4px; }
.mm .compra-intro { font-size: 19px; color: var(--tinta-suave); margin-bottom: 20px; }

.mm .compra-opciones { display: grid; gap: 16px; margin-top: 8px; }
.mm .compra-opcion { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; width: 100%; min-height: 96px; padding: 18px 22px; border-radius: var(--radio-chico); border: 3px solid var(--azul-profundo); background: var(--blanco); color: var(--azul-profundo); text-align: left; cursor: pointer; box-shadow: 0 5px 0 var(--amarillo-suave); }
.mm .compra-opcion:hover { background: #FFF3C8; }
.mm .compra-opcion[aria-pressed="true"] { background: var(--azul-profundo); color: var(--blanco); box-shadow: 0 5px 0 var(--amarillo); }
.mm .compra-opcion-titulo { font-family: var(--fuente-titulo); font-weight: 800; font-size: 24px; line-height: 1.2; }
.mm .compra-opcion-texto { font-size: 18px; line-height: 1.4; }

.mm .campo { margin-bottom: 22px; }
.mm .campo label { display: block; font-family: var(--fuente-titulo); font-weight: 700; font-size: 20px; color: var(--azul-profundo); margin-bottom: 6px; }
.mm .campo-ayuda { font-size: 18px; color: var(--tinta-suave); margin: -2px 0 8px; line-height: 1.4; }
.mm .campo-opcional { font-family: var(--fuente-texto); font-weight: 400; color: var(--tinta-suave); }
.mm .campo input[type="text"], .mm .campo input[type="tel"], .mm .campo input[type="email"] {
  display: block; width: 100%; min-height: 60px; padding: 12px 16px; border-radius: 14px; border: 3px solid #5A5A78;
  background: var(--blanco); color: var(--tinta); font-family: var(--fuente-texto); font-size: 21px; line-height: 1.3;
}
.mm .campo input:focus-visible { outline: 4px solid var(--foco); outline-offset: 2px; border-color: var(--azul-profundo); }
.mm .campo input[aria-invalid="true"] { border-color: #B3261E; background: #FFF6F5; }
.mm .campo-error { display: flex; gap: 8px; margin: 8px 0 0; font-size: 18px; font-weight: 500; color: #A1170F; line-height: 1.4; }
.mm .campo-error::before { content: "!"; flex: none; display: grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; background: #A1170F; color: var(--blanco); font-weight: 700; font-size: 16px; margin-top: 1px; }

.mm .check { display: flex !important; align-items: flex-start; gap: 14px; min-height: 48px; padding: 14px 16px; border-radius: 14px; border: 3px solid #D9C98F; background: var(--blanco); cursor: pointer; font-family: var(--fuente-texto) !important; font-weight: 400 !important; font-size: 19px !important; line-height: 1.45; color: var(--tinta) !important; margin: 0 !important; }
.mm .check input { flex: none; width: 30px; height: 30px; margin: 0; accent-color: var(--azul-profundo); cursor: pointer; }
.mm .check:has(input:checked) { border-color: var(--azul-profundo); }
.mm .check:has(input[aria-invalid="true"]) { border-color: #B3261E; }
.mm .check a { font-weight: 500; }

.mm .compra-resumen { background: var(--blanco); border: 3px solid var(--amarillo); border-radius: var(--radio-chico); padding: 18px 20px; margin-bottom: 22px; }
.mm .compra-resumen p { margin: 0; }
.mm .compra-resumen-producto { font-family: var(--fuente-titulo); font-weight: 700; font-size: 20px; color: var(--azul-profundo); }
.mm .compra-resumen-producto span { color: var(--magenta); }
.mm .compra-resumen-precio { font-family: var(--fuente-titulo); font-weight: 800; font-size: 34px; color: var(--azul-profundo); line-height: 1.2; margin-top: 6px !important; }
.mm .compra-resumen-precio small { font-size: 18px; font-weight: 600; }
.mm .compra-resumen-nota { font-size: 18px; color: var(--tinta-suave); }
.mm .compra-resumen-para { margin-top: 12px !important; padding-top: 12px; border-top: 2px dotted #EADBB0; font-size: 18px; line-height: 1.5; }

.mm .compra-turnstile { margin: 4px 0 18px; min-height: 0; }
.mm .compra-aviso { border-radius: 14px; padding: 16px 18px; margin: 0 0 18px; font-size: 19px; line-height: 1.45; }
.mm .compra-aviso:focus { outline: none; }
.mm .compra-aviso:focus-visible { outline: 4px solid var(--foco); outline-offset: 2px; }
.mm .compra-aviso-error { background: #FFF0EE; border: 3px solid #B3261E; color: #7A120B; font-weight: 500; }
.mm .compra-aviso-pronto { background: #EAF7EF; border: 3px solid var(--whatsapp); color: #0B3D22; }
.mm .compra-aviso-pronto p { margin-bottom: 12px; }
.mm .compra-wa { display: inline-flex; align-items: center; gap: 10px; min-height: 56px; padding: 12px 22px; border-radius: 999px; background: var(--whatsapp); color: var(--blanco) !important; font-family: var(--fuente-titulo); font-weight: 700; font-size: 19px; text-decoration: none; }
.mm .compra-wa svg { width: 26px; height: 26px; }
.mm .compra-seguro { display: flex; align-items: center; gap: 8px; font-size: 18px; color: var(--tinta-suave); margin: 0; }
.mm .compra-seguro svg { width: 22px; height: 22px; color: var(--azul); }

.mm .compra-pie { display: flex; gap: 12px; padding: 12px 16px calc(12px + env(safe-area-inset-bottom)); background: var(--blanco); border-top: 3px solid var(--amarillo-suave); }
.mm .compra-atras { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 60px; padding: 10px 18px; border-radius: 999px; border: 3px solid var(--azul-profundo); background: var(--blanco); color: var(--azul-profundo); font-family: var(--fuente-titulo); font-weight: 700; font-size: 19px; cursor: pointer; flex: none; }
.mm .compra-atras svg { width: 22px; height: 22px; }
.mm .compra-atras:hover { background: #FFF3C8; }
.mm .compra-seguir { flex: 1; min-height: 60px; }
.mm .compra-pie [aria-disabled="true"] { opacity: .6; cursor: progress; transform: none; }
html.compra-abierta { overflow: hidden; }

@media (min-width: 700px) {
  .mm .compra { width: min(640px, calc(100% - 48px)); height: auto; max-height: min(880px, calc(100dvh - 48px)); margin: auto; border: 4px solid var(--amarillo); border-radius: 28px; overflow: hidden; box-shadow: 0 30px 80px rgba(0, 0, 0, .35); }
  .mm .compra[open] { inset: 0; }
  .mm .compra-form { height: auto; max-height: min(872px, calc(100dvh - 56px)); }
  .mm .compra-cuerpo { padding: 28px 36px 32px; }
  .mm .compra-pie { padding: 14px 24px; }
}

/* ---------- Página de gracias ---------- */
.mm .gracias { min-height: 70vh; padding: 48px 0 72px; }
.mm .gracias-tarjeta { max-width: 680px; margin: 0 auto; background: var(--blanco); border: 4px solid var(--amarillo); border-radius: 36px; box-shadow: 0 8px 0 var(--amarillo-suave), 0 24px 60px rgba(0, 0, 102, .12); padding: 36px 22px 32px; text-align: center; }
.mm .gracias-icono { width: 84px; height: 84px; margin: 0 auto 18px; border-radius: 50%; display: grid; place-items: center; background: var(--azul-profundo); color: var(--amarillo); }
.mm .gracias-icono svg { width: 46px; height: 46px; }
.mm .gracias-icono-pendiente { background: var(--amarillo); color: var(--azul-profundo); }
.mm .gracias-icono-falla { background: #FFF0EE; color: #A1170F; border: 3px solid #B3261E; }
.mm .gracias h1 { font-size: clamp(32px, 8vw, 46px); }
.mm .gracias-texto { font-size: 21px; line-height: 1.5; }
.mm .gracias-nota { font-size: 19px; color: var(--tinta-suave); }
.mm .gracias .boton { margin: 12px 0 20px; }
.mm .gracias-ayuda { font-size: 19px; margin-top: 8px; }
.mm .gracias-ayuda a { font-weight: 500; }
@media (min-width: 600px) { .mm .gracias-tarjeta { padding: 48px 48px 40px; } }

/* ---------- Movimiento reducido ---------- */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .mm *, .mm *::before, .mm *::after { transition: none !important; animation: none !important; }
  .mm .boton-amarillo:hover { transform: none; }
}
