/* Página de aterrizaje · Registro de jornada · Consultor[IA]
   Mismo lenguaje que el panel: lienzo claro, tarjetas blancas con sombra fría,
   el oro como único acento y reservado a la acción principal. Nada oscuro de fondo.
   Movimiento sólo para explicar (tarjeta → teléfono → panel) y siempre con
   prefers-reduced-motion respetado. */
@font-face{font-family:Geist;src:url(fonts/geist.woff2)format('woff2');font-display:swap;font-weight:100 900}
:root{
  --lienzo:#F2F4F7; --papel:#FFFFFF; --panel2:#F6F8FB; --bisel:#E9EDF3;
  --linea:rgba(17,24,39,.07); --linea2:rgba(17,24,39,.14);
  --texto:#0D141F; --dim:#596375; --tenue:#8A93A3;
  --oro:#FFC300; --oro-tenue:#FFF8E0; --oro-linea:rgba(190,145,0,.32); --oro-tinta:#6B5200;
  --ok:#0E7A52; --ok-tenue:rgba(16,132,90,.10); --alerta:#C2410C; --alerta-tenue:rgba(194,65,12,.10);
  --sombra:0 1px 2px rgba(17,24,39,.04), 0 8px 24px -12px rgba(17,24,39,.10);
  --sombra-alta:0 1px 2px rgba(17,24,39,.05), 0 30px 60px -28px rgba(17,24,39,.28);
  --mov:cubic-bezier(.32,.72,0,1);
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:80px}
body{font-family:Geist,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--texto);background:var(--papel);
  font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;font-feature-settings:"ss01","cv11";overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit}
::selection{background:var(--oro);color:#1A1400}
.ancho{width:100%;max-width:1200px;margin:0 auto;padding:0 28px}
@media (max-width:640px){ .ancho{padding:0 18px} }
.tenue{color:var(--tenue)}
.rot{font-size:12px;font-weight:650;letter-spacing:.14em;text-transform:uppercase;color:var(--oro-tinta)}

/* ── botones ── */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:14px;padding:12px 20px;font:inherit;
  font-size:15px;font-weight:650;text-decoration:none;border:0;cursor:pointer;white-space:nowrap;
  transition:transform .25s var(--mov),box-shadow .25s var(--mov),filter .2s}
.btn:active{transform:scale(.98)}
.btn.oro{background:var(--oro);color:#1A1400;font-weight:750;box-shadow:0 12px 26px -12px rgba(190,145,0,.8),inset 0 1px 0 rgba(255,255,255,.4)}
.btn.oro:hover{filter:brightness(1.04);transform:translateY(-1px);box-shadow:0 16px 30px -12px rgba(190,145,0,.9)}
.btn.sec{background:var(--papel);color:var(--texto);box-shadow:var(--sombra),inset 0 0 0 1px var(--linea2)}
.btn.sec:hover{box-shadow:var(--sombra),inset 0 0 0 1px rgba(17,24,39,.3)}
.btn.grande{padding:16px 26px;font-size:16px;border-radius:15px}
.btn.chico{padding:9px 16px;font-size:14px;border-radius:11px}
.btn svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2;stroke-linejoin:round}
.btn.wa svg{color:#128C4A}
.ancho-b{width:100%}

/* ── barra superior: sólo logo, entrar y la acción ── */
.barra{position:sticky;top:0;z-index:40;background:rgba(242,244,247,.8);backdrop-filter:blur(14px) saturate(140%);
  -webkit-backdrop-filter:blur(14px) saturate(140%);box-shadow:inset 0 -1px 0 var(--linea)}
.barra-in{display:flex;align-items:center;justify-content:space-between;height:72px}
.barra .eplogo .m{height:34px}
.logo{text-decoration:none}
.barra-der{display:flex;align-items:center;gap:18px}
.lnk{font-size:14.5px;font-weight:600;color:var(--dim);text-decoration:none}
.lnk:hover{color:var(--texto)}

/* ── 1. encabezado ── */
.hero{background:radial-gradient(900px 520px at 85% 10%, rgba(255,195,0,.20), transparent 62%),
  radial-gradient(700px 500px at 0% 100%, rgba(255,195,0,.07), transparent 70%), var(--lienzo);overflow:hidden}
.hero-in{display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center;padding-top:clamp(40px,7vw,88px);padding-bottom:clamp(48px,7vw,96px)}
.sello-ley{display:inline-flex;align-items:center;gap:9px;font-size:13px;font-weight:600;color:var(--dim);background:var(--papel);
  padding:7px 14px 7px 11px;border-radius:999px;box-shadow:var(--sombra),inset 0 0 0 1px var(--linea)}
.sello-ley .punto{width:8px;height:8px;border-radius:50%;background:var(--oro);box-shadow:0 0 0 4px rgba(255,195,0,.22)}
.hero h1{font-size:clamp(34px,4.3vw,56px);line-height:1.03;letter-spacing:-.045em;font-weight:800;margin:22px 0 20px;text-wrap:balance}
.hero h1 .h1-tenue{color:#7A8494}
.bajada b{color:var(--texto);font-weight:650}
.bajada{font-size:clamp(17px,1.5vw,19.5px);color:var(--dim);max-width:34em;line-height:1.55}
.cta-grupo{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.cta-grupo.centro{justify-content:center}
.micro{list-style:none;display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:16px;font-size:14px;color:var(--dim)}
.micro.centro{justify-content:center}
.micro li{display:flex;align-items:center;gap:7px}
.micro li::before{content:"";width:16px;height:16px;border-radius:50%;flex:none;
  background:var(--ok-tenue) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4.5 8.2l2.2 2.2 4.8-4.8' fill='none' stroke='%230E7A52' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/16px no-repeat}

/* escena: teléfono + tarjeta + panel */
.hero-escena{position:relative;height:650px;max-width:520px;width:100%;justify-self:center}
.tel{position:absolute;left:4%;top:0;width:262px;height:534px;border-radius:46px;padding:9px;
  background:linear-gradient(145deg,#F7F8FA,#DDE2E9);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.9),0 0 0 1px rgba(17,24,39,.14),0 2px 3px rgba(17,24,39,.06),0 50px 80px -30px rgba(17,24,39,.38)}
.tel::before{content:"";position:absolute;right:-3px;top:150px;width:3px;height:64px;border-radius:0 3px 3px 0;background:#CDD3DC}
.tel::after{content:"";position:absolute;left:-3px;top:120px;width:3px;height:40px;border-radius:3px 0 0 3px;background:#CDD3DC;
  box-shadow:0 56px 0 #CDD3DC}
.tel-pantalla{position:relative;height:100%;border-radius:38px;overflow:hidden;background:#fff;box-shadow:inset 0 0 0 1px var(--linea)}
.tel-pantalla::before{content:"";position:absolute;top:10px;left:50%;width:84px;height:24px;margin-left:-42px;border-radius:14px;background:#0D141F;z-index:3}
.tel-cab{padding:44px 18px 12px;box-shadow:inset 0 -1px 0 var(--linea);display:flex;flex-direction:column;gap:1px}
.tel-cab b{font-size:13px;font-weight:800;letter-spacing:-.02em}
.tel-cab span{font-size:10.5px;color:var(--dim);font-weight:600}
.tel-reposo{display:flex;flex-direction:column;align-items:center;padding-top:40px;text-align:center}
.tel-hora{font-size:66px;font-weight:800;letter-spacing:-.05em;line-height:1}
.tel-hora small{font-size:18px;color:var(--dim);margin-left:3px;letter-spacing:0}
.tel-fecha{font-size:12.5px;color:var(--dim);font-weight:600;margin-top:6px}
.tel-anillo{width:96px;height:96px;border-radius:50%;margin-top:40px;display:grid;place-items:center;background:var(--oro-tenue);
  box-shadow:inset 0 0 0 3px var(--oro)}
.tel-anillo svg{width:40px;height:40px;fill:none;stroke:var(--oro-tinta);stroke-width:2;stroke-linecap:round}
.tel-pide{margin-top:14px;font-size:15px;font-weight:700}
.tel-ok{position:absolute;inset:0;background:var(--ok);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:8px;text-align:center;opacity:0}
.tel-foto{width:86px;height:86px;border-radius:50%;background:rgba(255,255,255,.2);display:grid;place-items:center;font-size:28px;font-weight:800}
.tel-tipo{display:flex;align-items:center;gap:6px;font-size:30px;font-weight:900;letter-spacing:-.03em;margin-top:6px}
.tel-tipo svg{width:28px;height:28px;fill:none;stroke:#fff;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.tel-nombre{font-size:19px;font-weight:800;letter-spacing:-.02em}
.tel-h{font-size:17px;font-weight:700;opacity:.92}
.tarjeta-nfc{position:absolute;left:-6%;top:380px;width:150px;height:94px;border-radius:12px;padding:12px 14px;
  background:linear-gradient(135deg,#FFFFFF,#F4F6F9);box-shadow:0 0 0 1px rgba(17,24,39,.10),0 24px 40px -18px rgba(17,24,39,.4);
  display:flex;flex-direction:column;justify-content:space-between;transform:rotate(-8deg)}
.tarjeta-nfc span{font-size:10px;font-weight:800;letter-spacing:-.01em}
.tarjeta-nfc i{width:28px;height:20px;border-radius:5px;background:linear-gradient(135deg,var(--oro),#E5A800)}
.panel-mini{position:absolute;right:-2%;top:424px;width:290px;background:var(--papel);border-radius:20px;padding:18px;
  box-shadow:var(--sombra-alta),0 0 0 1px var(--linea)}
.pm-cab{display:flex;justify-content:space-between;align-items:center}
.pm-rot{font-size:10.5px;font-weight:650;letter-spacing:.14em;text-transform:uppercase;color:var(--tenue)}
.pm-vivo{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:650;color:var(--ok)}
.pm-vivo i{width:7px;height:7px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 3px var(--ok-tenue)}
.pm-cifra{display:flex;align-items:baseline;gap:6px;margin:6px 0 12px}
.pm-cifra b{font-size:52px;font-weight:800;letter-spacing:-.05em;line-height:1;font-variant-numeric:tabular-nums}
.pm-cifra span{font-size:17px;font-weight:700;color:var(--dim)}
.pm-lista{display:flex;flex-direction:column;gap:2px}
.pm-fila{display:flex;align-items:center;gap:10px;padding:8px 6px;border-radius:12px}
.pm-fila > div{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.3}
.pm-fila b{font-size:13px;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pm-fila small{font-size:11px;color:var(--tenue)}
.av{width:30px;height:30px;border-radius:50%;flex:none;display:grid;place-items:center;font-size:11px;font-weight:750;background:var(--panel2);
  box-shadow:inset 0 0 0 1px var(--linea);color:var(--dim)}
.est{font-size:11px;font-weight:700;padding:3px 9px;border-radius:999px;white-space:nowrap}
.est.ok{color:var(--ok);background:var(--ok-tenue)} .est.tarde{color:var(--oro-tinta);background:var(--oro-tenue)}
.pm-nueva{background:var(--oro-tenue);box-shadow:inset 0 0 0 1px var(--oro-linea);overflow:hidden}

/* animación de la escena: ciclo de 7 s, sólo transform y opacity */
.anima .tarjeta-nfc{animation:tarjeta 7s var(--mov) infinite}
.anima .tel-ok{animation:verde 7s ease infinite}
.anima .tel-anillo{animation:pulso 7s ease infinite}
.anima .pm-nueva{animation:entra 7s var(--mov) infinite}
@keyframes tarjeta{0%,8%{transform:translate(-40px,60px) rotate(-14deg);opacity:0}
  16%{opacity:1}28%,40%{transform:translate(78px,-118px) rotate(-6deg);opacity:1}54%,100%{transform:translate(-40px,60px) rotate(-14deg);opacity:0}}
@keyframes verde{0%,30%{opacity:0}33%,72%{opacity:1}78%,100%{opacity:0}}
@keyframes pulso{0%,20%{transform:scale(1)}26%{transform:scale(1.07)}30%,100%{transform:scale(1)}}
@keyframes entra{0%,31%{opacity:0;max-height:0;padding-top:0;padding-bottom:0;margin-bottom:-2px}37%,92%{opacity:1;max-height:60px;padding-top:8px;padding-bottom:8px;margin-bottom:0}98%,100%{opacity:0;max-height:0;padding-top:0;padding-bottom:0;margin-bottom:-2px}}
.quieto .tel-ok{opacity:0} .quieto .tarjeta-nfc{opacity:1;transform:translate(40px,-40px) rotate(-10deg)}

/* ── 2. franja de confianza ── */
.franja{background:var(--papel);box-shadow:inset 0 -1px 0 var(--linea),inset 0 1px 0 var(--linea)}
.franja-in{display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px 28px;padding-top:20px;padding-bottom:20px}
.franja span{display:flex;align-items:center;gap:9px;font-size:14px;font-weight:600;color:var(--dim)}
.franja svg{width:19px;height:19px;fill:none;stroke:var(--oro-tinta);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* ── secciones ── */
.bloque{padding:clamp(64px,9vw,120px) 0}
.bloque.claro{background:var(--lienzo)}
.sec-cab{max-width:760px;margin-bottom:clamp(32px,4vw,56px)}
.sec-cab.centro{margin-left:auto;margin-right:auto;text-align:center}
.sec-cab h2,.evi-txt h2,.cierre h2{font-size:clamp(28px,3.6vw,44px);line-height:1.08;letter-spacing:-.035em;font-weight:800;margin-top:12px;text-wrap:balance}
.sec-cab p,.evi-txt > p{font-size:17.5px;color:var(--dim);margin-top:16px;line-height:1.6}
.sec-cab p a{color:var(--texto);font-weight:650}

/* 3. problema */
.dolor{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:18px}
.dolor-card{background:var(--panel2);border-radius:22px;padding:28px;box-shadow:inset 0 0 0 1px var(--linea)}
.dolor-card.grande{background:#FFF6F1;box-shadow:inset 0 0 0 1px rgba(194,65,12,.18)}
.dolor-card.grande .rot{color:var(--alerta)}
.cifra-multa{font-size:clamp(30px,3.4vw,44px);font-weight:800;letter-spacing:-.04em;line-height:1.05;margin:12px 0 14px;color:#7C2D12;font-variant-numeric:tabular-nums}
.cifra-multa span{font-size:.5em;color:var(--alerta);font-weight:700;letter-spacing:0;margin:0 4px}
.dolor-card p{font-size:15px;color:var(--dim);line-height:1.6}
.dolor-card h3{font-size:19px;font-weight:700;letter-spacing:-.02em;margin:16px 0 8px;line-height:1.25}
.obligatorio{margin-top:18px;padding-top:16px;border-top:1px dashed rgba(194,65,12,.3);font-size:15px;color:#7C2D12}
.obligatorio span{color:var(--alerta);font-weight:650}
.ic-c{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;background:var(--papel);box-shadow:var(--sombra),inset 0 0 0 1px var(--linea)}
.ic-c svg{width:22px;height:22px;fill:none;stroke:var(--texto);stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}

/* 4. pasos */
.pasos{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:18px;counter-reset:p}
.pasos li{position:relative;background:var(--papel);border-radius:22px;padding:30px 28px;box-shadow:var(--sombra),inset 0 0 0 1px var(--linea)}
.pasos .n{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;font-weight:800;font-size:17px;background:var(--oro);color:#1A1400;
  box-shadow:0 8px 18px -10px rgba(190,145,0,.9)}
.pasos h3{font-size:20px;font-weight:700;letter-spacing:-.02em;margin:18px 0 8px}
.pasos p{font-size:15.5px;color:var(--dim)}
.centro-cta{text-align:center;margin-top:40px}
.micro-t{font-size:14px;color:var(--tenue);margin-top:12px}

/* 5. funciones con pantallas reales */
.func{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(28px,5vw,72px);align-items:center;margin-top:clamp(56px,8vw,104px)}
.func:first-of-type{margin-top:0}
.func.inv .func-txt{order:2}
.etq{display:inline-block;font-size:12px;font-weight:700;color:var(--oro-tinta);background:var(--oro-tenue);padding:4px 11px;border-radius:999px;
  box-shadow:inset 0 0 0 1px var(--oro-linea)}
.func h3{font-size:clamp(24px,2.6vw,32px);line-height:1.12;letter-spacing:-.03em;font-weight:800;margin:14px 0 12px;text-wrap:balance}
.func-txt > p{font-size:16.5px;color:var(--dim)}
.check{list-style:none;display:flex;flex-direction:column;gap:9px;margin-top:20px}
.check li{display:flex;gap:10px;font-size:15.5px;line-height:1.45}
.check li::before{content:"";width:20px;height:20px;flex:none;margin-top:1px;border-radius:50%;
  background:var(--oro) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5.8 10.3l2.8 2.8 5.6-5.8' fill='none' stroke='%231A1400' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/20px no-repeat}
.check.chico li{font-size:14.5px}
.check li b{font-weight:700}
.check li:has(b:only-child)::before{display:none}
.func-img{border-radius:20px;overflow:hidden;background:var(--lienzo);box-shadow:var(--sombra-alta),0 0 0 1px var(--linea)}
.func-img img{width:100%;height:auto}
.func-img{position:relative;cursor:zoom-in}
.func-img::after{content:"Ver en grande";position:absolute;right:12px;bottom:12px;font-size:12px;font-weight:650;color:var(--texto);background:rgba(255,255,255,.92);
  padding:6px 11px;border-radius:999px;box-shadow:var(--sombra);opacity:0;transition:opacity .2s}
.func-img:hover::after{opacity:1}
.zoom{border:0;padding:0;background:transparent;max-width:min(1500px,96vw);max-height:94vh;margin:auto;overflow:visible}
.zoom::backdrop{background:rgba(242,244,247,.86);backdrop-filter:blur(6px)}
.zoom img{max-width:100%;max-height:90vh;width:auto;border-radius:16px;box-shadow:var(--sombra-alta),0 0 0 1px var(--linea)}
.zoom button{position:absolute;top:-14px;right:-14px;width:40px;height:40px;border-radius:50%;border:0;background:#fff;font-size:22px;line-height:1;cursor:pointer;box-shadow:var(--sombra-alta)}

/* 6. evidencia */
.evi{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,80px);align-items:center}
.evi-doc{position:relative;padding:20px 20px 30px}
.doc{position:relative;z-index:2;background:var(--papel);border-radius:16px;padding:24px;box-shadow:var(--sombra-alta),0 0 0 1px var(--linea)}
.doc-atras{position:absolute;inset:36px 0 0 40px;z-index:1;transform:rotate(3deg);box-shadow:var(--sombra),0 0 0 1px var(--linea)}
.doc-cab{display:flex;flex-direction:column;gap:2px;padding-bottom:14px;border-bottom:2px solid var(--texto)}
.doc-cab b{font-size:17px;font-weight:800;letter-spacing:-.02em}
.doc-cab span{font-size:12.5px;color:var(--dim)}
.doc-filas{display:flex;flex-direction:column}
.doc-filas div{display:grid;grid-template-columns:1.6fr .7fr .7fr .8fr;gap:8px;padding:10px 0;border-bottom:1px solid var(--linea);
  font-size:13.5px;font-variant-numeric:tabular-nums}
.doc-filas span:not(:first-child){text-align:right;color:var(--dim)}
.doc-sello{display:flex;align-items:center;gap:12px;margin-top:18px;padding:12px 14px;border-radius:12px;background:var(--ok-tenue)}
.doc-sello svg{width:30px;height:30px;flex:none;fill:none;stroke:var(--ok);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.doc-sello b{display:block;font-size:14.5px;color:var(--ok)}
.doc-sello span{font-size:12.5px;color:#0A5A3C}

/* 7. formas de registrar */
.formas{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.forma{background:var(--panel2);border-radius:22px;padding:26px 22px;box-shadow:inset 0 0 0 1px var(--linea);display:flex;flex-direction:column}
.forma h3{font-size:18px;font-weight:700;margin:16px 0 8px;letter-spacing:-.015em}
.forma p{font-size:14.5px;color:var(--dim);line-height:1.55}
.forma-pie{margin-top:auto;padding-top:16px;font-size:12.5px;font-weight:650;color:var(--oro-tinta)}
/* 7b. (anterior) compatibilidad */
.compat{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.compat-card{background:var(--panel2);border-radius:20px;padding:26px 22px;box-shadow:inset 0 0 0 1px var(--linea)}
.compat-card h3{font-size:17px;font-weight:700;margin:16px 0 6px;letter-spacing:-.015em}
.compat-card p{font-size:14.5px;color:var(--dim);line-height:1.55}

/* 8. precios por número de personas: mismas funciones en todos */
.calc{max-width:640px;margin:0 auto 28px;background:var(--papel);border-radius:22px;padding:24px 28px;box-shadow:var(--sombra),inset 0 0 0 1px var(--linea);
  display:flex;flex-direction:column;align-items:center}
.calc label{font-size:16px;font-weight:650;text-align:center}
.calc .calc-fila{width:100%}
.calc-fila{display:flex;align-items:center;gap:18px;margin:16px 0 18px}
.calc-fila output{min-width:76px;text-align:center;font-size:28px;font-weight:800;letter-spacing:-.03em;font-variant-numeric:tabular-nums;
  background:var(--oro-tenue);border-radius:12px;padding:4px 10px;box-shadow:inset 0 0 0 1px var(--oro-linea)}
input[type=range]{--p:8.5%;flex:1;-webkit-appearance:none;appearance:none;height:8px;border-radius:99px;outline:0;cursor:pointer;
  background:linear-gradient(90deg,var(--oro) var(--p),var(--bisel) var(--p))}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:28px;height:28px;border-radius:50%;background:#fff;
  box-shadow:0 0 0 1px rgba(17,24,39,.15),0 4px 12px rgba(17,24,39,.2);cursor:grab}
input[type=range]::-moz-range-thumb{width:28px;height:28px;border:0;border-radius:50%;background:#fff;box-shadow:0 0 0 1px rgba(17,24,39,.15),0 4px 12px rgba(17,24,39,.2)}
input[type=range]:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 4px rgba(255,195,0,.35),0 4px 12px rgba(17,24,39,.2)}
.periodo{display:flex;gap:4px;padding:4px;border-radius:13px;background:rgba(17,24,39,.055);width:max-content}
.periodo button{font:inherit;font-size:14px;font-weight:650;color:var(--dim);background:none;border:0;padding:8px 16px;border-radius:10px;cursor:pointer}
.periodo button.on{background:var(--papel);color:var(--texto);box-shadow:var(--sombra)}
.periodo em{font-style:normal;font-size:11.5px;font-weight:700;color:var(--ok);margin-left:4px}
.bloque .periodo{margin:0 auto 26px}
.planes3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;max-width:1000px;margin:0 auto}
.p3{background:var(--papel);border-radius:24px;padding:30px 28px;box-shadow:var(--sombra),inset 0 0 0 1px var(--linea);display:flex;flex-direction:column}
.p3:nth-child(2){box-shadow:var(--sombra-alta),inset 0 0 0 2px var(--oro)}
.p3 h3{font-size:21px;font-weight:800;letter-spacing:-.02em}
.p3-quien{font-size:15px;color:var(--dim);margin-top:4px}
.p3-quien b{color:var(--texto)}
.p3-precio{display:flex;align-items:baseline;gap:8px;margin-top:22px}
.p3 .tr-total{font-size:44px}
.p3 .tr-per{font-size:15px}
.p3 .tr-iva{font-size:13px;margin:6px 0 22px;min-height:18px}
.p3 .btn{margin-top:auto}
.p3-todo{display:flex;align-items:center;justify-content:center;gap:7px;font-size:13.5px;color:var(--ok);font-weight:650;margin-top:16px}
.p3-todo svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.tramos{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}
.tramo{background:var(--papel);border-radius:18px;padding:20px 18px;box-shadow:var(--sombra),inset 0 0 0 1px var(--linea);
  transition:box-shadow .3s var(--mov),transform .3s var(--mov),background .3s}
.tramo.tuyo{background:var(--oro-tenue);box-shadow:var(--sombra-alta),inset 0 0 0 2px var(--oro);transform:translateY(-4px)}
.tr-quien{font-size:13.5px;color:var(--dim);line-height:1.35}
.tr-quien b{color:var(--texto);font-size:16px}
.tr-precio{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 6px;margin-top:10px}
.tr-total{font-size:26px;font-weight:800;letter-spacing:-.04em;line-height:1.05;font-variant-numeric:tabular-nums}
.tr-per{font-size:12.5px;color:var(--dim);font-weight:600}
.tr-iva{font-size:12px;color:var(--tenue);margin-top:4px;line-height:1.4}
.tramos-pie{text-align:center;font-size:14px;color:var(--dim);margin-top:18px}
.tramos-pie a{color:var(--texto);font-weight:650}
.incluye{display:grid;grid-template-columns:1.5fr 1fr;margin-top:40px;background:var(--papel);border-radius:26px;overflow:hidden;
  box-shadow:var(--sombra),inset 0 0 0 1px var(--linea)}
.inc-txt{padding:34px}
.inc-txt h3{font-size:19px;font-weight:750;letter-spacing:-.02em}
.check.dos{display:grid;grid-template-columns:1fr 1fr;gap:10px 22px;margin-top:20px}
.inc-impl{background:var(--panel2);padding:34px;box-shadow:inset 1px 0 0 var(--linea);display:flex;flex-direction:column}
.impl-precio{font-size:34px;font-weight:800;letter-spacing:-.04em;margin:8px 0 10px;line-height:1.1}
.impl-precio span{display:block;font-size:14px;color:var(--dim);font-weight:600;letter-spacing:0;margin-top:4px}
.inc-impl > p{font-size:14.5px;color:var(--dim);line-height:1.55;margin-bottom:22px}
.inc-impl .btn{margin-top:auto}
.impl-nota{font-size:13px;color:var(--tenue);text-align:center;margin-top:10px}

/* 9. preguntas */
.preg{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(32px,5vw,72px);align-items:start}
.preg .sec-cab{position:sticky;top:100px}
.faq{display:flex;flex-direction:column;gap:10px}
.faq details{background:var(--panel2);border-radius:16px;box-shadow:inset 0 0 0 1px var(--linea);transition:background .2s}
.faq details[open]{background:var(--papel);box-shadow:var(--sombra),inset 0 0 0 1px var(--linea)}
.faq summary{list-style:none;cursor:pointer;padding:18px 54px 18px 20px;font-size:16.5px;font-weight:650;position:relative;letter-spacing:-.01em}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";position:absolute;right:20px;top:50%;width:22px;height:22px;margin-top:-11px;border-radius:50%;background:var(--papel)
  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 22'%3E%3Cpath d='M7 9.5l4 4 4-4' fill='none' stroke='%23596375' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center no-repeat;
  box-shadow:inset 0 0 0 1px var(--linea);transition:transform .3s var(--mov)}
.faq details[open] summary::after{transform:rotate(180deg)}
.faq summary:focus-visible{outline:2px solid var(--oro);outline-offset:-2px;border-radius:16px}
.faq details p{padding:0 20px 20px;font-size:15.5px;color:var(--dim);line-height:1.65}

/* 10. cierre */
.cierre{background:var(--lienzo);padding:clamp(72px,10vw,128px) 0;text-align:center}
.cierre-in{max-width:820px}
.cierre h2{font-size:clamp(30px,4.4vw,52px)}
.cierre p{font-size:18px;color:var(--dim);margin-top:16px}

/* pie */
.pie{background:var(--papel);box-shadow:inset 0 1px 0 var(--linea);padding:40px 0 48px}
.pie-in{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;flex-wrap:wrap}
.pie .eplogo-c{height:92px}
@media (max-width:640px){ .pie .eplogo-c{height:72px} }
.pie p{font-size:13.5px;color:var(--tenue);margin-top:10px}
.pie nav{display:flex;flex-wrap:wrap;gap:10px 24px}
.pie nav a{font-size:14px;color:var(--dim);text-decoration:none;font-weight:550}
.pie nav a:hover{color:var(--texto)}

/* barra fija en celular */
.fija{display:none}

/* aparecer al desplazar */
.anima .revela{opacity:0;transform:translateY(18px);transition:opacity .7s var(--mov),transform .7s var(--mov)}
.anima .revela.visto{opacity:1;transform:none}

/* ── adaptación ── */
@media (max-width:1080px){
  .hero-in{grid-template-columns:1fr;gap:20px}
  .hero-txt{text-align:center;display:flex;flex-direction:column;align-items:center}
  .bajada{margin:0 auto}
  .cta-grupo,.micro{justify-content:center}
  .hero-escena{max-width:620px;width:100%;margin:0 auto}
  .dolor{grid-template-columns:1fr 1fr}
  .dolor-card.grande{grid-column:1/-1}
  .compat,.formas{grid-template-columns:1fr 1fr}
  .planes3{grid-template-columns:1fr;max-width:460px}
  .incluye{grid-template-columns:1fr}
  .inc-impl{box-shadow:inset 0 1px 0 var(--linea)}
}
@media (max-width:860px){
  .func,.func.inv{grid-template-columns:1fr;gap:24px}
  .func.inv .func-txt{order:0}
  .evi{grid-template-columns:1fr}
  .preg{grid-template-columns:1fr}
  .preg .sec-cab{position:static}
  .pasos{grid-template-columns:1fr}
}
@media (max-width:640px){
  body{font-size:15.5px}
  .barra-in{height:64px}
  .barra .eplogo .m{height:28px}
  .barra .eplogo small{display:none}
  .lnk{display:none}
  .hero-in{padding-top:32px}
  .hero h1{font-size:clamp(32px,9vw,40px);margin:18px 0 16px}
  .cta-grupo{flex-direction:column;align-items:stretch;width:100%}
  .cta-grupo .btn{width:100%}
  /* en celular el panel va debajo del teléfono, sobre su parte vacía, sin tapar el reloj */
  .hero-escena{height:690px;width:390px;max-width:none;left:50%;margin-left:-195px;transform:scale(.84);transform-origin:top center;margin-bottom:-100px;position:relative}
  .tel{left:50%;margin-left:-131px}
  .panel-mini{width:300px;left:50%;right:auto;margin-left:-125px;top:400px}
  .tarjeta-nfc{left:50%;margin-left:-153px;top:363px}
  .franja-in{display:grid;grid-template-columns:1fr 1fr;gap:12px}
  .franja span{font-size:13px;align-items:flex-start}
  .dolor{grid-template-columns:1fr}
  .compat,.formas{grid-template-columns:1fr}
  .calc{padding:20px}
  .tramos{grid-template-columns:1fr 1fr}
  .check.dos{grid-template-columns:1fr}
  .inc-txt,.inc-impl{padding:24px 20px}
  .fija{display:flex;gap:10px;position:fixed;left:0;right:0;bottom:0;z-index:50;padding:10px 14px calc(10px + env(safe-area-inset-bottom));
    background:rgba(255,255,255,.92);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 -1px 0 var(--linea),0 -10px 30px -16px rgba(17,24,39,.25);
    transform:translateY(110%);transition:transform .35s var(--mov)}
  .fija.on{transform:none}
  .fija .btn.oro{flex:1}
  .fija .wa-ic{width:52px;padding:0}
  .fija .wa-ic svg{color:#128C4A}
  .pie{padding-bottom:96px}
}
@media (max-width:400px){ .hero-escena{transform:scale(.8);margin-bottom:-126px} }
@media (max-width:350px){ .hero-escena{transform:scale(.72);margin-bottom:-180px} }
@media (min-width:1800px){ .ancho{max-width:1360px} .hero-escena{transform:scale(1.08);transform-origin:center} }
@media (prefers-reduced-motion:reduce){ html{scroll-behavior:auto} *{animation:none!important;transition:none!important} }

/* ── marca del producto: En Punto por Consultor[IA] (logo oficial) ── */
.eplogo{display:inline-flex;flex-direction:row;align-items:center;gap:12px;text-decoration:none;line-height:1}
.eplogo .m{height:28px;width:auto;display:block}
.eplogo small{display:flex;align-items:center;gap:5px;font-size:11px;font-weight:550;color:var(--tenue);padding-left:12px;border-left:1px solid var(--linea2);height:20px;white-space:nowrap}
.eplogo small img{height:10px;width:auto;display:block}
.eplogo.grande .m{height:36px}
.eplogo-c{display:block;height:auto;width:auto}
.firma{display:flex;align-items:center;gap:4px}
.firma img{display:block}
.firma .fs{width:12px;height:12px}
