/* Robot IA WebDesign · mascota articulada (cabeza, brazos, visor que parpadea) */
.rv{--w:96px;--brazo:0deg;--cabeza:0deg;position:relative;display:inline-block;flex:0 0 auto;width:var(--w);aspect-ratio:275/372;vertical-align:bottom;cursor:pointer;-webkit-tap-highlight-color:transparent}
.rv[data-pose="arriba"]{--brazo:-38deg;--cabeza:-5deg}
.rv[data-pose="abajo"]{--brazo:42deg;--cabeza:7deg}
.rv-fig{position:absolute;inset:0;transform-origin:50% 100%;opacity:0;transform:translateX(-26px)}
.rv[data-pose="izquierda"] .rv-fig{transform:scaleX(-1) translateX(-26px)}
.rv-fig img,.rv-cab,.rv-cab-in{position:absolute;inset:0;width:100%;height:100%}
/* Las piezas del robot no heredan bordes, sombras ni marcos de las imágenes de la página */
.rv img{border:0!important;border-radius:0!important;box-shadow:none!important;background:none!important;padding:0!important;margin:0!important;max-width:none!important;outline:0!important;filter:none;object-fit:fill!important;aspect-ratio:auto!important}
.rv-cab,.rv-cab-in{transform-origin:47.3% 51.6%}
.rv-cab{transform:rotate(calc(var(--cabeza) + var(--mira,0deg)));transition:transform .35s ease-out}
.rv-brazo{transform-origin:63.3% 55.1%;transform:rotate(var(--brazo))}
.rv-brazo2{transform-origin:18.9% 60.5%}
.rv-parpado{position:absolute;left:39%;top:23.4%;width:32.4%;height:15.6%;border-radius:22%/38%;background:linear-gradient(#1a2850,#121d3d);transform:scaleY(0);transform-origin:50% 50%}
.rv-bocadillo{position:absolute;bottom:92%;left:50%;z-index:3;width:max-content;max-width:190px;padding:7px 11px;border:1px solid rgba(120,170,255,.55);border-radius:14px;background:rgba(9,16,32,.94);color:#e8eefc;font-size:.8rem;font-weight:800;line-height:1.25;text-align:center;box-shadow:0 8px 22px rgba(0,0,0,.4),0 0 14px rgba(70,140,255,.25);opacity:0;transform:translate(-50%,6px) scale(.9);transition:opacity .25s,transform .25s;pointer-events:none}
.rv-bocadillo::after{content:"";position:absolute;left:50%;top:100%;border:7px solid transparent;border-top-color:rgba(9,16,32,.94);transform:translateX(-50%)}

/* Entrada al aparecer en pantalla: llega andando */
.rv.rv-dentro .rv-fig{animation:rvLlega .9s cubic-bezier(.3,1.4,.5,1) forwards,rvRespira 3.2s ease-in-out .9s infinite,rvBrillo 4s ease-in-out 1s infinite}
.rv[data-pose="izquierda"].rv-dentro .rv-fig{animation:rvLlegaIzq .9s cubic-bezier(.3,1.4,.5,1) forwards,rvRespiraIzq 3.2s ease-in-out .9s infinite,rvBrillo 4s ease-in-out 1s infinite}
.rv.rv-dentro .rv-brazo{animation:rvSenala 1.25s ease-in-out .9s infinite}
.rv.rv-dentro .rv-brazo2{animation:rvBalanceo 2.5s ease-in-out infinite}
.rv.rv-dentro .rv-cab-in{animation:rvAsiente 2.5s ease-in-out .9s infinite}
.rv.rv-dentro .rv-parpado{animation:rvParpadeo var(--parpadeo,4.6s) ease-in-out var(--retraso,1.5s) infinite}
.rv.rv-habla .rv-bocadillo{opacity:1;transform:translate(-50%,0) scale(1)}
.rv.rv-habla .rv-brazo{animation:rvSenalaRapido .5s ease-in-out infinite}

@keyframes rvLlega{0%{opacity:0;transform:translateX(-26px)}25%{transform:translateX(-17px) translateY(-4px)}50%{transform:translateX(-9px)}75%{transform:translateX(-3px) translateY(-3px)}100%{opacity:1;transform:none}}
@keyframes rvLlegaIzq{0%{opacity:0;transform:scaleX(-1) translateX(-26px)}50%{transform:scaleX(-1) translateX(-9px) translateY(-3px)}100%{opacity:1;transform:scaleX(-1)}}
@keyframes rvRespira{0%,100%{opacity:1;transform:none}50%{opacity:1;transform:translateY(-1.5px) scaleY(1.012)}}
@keyframes rvRespiraIzq{0%,100%{opacity:1;transform:scaleX(-1)}50%{opacity:1;transform:scaleX(-1) translateY(-1.5px) scaleY(1.012)}}
@keyframes rvBrillo{0%,70%,100%{filter:drop-shadow(0 5px 7px rgba(0,0,0,.35))}80%,88%{filter:drop-shadow(0 5px 7px rgba(0,0,0,.35)) drop-shadow(0 0 9px rgba(70,150,255,.6))}}
@keyframes rvSenala{0%,100%{transform:rotate(var(--brazo))}40%{transform:rotate(calc(var(--brazo) - 9deg))}55%{transform:rotate(calc(var(--brazo) - 5deg))}70%{transform:rotate(calc(var(--brazo) - 9deg))}}
@keyframes rvSenalaRapido{0%,100%{transform:rotate(var(--brazo))}50%{transform:rotate(calc(var(--brazo) - 12deg))}}
@keyframes rvBalanceo{0%,100%{transform:rotate(-5deg)}50%{transform:rotate(7deg)}}
@keyframes rvAsiente{0%,100%{transform:rotate(0)}22%{transform:rotate(3deg)}36%{transform:rotate(1deg)}52%{transform:rotate(3.5deg)}78%{transform:rotate(-1.5deg)}}
@keyframes rvParpadeo{0%,92%,100%{transform:scaleY(0)}95%{transform:scaleY(1)}}

/* Colocaciones */
.rv-fila{display:flex;align-items:center;gap:14px;flex-wrap:nowrap}
#inicio .rv-fila{flex-wrap:wrap;justify-content:center}
#inicio .rv{--w:80px}
.rv-esquina{position:absolute;z-index:2;--w:86px}
.rv-esquina.arriba-dcha{bottom:100%;right:6%}
.agenda-banner.rv-pegado{margin-top:calc(86px * 1.4)}
.rv-esquina.abajo-izq{bottom:-12px;left:-18px}
.rv-pegado{position:relative}
.rv-centro{display:flex;justify-content:center;margin:6px 0 -6px}
/* Dentro del botón flotante de WhatsApp */
.rv-wa{--w:44px;margin:-22px -2px -8px -10px}
.rv-wa .rv-bocadillo{bottom:118%}

@media (max-width:760px){.rv-esquina{--w:66px}.agenda-banner.rv-pegado{margin-top:calc(66px * 1.4)}}
@media (max-width:420px){.rv:not(.rv-wa){--w:72px}#inicio .rv{--w:62px}.rv-fila{gap:8px}}
/* Figura de frente: proporciones, articulaciones y visor propios */
.rv[data-figura="frente"]{aspect-ratio:226/359}
.rv[data-figura="frente"] .rv-cab,.rv[data-figura="frente"] .rv-cab-in{transform-origin:50% 60%}
.rv[data-figura="frente"] .rv-brazo{transform-origin:82.3% 66.9%}
.rv[data-figura="frente"] .rv-brazo2{transform-origin:17.7% 66.9%}
.rv[data-figura="frente"] .rv-visor,.rv[data-figura="frente"] .rv-parpado{left:20.5%;top:26.6%;width:61.5%;height:17.4%;border-radius:20%/40%}
.rv[data-figura="frente"] .rv-nube{left:72%;top:-8%}
.rv[data-figura="frente"]{--brazo:0deg;--cabeza:0deg}
.rv[data-figura="frente"].rv-dentro .rv-brazo{animation:rvColgado 2.6s ease-in-out .9s infinite}
.rv[data-figura="frente"].rv-dentro .rv-brazo2{animation:rvColgado2 2.6s ease-in-out infinite}
@keyframes rvColgado{0%,100%{transform:rotate(0)}50%{transform:rotate(-5deg)}}
@keyframes rvColgado2{0%,100%{transform:rotate(0)}50%{transform:rotate(5deg)}}
/* Saluda con la mano */
.rv[data-figura="frente"][data-modo="saluda"].rv-dentro .rv-brazo{animation:rvSaluda 1.1s ease-in-out .9s infinite}
@keyframes rvSaluda{0%,100%{transform:rotate(-150deg)}50%{transform:rotate(-118deg)}}
.rv[data-figura="frente"][data-modo="saluda"].rv-dentro .rv-cab-in{animation:rvLadea 2.2s ease-in-out infinite}
/* Pensando: mano a la barbilla */
.rv[data-figura="frente"][data-modo="piensa"]{--brazo:146deg;--cabeza:-4deg}
.rv[data-figura="frente"][data-modo="piensa"] .rv-cab{z-index:auto}
/* Haciendo cuentas: mano delante del pecho, teclea */
.rv[data-figura="frente"][data-modo="cuenta"]{--brazo:118deg;--cabeza:8deg}
/* Bailando: los dos brazos arriba, alternos */
.rv[data-figura="frente"][data-modo="baila"].rv-dentro .rv-brazo{animation:rvArribaD .45s ease-in-out infinite alternate}
.rv[data-figura="frente"][data-modo="baila"].rv-dentro .rv-brazo2{animation:rvArribaI .45s ease-in-out infinite alternate}
@keyframes rvArribaD{from{transform:rotate(-150deg)}to{transform:rotate(-110deg)}}
@keyframes rvArribaI{from{transform:rotate(110deg)}to{transform:rotate(150deg)}}

/* Más vida: la de frente también mueve la cabeza; saltos y miradas al azar (los lanza robot.js) */
.rv[data-figura="frente"]:not([data-modo]).rv-dentro .rv-cab-in{animation:rvMiraAlrededor 5.5s ease-in-out infinite}
@keyframes rvMiraAlrededor{0%,100%{transform:rotate(0)}18%{transform:rotate(-6deg)}30%{transform:rotate(-6deg)}48%{transform:rotate(5deg)}62%{transform:rotate(5deg)}80%{transform:rotate(0)}}
.rv .rv-salto{position:absolute;inset:0}
.rv-salto{rotate:var(--incl,0deg);transform-origin:50% 100%;transition:rotate .25s ease-out}
.rv.rv-salta .rv-salto{animation:rvSalto .75s cubic-bezier(.3,.7,.4,1)}
@keyframes rvSalto{0%{transform:translateY(0) scaleY(1)}15%{transform:translateY(0) scale(1.06,.9)}45%{transform:translateY(-28%) scale(.96,1.06)}75%{transform:translateY(0) scale(1.07,.92)}100%{transform:none}}
/* Se agacha: flexiona (aplasta desde los pies), baja la cabeza y vuelve a subir */
.rv.rv-agacha .rv-salto{animation:rvAgacha 1.3s cubic-bezier(.4,.1,.3,1)}
@keyframes rvAgacha{0%,100%{transform:none}25%,60%{transform:translateY(4%) scale(1.05,.82)}75%{transform:translateY(-3%) scale(.97,1.04)}}
.rv.rv-agacha .rv-cab{transform:rotate(calc(var(--cabeza) + 8deg));transition:transform .35s}
/* Se estira: se alarga hacia arriba y sube los brazos */
.rv.rv-estira .rv-salto{animation:rvEstira 1.4s ease-in-out}
@keyframes rvEstira{0%,100%{transform:none}35%,65%{transform:scale(.97,1.08)}}
.rv.rv-estira .rv-brazo2{transform:rotate(25deg)!important;transition:transform .4s}
/* Pasitos en el sitio */
.rv.rv-pasos .rv-salto{animation:rvPasos 1.2s ease-in-out}
@keyframes rvPasos{0%,100%{transform:none}12%,37%,62%,87%{transform:translateY(-5%) rotate(-2deg)}25%,75%{transform:translateY(0) rotate(2deg)}50%{transform:translateX(4%)}}
/* Saludo rápido (cualquier figura) */
.rv.rv-hola .rv-brazo{animation:rvSaluda .38s ease-in-out 3 alternate!important}
.rv:not([data-figura="frente"]).rv-hola .rv-brazo{animation:rvHolaCostado .38s ease-in-out 3 alternate!important}
@keyframes rvHolaCostado{from{transform:rotate(-60deg)}to{transform:rotate(-30deg)}}
.rv.rv-gira .rv-cab{transform:rotate(calc(var(--cabeza) + var(--mira,0deg) - 9deg));transition:transform .3s}

/* Aprendiendo: levanta la mano como quien acaba de entender algo y asiente */
.rv[data-figura="frente"][data-modo="aprende"].rv-dentro .rv-brazo{animation:rvEureka 3.2s ease-in-out infinite}
.rv[data-figura="frente"][data-modo="aprende"].rv-dentro .rv-cab-in{animation:rvAsiente 1.6s ease-in-out infinite}
@keyframes rvEureka{0%,30%,100%{transform:rotate(0)}45%,75%{transform:rotate(-155deg)}55%,65%{transform:rotate(-140deg)}}
/* Tarjeta de aprendizaje: robot en línea con el título */
.learning-card:has(> .rv){grid-template-columns:78px minmax(0,1fr)!important;justify-items:start!important;align-items:center!important;text-align:left!important;gap:6px 16px!important}
.learning-card > .rv{--w:74px;grid-column:1;grid-row:1}
.learning-card > .rv .rv-bocadillo{left:0;transform:translate(0,6px) scale(.9)}.learning-card > .rv.rv-habla .rv-bocadillo{transform:none}.learning-card > .rv .rv-bocadillo::after{left:26px}
.learning-card:has(> .rv) .learning-copy{grid-column:2!important;text-align:left!important;margin:0!important}
.learning-card:has(> .rv) h3{text-align:left!important}
@media (max-width:620px){.learning-card:has(> .rv){grid-template-columns:62px minmax(0,1fr)!important;align-items:start!important;padding-top:34px}.learning-card > .rv{--w:60px}}

/* Espejo para señalar a la izquierda sin tocar las animaciones (propiedad scale independiente) */
.rv .rv-fig{transition:scale .35s ease-in-out}
.rv.rv-espejo .rv-fig{scale:-1 1}
/* En espejo el visor se vuelve a girar para que «IA» se lea bien */
.rv.rv-espejo .rv-visor{scale:-1 1}
.rv-fila .rv.rv-espejo .rv-bocadillo,.rv-esquina.rv-espejo .rv-bocadillo{left:auto;right:0;transform:translate(0,6px) scale(.9)}
.rv-fila .rv.rv-espejo.rv-habla .rv-bocadillo,.rv-esquina.rv-espejo.rv-habla .rv-bocadillo{transform:none}
.rv-fila .rv.rv-espejo .rv-bocadillo::after,.rv-esquina.rv-espejo .rv-bocadillo::after{left:auto;right:24px;transform:none}

/* Movimiento reducido: sin andar, botar ni bailar; mantiene parpadeo, mirada y gestos pequeños */
@media (prefers-reduced-motion:reduce){.rv.rv-salta .rv-salto,.rv.rv-agacha .rv-salto,.rv.rv-estira .rv-salto,.rv.rv-pasos .rv-salto{animation:none}.rv .rv-fig,.rv.rv-dentro .rv-fig,.rv[data-modo].rv-dentro .rv-fig{opacity:1;transform:none;animation:none!important}.rv[data-pose="izquierda"] .rv-fig,.rv[data-pose="izquierda"].rv-dentro .rv-fig{transform:scaleX(-1)!important}.rv[data-modo="baila"].rv-dentro .rv-brazo{animation:rvSenala 1.25s ease-in-out infinite!important}.rv[data-modo="baila"].rv-dentro .rv-brazo2{animation:rvBalanceo 2.5s ease-in-out infinite!important}.rv[data-modo="baila"].rv-dentro .rv-cab-in{animation:rvAsiente 2.5s ease-in-out infinite!important}}

/* Pantalla del visor: expresiones */
.rv-visor{position:absolute;left:39%;top:23.4%;width:32.4%;height:15.6%;border-radius:22%/38%;background:linear-gradient(#16244a,#0f1a38);display:flex;align-items:center;justify-content:center;color:#8fd0ff;font:700 calc(var(--w)*.13)/1 "Inter",system-ui,sans-serif;letter-spacing:.04em;text-shadow:0 0 4px #4aa8ff,0 0 9px #2f7dff;opacity:0;transition:opacity .18s;white-space:nowrap;overflow:hidden}
.rv-visor.on{opacity:1}
.rv-nube{position:absolute;left:58%;top:-6%;display:flex;gap:3px;opacity:0;transition:opacity .3s}
.rv-nube i{width:calc(var(--w)*.06);height:calc(var(--w)*.06);border-radius:50%;background:#bcd6ff;box-shadow:0 0 6px #6aa8ff;animation:rvNube 1.4s ease-in-out infinite}
.rv-nube i:nth-child(2){animation-delay:.2s}.rv-nube i:nth-child(3){animation-delay:.4s}
.rv[data-modo="piensa"].rv-dentro .rv-nube{opacity:1}
@keyframes rvNube{0%,100%{transform:translateY(0);opacity:.4}50%{transform:translateY(-4px);opacity:1}}

/* Pensando: se rasca el casco y ladea la cabeza despacio */
.rv[data-modo="piensa"]{--brazo:-98deg;--cabeza:-4deg}
.rv[data-modo="piensa"].rv-dentro .rv-brazo{animation:rvRasca 1.6s ease-in-out infinite}
.rv[data-modo="piensa"].rv-dentro .rv-cab-in{animation:rvLadea 3.4s ease-in-out infinite}
@keyframes rvRasca{0%,100%{transform:rotate(var(--brazo))}50%{transform:rotate(calc(var(--brazo) + 7deg))}}
@keyframes rvLadea{0%,100%{transform:rotate(-3deg)}50%{transform:rotate(4deg)}}

/* Haciendo cuentas: teclea rápido con la mano */
.rv[data-modo="cuenta"]{--brazo:38deg;--cabeza:6deg}
.rv[data-modo="cuenta"].rv-dentro .rv-brazo{animation:rvTeclea .32s ease-in-out infinite}
.rv[data-modo="cuenta"].rv-dentro .rv-cab-in{animation:rvAsiente 1.2s ease-in-out infinite}
@keyframes rvTeclea{0%,100%{transform:rotate(var(--brazo))}50%{transform:rotate(calc(var(--brazo) + 9deg))}}

/* Bailando de felicidad: rebota, se balancea y agita los brazos */
.rv[data-modo="baila"]{--brazo:-45deg}
.rv[data-modo="baila"].rv-dentro .rv-fig{animation:rvLlega .9s cubic-bezier(.3,1.4,.5,1) forwards,rvBaila .9s ease-in-out .9s infinite,rvBrillo 4s ease-in-out 1s infinite}
.rv[data-modo="baila"][data-pose="izquierda"].rv-dentro .rv-fig{animation:rvLlegaIzq .9s cubic-bezier(.3,1.4,.5,1) forwards,rvBailaIzq .9s ease-in-out .9s infinite,rvBrillo 4s ease-in-out 1s infinite}
.rv[data-modo="baila"].rv-dentro .rv-brazo{animation:rvBrazoBaila .45s ease-in-out infinite alternate}
.rv[data-modo="baila"].rv-dentro .rv-brazo2{animation:rvBrazo2Baila .45s ease-in-out infinite alternate}
.rv[data-modo="baila"].rv-dentro .rv-cab-in{animation:rvLadea .9s ease-in-out infinite}
@keyframes rvBaila{0%,100%{opacity:1;transform:translateY(0) rotate(-5deg)}25%{opacity:1;transform:translateY(-7px) rotate(0)}50%{opacity:1;transform:translateY(0) rotate(5deg)}75%{opacity:1;transform:translateY(-7px) rotate(0)}}
@keyframes rvBailaIzq{0%,100%{opacity:1;transform:scaleX(-1) translateY(0) rotate(-5deg)}25%{opacity:1;transform:scaleX(-1) translateY(-7px)}50%{opacity:1;transform:scaleX(-1) rotate(5deg)}75%{opacity:1;transform:scaleX(-1) translateY(-7px)}}
@keyframes rvBrazoBaila{from{transform:rotate(-70deg)}to{transform:rotate(-20deg)}}
@keyframes rvBrazo2Baila{from{transform:rotate(-25deg)}to{transform:rotate(20deg)}}

/* La mano pasa por detrás del casco al rascarse o señalar arriba */
.rv[data-modo="piensa"] .rv-cab,.rv[data-pose="arriba"] .rv-cab{z-index:2}
/* Bocadillos dentro de la pantalla en filas con botón */
.rv-fila{flex-wrap:wrap;justify-content:flex-start}
.rv-fila .rv-bocadillo{left:0;transform:translate(0,6px) scale(.9)}
.rv-fila .rv.rv-habla .rv-bocadillo{transform:none}
.rv-fila .rv-bocadillo::after{left:28px}
.rv-fila .rv[data-pose="izquierda"] .rv-bocadillo{left:auto;right:0}
.rv-fila .rv[data-pose="izquierda"] .rv-bocadillo::after{left:auto;right:22px}
.rv-bocadillo{max-width:min(190px,70vw)}

/* Mirada: dos ojos en el visor que siguen al cursor */
.rv-visor .rv-ojo{display:block;width:17%;height:46%;margin:0 7%;border-radius:50%;background:radial-gradient(circle at 40% 35%,#e9f6ff 0 18%,#8fd0ff 30%,#3d8dff 100%);box-shadow:0 0 6px #4aa8ff,0 0 12px #2f7dff;transform:translate(var(--ox,0),var(--oy,0));transition:transform .12s ease-out}
html,body{overflow-x:clip}

/* «Tu asistente se paga solo» (bajo la calculadora de packs) */
.wa-paga{margin-top:16px;padding:16px 16px 12px;border:1px solid rgba(197,161,90,.45);border-radius:15px;background:linear-gradient(160deg,rgba(23,59,120,.22),rgba(10,15,23,.6))}
.wa-paga-cab{display:flex;gap:14px;align-items:center}
.wa-paga-cab .rv{--w:78px}
.wa-paga-cab strong{display:block;color:var(--gold-light,#ead5a8);font-size:1.15rem;margin:0 0 4px}
.wa-paga-cab p{margin:0;color:var(--muted,#c1c8d1)}
.wa-paga-cab b{color:var(--gold-light,#ead5a8);font-size:1.1em}
.wa-paga-lista{list-style:none;margin:14px 0 8px;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.wa-paga-lista li{padding:12px;border:1px solid rgba(255,255,255,.1);border-radius:12px;background:rgba(255,255,255,.03)}
.wa-paga-lista b{display:block;color:var(--white,#f8f8f6);margin-bottom:4px}
.wa-paga-lista span{color:var(--muted,#c1c8d1);font-size:.9rem;line-height:1.45}
@media (max-width:760px){.wa-paga-lista{grid-template-columns:1fr}.wa-paga-cab .rv{--w:64px}}

/* Logo de la cabecera: robot vivo + texto */
.brand-vivo{display:flex!important;align-items:center;gap:2.5%;filter:none!important}
.brand-vivo .rv-logo{--w:14.5%;flex:0 0 var(--w);cursor:default}
.brand-vivo .rv-logo .rv-fig{opacity:1;transform:none}
.rv-logo.rv-dentro .rv-fig{animation:rvMecer 4.4s ease-in-out infinite,rvBrillo 5s ease-in-out 1s infinite!important}
.rv-logo.rv-dentro .rv-cab-in{animation:rvMiraLenta 5.6s ease-in-out infinite!important}
.rv-logo.rv-dentro .rv-brazo{animation:rvBrazoLento 3.9s ease-in-out infinite!important}
.rv-logo.rv-dentro .rv-brazo2{animation:rvBrazoLento2 4.3s ease-in-out infinite!important}
.rv-logo .rv-cab{transition:transform .8s ease-in-out}
.rv-logo .rv-ojo{transition:transform .45s ease-in-out}
@keyframes rvMecer{0%,100%{transform:rotate(0) translateY(0)}25%{transform:rotate(-2deg) translateY(-1px)}50%{transform:rotate(0) translateY(0)}75%{transform:rotate(2deg) translateY(-1px)}}
@keyframes rvMiraLenta{0%,100%{transform:rotate(0)}20%,32%{transform:rotate(-5deg)}52%,64%{transform:rotate(4deg)}82%{transform:rotate(0)}}
@keyframes rvBrazoLento{0%,100%{transform:rotate(0)}50%{transform:rotate(-8deg)}}
@keyframes rvBrazoLento2{0%,100%{transform:rotate(0)}50%{transform:rotate(8deg)}}
.brand-vivo .brand-texto{flex:1 1 auto;width:83%;height:auto;display:block;filter:drop-shadow(0 5px 16px rgba(0,0,0,.35))}
.brand-vivo .rv-visor{font-size:7px}

/* Botón del banner principal: abre WhatsApp */
.hero-wa-btn{position:absolute;left:29.4%;top:83.6%;width:41.6%;height:7.4%;border-radius:8px;z-index:2;animation:heroWaBrillo 2.8s ease-in-out infinite}
.hero-wa-btn:hover,.hero-wa-btn:focus-visible{box-shadow:0 0 0 2px #ead5a8,0 0 22px rgba(234,213,168,.75);outline:0}
@keyframes heroWaBrillo{0%,100%{box-shadow:0 0 0 0 rgba(234,213,168,0)}50%{box-shadow:0 0 18px 2px rgba(234,213,168,.45)}}
.hero-wa-btn::before{content:"";position:absolute;inset:-14px -8px}
@media (prefers-reduced-motion:reduce){.hero-wa-btn{animation:none}}

/* Los bocadillos ocultos no ocupan sitio (evita que el móvil ensanche la página y desplace el botón de WhatsApp) */
.rv:not(.rv-habla) .rv-bocadillo{display:none}
.rv.rv-habla .rv-bocadillo{animation:rvBocadillo .25s ease-out}
@keyframes rvBocadillo{from{opacity:0}to{opacity:1}}
/* Portada en móvil: primero el botón y luego el robot, que lo señala hacia atrás */
@media (max-width:620px){#inicio .rv-fila > a.button:first-of-type{order:0}#inicio .rv-fila > .rv{order:1}#inicio .rv-fila > a.button.outline{order:2}}
/* Meneo: baile de lado a lado, de pie, con las «patitas» delante (como el sticker viral). Dos robots en .rv-duo bailan a la vez. */
.rv-duo{display:inline-flex;gap:2px;flex:0 0 auto;align-items:flex-end}
.rv-duo .rv-pareja{margin-left:-14px}
.rv[data-modo="meneo"].rv-dentro .rv-fig{animation:rvLlega .9s cubic-bezier(.3,1.4,.5,1) forwards,rvMeneo 1.2s ease-in-out .9s infinite,rvBrillo 4s ease-in-out 1s infinite}
.rv[data-modo="meneo"][data-pose="izquierda"].rv-dentro .rv-fig{animation:rvLlegaIzq .9s cubic-bezier(.3,1.4,.5,1) forwards,rvMeneoIzq 1.2s ease-in-out .9s infinite,rvBrillo 4s ease-in-out 1s infinite}
[data-figura="frente"][data-modo="meneo"].rv-dentro .rv-brazo{animation:rvPataD .6s ease-in-out .9s infinite alternate}
[data-figura="frente"][data-modo="meneo"].rv-dentro .rv-brazo2{animation:rvPataI .6s ease-in-out .9s infinite alternate}
.rv[data-modo="meneo"].rv-dentro .rv-cab-in{animation:rvContraLadea 1.2s ease-in-out .9s infinite}
/* Meneo: el brazo izquierdo va por delante del cuerpo (antes quedaba tapado) y la figura gira desde la cintura */
.rv[data-modo="meneo"] .rv-brazo2{z-index:2}.rv[data-modo="meneo"] .rv-cab{z-index:3}.rv[data-modo="meneo"] .rv-fig{transform-origin:50% 62%}
@keyframes rvMeneo{0%,100%{opacity:1;transform:translateX(-5px) rotate(5deg)}50%{opacity:1;transform:translateX(5px) rotate(-5deg)}}
@keyframes rvMeneoIzq{0%,100%{opacity:1;transform:scaleX(-1) translateX(-5px) rotate(5deg)}50%{opacity:1;transform:scaleX(-1) translateX(5px) rotate(-5deg)}}
@keyframes rvPataD{from{transform:rotate(18deg)}to{transform:rotate(38deg)}}
@keyframes rvPataI{from{transform:rotate(-38deg)}to{transform:rotate(-18deg)}}
@keyframes rvContraLadea{0%,100%{transform:rotate(6deg)}50%{transform:rotate(-6deg)}}
@media (prefers-reduced-motion:reduce){[data-figura="frente"][data-modo="meneo"].rv-dentro .rv-brazo{animation:rvPataD 1.2s ease-in-out infinite alternate!important}[data-figura="frente"][data-modo="meneo"].rv-dentro .rv-brazo2{animation:rvPataI 1.2s ease-in-out infinite alternate!important}.rv[data-modo="meneo"].rv-dentro .rv-cab-in{animation:rvContraLadea 2.4s ease-in-out infinite!important}}
.rv-duo .rv .rv-bocadillo{left:0;transform:translate(0,6px) scale(.9)}
.rv-duo .rv.rv-habla .rv-bocadillo{transform:none}
@media (max-width:760px){.wa-paga-cab .rv-duo .rv{--w:58px}.wa-paga-cab{gap:10px}}
.wa-paga-cab .rv .rv-bocadillo{left:0;transform:translate(0,6px) scale(.9)}
.wa-paga-cab .rv.rv-habla .rv-bocadillo{transform:none}
