/* tarot-ia-web — estética continuada de tarot-ia-test (noche, oro, ✶) */
:root{
  --fondo:#0a0a14; --fondo2:#14122b; --tinta:#f4f0e6; --tinta2:#b9b2c4;
  --violeta:#6d3fd4; --violeta2:#a97bf5; --violeta-luz:rgba(140,90,240,.28);
  --oro:#d9b45b; --oro2:#f0d38a; --linea:rgba(217,180,91,.28);
  --linea-v:rgba(140,90,240,.22); --rojo:#e07a7a;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  background:
    radial-gradient(60% 42% at 50% 0%, rgba(109,63,212,.16), transparent 70%),
    radial-gradient(1px 1px at 12% 18%, rgba(255,255,255,.5) 50%, transparent 51%),
    radial-gradient(1px 1px at 78% 9%,  rgba(255,255,255,.4) 50%, transparent 51%),
    radial-gradient(1px 1px at 55% 32%, rgba(255,255,255,.35) 50%, transparent 51%),
    radial-gradient(1.5px 1.5px at 88% 55%, rgba(255,255,255,.3) 50%, transparent 51%),
    radial-gradient(1px 1px at 30% 70%, rgba(255,255,255,.3) 50%, transparent 51%),
    linear-gradient(180deg,var(--fondo) 0%,var(--fondo2) 100%);
  color:var(--tinta); min-height:100vh; line-height:1.6;
  display:flex; flex-direction:column;
}
main{flex:1}
.envoltura{max-width:1080px;margin:0 auto;padding:0 20px;width:100%}
.estrecha{max-width:460px}
.centrado{text-align:center}

.banda-pruebas{background:#3a2a08;color:var(--oro2);text-align:center;
  font-size:.72rem;padding:5px 10px;letter-spacing:.04em;
  border-bottom:1px solid var(--oro)}

/* ---- cabecera ---- */
header{padding:14px 0;border-bottom:1px solid var(--linea)}
.cabecera{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.marca{display:block;line-height:0;text-decoration:none}
.marca img{display:block;width:auto;height:46px}
@media(max-width:520px){.marca img{height:40px}}
.marca span{color:var(--tinta2);font-size:.62rem;letter-spacing:.16em;display:block;margin-top:1px;font-weight:400}
.cab-derecha{display:flex;align-items:center;gap:14px}
.insignia-ia{border:1px solid var(--linea);color:var(--oro2);padding:4px 12px;
  border-radius:999px;font-size:.68rem;letter-spacing:.12em;white-space:nowrap}
.hola{color:var(--tinta2);font-size:.85rem}
.enlace{color:var(--oro2);background:none;border:none;cursor:pointer;font-size:.9rem;
  text-decoration:none;padding:0}
.enlace:hover{text-decoration:underline}

/* ---- héroe ---- */
.heroe{display:grid;gap:36px;padding:48px 0 34px;align-items:center}
.heroe h1{font-size:clamp(1.8rem,5.2vw,2.9rem);line-height:1.15;font-weight:800}
.heroe h1 em{color:var(--violeta2);font-style:normal}
.heroe .sub{margin-top:16px;color:var(--tinta2);font-size:1.04rem;max-width:34em}

.naipe{
  width:min(180px,46vw);aspect-ratio:5/8;margin:0 auto;border-radius:14px;
  border:2px solid var(--oro);outline:1px solid var(--linea);outline-offset:6px;
  background:
    radial-gradient(circle at 50% 42%, var(--violeta-luz) 0 18%, transparent 42%),
    repeating-linear-gradient(45deg, rgba(217,180,91,.07) 0 10px, transparent 10px 20px),
    linear-gradient(160deg,#191932,#0e0e1e);
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 24px 60px rgba(0,0,0,.55); transform:rotate(4deg);
}
.naipe b{font-size:3rem;color:var(--oro2);text-shadow:0 0 22px rgba(240,211,138,.55)}
.naipe-quieto{transform:none;width:120px;margin:26px auto}

/* ---- elección de agente ---- */
.titulo-seccion{text-align:center;font-size:1.5rem;margin:26px 0 18px;color:var(--oro2)}
.agentes{display:grid;gap:18px;margin-bottom:36px}
.agente{
  border:1px solid var(--linea);border-radius:18px;padding:28px 22px;cursor:pointer;
  background:linear-gradient(180deg,rgba(109,63,212,.06),transparent 60%);color:var(--tinta);text-align:center;
  display:flex;flex-direction:column;gap:10px;align-items:center;
  transition:border-color .15s, transform .15s;
}
.agente:hover{border-color:var(--oro);transform:translateY(-2px)}
.agente-simbolo{font-size:2.6rem;color:var(--oro2);text-shadow:0 0 18px rgba(240,211,138,.45)}
.agente-nombre{font-size:1.2rem;letter-spacing:.3em;font-weight:700;color:var(--oro2)}
.agente-como{color:var(--tinta2);font-size:.92rem;max-width:26em}
.agente-como a{color:var(--oro2)}
.voz-guia{font-style:italic;color:var(--tinta);font-size:1.02rem;line-height:1.55;
  margin:4px 0 2px;max-width:24em;position:relative;padding:0 6px}
.voz-guia::before,.voz-guia::after{color:var(--violeta2);opacity:.8}
.retrato-guia{width:150px;height:auto;aspect-ratio:3/4;object-fit:cover;border-radius:14px;
  border:1px solid var(--oro);outline:1px solid var(--linea-v);outline-offset:5px;
  box-shadow:0 16px 40px rgba(0,0,0,.5);margin-bottom:4px}
.retrato-pagina{display:block;width:min(240px,60vw);height:auto;aspect-ratio:3/4;object-fit:cover;
  margin:26px auto 6px;border-radius:16px;border:2px solid var(--oro);
  outline:1px solid var(--linea-v);outline-offset:6px;
  box-shadow:0 24px 60px rgba(0,0,0,.55)}
.nota-retrato{text-align:center;color:var(--tinta2);font-size:.74rem;
  margin:2px 0 22px}
.nota-retrato a{color:var(--oro2);text-decoration:none;
  border-bottom:1px solid var(--linea)}
.agente .boton{margin-top:8px}

/* ---- botones y formularios ---- */
.boton{
  display:inline-block;border:0;cursor:pointer;border-radius:12px;
  background:linear-gradient(180deg,var(--oro2),var(--oro));color:#1a1405;
  font-size:1rem;font-weight:800;padding:14px 30px;letter-spacing:.02em;
  box-shadow:0 10px 30px rgba(217,180,91,.25);
}
.boton:active{transform:translateY(1px)}
.titulo-form{font-size:1.7rem;margin:44px 0 6px;text-align:center}
.sub-form{color:var(--tinta2);text-align:center;margin-bottom:26px}
.formulario{display:grid;gap:16px}
.formulario label{display:grid;gap:6px;font-size:.92rem;color:var(--tinta2)}
.formulario input[type=text],.formulario input[type=email],.formulario input[type=password]{
  padding:13px;border-radius:10px;border:1px solid var(--linea);
  background:var(--fondo);color:var(--tinta);font-size:1rem;
}
.formulario input:focus{outline:2px solid var(--oro);border-color:transparent}
.casilla{display:flex!important;gap:10px;align-items:flex-start;font-size:.85rem!important}
.casilla input{margin-top:4px}
.casilla a{color:var(--oro2)}
.error{color:var(--rojo);font-size:.9rem;text-align:center}
.pie-form{text-align:center;color:var(--tinta2);font-size:.9rem;margin:18px 0 40px}
.pie-form a{color:var(--oro2)}
.saldo{margin-top:30px;color:var(--tinta2)}
.saldo b{color:var(--oro2)}

/* ---- bloques de la portada ---- */
.honesta{border:1px solid var(--linea-v);border-radius:16px;padding:26px;margin:6px 0 26px;
  background:linear-gradient(180deg,rgba(109,63,212,.07),rgba(255,255,255,.02))}
.honesta h2{font-size:1.2rem;color:var(--oro2);margin-bottom:14px}
.honesta ul{list-style:none;display:grid;gap:10px}
.honesta li{padding-left:26px;position:relative}
.honesta li::before{content:"✶";position:absolute;left:0;color:var(--oro)}
.honesta p{margin-top:14px;color:var(--tinta2);font-size:.88rem}
.pasos{display:grid;gap:18px;padding:6px 0 28px}
.paso{border-top:1px solid var(--linea-v);padding-top:14px}
.paso b{color:var(--oro2)}
.paso small{color:var(--tinta2)}
.precios-mini{text-align:center;color:var(--tinta2);margin:0 0 44px}
.precios-mini b{color:var(--oro2)}

/* ---- tirada (FASE 2) ---- */
.paso-tirada{padding-bottom:40px}
.formulario textarea{
  padding:13px;border-radius:10px;border:1px solid var(--linea);
  background:var(--fondo);color:var(--tinta);font-size:1rem;font-family:inherit;resize:vertical;
}
.formulario textarea:focus{outline:2px solid var(--oro);border-color:transparent}
.centrada{margin:0 auto;max-width:460px}
#contador-cartas{color:var(--oro2);font-weight:700}
.baraja{display:grid;grid-template-columns:repeat(auto-fill,minmax(64px,1fr));
  gap:10px;max-width:760px;margin:0 auto}
.naipe-mini{
  aspect-ratio:5/8;border-radius:8px;border:1px solid var(--oro);cursor:pointer;
  background:
    repeating-linear-gradient(45deg, rgba(217,180,91,.08) 0 6px, transparent 6px 12px),
    linear-gradient(160deg,#191932,#0e0e1e);
  color:var(--oro2);font-size:1rem;display:flex;align-items:center;justify-content:center;
  transition:transform .15s, box-shadow .15s;
}
.naipe-mini:hover{transform:translateY(-4px)}
.naipe-mini.elegida{
  transform:translateY(-6px) scale(1.05);
  box-shadow:0 0 0 2px var(--oro2), 0 14px 26px rgba(0,0,0,.5);
}
.mesa{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;max-width:520px;
  margin:26px auto 20px}
.carta-mesa{
  border:1px solid var(--oro);border-radius:12px;padding:14px 8px;text-align:center;
  background:linear-gradient(160deg,#1b1b36,#101022);display:grid;gap:4px;
}
.carta-mesa small{color:var(--tinta2);letter-spacing:.14em;font-size:.62rem;text-transform:uppercase}
.carta-mesa b{color:var(--oro2);font-size:1.5rem}
.carta-mesa span{font-size:.8rem}
.carta-mesa i{color:var(--tinta2);font-size:.72rem}
.invertida-marca{border-style:dashed}
/* 8-ago-2026: la lámina real. Tarot de Marsella de Jean Dodal (~1701), dominio
   público — ver static/img/cartas/PROCEDENCIA.txt. Si la carta sale invertida se
   muestra girada, que es como se ve en la mesa de verdad. */
/* 9-ago-2026: la clienta cuenta su pregunta hablando (Gemini transcribe). */
.fila-grabar{display:flex;align-items:center;gap:10px;margin:-4px 0 4px}
.boton-microfono{background:transparent;border:1px dashed var(--linea-v);
  color:var(--tinta2);border-radius:999px;padding:7px 15px;font-size:.82rem;
  cursor:pointer;font-family:inherit;transition:border-color .2s,color .2s}
.boton-microfono:hover:not(:disabled){border-color:var(--oro);color:var(--oro2)}
.boton-microfono:disabled{opacity:.55;cursor:default}
.boton-microfono.grabando{border-style:solid;border-color:#c0504a;color:#e08b85;
  animation:latido 1.4s ease-in-out infinite}
.grabar-tiempo{font-size:.8rem;color:#e08b85;font-variant-numeric:tabular-nums}
@keyframes latido{0%,100%{opacity:1}50%{opacity:.55}}
@media (prefers-reduced-motion:reduce){.boton-microfono.grabando{animation:none}}

/* 9-ago-2026: la lectura dicha en alto con la voz de la guía (Gemini TTS). */
.zona-nota{padding:0 18px 16px;display:grid;gap:8px;justify-items:start}
.boton-nota{background:transparent;border:1px solid var(--oro);color:var(--oro2);
  border-radius:999px;padding:9px 18px;font-size:.86rem;cursor:pointer;
  font-family:inherit;transition:background .2s}
.boton-nota:hover:not(:disabled){background:rgba(212,175,90,.12)}
.boton-nota:disabled{opacity:.6;cursor:default}
.boton-nota b{font-weight:600}
#audio-nota{width:100%;max-width:360px}
.nota-aviso{color:var(--tinta2);font-size:.78rem;margin:0}
@media (prefers-reduced-motion:reduce){.boton-nota{transition:none}}

.carta-mesa .lamina{
  width:100%;max-width:132px;margin:2px auto 6px;display:block;
  border-radius:6px;box-shadow:0 4px 14px rgba(0,0,0,.45);
  background:#f4efe4;transition:transform .5s ease}
.invertida-marca .lamina{transform:rotate(180deg)}
.carta-mesa .lamina:hover{transform:scale(1.06)}
.invertida-marca .lamina:hover{transform:rotate(180deg) scale(1.06)}
@media (prefers-reduced-motion:reduce){.carta-mesa .lamina{transition:none}}
.panel-lectura{max-width:640px;margin:0 auto;border:1px solid var(--linea-v);
  border-radius:16px;background:rgba(255,255,255,.02)}
.lectura-cabecera{display:flex;justify-content:space-between;align-items:center;
  padding:12px 18px;border-bottom:1px solid var(--linea-v)}
#lectura-agente{letter-spacing:.25em;font-weight:700;color:var(--oro2)}
.texto-lectura{padding:18px;white-space:pre-wrap;line-height:1.75;min-height:120px;
  max-height:52vh;overflow-y:auto}
.texto-lectura.escribiendo::after{content:"▋";color:var(--oro2);animation:parpadeo 1s infinite}
@keyframes parpadeo{50%{opacity:0}}
.zona-repregunta{display:flex;gap:10px;max-width:640px;margin:14px auto 0;flex-wrap:wrap}
.zona-repregunta[hidden]{display:none}
.zona-repregunta input{
  flex:1;min-width:200px;padding:12px;border-radius:10px;border:1px solid var(--linea);
  background:var(--fondo);color:var(--tinta);font-size:.95rem;
}
.zona-repregunta input:focus{outline:2px solid var(--oro);border-color:transparent}
.boton-mini{padding:12px 20px;font-size:.9rem}
.contador-rep{width:100%;text-align:center;color:var(--tinta2);font-size:.78rem}

/* ---- legales ---- */
.texto-legal{padding:40px 0 50px}
.texto-legal a{color:var(--oro2);text-decoration:underline;text-underline-offset:2px}
.texto-legal a:hover{color:var(--oro);text-decoration:none}
.texto-legal ul{margin:8px 0 8px 20px}
.texto-legal li{margin:4px 0}
.texto-legal h1{font-size:1.6rem;margin-bottom:8px}
.texto-legal h2{font-size:1.05rem;color:var(--oro2);margin:22px 0 6px}
.texto-legal p{color:var(--tinta2);font-size:.95rem}
.aviso-borrador{display:inline-block;border:1px solid var(--linea);border-radius:999px;
  padding:4px 14px;font-size:.72rem;color:var(--oro2);letter-spacing:.08em}

/* ---- guía de pruebas (solo con modo_prueba) ---- */
.tabla-pruebas{width:100%;border-collapse:collapse;margin:14px 0 18px;font-size:.92rem}
.tabla-pruebas th{text-align:left;padding:9px 12px;border-bottom:1px solid var(--linea);
  color:var(--oro2);font-size:.74rem;letter-spacing:.09em;text-transform:uppercase;
  font-weight:600}
.tabla-pruebas td{padding:11px 12px;border-bottom:1px solid var(--linea-v);
  color:var(--tinta2);vertical-align:top}
.tabla-pruebas tr:last-child td{border-bottom:0}
.tabla-pruebas td b{color:var(--tinta)}
.tabla-pruebas a{font-size:1.12rem;letter-spacing:.02em;white-space:nowrap}
.tabla-pruebas td:first-child{white-space:nowrap}
.tabla-pruebas .menudo{color:var(--tinta2);font-size:.82rem}
.aviso-prueba{border-left:3px solid var(--rojo);background:rgba(224,122,122,.09);
  padding:13px 16px;border-radius:0 6px 6px 0;margin:14px 0}
.texto-legal p.aviso-prueba{color:var(--tinta2)}
.texto-legal p.aviso-prueba b{color:var(--tinta)}

footer{border-top:1px solid var(--linea-v);padding:28px 0 34px;color:var(--tinta2);
  font-size:.78rem;margin-top:40px}
footer a{color:var(--tinta2);text-decoration:none;display:block;padding:2px 0}
footer a:hover{color:var(--oro2)}
.pie-silos{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;padding-bottom:20px}
.pie-silos b{color:var(--oro2);display:block;margin-bottom:6px;letter-spacing:.06em}
.pie-final{border-top:1px solid var(--linea-v);padding-top:16px;text-align:center;
  font-size:.72rem;line-height:1.7}

/* ---- capa pública (F2) ---- */
.nav-publica{display:flex;gap:14px;flex-wrap:wrap;font-size:.88rem}
.nav-publica a{color:var(--tinta2);text-decoration:none}
.nav-publica a:hover{color:var(--oro2)}
.migas{font-size:.74rem;color:var(--tinta2);padding:8px 20px 0}
.migas a{color:var(--tinta2)}
.migas span{color:var(--oro2)}
.articulo{max-width:680px;margin:0 auto;padding:36px 0 50px}
.articulo h1{font-size:clamp(1.7rem,4.6vw,2.4rem);line-height:1.2;margin-bottom:14px}
.articulo h2{font-size:1.25rem;color:var(--oro2);margin:30px 0 10px}
.articulo h3{font-size:1.05rem;color:var(--oro2);margin:20px 0 8px}
.articulo p{margin:0 0 14px;color:var(--tinta)}
.articulo p.entradilla{color:var(--tinta2);font-size:1.06rem}
.articulo ul{margin:0 0 14px 20px}
.articulo li{margin-bottom:6px}
.articulo a{color:var(--oro2)}
.caja-cta{border:1px solid var(--oro);border-radius:16px;padding:22px;margin:26px 0;
  text-align:center;background:rgba(217,180,91,.05)}
.caja-cta p{margin-bottom:14px}
.faq{border-top:1px solid var(--linea-v);padding-top:8px;margin-top:26px}
.faq h3{margin-top:18px}
.dos-guias{display:grid;gap:14px;margin:22px 0}
@media(min-width:700px){.dos-guias{grid-template-columns:1fr 1fr}
  .pie-silos{grid-template-columns:repeat(4,1fr)}}
.mini-guia{border:1px solid var(--linea);border-radius:14px;padding:18px;text-align:center}
.mini-guia .agente-simbolo{font-size:2rem}
.mini-guia b{display:block;letter-spacing:.25em;color:var(--oro2);margin:6px 0}
.mini-guia small{color:var(--tinta2)}

/* herramienta sí o no */
.sino-mesa{text-align:center;padding:10px 0 8px}
.sino-carta{width:150px;margin:18px auto;cursor:pointer;transform:none;transition:transform .2s}
.sino-carta:hover{transform:translateY(-6px)}
.sino-resultado{max-width:420px;margin:0 auto}
.veredicto{font-size:2rem;font-weight:800;letter-spacing:.12em;margin:10px 0 4px}
.veredicto.si{color:var(--oro2)}
.veredicto.no{color:var(--tinta2)}
.veredicto.matiz{color:var(--tinta)}
.sino-frase{color:var(--tinta);font-size:1.05rem;line-height:1.6}
.sino-nombre{color:var(--tinta2);font-size:.85rem;margin-top:8px}
.sino-espera{color:var(--tinta2);font-size:.85rem;margin-top:14px}
.tabla-arcanos{width:100%;border-collapse:collapse;margin:14px 0;font-size:.92rem}
.tabla-arcanos td{border-top:1px solid var(--linea-v);padding:8px 6px}
.tabla-arcanos td:first-child{color:var(--oro2);white-space:nowrap}

@media (min-width:820px){
  .heroe{grid-template-columns:1.25fr .75fr;padding:72px 0 44px}
  .agentes{grid-template-columns:1fr 1fr;gap:26px}
  .pasos{grid-template-columns:repeat(3,1fr);gap:32px}
}

/* ---- F6 · pagos simulados y cuenta ---- */
.banda-simulada{background:#4a1414;color:#ffb4b4;border:1px solid var(--rojo);
  border-radius:10px;padding:10px 14px;text-align:center;font-size:.8rem;
  font-weight:700;letter-spacing:.05em;margin:26px 0 18px}
.historial{display:grid;gap:8px;margin-bottom:10px}
.lectura-item{border:1px solid var(--linea-v);border-radius:12px;padding:10px 14px;
  background:rgba(109,63,212,.05)}
.lectura-item summary{cursor:pointer;color:var(--tinta);font-size:.9rem}
.lectura-cuerpo{white-space:pre-wrap;color:var(--tinta2);font-size:.88rem;
  padding:10px 4px 4px;line-height:1.7}

/* ---- F4 · el ritual (afinado, anuncio, barajado, corte) ---- */
.ritual-caja{max-width:480px;margin:60px auto;display:grid;gap:22px;justify-items:center}
.ritual-voz{font-size:1.25rem;line-height:1.6;min-height:3.2em;color:var(--tinta)}
.boton-mini{padding:12px 20px;font-size:.9rem}
.boton-fantasma{background:none;border:1px solid var(--linea-v);color:var(--tinta2);
  border-radius:12px;padding:12px 20px;font-size:.9rem;cursor:pointer;margin-left:10px}
.boton-fantasma:hover{color:var(--tinta);border-color:var(--violeta2)}
.campo-ritual{display:block;width:100%;max-width:320px;margin:0 auto 14px;padding:13px;
  border-radius:10px;border:1px solid var(--linea-v);background:var(--fondo);
  color:var(--tinta);font-size:1rem;text-align:center}
.campo-ritual:focus{outline:2px solid var(--violeta2);border-color:transparent}
.corte-mazos{display:flex;gap:26px;justify-content:center}
.mazo-corte{width:110px;aspect-ratio:5/8;flex-direction:column;gap:8px;font-size:1.4rem}
.mazo-corte span{font-size:.6rem;letter-spacing:.18em;color:var(--tinta2)}
.mazo-corte:hover span{color:var(--oro2)}

/* ---- F3 · violeta místico premium ---- */
.tinte-selene{box-shadow:0 16px 40px rgba(120,110,240,.38)}
.tinte-orion{box-shadow:0 16px 40px rgba(230,150,70,.30)}
.naipe-mini:hover{box-shadow:0 10px 24px rgba(140,90,240,.30)}
.sino-carta:hover{box-shadow:0 14px 34px rgba(140,90,240,.32)}
.agente:hover{box-shadow:0 14px 36px rgba(109,63,212,.22)}
.insignia-ia{background:rgba(109,63,212,.10)}

/* ============ sala de voz (F5, simulación) ============ */
.sala-voz{max-width:680px;margin:0 auto;padding:26px 18px 60px}
.chip-simulacion{background:rgba(217,180,91,.12);border:1px solid var(--linea);
  color:var(--oro2);font-size:.8rem;padding:8px 14px;border-radius:10px;
  text-align:center;margin-bottom:22px}
.voz-intro{color:var(--tinta2);margin:10px 0 20px}
.voz-topes{color:var(--tinta2);font-size:.82rem;margin-top:14px;text-align:center}
.dir-tarjetas{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:560px){.dir-tarjetas{grid-template-columns:1fr}}
.dir-tarjeta{background:var(--fondo2);border:1px solid var(--violeta-luz);
  border-radius:16px;padding:20px 16px;color:var(--tinta);cursor:pointer;
  display:grid;gap:10px;text-align:left;font:inherit;transition:box-shadow .2s}
.dir-tarjeta:hover{box-shadow:0 14px 36px rgba(109,63,212,.22)}
.dir-tarjeta b{color:var(--oro2);font-size:1.05rem}
.dir-tarjeta small{color:var(--tinta2);font-size:.75rem;line-height:1.45}
.dir-tarjeta input{background:var(--fondo);border:1px solid var(--linea);
  color:var(--tinta);border-radius:8px;padding:8px 10px;font:inherit;width:100%}
.num-fake{font-size:1.3rem;letter-spacing:.12em;color:var(--violeta2)}
.tel-pantalla{background:radial-gradient(ellipse at top,#191533 0%,var(--fondo) 70%);
  border:1px solid var(--violeta-luz);border-radius:22px;padding:28px 18px 22px;
  display:grid;justify-items:center;gap:8px}
.tel-retrato{width:110px;height:110px;object-fit:cover;border-radius:50%;
  border:2px solid var(--violeta2);box-shadow:0 0 34px rgba(140,90,240,.4)}
.en-curso .tel-retrato{animation:latido 2.6s ease-in-out infinite}
@keyframes latido{50%{box-shadow:0 0 52px rgba(140,90,240,.65)}}
.tel-nombre{font-size:1.25rem;color:var(--oro2);letter-spacing:.08em}
.tel-estado{color:var(--tinta2);font-size:.85rem}
.tel-transcripcion{width:100%;max-height:300px;min-height:140px;overflow-y:auto;
  background:rgba(10,10,20,.55);border:1px solid var(--linea);border-radius:12px;
  padding:12px 14px;margin-top:10px;font-size:.92rem;display:grid;gap:8px}
.linea-guia{color:var(--tinta)}
.linea-cliente{color:var(--violeta2)}
.tel-controles{width:100%;display:grid;gap:10px;margin-top:8px;justify-items:center}
#form-decir{display:flex;gap:8px;width:100%}
#form-decir input{flex:1;background:var(--fondo);border:1px solid var(--linea);
  color:var(--tinta);border-radius:10px;padding:10px 12px;font:inherit}
.boton-interrumpir{background:#5a1d1d;color:#ffd9d9;border:1px solid #a34;
  border-radius:999px;padding:10px 22px;font:inherit;font-size:1rem;cursor:pointer;
  animation:latido 2s infinite}
.boton-colgar{background:#3a1420;color:#ff9b9b;border:1px solid #7c2c3c;
  border-radius:10px;padding:8px 20px;font:inherit;cursor:pointer}
.boton-mic{background:var(--fondo);border:1px solid var(--linea);border-radius:10px;
  font-size:1.1rem;padding:8px 12px;cursor:pointer}
.boton-mic.grabando{background:#5a1d1d;border-color:#a34;animation:latido 1.2s infinite}
.voz-nota{color:var(--tinta2);font-size:.72rem;margin-top:6px;text-align:center}
.tarjeta-real{border-color:var(--oro);background:linear-gradient(160deg,#1b1633,#141126)}
.tarjeta-real b{color:var(--oro2)}
.tarjeta-real:hover{box-shadow:0 14px 36px rgba(217,180,91,.25)}
.selector-guia{display:flex;gap:10px;margin:6px 0 4px}
.chip-guia{background:var(--fondo2);border:1px solid var(--linea-v);color:var(--tinta2);
  border-radius:999px;padding:8px 18px;font:inherit;cursor:pointer}
.chip-guia.activa{border-color:var(--oro);color:var(--oro2);
  box-shadow:0 6px 18px rgba(217,180,91,.18)}

/* ============ HÉROE DE DOS PROTAGONISTAS (6-ago) ============
   Las guías mandan en la portada: retratos grandes, fundidos al fondo, clicables.
   Sustituye al naipe genérico, que ocupaba el sitio de lo que de verdad vende. */
.heroe-guias{gap:0;padding:30px 0 8px;position:relative}
/* móvil: titular → CARAS → resto. Las guías entran en la primera pantalla,
   que es justo lo que vende, y el H1 se queda arriba para Google. */
.heroe-titulo{order:1}
.heroe-caras{order:2}
.heroe-texto{order:3}
.chapa-heroe{display:inline-block;border:1px solid var(--linea);color:var(--oro2);
  padding:6px 15px;border-radius:999px;font-size:.72rem;letter-spacing:.2em}
.heroe-titulo h1{margin-top:18px;font-size:clamp(2.1rem,7vw,3.4rem);line-height:1.08}
.heroe-botones{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.boton-fantasma{background:transparent;border:1px solid var(--linea);color:var(--oro2);
  box-shadow:none}
.boton-fantasma:hover{border-color:var(--oro)}
.heroe-checks{list-style:none;padding:0;margin:22px 0 0;display:grid;gap:9px;
  color:var(--tinta2);font-size:.92rem}
.heroe-checks li{display:flex;align-items:center;gap:10px}
.heroe-checks li::before{content:"✓";flex:0 0 22px;height:22px;border-radius:50%;
  border:1px solid var(--linea);color:var(--oro2);display:grid;place-items:center;
  font-size:.72rem}

/* las caras: a sangre, fundidas al fondo — el truco que hace que "estén ahí" */
.heroe-caras{position:relative;display:flex;justify-content:center;align-items:flex-end;
  margin:22px 0 6px;min-height:300px}
.cara{position:relative;background:none;border:0;padding:0;cursor:pointer;
  transition:transform .25s, filter .25s;filter:saturate(.92)}
/* fundido por los CUATRO lados: sin esto se ven rectángulos pegados, no presencias */
.cara img{display:block;width:100%;height:auto;
  -webkit-mask-image:
    linear-gradient(180deg,transparent 0,#000 14%,#000 58%,transparent 99%),
    linear-gradient(90deg,transparent 0,#000 15%,#000 85%,transparent 100%);
  mask-image:
    linear-gradient(180deg,transparent 0,#000 14%,#000 58%,transparent 99%),
    linear-gradient(90deg,transparent 0,#000 15%,#000 85%,transparent 100%);
  -webkit-mask-composite:source-in;mask-composite:intersect}
.cara-nombre{position:absolute;left:0;right:0;bottom:34px;text-align:center;
  font-size:.98rem;letter-spacing:.3em;font-weight:700;color:var(--oro2);
  text-shadow:0 2px 14px #000}
.cara-voz{position:absolute;left:6%;right:6%;bottom:2px;text-align:center;
  font-style:italic;font-size:.82rem;color:var(--tinta2);line-height:1.4;
  text-shadow:0 2px 10px #000;opacity:0;transition:opacity .25s}
.cara:hover,.cara:focus-visible{transform:translateY(-6px);filter:saturate(1.06)}
.cara:hover .cara-voz,.cara:focus-visible .cara-voz{opacity:1}
.cara-selene{width:52%;z-index:2;margin-right:-11%}
.cara-orion{width:52%;z-index:1;margin-bottom:26px}
.cara-selene img{filter:drop-shadow(0 20px 46px rgba(140,90,240,.42))}
.cara-orion img{filter:drop-shadow(0 20px 46px rgba(230,150,70,.30))}
.cara:hover{z-index:3}

@media (min-width:820px){
  /* escritorio: texto a la izquierda (dos filas), caras a la derecha ocupando ambas */
  .heroe-guias{grid-template-columns:1fr 1fr;gap:0 26px;align-items:center;
    padding:56px 0 10px;
    grid-template-areas:"titulo caras" "texto caras"}
  .heroe-titulo{grid-area:titulo;align-self:end}
  .heroe-texto{grid-area:texto;align-self:start}
  .heroe-caras{grid-area:caras}
  .heroe-caras{margin-top:0;min-height:440px}
  .cara-selene{width:56%;margin-right:-13%}
  .cara-orion{width:56%;margin-bottom:34px}
}
@media (min-width:1180px){
  .heroe-caras{min-height:500px}
}

/* ============ ESCAPARATE (6-ago) — ellos son el producto ============
   Dos protagonistas a pantalla completa, como un cartel de cine. La marca se
   aparta: lo que vende son sus caras, no el logotipo. */
body{overflow-x:hidden}
.escaparate{position:relative;width:100vw;margin-left:calc(50% - 50vw);
  height:min(86vh,740px);min-height:520px;display:flex;overflow:hidden;
  background:#07060f}
.escaparate-titulo{position:absolute;z-index:5;top:26px;left:0;right:0;text-align:center;
  font-size:clamp(1.05rem,2.4vw,1.5rem);font-weight:700;letter-spacing:.02em;
  color:var(--tinta);text-shadow:0 2px 22px #000;pointer-events:none;margin:0}
.escaparate-titulo span{display:block;font-size:.62em;font-weight:400;
  color:var(--tinta2);letter-spacing:.14em;margin-top:7px}

.mitad{position:relative;flex:1;border:0;padding:0;background:none;cursor:pointer;
  overflow:hidden;transition:flex .45s cubic-bezier(.2,.7,.3,1),filter .35s;
  filter:saturate(.9) brightness(.86)}
.mitad img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  object-position:50% 22%;transition:transform .6s cubic-bezier(.2,.7,.3,1)}
.mitad::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(7,6,15,.55) 0,transparent 26%,
    rgba(7,6,15,.35) 52%,rgba(7,6,15,.94) 92%)}
.mitad-selene::before,.mitad-orion::before{content:"";position:absolute;inset:0;z-index:1;
  mix-blend-mode:soft-light;opacity:.55}
.mitad-selene::before{background:linear-gradient(200deg,rgba(140,90,240,.55),transparent 62%)}
.mitad-orion::before{background:linear-gradient(160deg,rgba(230,150,70,.42),transparent 62%)}

.mitad-texto{position:absolute;z-index:3;left:0;right:0;bottom:0;padding:0 6% 34px;
  display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center}
.mitad-simbolo{font-size:1.6rem;color:var(--oro2);text-shadow:0 0 20px rgba(240,211,138,.6)}
.mitad-nombre{font-size:clamp(2rem,5.4vw,3.6rem);font-weight:800;letter-spacing:.16em;
  line-height:1;color:#fff;text-shadow:0 4px 30px #000}
.mitad-lema{font-size:clamp(.9rem,1.5vw,1.08rem);color:var(--oro2);letter-spacing:.12em}
.mitad-voz{font-style:italic;color:var(--tinta);font-size:clamp(.86rem,1.35vw,1rem);
  max-width:24em;line-height:1.5;margin-top:8px;text-shadow:0 2px 16px #000;
  opacity:.92;max-height:0;overflow:hidden;transition:max-height .4s,opacity .3s,margin .4s}
.mitad-cta{display:inline-block;margin-top:12px;border-radius:999px;padding:11px 26px;
  font-weight:800;font-size:.95rem;background:linear-gradient(180deg,var(--oro2),var(--oro));
  color:#1a1405;box-shadow:0 10px 30px rgba(0,0,0,.5)}

/* el foco: la guía señalada crece, se ilumina y suelta su frase */
.mitad:hover,.mitad:focus-visible{flex:1.35;filter:saturate(1.05) brightness(1.04)}
.mitad:hover img,.mitad:focus-visible img{transform:scale(1.05)}
.mitad:hover .mitad-voz,.mitad:focus-visible .mitad-voz{max-height:6em;margin-top:8px}
.escaparate:hover .mitad:not(:hover){flex:.8;filter:saturate(.55) brightness(.6)}

@media (max-width:719px){
  .escaparate{flex-direction:column;height:auto;min-height:0}
  .mitad{flex:none;height:53vh;min-height:390px}
  .escaparate:hover .mitad:not(:hover){flex:none;filter:none}
  .mitad:hover,.mitad:focus-visible{flex:none}
  .mitad-voz{max-height:6em;margin-top:8px}
  /* en móvil el titular cae sobre la cara: se queda solo el rótulo y con más suelo */
  .escaparate-titulo{top:14px}
  .escaparate-titulo span{display:none}
  .mitad::after{background:linear-gradient(180deg,rgba(7,6,15,.82) 0,rgba(7,6,15,.2) 18%,
    rgba(7,6,15,.3) 48%,rgba(7,6,15,.95) 90%)}
}

.tira-checks{list-style:none;padding:0;margin:22px 0 6px;display:flex;flex-wrap:wrap;
  justify-content:center;gap:10px 26px;color:var(--tinta2);font-size:.9rem}
.tira-checks li{display:flex;align-items:center;gap:9px}
.tira-checks li::before{content:"✓";flex:0 0 21px;height:21px;border-radius:50%;
  border:1px solid var(--linea);color:var(--oro2);display:grid;place-items:center;
  font-size:.7rem}

/* ---- página de guía: su cara, a pantalla ---- */
.guia-heroe{position:relative;width:100vw;margin-left:calc(50% - 50vw);
  height:min(80vh,700px);min-height:460px;overflow:hidden;background:#07060f}
.guia-heroe img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  /* el encuadre baja para que la cara respire arriba y el texto caiga sobre el cuerpo */
  object-position:50% 30%}
.guia-heroe::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(7,6,15,.5) 0,transparent 22%,
    rgba(7,6,15,.4) 48%,rgba(7,6,15,.96) 93%)}
.guia-heroe::before{content:"";position:absolute;inset:0;z-index:1;
  mix-blend-mode:soft-light;opacity:.5}
.guia-heroe-selene::before{background:linear-gradient(200deg,rgba(140,90,240,.6),transparent 60%)}
.guia-heroe-orion::before{background:linear-gradient(160deg,rgba(230,150,70,.45),transparent 60%)}
.guia-heroe-texto{position:absolute;z-index:3;left:0;right:0;bottom:0;padding:0 6% 36px;
  display:flex;flex-direction:column;align-items:center;gap:7px;text-align:center}
.guia-heroe-cita{font-style:italic;color:var(--tinta);margin:10px 0 4px;max-width:30em;
  font-size:clamp(.95rem,1.7vw,1.16rem);line-height:1.55;text-shadow:0 2px 18px #000}
.guia-heroe-texto .boton{margin-top:10px}

/* ============ SALA DE CONSULTA (6-ago) ============
   La guía preside a la izquierda, a sangre y sin marco, degradándose hacia el
   centro; la consulta ocupa la derecha, limpia. */
.sala{position:relative;width:100vw;margin-left:calc(50% - 50vw);
  display:grid;grid-template-columns:1fr;min-height:calc(100vh - 120px)}
.sala-guia{position:relative;overflow:hidden;min-height:270px}
.sala-guia img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  object-position:50% 28%}
.sala-guia::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(10,10,20,.42) 0,transparent 34%,
    rgba(10,10,20,.9) 88%,var(--fondo) 100%)}
.sala-firma{position:absolute;z-index:2;left:0;right:0;bottom:16px;text-align:center;
  display:grid;gap:2px}
.sala-firma b{font-size:1.05rem;letter-spacing:.26em;color:var(--oro2);
  text-shadow:0 2px 16px #000}
.sala-firma i{font-style:normal;font-size:.78rem;letter-spacing:.14em;
  color:var(--tinta2);text-shadow:0 2px 12px #000}
.sala-consulta{padding:26px 20px 40px;max-width:640px;margin:0 auto;width:100%}

@media (min-width:900px){
  .sala{grid-template-columns:minmax(320px,40%) 1fr;align-items:stretch}
  .sala-guia{min-height:0}
  /* el degradado va hacia la DERECHA: la imagen se funde con la consulta */
  /* MÁSCARA, no color: pintar el fundido con var(--fondo) dejaba un corte visible
     porque el fondo de la página es un degradado y abajo ya no es ese color. */
  .sala-guia img{
    -webkit-mask-image:linear-gradient(90deg,#000 0,#000 40%,transparent 94%);
    mask-image:linear-gradient(90deg,#000 0,#000 40%,transparent 94%)}
  .sala-guia::after{background:
    linear-gradient(180deg,rgba(10,10,20,.3) 0,transparent 22%,rgba(10,10,20,.4) 100%)}
  .sala-firma{left:8%;right:auto;bottom:36px;text-align:left;justify-items:start}
  .sala-consulta{padding:44px 40px 60px;margin:0;max-width:none}
  .sala-consulta .estrecha{margin-left:0}
  .sala-consulta .centrado,.sala-consulta .paso-tirada{text-align:left}
  .sala-consulta .titulo-form,.sala-consulta .sub-form{text-align:left}
  .sala-consulta .formulario{margin-left:0}
  .sala-consulta .saldo{text-align:left}
}
@media (min-width:1280px){
  .sala{grid-template-columns:minmax(380px,44%) 1fr}
}

/* el número de teléfono real, en la sala de voz */
.num-real{display:block;font-size:1.9rem;font-weight:800;color:var(--oro2);
  letter-spacing:.06em;margin:8px 0 4px;font-variant-numeric:tabular-nums}
#dir-marcar{text-decoration:none}

/* ---- los cuatro canales, en portada ----------------------------------------
   Lo extraordinario del producto no es que haya tarot por IA: es que se habla con
   ella como con una vidente de verdad, por cuatro caminos. Hasta el 9-ago esto
   vivía en una página de segundo nivel y los teléfonos ni se veían. Va arriba. */
.canales{margin:42px 0 30px}
.canales-titulo{font-size:clamp(1.5rem,3.6vw,2.1rem);line-height:1.18;text-align:center;
  font-weight:800;color:var(--tinta)}
.canales-titulo span{display:block;font-size:.95rem;font-weight:400;color:var(--tinta2);
  max-width:52ch;margin:10px auto 0;line-height:1.55}
.canales-rejilla{display:grid;gap:14px;margin-top:24px;grid-template-columns:1fr}
/* cuatro tarjetas quieren 2×2, no 3+1: en 3+1 la cuarta parece un añadido y
   justo la cuarta —los audios— es de las que más venden */
@media(min-width:620px){.canales-rejilla{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1180px){.canales-rejilla{grid-template-columns:repeat(4,1fr)}}
.canal{display:flex;flex-direction:column;gap:7px;text-decoration:none;color:var(--tinta);
  border:1px solid var(--linea-v);border-radius:16px;padding:20px 20px 18px;
  background:linear-gradient(180deg,rgba(109,63,212,.07),rgba(255,255,255,.015));
  transition:border-color .15s,transform .15s}
a.canal:hover{border-color:var(--oro);transform:translateY(-2px)}
.canal-icono{font-size:1.5rem;line-height:1}
.canal b{font-size:1.12rem;color:var(--oro2);letter-spacing:.01em}
.canal-que{color:var(--tinta2);font-size:.92rem;line-height:1.5}
.canal-que b{font-size:inherit;color:var(--tinta)}
.canal-nota{color:var(--tinta2);font-size:.78rem;margin-top:auto;padding-top:6px;
  opacity:.85}
.canal-fuerte{border-color:var(--linea);
  background:linear-gradient(160deg,rgba(217,180,91,.10),rgba(109,63,212,.05))}
.canal-numeros{display:flex;flex-direction:column;gap:5px;margin-top:4px}
.canal-numeros span{display:flex;align-items:baseline;gap:9px;
  font-size:1.28rem;font-weight:800;color:var(--oro2);letter-spacing:.03em;
  font-variant-numeric:tabular-nums;white-space:nowrap}
.canal-numeros i{font-style:normal;font-size:.74rem;font-weight:600;color:var(--tinta2);
  letter-spacing:.06em;min-width:64px}
.canal-pronto{opacity:.72}
.sello-pronto{display:inline-block;align-self:flex-start;margin-top:auto;
  border:1px dashed var(--linea);border-radius:999px;padding:4px 12px;
  font-size:.7rem;letter-spacing:.07em;color:var(--tinta2);text-transform:uppercase}
.canales-voz{text-align:center;color:var(--tinta2);font-size:.95rem;margin:20px auto 0;
  max-width:50ch}
.canales-voz b{color:var(--oro2)}

/* ---- los tres canales en la página de cada guía --------------------------
   David, 9-ago: «los 3 botones en línea con igual tamaño e importancia, y en
   responsive en vertical uno debajo del otro». Igual importancia significa
   igual ancho: por eso 1fr cada uno y no auto — con auto, el de «Recibe la
   llamada de Orión» saldría el doble de largo solo por tener más letras. */
.trio-canales{display:grid;gap:10px;grid-template-columns:1fr;width:100%;margin-top:6px}
.trio-canales .boton{width:100%;text-align:center;padding:14px 12px;font-size:.95rem;
  display:flex;align-items:center;justify-content:center;min-height:52px;
  text-decoration:none;line-height:1.25}
@media(min-width:720px){
  .trio-canales{grid-template-columns:repeat(3,1fr)}
}

/* ---- los otros caminos, DEBAJO de la acción principal -------------------
   Estuvieron arriba unas horas el 9-ago y David lo tumbó con razón: «¿por qué
   los otros están arriba, la experiencia más difícil en una pantalla?». Es la
   zona roja del pulgar. Y su propia bóveda (nota de CRO) manda una sola
   llamada a la acción por página. Aquí van en tono menor, después del botón. */
.otros-caminos{text-align:center;color:var(--tinta2);font-size:.88rem;margin-top:4px}
.otros-caminos a{color:var(--oro2);text-decoration:none;
  border-bottom:1px solid var(--linea);padding:6px 2px;display:inline-block}
.otros-caminos a:hover{border-bottom-color:var(--oro)}
/* el botón que de verdad importa: alto de sobra para el pulgar (Google pide 48) */
.boton-principal{min-height:56px;font-size:1.05rem}

/* ---- (retirado) selector de canal arriba --------------------------------
   Los tres caminos a la vista nada más entrar, sin meter una pantalla más:
   el de escribir viene ya activo. Es un mando de tres, no tres botones de
   llamada a la acción — por eso es sobrio: si compitiera con el botón dorado
   de enviar la pregunta, se cargaría el flujo de quien solo quiere escribir. */
.selector-canal{display:grid;grid-template-columns:1fr;gap:8px;max-width:560px;
  margin:14px auto 4px;padding:0 4px}
@media(min-width:600px){.selector-canal{grid-template-columns:repeat(3,1fr)}}
.selector-canal .canal-op{display:flex;align-items:center;justify-content:center;
  gap:7px;padding:11px 10px;border:1px solid var(--linea-v);border-radius:11px;
  color:var(--tinta2);text-decoration:none;font-size:.88rem;font-weight:600;
  background:rgba(255,255,255,.02);transition:border-color .15s,color .15s;
  text-align:center;line-height:1.2}
.selector-canal a.canal-op:hover{border-color:var(--oro);color:var(--tinta)}
.selector-canal .canal-op.activo{border-color:var(--oro);color:var(--oro2);
  background:linear-gradient(180deg,rgba(217,180,91,.13),rgba(217,180,91,.04));
  cursor:default}
