/* Variante E2 · Los puntos con la historia nueva — base: la v1 de producción (variantes/puntos), mismo motion.
   Cambian textos, móviles (pantallas de producto con foto), precios y Titillium en toda la tipografía viva.
   Sin JS: la escena es una sucesión de secciones oscuras normales (con la H y los móviles en línea).
   Con JS (html.p-vivo): escenario fijo con el lienzo de puntos y los móviles; las capas de texto pasan por encima. */
.v-puntos2{--mono:var(--f-txt);--back:cubic-bezier(.34,1.56,.64,1);
  --elastico:linear(0,.22 6%,.68 13%,1.1 21%,1.2 26%,1.13 32%,.98 40%,.95 45%,1.01 56%,1.01 64%,1);overflow-x:clip}

.v-puntos2 main{overflow-x:clip}
@media (max-width:420px){.v-puntos2 .cab-in{gap:12px}.v-puntos2 .cab .btn-sm{white-space:nowrap;padding:12px 14px}}

/* Cabecera sobre la escena oscura */
.v-puntos2.en-escena .cab{color:#fff}
.v-puntos2.en-escena .cab .logo-claro{display:none}
.v-puntos2.en-escena .cab .logo-oscuro{display:block}
.v-puntos2.en-escena .cab.solida{background:rgba(14,15,19,.62);box-shadow:0 1px 0 rgba(255,255,255,.08)}
.v-puntos2.en-escena .cab .btn-pri{background:#fff;color:var(--tinta)}

/* ── La escena ─────────────────────────────────────────────────────────────── */
.p-escena{position:relative;background:var(--tinta);color:#F3F4F6;--suave:#A8AEB9;--texto:#F3F4F6;--borde:rgba(255,255,255,.14);--tarjeta:#1E2128}
.p-escenario{display:none}
.p-capa{position:relative;padding-block:clamp(96px,12vw,150px)}
.p-capa-in{position:relative}
.p-txt{display:grid;gap:22px;max-width:560px}
.p-ante{font:500 12px/1.4 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--senal)}
.p-ante::before{content:"";display:inline-block;width:9px;height:9px;border-radius:2.5px;background:var(--encendido);margin-right:12px;vertical-align:1px}
.p-tit{font-size:clamp(46px,6.4vw,96px);line-height:.92;letter-spacing:-.045em;max-width:10ch}
.p-entra{font-size:clamp(18px,1.6vw,21px);line-height:1.5;color:var(--suave);max-width:44ch}
.p-nota{font:500 13px/1.4 var(--mono);letter-spacing:.04em;color:var(--senal)}
.ctas-oscuro .btn-sec{color:#fff;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.28)}
.ctas-oscuro .btn-sec:hover{box-shadow:inset 0 0 0 1.5px #fff}
.ctas-oscuro .btn-pri{background:#fff;color:var(--tinta)}
.p-desliza{display:none}
.p-sinjs{margin-top:48px}
.p-ret-grande{--rc:72px}
.p-ret-grande i.off{background:var(--apagado-oscuro)}
.p-tel-linea{display:flex;justify-content:center}
.p-tel-linea .tel{width:270px}

.p-cifra{display:grid;gap:10px}
.p-cifra span{max-width:17ch}
.p-cifra b{font:800 clamp(88px,15vw,230px)/.82 var(--f-tit);letter-spacing:-.06em;font-variant-numeric:tabular-nums}
.p-cifra span{font:700 clamp(26px,3.2vw,46px)/1.05 var(--f-tit);letter-spacing:-.03em}
.p-cifra-peq b{font-size:clamp(80px,10vw,150px)}
.p-cifra-peq{grid-template-columns:auto 1fr;align-items:center;gap:22px;margin-top:10px}
.p-cifra-peq span{font-size:clamp(22px,2.4vw,32px);max-width:14ch}
.p-salida{font:800 clamp(30px,3.6vw,52px)/1.02 var(--f-tit);letter-spacing:-.035em;max-width:16ch}
.p-cuerpo{font-size:clamp(18px,1.6vw,21px);line-height:1.5;color:var(--suave);max-width:46ch}
.p-problema-in{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(32px,5vw,80px);align-items:center}
.p-burbujas{display:flex;flex-direction:column;gap:12px}
.p-burbujas li{align-self:flex-start;font:600 clamp(16px,1.6vw,21px)/1.25 var(--f-txt);padding:14px 20px;border-radius:22px 22px 22px 6px;background:#262A32;color:#fff;max-width:92%}
.p-burbujas li:nth-child(even){align-self:flex-end;border-radius:22px 22px 6px 22px}
.p-burbujas li:last-child{background:var(--encendido);color:var(--tinta)}
.p-num{display:flex;align-items:center;gap:10px;font:500 12px/1 var(--mono);letter-spacing:.12em;color:var(--senal)}
.p-num i{width:38px;height:1.5px;background:currentColor;opacity:.5}
.p-capa-nicho .nicho-funs li{color:#D6D9DF}
.p-capa-nicho .nicho-medida{background:color-mix(in srgb,var(--ev) 16%,#16181D);color:#E9EBEF}
.p-capa-nicho .nicho-medida b{color:color-mix(in srgb,var(--ev) 70%,#fff);filter:none}
.p-capa-nicho .nicho-cuerpo{color:var(--suave)}
.p-capa-nicho .p-capa-in{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:48px;align-items:center}
.p-capa-cierre .p-txt{justify-items:start}
.p-ancla{position:relative;top:-40px}
@media (max-width:860px){
  .p-problema-in,.p-capa-nicho .p-capa-in{grid-template-columns:1fr}
  .p-ret-grande{--rc:52px}
}

/* ── Con JS: escenario fijo y capas encima ─────────────────────────────────── */
.p-vivo .p-escenario{display:block;position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;z-index:0}
.p-vivo .p-capas{position:relative;z-index:2;margin-top:-100vh;margin-top:-100svh}
.p-vivo .p-sinjs{display:none}
.p-lienzo{position:absolute;inset:0;width:100%;height:100%}
.p-vivo .p-capa{min-height:100vh;min-height:100svh;display:flex;align-items:center;padding-block:110px 80px}
.p-vivo .p-capa>.envoltura{width:100%}
.p-vivo .p-capa-portada{min-height:100svh}
.p-vivo .p-capa-cifra,.p-vivo .p-capa-qr{min-height:115svh}
.p-vivo .p-capa-nicho{min-height:135svh}
.p-vivo .p-capa-cierre{display:block;min-height:100vh;min-height:100svh;padding-top:54svh;text-align:center}
.p-vivo .p-capa-cierre .p-txt{margin:0 auto;justify-items:center;max-width:none}
.p-vivo .p-capa-cierre .p-tit-cierre{max-width:none;font-size:clamp(48px,7.4vw,120px)}
.p-vivo .p-capa-nicho .p-capa-in{display:block}
.p-vivo .p-desliza{display:flex;position:absolute;left:50%;bottom:34px;transform:translateX(-50%);align-items:center;gap:10px;font:500 11px/1 var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--senal)}
.p-desliza i{width:8px;height:8px;border-radius:2px;background:var(--encendido);animation:p-bota 1.6s var(--back) infinite}
@keyframes p-bota{0%,100%{transform:translateY(0)}45%{transform:translateY(8px)}}

/* Móviles del escenario: el contenedor lo coloca guion.js; el revelado es una trama de puntos (máscara) */
.p-telefonos{position:absolute;left:0;top:0;width:300px;height:620px;transform-origin:0 0;--m:0;
  -webkit-mask-image:radial-gradient(circle,#000 calc(var(--m)*8.6px),transparent calc(var(--m)*8.6px + .6px));mask-image:radial-gradient(circle,#000 calc(var(--m)*8.6px),transparent calc(var(--m)*8.6px + .6px));
  -webkit-mask-size:12px 12px;mask-size:12px 12px;-webkit-mask-position:center;mask-position:center;visibility:hidden}
.p-telefonos.lleno{-webkit-mask-image:none;mask-image:none}
.p-telefonos.visible{visibility:visible}
.p-tel{position:absolute;inset:0;opacity:0}
.p-tel.on{opacity:1}
.p-tel .movil{box-shadow:0 0 0 1.5px rgba(255,255,255,.12),0 24px 48px -20px rgba(0,0,0,.6)}

/* Marco de reel: esquinas, rótulos en monoespaciada, código de tiempo y barra */
.p-marco{position:absolute;inset:0;pointer-events:none;color:var(--senal)}
.p-esq{position:absolute;width:22px;height:22px;border:1.5px solid rgba(255,255,255,.34)}
.p-esq-1{top:76px;left:18px;border-right:0;border-bottom:0;border-top-left-radius:6px}
.p-esq-2{top:76px;right:18px;border-left:0;border-bottom:0;border-top-right-radius:6px}
.p-esq-3{bottom:18px;left:18px;border-right:0;border-top:0;border-bottom-left-radius:6px}
.p-esq-4{bottom:18px;right:18px;border-left:0;border-top:0;border-bottom-right-radius:6px}
.p-rot{position:absolute;font:500 11px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;white-space:nowrap}
.p-rot-cap{top:84px;left:50px}
.p-rot-cap span:first-child{color:var(--encendido)}
.p-rot-tc{top:84px;right:50px;font-variant-numeric:tabular-nums}
.p-rot-pie{bottom:26px;right:50px;text-transform:none;letter-spacing:.06em}
.p-barra{position:absolute;left:50px;bottom:30px;width:min(220px,30vw);height:2px;background:rgba(255,255,255,.14);border-radius:2px;overflow:hidden}
.p-barra i{position:absolute;inset:0;background:var(--encendido);transform-origin:0 50%;transform:scaleX(0)}
.p-rot,.p-esq,.p-barra{transition:opacity .5s}
.p-escenario.callado .p-rot,.p-escenario.callado .p-barra{opacity:0}

/* Paneles de texto legibles sobre los puntos */
.p-vivo .p-panel{position:relative}
.p-vivo .p-panel::before{content:"";position:absolute;inset:-36px -44px;z-index:-1;border-radius:28px;background:radial-gradient(closest-side,rgba(22,24,29,.88),rgba(22,24,29,.6) 70%,rgba(22,24,29,0));pointer-events:none}

/* ── Titulares cinéticos: cada palabra entra estirada y desenfocada, el realce con contraste de peso ── */
.p-cin .w{display:inline-block;vertical-align:top}
.p-vivo .p-cin .wi{display:inline-block;transform-origin:0 70%;opacity:0;filter:blur(10px);transform:translate3d(.45em,0,0);
  transition:opacity .5s ease,filter .7s cubic-bezier(.2,.7,.2,1),transform 1s var(--back),font-weight .9s ease;transition-delay:calc(var(--n)*65ms)}
.p-vivo .p-cin.dentro .wi{opacity:1;filter:blur(0);transform:none}
.p-vivo .p-cin.fuera .wi{opacity:0;filter:blur(8px);transform:translate3d(-.3em,0,0);transition-duration:.35s,.4s,.45s,.3s;transition-delay:calc(var(--n)*25ms)}
.p-cin .w-realce{position:relative}
.p-vivo .p-cin .w-realce::after{content:"";position:absolute;right:-.05em;bottom:.14em;width:.16em;height:.16em;border-radius:.04em;background:var(--encendido);transform:scale(0);transition:transform .7s var(--elastico) .9s}
.p-vivo .p-cin.dentro .w-realce::after{transform:scale(1)}
.p-vivo .p-cin .w-realce .wi{padding-right:.22em}

/* Entradas de cada capa (las activa guion.js con .dentro) */
.p-vivo .p-capa .p-entrar{opacity:0;transform:translateY(24px);filter:blur(6px);transition:opacity .7s ease,transform .9s var(--back),filter .7s ease;transition-delay:calc(var(--i,0)*80ms + 250ms)}
.p-vivo .p-capa.dentro .p-entrar{opacity:1;transform:none;filter:none}
.p-vivo .p-cifra b{display:inline-block}

/* Truchet: cinta de píldoras que giran con el scroll entre secciones */
.p-truchet{display:grid;grid-template-columns:repeat(32,1fr);gap:0;max-width:var(--ancho);margin:0 auto;padding:0 var(--gutter);--sp:0}
.p-truchet i{aspect-ratio:1;display:grid;place-items:center}
.p-truchet i::before{content:"";width:72%;height:26%;border-radius:99px;background:var(--apagado-claro);transform:rotate(calc(var(--r0) + var(--sp)*var(--d)*180deg));transition:transform .9s var(--back)}
.p-truchet i:nth-child(11)::before,.p-truchet i:nth-child(38)::before{background:var(--encendido)}
.p-truchet-inv i::before{background:var(--linea)}
@media (max-width:700px){.p-truchet{grid-template-columns:repeat(16,1fr)}.p-truchet i:nth-child(n+33){display:none}}

/* Secciones claras: titulares que entran palabra a palabra y la H del formulario que se enciende */
.p-oscura{--fondo:var(--tinta);--texto:#F3F4F6;--suave:#A8AEB9;--borde:rgba(255,255,255,.12);--tarjeta:#1E2128;background:var(--fondo);color:var(--texto)}
.p-oscura .fiab{border-top-color:rgba(255,255,255,.5)}
.p-oscura .datos{background:#23262E}
.p-vivo .ret-llamada i{transform:scale(0);transition:transform .9s var(--elastico)}
.p-vivo .ret-llamada i:nth-child(1){transition-delay:.05s}.p-vivo .ret-llamada i:nth-child(2){transition-delay:.15s}.p-vivo .ret-llamada i:nth-child(3){transition-delay:.25s}
.p-vivo .ret-llamada i:nth-child(4){transition-delay:.12s}.p-vivo .ret-llamada i:nth-child(5){transition-delay:.22s}.p-vivo .ret-llamada i:nth-child(6){transition-delay:.32s}
.p-vivo .ret-llamada i:nth-child(7){transition-delay:.19s}.p-vivo .ret-llamada i:nth-child(8){transition-delay:.29s}.p-vivo .ret-llamada i:nth-child(9){transition-delay:.39s}
.p-vivo .ret-llamada.encendida i{transform:none}
.p-vivo .sec .t-sec .wi{display:inline-block;opacity:0;filter:blur(8px);transform:translate3d(.35em,0,0);transform-origin:0 70%;transition:opacity .5s ease,filter .7s ease,transform .9s var(--back);transition-delay:calc(var(--n)*55ms)}
.p-vivo .sec .t-sec.visto .wi{opacity:1;filter:none;transform:none}

/* ── Móvil ─────────────────────────────────────────────────────────────────── */
@media (max-width:860px){
  .p-vivo .p-capa{align-items:flex-start;padding-block:0 64px}
  .p-vivo .p-capa-portada{padding-top:max(37svh,250px)}
  .p-vivo .p-capa-portada .p-txt{gap:16px}
  .p-vivo .p-capa-cifra{padding-top:58svh;min-height:105svh}
  .p-vivo .p-capa-problema{padding-top:26svh}
  .p-vivo .p-capa-qr{padding-top:64svh}
  .p-vivo .p-capa-nicho{padding-top:68svh;min-height:0;padding-bottom:22svh}
  .p-vivo .p-capa-cierre{padding-top:46svh}
  .p-vivo .p-capa-sintesis{padding-top:max(37svh,250px)}
  .p-vivo .p-panel::before{inset:-26px -22px;border-radius:22px;background:rgba(22,24,29,.86);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
  .p-tit{font-size:clamp(40px,11.4vw,58px)}
  .p-entra{font-size:17px}
  .p-cifra b{font-size:clamp(76px,24vw,110px)}
  .p-cifra span{font-size:24px}
  .p-salida{font-size:30px}
  .p-esq-1,.p-esq-2{top:66px}.p-rot-cap,.p-rot-tc{top:74px}
  .p-rot-cap{left:44px}.p-rot-tc{right:44px}
  .p-rot-pie{display:none}
  .p-barra{left:44px;right:44px;width:auto;bottom:28px}
  .p-vivo .p-desliza{bottom:46px}
}
@media (max-width:420px){.p-rot{font-size:10px;letter-spacing:.1em}}

/* Movimiento reducido (del sistema o con el botón): sin transiciones de texto */
@media (prefers-reduced-motion:reduce){
  .p-vivo .p-cin .wi,.p-vivo .p-capa .p-entrar,.p-vivo .p-burbujas li,.p-vivo .sec .t-sec .wi,.p-vivo .ret-llamada i{opacity:1!important;filter:none!important;transform:none!important;transition:none!important}
  .p-vivo .p-cin .wi{font-weight:inherit!important}
  .p-desliza i{animation:none}
  .p-truchet i::before{transition:none}
}

/* ══ Del rediseño v2: pantallas de producto, calculadora y formulario ══ */
.cab-menu{display:none;position:relative}
.cab-menu summary{list-style:none;cursor:pointer;width:44px;height:44px;border-radius:10px;display:grid;place-content:center;gap:5px;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.25)}
.cab-menu summary::-webkit-details-marker{display:none}
.cab-menu summary span{display:block;width:18px;height:2px;border-radius:2px;background:#fff;transition:transform .3s var(--suelta)}
.cab-menu[open] summary span:first-child{transform:translateY(3.5px) rotate(45deg)}
.cab-menu[open] summary span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
.cab-menu nav{position:absolute;right:0;top:54px;min-width:220px;display:grid;padding:8px;border-radius:14px;background:#1D2027;box-shadow:0 20px 50px rgba(0,0,0,.5),0 0 0 1px rgba(255,255,255,.08)}
.cab-menu nav a{padding:13px 14px;border-radius:9px;text-decoration:none;font:600 16px/1.2 var(--f-txt)}
.cab-menu nav a:hover{background:rgba(255,255,255,.06)}
.cab-menu nav a:last-child{color:var(--encendido)}
/* Teselas tipográficas cuando no hay foto, banners de cabecera y cartelería ficticia */
.tesela{display:grid;place-items:center;width:100%;height:100%;background:linear-gradient(135deg,#2B2F38,#1A1D24);color:#E8EBF0;font:900 15px/1 var(--f-tit);letter-spacing:.04em}
.tesela-icono{background:linear-gradient(135deg,rgba(226,54,125,.28),#1A1D24);color:#fff}
.tesela-icono .ic{width:30px;height:30px}
.app-banner{position:relative;margin:0 12px;height:84px;border-radius:14px;overflow:hidden}
.app-banner img{width:100%;height:100%;object-fit:cover}
.app-banner span{position:absolute;left:10px;bottom:8px;font:700 10.5px/1 var(--f-txt);color:#fff;padding:5px 8px;border-radius:6px;background:rgba(10,12,16,.55)}
.app-banner-cine{height:70px}
.ses-foto{display:block;height:74px;margin:-12px -12px 2px;border-radius:14px 14px 0 0;overflow:hidden}
.ses-foto img{width:100%;height:100%;object-fit:cover;object-position:50% 30%}
.ponentes i{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:color-mix(in srgb,var(--ev) 16%,#fff);color:var(--ev);font:900 13px/1 var(--f-tit);font-style:normal}
.cartel-celdas{display:none}
.cartel-ambar{background:#1A1712;color:#E3A33A}
.cartel-papel{background:#ECE8DF;color:#16181D}
.cartel-ambar figcaption,.cartel-papel figcaption{background:none;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:8px 6px;color:inherit}
.cartel-ambar b,.cartel-papel b{font-size:15px;line-height:.95;letter-spacing:.01em;word-break:break-word}
.cartel-ambar .cartel-celdas,.cartel-papel .cartel-celdas{display:grid;grid-template-columns:repeat(3,9px);gap:3px;position:absolute;left:7px;top:8px}
.cartel-celdas i{width:9px;height:9px;border-radius:2.4px;background:currentColor;opacity:.9}
.cartel-celdas i:nth-child(2){opacity:.3}
.cartel-papel .cartel-celdas{top:auto;left:auto;right:7px;top:8px;grid-template-columns:9px}
.cartel-foto img{filter:saturate(.85) contrast(1.05)}

/* ── El móvil (pantallas diseñadas como producto) ─────────────────────────── */
.movil{--fondo-app:#101217;--txt-app:#F4F5F7;--sub-app:#9AA0AB;--caja-app:#1C1F26;--linea-app:rgba(255,255,255,.08);--ev:#E2367D;
  position:relative;width:300px;height:620px;padding:10px;border-radius:46px;background:#08090B;flex:none;
  box-shadow:0 0 0 1.5px rgba(255,255,255,.12),0 24px 48px -20px rgba(0,0,0,.6);font-family:var(--f-txt)}
.movil[data-tema="claro"]{--fondo-app:#F5F7F6;--txt-app:#14201C;--sub-app:#5E6B66;--caja-app:#fff;--linea-app:rgba(0,0,0,.08)}
.movil[data-tema="papel"]{--fondo-app:#F3F1EC;--txt-app:#16181D;--sub-app:#6A6760;--caja-app:#fff;--linea-app:rgba(0,0,0,.1)}
.movil-pant{position:relative;height:100%;border-radius:37px;overflow:hidden;background:var(--fondo-app);color:var(--txt-app);display:flex;flex-direction:column}
.movil-isla{position:absolute;top:10px;left:50%;transform:translateX(-50%);width:86px;height:25px;border-radius:14px;background:#08090B;z-index:3}
.movil-barra{display:flex;justify-content:space-between;align-items:center;padding:15px 27px 4px;font:700 12px/1 var(--f-txt)}
.movil-senal{display:flex;gap:2px;align-items:flex-end}
.movil-senal i{width:3px;background:currentColor;border-radius:1px}
.movil-senal i:nth-child(1){height:5px}.movil-senal i:nth-child(2){height:7px}.movil-senal i:nth-child(3){height:9px}
.ic{width:16px;height:16px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.app-cab{display:flex;justify-content:space-between;align-items:baseline;gap:8px;padding:12px 16px 8px}
.app-marca{font:900 19px/1 var(--f-tit);letter-spacing:.02em}
.app-marca-serena{font-weight:700;letter-spacing:-.01em;font-size:21px}
.app-marca-ancha{letter-spacing:.2em;font-size:18px}
.app-marca-editorial{font-weight:400;letter-spacing:.24em;font-size:15px}
.app-cab small{font:600 10.5px/1.2 var(--f-txt);color:var(--sub-app);text-align:right}
.app-k{display:block;font:700 9.5px/1.2 var(--f-txt);letter-spacing:.1em;text-transform:uppercase;color:var(--ev)}
.foto-vacia{display:block;width:100%;height:100%;background:linear-gradient(135deg,#3B1F3A,#1A1C24)}

/* Móvil del recorrido: vistas superpuestas */
.movil-historia .vista{position:absolute;left:10px;right:10px;top:84px;bottom:66px;padding:4px 16px 0;display:flex;flex-direction:column;gap:9px;opacity:0;transform:translateX(18px);transition:opacity .45s ease,transform .6s var(--suelta);pointer-events:none}
.movil-historia[data-paso="programa"] .vista-programa,.movil-historia[data-paso="guardado"] .vista-programa,
.movil-historia[data-paso="noche"] .vista-noche,.movil-historia[data-paso="mapa"] .vista-noche,
.movil-historia[data-paso="pasaporte"] .vista-pasaporte,.movil-historia[data-paso="sellado"] .vista-pasaporte{opacity:1;transform:none}
.app-dias,.app-filtros{display:flex;gap:6px}
.app-dias span{flex:1;text-align:center;font:700 11.5px/1 var(--f-txt);padding:9px 0;border-radius:9px;background:var(--caja-app);color:var(--sub-app)}
.app-dias .on{background:var(--ev);color:#fff}
.app-filtros span{font:600 11px/1 var(--f-txt);padding:7px 10px;border-radius:99px;box-shadow:inset 0 0 0 1px var(--linea-app);color:var(--sub-app)}
.app-filtros .on{color:var(--txt-app);box-shadow:inset 0 0 0 1.5px var(--txt-app)}
.app-lista{display:grid;gap:7px;margin-top:2px}
.fila{display:grid;grid-template-columns:44px 1fr 26px;gap:11px;align-items:center;padding:7px;border-radius:14px;background:var(--caja-app);transition:box-shadow .4s,background .4s}
.fila-foto{width:44px;height:44px;border-radius:10px;overflow:hidden;display:block}
.fila-foto img{width:100%;height:100%;object-fit:cover}
.fila-txt b{display:block;font:700 13.5px/1.15 var(--f-txt)}
.fila-txt small{font:600 11px/1.3 var(--f-txt);color:var(--sub-app)}
.fila-fav{display:grid;place-items:center;color:var(--sub-app)}
.fila-fav .ic{width:19px;height:19px}
.fila.fav .fila-fav,.movil-historia[data-paso="guardado"] .fila-objetivo .fila-fav{color:var(--ev)}
.fila.fav .fila-fav .ic,.movil-historia[data-paso="guardado"] .fila-objetivo .fila-fav .ic{fill:currentColor}
.movil-historia[data-paso="guardado"] .fila-objetivo{box-shadow:inset 0 0 0 1.5px var(--ev)}
.movil-historia[data-paso="guardado"] .fila-objetivo .fila-fav{animation:p-fav .6s var(--suelta)}
@keyframes p-fav{0%{transform:scale(.6)}60%{transform:scale(1.18)}100%{transform:scale(1)}}
.app-toast{position:absolute;left:22px;right:22px;bottom:78px;display:flex;align-items:center;gap:8px;font:700 12.5px/1 var(--f-txt);padding:12px 14px;border-radius:12px;background:#F5F6F8;color:#16181D;box-shadow:0 12px 30px rgba(0,0,0,.4);opacity:0;transform:translateY(10px);transition:opacity .35s ease,transform .5s var(--suelta);z-index:4}
.app-toast .ic{color:#1F8A70}
.movil-historia[data-paso="guardado"] .app-toast{opacity:1;transform:none}
.vista-tit{font:900 22px/1 var(--f-tit);letter-spacing:-.005em;margin-top:2px}
.vista-tit-peq{font-size:15px;margin:4px 0 0}
.noche-item{display:grid;grid-template-columns:42px 1fr auto;gap:10px;align-items:center;padding:10px;border-radius:14px;background:var(--caja-app)}
.noche-item time{font:700 13px/1 var(--f-txt);font-variant-numeric:tabular-nums}
.noche-item b{display:block;font:700 13.5px/1.15 var(--f-txt)}
.noche-item small{font:600 11px/1.3 var(--f-txt);color:var(--sub-app)}
.noche-fav{box-shadow:inset 0 0 0 1.5px var(--ev)}
.noche-fav .fila-fav{color:var(--ev)}.noche-fav .fila-fav .ic{fill:currentColor}
.noche-hueco{display:flex;align-items:center;gap:9px;padding-left:20px;font:600 10.5px/1.2 var(--f-txt);color:var(--sub-app)}
.noche-hueco i{width:2px;height:22px;border-radius:2px;background:repeating-linear-gradient(var(--sub-app) 0 3px,transparent 3px 6px)}
.propuesta{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start;padding:12px;border-radius:16px;background:var(--caja-app);box-shadow:inset 0 0 0 1px var(--linea-app)}
.propuesta-icono{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--ev);color:#fff}
.propuesta-icono .ic{width:20px;height:20px}
.propuesta-foto{width:76px;height:96px;border-radius:11px;overflow:hidden}
.propuesta-foto img{width:100%;height:100%;object-fit:cover}
.propuesta-txt{display:flex;flex-direction:column;gap:4px;justify-content:center;min-width:0}
.propuesta-txt .app-k{white-space:nowrap}
.propuesta-txt b{font:700 15px/1.1 var(--f-txt)}
.propuesta-txt small{font:600 11px/1.3 var(--f-txt);color:var(--sub-app)}
.propuesta-btn{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;margin-top:4px;font:700 11px/1 var(--f-txt);padding:8px 10px;border-radius:9px;background:var(--ev);color:#fff;transition:transform .3s var(--suelta)}
.propuesta-btn .ic{width:14px;height:14px}
.movil-historia[data-paso="mapa"] .propuesta-btn{transform:scale(.94);filter:brightness(.9)}
.vista-noche>*{flex-shrink:0}
.vista-noche .noche-item small{white-space:nowrap}
.mini-mapa{height:0;overflow:hidden;opacity:0;transition:height .6s var(--suelta),opacity .4s}
.movil-historia[data-paso="mapa"] .mini-mapa{height:112px;opacity:1}
.mini-mapa svg{display:block;width:100%;height:112px}
.mm-suelo{fill:#1A1D24;stroke:rgba(255,255,255,.08)}
.mm-camino{fill:none;stroke:rgba(255,255,255,.22);stroke-width:2;stroke-dasharray:3 5}
.mm-lugar rect{fill:#2A2E37;stroke:rgba(255,255,255,.06)}
.mm-lugar text,.mm-comida text{fill:#9AA0AB;font:700 9px var(--f-txt);text-anchor:middle}
.mm-tu circle{fill:#F5F6F8}
.mm-tu .mm-halo{fill:rgba(245,246,248,.18)}
.mm-comida circle{fill:var(--ev);stroke:rgba(226,54,125,.35);stroke-width:0}
.mm-comida svg{fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.mm-comida text{fill:#fff}
.movil-historia[data-paso="mapa"] .mm-comida circle{animation:p-pin 1.4s ease-in-out 2}
@keyframes p-pin{50%{stroke-width:8}}
.sellos{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-top:6px}
.sello{display:grid;justify-items:center;gap:6px}
.sello i{width:100%;aspect-ratio:1;border-radius:calc(100% * 7 / 28);display:grid;place-items:center;background:#262A33;color:transparent;transition:background .4s,transform .5s var(--suelta)}
.sello i .ic{width:18px;height:18px;stroke-width:2.6}
.sello.hecho i{background:var(--encendido);color:var(--tinta)}
.movil-historia[data-paso="sellado"] .sello-nuevo i{background:var(--encendido);color:var(--tinta);animation:p-sello .7s var(--suelta)}
@keyframes p-sello{0%{transform:scale(1.5);opacity:.2}100%{transform:none;opacity:1}}
.sello small{font:700 9.5px/1 var(--f-txt);color:var(--sub-app)}
.progreso{display:grid;gap:7px;margin-top:6px}
.progreso-txt{font:600 12px/1 var(--f-txt);color:var(--sub-app)}
.progreso-txt b{font:900 22px/1 var(--f-tit);color:var(--txt-app);margin-right:2px;font-variant-numeric:tabular-nums}
.progreso-barra{height:8px;border-radius:99px;background:#262A33;overflow:hidden}
.progreso-barra i{display:block;height:100%;width:60%;border-radius:99px;background:var(--encendido);transition:width .7s var(--suelta)}
.movil-historia[data-paso="sellado"] .progreso-barra i{width:80%}
.pasaporte-meta{font:600 12px/1.4 var(--f-txt);color:var(--sub-app)}
.pasaporte-btn{display:flex;align-items:center;justify-content:center;gap:8px;font:700 13px/1 var(--f-txt);padding:13px;border-radius:12px;background:#F5F6F8;color:#16181D;margin-top:4px;transition:transform .25s var(--suelta),opacity .3s}
.movil-historia[data-paso="sellado"] .pasaporte-btn{transform:scale(.96);opacity:.5}
.pasaporte-ok{display:flex;align-items:center;gap:8px;font:700 12.5px/1.2 var(--f-txt);padding:11px 12px;border-radius:12px;background:rgba(31,138,112,.18);color:#7FD8BE;opacity:0;transform:translateY(8px);transition:opacity .4s,transform .5s var(--suelta)}
.movil-historia[data-paso="sellado"] .pasaporte-ok{opacity:1;transform:none}
.app-tabs{position:absolute;left:10px;right:10px;bottom:10px;display:grid;grid-template-columns:repeat(4,1fr);text-align:center;padding:9px 6px 16px;border-top:1px solid var(--linea-app);background:var(--fondo-app);border-radius:0 0 37px 37px;font:700 9.5px/1 var(--f-txt);color:var(--sub-app)}
.app-tabs span{display:grid;justify-items:center;gap:5px;transition:color .3s}
.app-tabs .ic{width:19px;height:19px}
.movil-historia[data-paso="programa"] [data-tab="programa"],.movil-historia[data-paso="guardado"] [data-tab="programa"],
.movil-historia[data-paso="noche"] [data-tab="noche"],.movil-historia[data-paso="mapa"] [data-tab="mapa"],
.movil-historia[data-paso="pasaporte"] [data-tab="pasaporte"],.movil-historia[data-paso="sellado"] [data-tab="pasaporte"]{color:var(--ev)}

/* Pantallas de cada sector */
.movil-mini .movil-pant{gap:9px}
.movil-mini .movil-pant>*{flex:none}
.movil-mini .app-cab{padding-bottom:2px}
.art-hero{position:relative;margin:0 12px;height:230px;border-radius:18px;overflow:hidden}
.art-hero img{width:100%;height:100%;object-fit:cover}
.art-hero div{position:absolute;left:0;right:0;bottom:0;padding:40px 14px 13px;background:linear-gradient(transparent,rgba(8,9,12,.92))}
.art-hero .app-k{color:#fff;opacity:.8}
.art-hero b{display:block;font:900 26px/1 var(--f-tit);color:#fff;margin-top:4px}
.art-dato{display:flex;flex-wrap:wrap;gap:6px 12px;margin:0 16px;font:700 12px/1 var(--f-txt);color:var(--sub-app)}
.art-dato,.art-dato span{align-items:center}
.art-dato .ic,.ses-detalle .ic,.prop-detalle .ic{width:14px;height:14px;margin-right:5px;vertical-align:-2px}
.app-boton{display:flex;align-items:center;justify-content:center;gap:7px;margin:2px 14px 0;padding:12px;border-radius:12px;font:700 13px/1 var(--f-txt);background:var(--ev);color:#fff;transition:background .35s,color .35s}
.app-boton .ic{width:15px;height:15px}
.app-boton .b-si{display:none}
.hecho .app-boton .b-no{display:none}
.hecho .app-boton .b-si{display:inline-flex;align-items:center;gap:7px}
.hecho .movil[data-tema="noche"] .app-boton{background:#F5F6F8;color:#16181D}
.movil-mini .vista-tit-peq{margin:4px 16px 0}
.mini-agenda{display:grid;gap:6px;margin:0 14px}
.mini-agenda li{display:grid;grid-template-columns:38px 1fr auto;gap:8px;align-items:center;padding:9px 10px;border-radius:11px;background:var(--caja-app);font:600 11px/1.2 var(--f-txt)}
.mini-agenda time{font-weight:700;font-variant-numeric:tabular-nums}
.mini-agenda b{font-size:12.5px}
.mini-agenda small{color:var(--sub-app)}
.mini-agenda .nuevo{opacity:0;transform:translateY(-6px);transition:opacity .4s,transform .5s var(--suelta);box-shadow:inset 0 0 0 1.5px var(--ev)}
.hecho .mini-agenda .nuevo{opacity:1;transform:none;transition-delay:.25s}
.busca{display:flex;align-items:center;gap:8px;margin:0 14px;padding:11px 12px;border-radius:12px;background:var(--caja-app);box-shadow:inset 0 0 0 1px var(--linea-app);font:600 12.5px/1 var(--f-txt);color:var(--sub-app)}
.busca span{color:var(--txt-app)}
.busca span::after{content:"";display:inline-block;width:1.5px;height:13px;background:var(--ev);margin-left:2px;vertical-align:-2px;animation:p-cursor 1s steps(1) infinite}
@keyframes p-cursor{50%{opacity:0}}
.sesiones{display:grid;gap:6px;margin:0 14px}
.sesiones li{display:grid;grid-template-columns:40px 1fr;gap:2px 9px;padding:9px 10px;border-radius:12px;background:var(--caja-app);transition:opacity .4s,box-shadow .4s}
.sesiones time{grid-row:span 2;font:700 12px/1.3 var(--f-txt);font-variant-numeric:tabular-nums;color:var(--ev)}
.sesiones b{font:700 12.5px/1.2 var(--f-txt)}
.sesiones small{font:600 10.5px/1 var(--f-txt);color:var(--sub-app)}
.hecho .sesiones li:not(.objetivo){opacity:.35}
.hecho .sesiones .objetivo{box-shadow:inset 0 0 0 1.5px var(--ev)}
.ses-detalle{margin:0 14px;padding:12px;border-radius:14px;background:var(--caja-app);display:grid;gap:7px;font:600 11.5px/1.2 var(--f-txt);opacity:0;transform:translateY(10px);transition:opacity .45s,transform .6s var(--suelta)}
.hecho .ses-detalle{opacity:1;transform:none;transition-delay:.2s}
.ponentes{display:flex;gap:8px}
.ponentes span{display:grid;justify-items:center;gap:4px;flex:1}
.ponentes img{width:42px;height:42px;border-radius:12px;object-fit:cover}
.ponentes small{font:600 9.5px/1.1 var(--f-txt);color:var(--sub-app);text-align:center}
.app-boton-peq{margin:2px 0 0;padding:10px}
.propuestas{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:0 12px}
.propuestas figure{margin:0;position:relative;border-radius:13px;overflow:hidden;height:118px;transition:opacity .4s,box-shadow .4s}
.propuestas figure:first-child{grid-column:span 2;height:150px}
.propuestas img{width:100%;height:100%;object-fit:cover}
.propuestas figcaption{position:absolute;left:0;right:0;bottom:0;padding:22px 9px 8px;background:linear-gradient(transparent,rgba(8,9,12,.85));color:#fff}
.propuestas b{display:block;font:900 14px/1 var(--f-tit)}
.propuestas small{font:600 9.5px/1.2 var(--f-txt);opacity:.85}
.hecho .propuestas figure:not(.objetivo){opacity:.4}
.hecho .propuestas .objetivo{box-shadow:0 0 0 2.5px var(--ev)}
.prop-detalle{margin:0 12px;padding:11px 12px;border-radius:14px;background:var(--caja-app);display:grid;gap:5px;font:600 11.5px/1.2 var(--f-txt);opacity:0;transform:translateY(10px);transition:opacity .45s,transform .6s var(--suelta)}
.prop-detalle small{color:var(--sub-app);font-size:10px}
.prop-cuando{color:var(--ev);font-weight:700}
.hecho .prop-detalle{opacity:1;transform:none;transition-delay:.2s}
.plano{width:100%;height:auto;margin-top:3px}
.plano>rect:first-child{fill:#EEF1F6}
.plano .pab{fill:#DCE1EA}
.plano text{fill:#5E6B66;font:700 13px var(--f-txt);text-anchor:middle}
.hecho .plano .pab-b{fill:var(--ev)}
.hecho .plano text:nth-of-type(2){fill:#fff}
.carteles{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:0 12px}
.cartel{margin:0;position:relative;aspect-ratio:2/3;border-radius:6px;overflow:hidden;background:#222;transition:opacity .4s,box-shadow .4s,transform .5s var(--suelta)}
.cartel img{width:100%;height:100%;object-fit:cover}
.cartel figcaption{position:absolute;inset:auto 0 0 0;padding:16px 6px 6px;background:linear-gradient(transparent,rgba(0,0,0,.85));color:#fff}
.cartel b{display:block;font:900 12px/1 var(--f-tit);text-transform:uppercase;letter-spacing:.04em}
.cartel small{font:600 8px/1.1 var(--f-txt);opacity:.8}
.hecho .cartel:not(.objetivo){opacity:.35}
.hecho .cartel.objetivo{box-shadow:0 0 0 2.5px #16181D;transform:translateY(-3px)}
.pases{display:grid;gap:6px;margin:0 14px}
.pases li{display:grid;grid-template-columns:20px 1fr;gap:1px 8px;align-items:center;padding:9px 10px;border-radius:11px;background:var(--caja-app);box-shadow:inset 0 0 0 1px var(--linea-app);font:600 11px/1.2 var(--f-txt);transition:box-shadow .4s}
.pases .ic{grid-row:span 2;width:17px;height:17px}
.pases b{font-size:12.5px}
.pases small{color:var(--sub-app)}
.hecho .pases .objetivo{box-shadow:inset 0 0 0 2px #16181D}
.movil[data-tema="papel"] .app-boton{background:#16181D;color:#F3F1EC}
.hecho .movil[data-tema="papel"] .app-boton{background:#1F8A70}

/* ── Qué ofrece ───────────────────────────────────────────────────────────── */
.ofrece{display:grid;grid-template-columns:1.6fr 1fr;gap:20px;margin-top:52px;align-items:start}
.ofrece-eti{display:flex;align-items:center;gap:10px;font:700 13px/1 var(--f-txt);letter-spacing:.14em;text-transform:uppercase;margin-bottom:18px}
.ofrece-eti i{width:13px;height:13px;border-radius:3.5px;background:var(--encendido)}
.ofrece-eti-b i{background:transparent;box-shadow:inset 0 0 0 2px var(--ambar)}
.ofrece-eti-b{color:#8A5F12}
.ofrece-rej{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.ofrece-rej article{padding:20px 20px 22px;border-radius:16px;background:#fff;box-shadow:0 0 0 1px var(--linea)}
.ofrece-rej h3{font-size:19px;margin-bottom:6px}
.ofrece-rej p{color:var(--suave);font-size:15.5px;line-height:1.45}
.ofrece-b{padding:24px;border-radius:20px;background:transparent;box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--ambar) 55%,var(--linea));}
.ofrece-b-txt{color:var(--suave);font-size:15.5px;margin-bottom:16px}
.ofrece-b ul{display:flex;flex-wrap:wrap;gap:8px}
.ofrece-b li{font:600 14.5px/1.2 var(--f-txt);padding:9px 12px;border-radius:99px;background:#fff;box-shadow:0 0 0 1px var(--linea)}
@media (max-width:900px){.ofrece{grid-template-columns:1fr}.ofrece-rej{grid-template-columns:1fr}}

/* Proceso y fiabilidad con la tipografía nueva */
.v-puntos2 .pasos li{background:#fff}
.v-puntos2 .paso-n{font:900 17px/1 var(--f-tit)}
.v-puntos2 .pasos h3,.v-puntos2 .fiab h3{font-size:20px}
.v-puntos2 .fiab{border-top-color:rgba(255,255,255,.45)}
.v-puntos2 .datos{background:#1D2027}
.v-puntos2 .datos h3{font:900 clamp(26px,3vw,38px)/1 var(--f-tit)}

/* ── Precios y calculadora ────────────────────────────────────────────────── */
.desde{margin-top:18px;font:700 16px/1.4 var(--f-txt);display:inline-flex;align-items:center;gap:10px;padding:10px 14px;border-radius:10px;background:#fff;box-shadow:0 0 0 1px var(--linea)}
.desde::before{content:"";width:10px;height:10px;border-radius:2.8px;background:var(--encendido)}
.audiencia{display:none;margin-top:40px;padding:26px 28px 24px;border-radius:22px;background:var(--tinta);color:#F3F4F6}
.calc-viva .audiencia{display:grid;gap:16px}
.aud-cab{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px 24px}
.aud-tit{font:900 24px/1.1 var(--f-tit)}
.aud-explica{font-size:14.5px;color:#A9AFBA}
.aud-rango{-webkit-appearance:none;appearance:none;width:100%;height:44px;background:transparent;margin:0;cursor:pointer;touch-action:pan-y}
.aud-rango::-webkit-slider-runnable-track{height:8px;border-radius:99px;background:linear-gradient(90deg,var(--encendido) 0 var(--llenado,0%),#3A3F4A var(--llenado,0%))}
.aud-rango::-moz-range-track{height:8px;border-radius:99px;background:#3A3F4A}
.aud-rango::-moz-range-progress{height:8px;border-radius:99px;background:var(--encendido)}
.aud-rango::-webkit-slider-thumb{-webkit-appearance:none;width:30px;height:30px;margin-top:-11px;border-radius:8px;background:#F5F6F8;box-shadow:0 0 0 5px rgba(255,90,44,.35),0 4px 12px rgba(0,0,0,.4);transition:transform .2s var(--suelta)}
.aud-rango::-moz-range-thumb{width:30px;height:30px;border:0;border-radius:8px;background:#F5F6F8;box-shadow:0 0 0 5px rgba(255,90,44,.35)}
.aud-rango:active::-webkit-slider-thumb{transform:scale(1.08)}
.aud-rango:focus-visible{outline:3px solid var(--encendido);outline-offset:4px;border-radius:12px}
.aud-marcas{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-top:-6px}
.aud-marcas button{font:700 14px/1 var(--f-txt);font-variant-numeric:tabular-nums;color:#C3C8D1;background:transparent;border:0;border-radius:9px;padding:11px 4px;min-height:44px;cursor:pointer}
.aud-marcas button:hover{background:rgba(255,255,255,.06);color:#fff}
.aud-marcas button[aria-pressed="true"]{color:var(--tinta);background:#F5F6F8}
.aud-sel{display:flex;flex-wrap:wrap;gap:4px 14px;align-items:baseline;min-height:2.6em}
.aud-sel b{font:700 18px/1.3 var(--f-txt)}
.aud-sel span{font:600 14.5px/1.3 var(--f-txt);color:#A9AFBA}
.v-puntos2 .planes{margin-top:22px}
.v-puntos2 .plan h3{font:900 30px/1 var(--f-tit)}
.v-puntos2 .plan-precio{flex-direction:column;align-items:flex-start;gap:6px}
.v-puntos2 .plan-precio b{font:900 clamp(40px,4vw,54px)/1 var(--f-tit);letter-spacing:-.01em;font-variant-numeric:tabular-nums;min-width:5.6em;display:inline-block}
.v-puntos2 .plan-precio span{width:auto;font-size:14px;font-weight:600}
.v-puntos2 .plan li::before{border-radius:2.5px}
.v-puntos2 .plan-dest{background:var(--tinta)}
.v-puntos2 .plan-dest .btn-pri{background:var(--encendido);color:var(--tinta)}
.v-puntos2 .plan-sello{font-weight:700}
.tabla-precios{margin-top:22px;border-radius:18px;background:#fff;box-shadow:0 0 0 1px var(--linea)}
.tabla-precios summary{cursor:pointer;padding:18px 22px;font:700 16px/1.2 var(--f-txt);list-style:none;display:flex;justify-content:space-between;gap:12px}
.tabla-precios summary::-webkit-details-marker{display:none}
.tabla-precios summary::after{content:"";width:13px;height:13px;flex:none;border-radius:3.5px;background:var(--apagado-claro);transition:transform .3s,background .3s;align-self:center}
.tabla-precios[open] summary::after{background:var(--encendido);transform:rotate(45deg)}
.tabla-envoltura{overflow-x:auto;padding:0 22px 20px}
.tabla-precios table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums;font-size:15px}
.tabla-precios caption{text-align:left;color:var(--suave);font-size:14px;padding-bottom:10px}
.tabla-precios th,.tabla-precios td{padding:11px 10px;border-bottom:1px solid var(--linea);text-align:right;white-space:nowrap}
.tabla-precios th[scope="row"],.tabla-precios thead th:first-child{text-align:left;white-space:normal;font-weight:600}
.tabla-precios th small{color:var(--suave);font-weight:600}
.tabla-precios tr.sel td,.tabla-precios tr.sel th{background:#FFF1EC}
.v-puntos2 .incluido{background:#fff}

.demo-resumen{margin-top:22px;padding:16px 18px;border-radius:14px;background:#1D2027;box-shadow:inset 0 0 0 1.5px rgba(255,90,44,.5);font:600 16px/1.45 var(--f-txt)}
.demo-resumen b{font:900 22px/1.2 var(--f-tit);display:block;margin-top:2px;font-variant-numeric:tabular-nums}
.demo-resumen small{display:block;color:#A9AFBA;font-size:13.5px}

/* ══ Añadidos de E2 ═══════════════════════════════════════════════════════ */
.v-puntos2 h1,.v-puntos2 h2{font-weight:900;letter-spacing:-.02em}
.v-puntos2 h3{font-weight:700}
.v-puntos2 .btn{font-weight:700}
.p-tit{letter-spacing:-.025em}
.p-palabra{font:900 15px/1 var(--f-txt);letter-spacing:.22em;color:var(--ev,var(--encendido))}
.p-capa-historia .p-palabra{color:var(--encendido)}
.p-claim{font-size:clamp(34px,4.2vw,58px);line-height:1;max-width:13ch}
.p-etiqueta{justify-self:start;font:700 12.5px/1 var(--f-txt);letter-spacing:.12em;text-transform:uppercase;color:var(--ambar);padding:8px 11px;border-radius:7px;box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--ambar) 60%,transparent)}
.p-otras{display:flex;flex-wrap:wrap;gap:8px}
.p-otras li{font:600 14px/1 var(--f-txt);padding:9px 12px;border-radius:99px;background:rgba(255,255,255,.07);color:#D6DAE1}
.p-pilares{display:grid;gap:12px}
.p-pilares li{color:var(--suave);font-size:16px;line-height:1.45}
.p-pilares b{display:block;color:#fff;font:700 18px/1.2 var(--f-txt);margin-bottom:2px}
.p-pilares b::before{content:"";display:inline-block;width:10px;height:10px;border-radius:2.8px;background:var(--encendido);margin-right:10px;vertical-align:1px}
.p-cierre-txt{font:600 clamp(20px,2.2vw,28px)/1.3 var(--f-txt);color:#D6DAE1}
.p-tel-linea .movil{transform:scale(.9);transform-origin:50% 0;margin-bottom:-62px}
.p-tel .movil{width:300px;height:620px}
.ic{width:16px;height:16px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.v-puntos2 .cab-in{gap:22px}
.v-puntos2 .cab-nav{gap:20px;font-weight:600}
.v-puntos2 .cab-cta{white-space:nowrap}
.cab-menu{display:none;position:relative}
.cab-menu summary span{background:currentColor!important}
.cab-menu summary{box-shadow:inset 0 0 0 1.5px color-mix(in srgb,currentColor 30%,transparent)!important}
@media (max-width:980px){.v-puntos2 .cab-nav{display:none}.cab-menu{display:block}.cab-cta{margin-left:auto}}
@media (max-width:420px){.v-puntos2 .cab-in{gap:10px}.v-puntos2 .cab-logo img{height:17px}.v-puntos2 .cab-cta{padding:10px 12px;font-size:14px}.v-puntos2 .cab-cta::after{display:none}}
.v-puntos2 .sec-precios,.v-puntos2 .sec-ofrece{background:var(--papel)}
.calc-viva .audiencia{display:grid;gap:16px}
.aud-sel{min-height:1.6em}
.p-oscura .ret-llamada i.off{background:var(--apagado-oscuro)}

/* ══ rc.4 ═════════════════════════════════════════════════════════════════ */
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
/* El punto final es la celda naranja, en el sitio y al tamaño del punto tipográfico (va dentro de la palabra: no se separa) */
.p-punto{display:inline-block;width:.17em;height:.17em;margin:0 .02em 0 .05em;border-radius:.042em;background:var(--encendido);vertical-align:baseline}

/* Preguntas: burbujas de mensaje que flotan y se desvanecen al bajar (guion.js las mueve con el scroll) */
/* Separación vertical distinta entre cada burbuja y sangrías variables: que respiren y no formen una columna */
.p-burbujas{gap:0}
.p-burbujas li{--fy:-16px;--fx:4px;--fd:6s;--fr:0s}
.p-burbujas li:nth-child(1){margin-top:0;margin-left:2%;--fy:-18px;--fx:-5px;--fd:6.4s;--fr:-1.2s}
.p-burbujas li:nth-child(2){margin-top:52px;margin-right:6%;--fy:-12px;--fx:6px;--fd:5.1s;--fr:-3.4s}
.p-burbujas li:nth-child(3){margin-top:78px;margin-left:12%;--fy:-22px;--fx:-3px;--fd:7.6s;--fr:-.6s}
.p-burbujas li:nth-child(4){margin-top:40px;margin-right:0;--fy:-15px;--fx:7px;--fd:4.6s;--fr:-2.2s}
.p-burbujas li:nth-child(5){margin-top:90px;margin-left:5%;--fy:-20px;--fx:-6px;--fd:6.9s;--fr:-4.1s}
.p-burbujas li:nth-child(6){margin-top:56px;margin-right:10%;--fy:-13px;--fx:4px;--fd:5.6s;--fr:-1.8s}
.p-burbujas li:nth-child(7){margin-top:70px;margin-left:8%;--fy:-17px;--fx:-4px;--fd:7.1s;--fr:-2.9s}
@media (max-width:860px){.p-burbujas li:nth-child(n+2){margin-top:calc(var(--mt-m,34px))}.p-burbujas li:nth-child(3),.p-burbujas li:nth-child(5){--mt-m:48px}.p-burbujas li:nth-child(4){--mt-m:26px}}
.p-burbujas li{background:rgba(40,44,53,.82);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:inset 0 0 0 1px rgba(255,255,255,.07);will-change:transform,opacity,filter}
.p-vivo .p-burbujas li{opacity:0;transition:none;transform:none;animation:p-flota var(--fd) ease-in-out var(--fr) infinite alternate}
/* flotación propia de cada burbuja: amplitud, ritmo y fase distintos */
@keyframes p-flota{0%{translate:0 0}50%{translate:var(--fx) calc(var(--fy) * .55)}100%{translate:calc(var(--fx) * -.6) var(--fy)}}
@media (prefers-reduced-motion:reduce){.p-vivo .p-burbujas li{animation:none;opacity:1}}

/* Participa: fotomatón con el marco del festival y compartir en redes */
.movil-historia[data-paso="selfie"] .vista-selfie,.movil-historia[data-paso="compartida"] .vista-selfie{opacity:1;transform:none}
.movil-historia[data-paso="selfie"] [data-tab="selfie"],.movil-historia[data-paso="compartida"] [data-tab="selfie"]{color:var(--ev)}
.selfie{position:relative;margin:2px 0 0;height:270px;border-radius:18px;overflow:hidden;background:#000}
.selfie-foto img{width:100%;height:100%;object-fit:cover}
.selfie-foto{position:absolute;inset:0}
.selfie-visor i{position:absolute;width:22px;height:22px;border:2px solid rgba(255,255,255,.85);transition:opacity .4s}
.selfie-visor i:nth-child(1){top:12px;left:12px;border-right:0;border-bottom:0;border-top-left-radius:6px}
.selfie-visor i:nth-child(2){top:12px;right:12px;border-left:0;border-bottom:0;border-top-right-radius:6px}
.selfie-visor i:nth-child(3){bottom:12px;left:12px;border-right:0;border-top:0;border-bottom-left-radius:6px}
.selfie-visor i:nth-child(4){bottom:12px;right:12px;border-left:0;border-top:0;border-bottom-right-radius:6px}
.selfie-marco{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;gap:2px;padding:14px;border:6px solid var(--ev);border-radius:18px;
  background:linear-gradient(transparent 55%,rgba(10,10,14,.85));color:#fff;opacity:0;transform:scale(1.06);transition:opacity .45s ease,transform .6s var(--suelta)}
.selfie-marco b{font:900 20px/1 var(--f-tit);letter-spacing:.02em}
.selfie-marco span{font:700 12px/1 var(--f-txt);color:color-mix(in srgb,var(--ev) 60%,#fff)}
.selfie-celdas{position:absolute;top:12px;right:12px;display:grid;grid-template-columns:repeat(3,8px);gap:3px}
.selfie-celdas i{width:8px;height:8px;border-radius:2px;background:var(--ev)}
.selfie-celdas i:nth-child(2){background:#fff}
.movil-historia[data-paso="compartida"] .selfie-marco{opacity:1;transform:none}
.movil-historia[data-paso="compartida"] .selfie-visor i{opacity:0}
.selfie-disparo{display:flex;align-items:center;justify-content:center;gap:8px;font:700 13px/1 var(--f-txt);padding:13px;border-radius:12px;background:#F5F6F8;color:#16181D;transition:opacity .3s,transform .3s var(--suelta)}
.movil-historia[data-paso="compartida"] .selfie-disparo{opacity:0;transform:scale(.94);height:0;padding:0;margin:-9px 0 0;overflow:hidden}
.selfie-compartir{display:grid;gap:9px;opacity:0;transform:translateY(10px);transition:opacity .45s ease .15s,transform .6s var(--suelta) .15s}
.movil-historia[data-paso="compartida"] .selfie-compartir{opacity:1;transform:none}
.selfie-ok{display:flex;align-items:center;gap:8px;font:700 12.5px/1.2 var(--f-txt);padding:10px 12px;border-radius:12px;background:rgba(31,138,112,.18);color:#7FD8BE}
.redes{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.redes span{display:grid;justify-items:center;gap:5px;font:700 9.5px/1 var(--f-txt);color:var(--sub-app)}
.redes i{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--caja-app);color:var(--txt-app);font-style:normal}
.redes span:first-child i{background:var(--ev);color:#fff}
.app-filtros-cine{margin:0 12px}
.app-filtros-cine span{color:var(--sub-app);box-shadow:inset 0 0 0 1px var(--linea-app)}
.app-filtros-cine .on{color:var(--txt-app);box-shadow:inset 0 0 0 1.5px var(--txt-app)}

/* Qué ofrece: las dos etiquetas en la misma fila; las cajas empiezan a la misma altura */
.ofrece{align-items:start}
.ofrece-b-col .ofrece-eti{margin-bottom:18px}

/* Menos aire entre bloques */
.v-puntos2 .sec{padding-block:clamp(64px,8vw,112px)}

/* iPhone plata en 3D: aluminio con degradado, bisel negro, botones laterales y canto que se ve al girar.
   guion.js da --ry/--rx (giro con cursor y scroll), --canto (grosor visible) y --brillo (reflejo). */
.movil{padding:4px;background:linear-gradient(145deg,#f6f7f9 0%,#cfd3d8 18%,#a3a8b0 46%,#e6e8ec 68%,#b2b7be 100%)}
.movil-pant{border:7px solid #060708;border-radius:42px}
.movil::before,.movil::after{content:"";position:absolute;width:4px;border-radius:2px;background:linear-gradient(90deg,#8e939a,#dfe2e6 60%,#a9aeb5)}
.movil::before{left:-3px;top:150px;height:96px;box-shadow:0 -46px 0 -14px #b9bdc3}
.movil::after{right:-3px;top:170px;height:68px}
.p-tel .movil-pant::after{content:"";position:absolute;inset:0;z-index:6;pointer-events:none;border-radius:inherit;
  background:linear-gradient(112deg,rgba(255,255,255,0) 42%,rgba(255,255,255,.07) 50%,rgba(255,255,255,0) 58%);background-size:260% 100%;background-position:var(--brillo,50%) 0}
.vista-selfie .vista-tit{font-size:18px}
.selfie-marco b{font-size:16px}
.p-capa-historia .p-palabra{letter-spacing:.2em}
@media (max-width:860px){.p-burbujas{margin-top:36px}}

/* ══ Móvil en 3D real (rc.6) ══════════════════════════════════════════════
   La caja (.p-telefonos) deja 70 px alrededor del móvil para que al girar no se recorte nada (la trama de revelado
   también cubre ese margen). .p-tel da la perspectiva; .movil3d gira en el espacio con preserve-3d: el frontal va a
   +13 px, el canto son capas de aluminio cada 2 px y la trasera a -13 px. */
.p-telefonos{width:440px;height:760px}
.p-tel{perspective:1700px;perspective-origin:50% 48%;visibility:hidden}
.p-telefonos.visible .p-tel.on{visibility:visible}
/* Fantasmas (rc.6): lo que se anima dentro del móvil (tarjetas que entran, cursor) va en su propia capa y Chrome
   la pinta sin la máscara de puntos: quedaba flotando al irse el móvil. Mientras hay máscara, nada se anima. */
.p-telefonos:not(.lleno) .p-tel *,.p-telefonos:not(.lleno) .p-tel *::before,.p-telefonos:not(.lleno) .p-tel *::after{transition:none!important;animation:none!important}
.movil3d{position:absolute;left:70px;top:70px;width:300px;height:620px;transform-style:preserve-3d;
  transform:rotateY(var(--ry,-16deg)) rotateX(var(--rx,5deg));will-change:transform}
.p-tel .movil3d>.movil{position:absolute;left:0;top:0;transform:translateZ(13px);box-shadow:inset 0 0 0 1px rgba(255,255,255,.35)}
.p-tel .movil3d>.movil::before,.p-tel .movil3d>.movil::after{display:none}
.canto3d{position:absolute;inset:0;border-radius:46px;transform:translateZ(var(--z));
  background:linear-gradient(90deg,#7c8188 0%,#cfd2d7 14%,#9da2a9 40%,#e4e6ea 70%,#8a8f96 100%)}
.trasera3d{position:absolute;inset:0;border-radius:46px;transform:translateZ(-13px) rotateY(180deg);
  background:linear-gradient(150deg,#eceef1 0%,#bfc3c9 55%,#dfe2e6 100%)}
.sombra3d{position:absolute;left:34px;right:34px;top:60px;bottom:-24px;border-radius:70px;background:rgba(0,0,0,.6);
  filter:blur(26px);transform:translateZ(-70px)}
@media (prefers-reduced-motion:reduce){.movil3d{transform:none}}

