/* Layout: una sola columna estrecha tipo móvil, una pantalla por paso, como un reel que avanza. Mundo único beige LoveTheory (sin modo oscuro, a propósito). */
:root{
  --bg:#EEE5D5; --floor:#E6DCC9; --ink:#171312; --red:#8E1814; --halo:#FF3D3D; --cream:#F8F3EA; --mute:#6E655F; --line:rgba(23,19,18,.12);
  --serif:"Instrument Serif", Georgia, "Times New Roman", serif;
  --sans:"Figtree", system-ui, -apple-system, "Segoe UI", sans-serif;
  color-scheme:light;
}
*{box-sizing:border-box}
html,body{height:100%}
body{background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.5;
  padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));}
.wrap{max-width:520px;margin:0 auto;min-height:100%;display:flex;flex-direction:column;padding-block:20px 28px}
header{display:flex;align-items:center;justify-content:space-between;gap:12px;font-weight:800;letter-spacing:.18em;font-size:12px;text-transform:uppercase}
header .brand b{color:var(--red)}
.tag{font-weight:700;letter-spacing:.14em;font-size:11px;text-transform:uppercase;color:var(--mute)}
main{flex:1;display:flex;flex-direction:column;justify-content:center;padding-block:24px}
h1,h2{font-family:var(--serif);font-weight:400;text-transform:uppercase;line-height:.92;letter-spacing:-.005em;margin:0;text-wrap:balance}
h1{font-size:clamp(54px,15vw,84px)}
h2{font-size:clamp(38px,10vw,56px)}
h1 em,h2 em{font-style:normal;color:var(--red)}
p{margin:0}
.lead{font-size:18px;max-width:34ch;margin-top:18px}
.meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.pill{background:var(--ink);color:var(--cream);border-radius:999px;padding:7px 14px;font-weight:700;font-size:12px;letter-spacing:.12em;text-transform:uppercase}
.pill.red{background:var(--red)}
.btn{appearance:none;border:0;cursor:pointer;font:inherit;font-weight:800;letter-spacing:.06em;text-transform:uppercase;
  background:var(--red);color:var(--cream);border-radius:14px;padding:18px 22px;font-size:15px;width:100%;margin-top:28px;transition:transform .12s, background .2s}
.btn:hover{background:#7A1411}.btn:active{transform:scale(.98)}
.btn:disabled{background:#B9AEA2;cursor:not-allowed}
.btn.ghost{background:transparent;color:var(--ink);border:1.5px solid var(--ink);margin-top:12px}
:focus-visible{outline:3px solid var(--halo);outline-offset:3px}
.fine{font-size:13px;color:var(--mute);margin-top:16px}
.figs{display:flex;align-items:flex-end;gap:18px;height:150px;margin:6px 0 26px}
/* pregunta */
.progress{height:4px;background:var(--line);border-radius:4px;overflow:hidden;margin-top:14px}
.progress i{display:block;height:100%;background:var(--red);transition:width .35s ease}
.qnum{font-family:var(--serif);font-size:20px;color:var(--mute);margin-bottom:10px;font-variant-numeric:tabular-nums}
.qtext{font-family:var(--serif);font-size:clamp(32px,8.6vw,44px);line-height:1.02;text-wrap:balance;min-height:3.2em}
.scale{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-top:30px}
.scale button{appearance:none;font:inherit;cursor:pointer;aspect-ratio:1;max-width:100%;border-radius:50%;border:1.5px solid var(--ink);background:transparent;color:var(--ink);font-weight:700;transition:background .15s, transform .15s}
.scale button:nth-child(1),.scale button:nth-child(7){transform:scale(1)}
.scale button:nth-child(2),.scale button:nth-child(6){transform:scale(.9)}
.scale button:nth-child(3),.scale button:nth-child(5){transform:scale(.8)}
.scale button:nth-child(4){transform:scale(.72)}

.scale button.on{background:var(--red);border-color:var(--red);color:var(--cream)}
.ends{display:flex;justify-content:space-between;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--mute);margin-top:10px}
.back{appearance:none;border:0;background:none;font:inherit;font-weight:700;color:var(--mute);cursor:pointer;padding:6px 0;margin-top:26px;align-self:flex-start}
/* email */
label.field{display:block;font-weight:700;font-size:13px;letter-spacing:.1em;text-transform:uppercase;margin-top:26px}
input[type=email]{width:100%;font:inherit;font-size:18px;padding:16px;border-radius:12px;border:1.5px solid var(--ink);background:var(--cream);color:var(--ink);margin-top:8px}
.check{display:flex;gap:12px;align-items:flex-start;margin-top:16px;font-size:14px}
.check input{width:20px;height:20px;accent-color:var(--red);flex:none;margin-top:2px}
.err{color:var(--red);font-weight:700;font-size:14px;margin-top:10px}
/* pago */
.pay{background:var(--cream);border-radius:18px;padding:22px;margin-top:24px;border:1px solid var(--line)}
.pay .row{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.price{font-family:var(--serif);font-size:56px;line-height:1}
.demo{display:inline-block;margin-top:14px;background:var(--floor);border-radius:8px;padding:6px 10px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--mute)}
/* resultado */
.res-top{margin-top:8px}
.map{width:100%;max-width:100%;height:auto;display:block;margin-top:24px}
.scores{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}
.score{background:var(--cream);border-radius:14px;padding:14px;border:1px solid var(--line)}
.score b{font-family:var(--serif);font-weight:400;font-size:34px;display:block;line-height:1;font-variant-numeric:tabular-nums}
.score span{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--mute)}
section.block{margin-top:30px}
section.block h3{font-weight:800;font-size:12px;letter-spacing:.16em;text-transform:uppercase;margin:0 0 8px;color:var(--red)}
section.block p{max-width:62ch}
ol.prac{margin:0;padding-left:20px;display:grid;gap:8px}
.pro{background:var(--ink);color:var(--cream);border-radius:18px;padding:22px;margin-top:30px}
.pro h3{color:#FFB3AD!important}
.pro.strong{background:var(--red)}
.pro.strong h3{color:var(--cream)!important}
.help{margin-top:22px;border-top:1px solid var(--line);padding-top:16px;font-size:14px;display:grid;gap:6px}
.help b{font-variant-numeric:tabular-nums}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
.fade{animation:in .35s ease both}
@keyframes in{from{opacity:.001;transform:translateY(10px)}to{opacity:1;transform:none}}
/* añadidos web definitiva */
header .brand{display:flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none}
header .brand img{width:30px;height:30px;border-radius:8px;display:block}
.check a,footer a{color:inherit}
footer{display:flex;flex-wrap:wrap;gap:6px 16px;justify-content:center;font-size:12px;color:var(--mute);padding-top:18px;border-top:1px solid var(--line)}
.legal h1{font-size:clamp(40px,10vw,60px);margin-bottom:18px}
.legal h2{font-family:var(--sans);font-weight:800;font-size:13px;letter-spacing:.14em;text-transform:none;margin:26px 0 8px;line-height:1.3}
.legal p,.legal li{max-width:65ch;margin-bottom:10px}
.legal mark{background:#F5D9A8;padding:0 3px}
.loading{font-family:var(--serif);font-size:28px;text-align:center}
/* v2: landing, situación, pago con adelanto, resultado ampliado */
main{justify-content:flex-start}
.figs{gap:10px}
.discover li{display:grid;gap:2px;padding-left:22px;position:relative}
.discover li::before{content:"";position:absolute;left:0;top:.45em;width:10px;height:10px;border-radius:50%;background:var(--red)}
.discover b{font-weight:700}
.discover span{color:var(--mute)}
.sample{position:relative;background:var(--cream);border:1px solid var(--line);border-radius:18px;padding:22px 18px 18px}
.sample .demo{position:absolute;top:14px;right:14px;margin:0}
.sample-h{font-family:var(--serif);font-size:34px;line-height:.95;text-transform:uppercase}
.sample-h em{font-style:normal;color:var(--red)}
.map.small{max-width:300px;margin:14px auto 0}
.sample-t{color:var(--mute);-webkit-mask-image:linear-gradient(#000 40%,transparent);mask-image:linear-gradient(#000 40%,transparent)}
details{border-top:1px solid var(--line);padding:14px 0}
details:last-of-type{border-bottom:1px solid var(--line)}
summary{cursor:pointer;font-weight:700;list-style:none;display:flex;justify-content:space-between;gap:12px}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";color:var(--red);font-weight:800;font-size:20px;line-height:1}
details[open] summary::after{content:"–"}
details p{margin-top:10px;color:var(--ink);max-width:62ch}
.opts{display:grid;gap:10px;margin-top:22px}
.opt{appearance:none;font:inherit;text-align:left;cursor:pointer;background:var(--cream);color:var(--ink);border:1.5px solid var(--line);border-radius:14px;padding:16px 18px;font-weight:500;transition:border-color .15s,background .15s}
@media (hover:hover){.opt:hover{border-color:var(--ink)}}
.opt.on{background:var(--red);border-color:var(--red);color:var(--cream)}
.hint{margin-top:22px;font-size:14px;color:var(--mute);background:var(--floor);border-radius:10px;padding:10px 14px}
.teaser{position:relative;margin-top:8px}
.map.blur{filter:blur(5px);opacity:.75}
.lock{position:absolute;left:50%;top:46%;transform:translate(-50%,-50%);background:var(--ink);color:var(--cream);border-radius:999px;padding:9px 16px;font-weight:700;font-size:13px;letter-spacing:.06em;white-space:nowrap}
.pay{margin-top:4px}
.incl{margin:14px 0 0;padding-left:20px;display:grid;gap:6px;font-size:15px}
.incl li::marker{color:var(--red)}
.sit-k{font-weight:700;margin-bottom:6px}
.pro h3{font-weight:800;font-size:12px;letter-spacing:.16em;text-transform:uppercase;margin:0 0 8px}
.share .btn{margin-top:16px}
.follow{margin-top:14px}
.follow a{color:var(--red);font-weight:700}
/* v3 (storyboard aprobado 30-10): portada con vídeo, tarjetas, ejemplo de Ana, bloque de precio */
header{position:relative;z-index:3}
.hero2{display:flex;flex-direction:column}
.hero2 .vid{position:relative;height:clamp(300px,52svh,460px);overflow:hidden;margin-top:-84px;
  margin-left:calc(-1 * max(16px, env(safe-area-inset-left, 0px)));margin-right:calc(-1 * max(16px, env(safe-area-inset-right, 0px)))}
.hero2 video{width:100%;height:100%;object-fit:cover;object-position:center 30%;display:block}
.hero2 .vid::before,.hero2 .vid::after{content:"";position:absolute;left:0;right:0;z-index:2;pointer-events:none}
.hero2 .vid::before{top:0;height:120px;background:linear-gradient(var(--bg),rgba(238,229,213,0))}
.hero2 .vid::after{bottom:0;height:240px;background:linear-gradient(rgba(238,229,213,0),rgba(238,229,213,.85) 55%,var(--bg) 80%)}
.hero2 h1{position:relative;z-index:3;margin-top:-118px;font-size:clamp(58px,17vw,84px);line-height:.88}
.hero2 .lead{margin-top:16px}
.hero2 .btn{margin-top:22px;box-shadow:0 8px 20px rgba(142,24,20,.25)}
.price-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px 12px;margin-top:14px}
.price-tag{display:flex;align-items:baseline;gap:8px}
.price-tag b{font-family:var(--serif);font-weight:400;font-size:44px;line-height:1}
.price-tag span{font-size:12px;color:var(--mute);font-weight:700}
.coffee{display:flex;align-items:center;gap:8px;background:var(--cream);border:1px solid var(--line);border-radius:999px;padding:7px 12px 7px 9px;font-weight:700;font-size:13px}
.coffee svg{color:var(--red)}
.ticks{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:12px;font-size:13px;font-weight:700}
.ticks span{display:flex;align-items:center;gap:5px}
.ticks svg{color:var(--red)}
.land{margin-top:56px}
.sec-h{font-family:var(--serif);font-weight:400;text-transform:uppercase;font-size:clamp(40px,11.5vw,52px);line-height:.92;margin:0 0 20px}
.sec-h em{font-style:normal;color:var(--red)}
.cards{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.card{background:var(--cream);border:1px solid var(--line);border-radius:18px;padding:16px 14px;min-width:0}
.card svg{display:block;margin-bottom:12px}
.card b{display:block;font-size:15px;line-height:1.2;margin-bottom:6px}
.card p{margin:0;font-size:13px;color:var(--mute);line-height:1.4}
.sample{padding:18px}
.who{display:flex;align-items:center;gap:10px;margin-bottom:14px;padding-right:84px}
.who .av{flex:none;width:38px;height:38px;border-radius:50%;background:var(--red);position:relative;overflow:hidden}
.who .av::before{content:"";position:absolute;left:13px;top:7px;width:12px;height:14px;border-radius:50%;background:#B4271F}
.who .av::after{content:"";position:absolute;left:9px;bottom:-12px;width:20px;height:24px;border-radius:50% 50% 0 0;background:#5A0D0A}
.who b{display:block;font-size:15px}.who span{font-size:12.5px;color:var(--mute);line-height:1.35;display:block}
.lockline{display:flex;align-items:flex-start;gap:8px;margin-top:6px;font-weight:700;font-size:13px}
.lockline svg{color:var(--red);flex:none;margin-top:2px}
.pricebox{background:var(--ink);color:var(--cream);border-radius:22px;padding:24px 20px}
.pricebox .sec-h{color:var(--cream);font-size:clamp(34px,10vw,44px);margin-bottom:6px}
.pricebox .big{font-family:var(--serif);font-size:84px;line-height:.9}
.pricebox .cmp{display:flex;align-items:center;gap:10px;margin:10px 0 18px;font-weight:700;color:#E9DCCB}
.pricebox .cmp svg{color:#FF8A80}
.pricebox ul{margin:0 0 4px;padding-left:20px;display:grid;gap:6px}
.pricebox li::marker{color:#FF8A80}
.btn.light{background:var(--cream);color:var(--ink)}
.btn.light:hover{background:#fff}
.pricebox .ticks,.pricebox .ticks svg{color:#E9DCCB}
.final{text-align:center;margin-bottom:24px}
.final .btn{margin-top:4px}
/* Botón final: aura que parpadea suave + inquietud (Maikel 30-10) */
.final .btn,.btn.pulse{position:relative;animation:lt-restless 3.2s ease-in-out infinite, lt-aura 1.8s ease-in-out infinite}
@keyframes lt-aura{
  0%,100%{box-shadow:0 0 0 0 rgba(255,61,61,.0),0 8px 20px rgba(142,24,20,.25)}
  50%{box-shadow:0 0 0 10px rgba(255,61,61,.16),0 0 34px 6px rgba(255,61,61,.35)}
}
@keyframes lt-restless{
  0%,62%,100%{transform:translate(0,0) rotate(0)}
  66%{transform:translate(-1.5px,0) rotate(-1deg)}
  70%{transform:translate(1.5px,-1px) rotate(1deg)}
  74%{transform:translate(-1px,0) rotate(-.6deg)}
  78%{transform:translate(1px,0) rotate(.4deg)}
  82%{transform:translate(0,0) rotate(0)}
}
.final .btn:hover,.final .btn:focus-visible,.btn.pulse:hover,.btn.pulse:focus-visible{animation-play-state:paused}
@media (prefers-reduced-motion:reduce){.final .btn,.btn.pulse{animation:none}}
/* Vídeo de portada: bordes laterales fundidos en crema para que no se vea el corte (Maikel 30-10) */
.hero2 .vid{-webkit-mask-image:linear-gradient(to right,transparent 0,#000 12%,#000 88%,transparent 100%);mask-image:linear-gradient(to right,transparent 0,#000 12%,#000 88%,transparent 100%)}
.hero2 video{background:var(--bg)}
/* Frase del café en una sola línea en móvil */
.pricebox .cmp{white-space:nowrap;font-size:clamp(12.5px,3.7vw,16px);gap:8px}
.pricebox .cmp svg{flex:none;width:20px;height:20px}

/* Barra de progreso con punto que late (aprobada 30-10) */
.prog{margin-top:6px}
.prog-top{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:12px}
.prog-top .n{font-family:var(--serif);font-size:22px;color:var(--ink);font-variant-numeric:tabular-nums}
.prog-top .n span{color:var(--mute)}
.prog-top .p{font-weight:800;font-size:12px;letter-spacing:.14em;color:var(--red);font-variant-numeric:tabular-nums}
.track{position:relative;height:8px;border-radius:8px;background:rgba(23,19,18,.1)}
.fill{position:absolute;left:0;top:0;bottom:0;border-radius:8px;background:linear-gradient(90deg,#B4271F,#8E1814)}
.pin{position:absolute;top:50%;width:18px;height:18px;margin:-9px 0 0 -9px;border-radius:50%;background:#8E1814;border:3px solid #F8F3EA;box-shadow:0 0 0 6px rgba(255,61,61,.22);animation:lt-ping 1.6s ease-in-out infinite}
@keyframes lt-ping{0%,100%{box-shadow:0 0 0 4px rgba(255,61,61,.30)}50%{box-shadow:0 0 0 14px rgba(255,61,61,.10)}}
/* Botón atrás redondo */
.back.round{width:46px;height:46px;border-radius:50%;padding:0;display:flex;align-items:center;justify-content:center;background:#CBBDA6;color:var(--bg);margin-top:28px;transition:background .15s}
@media (hover:hover){.back.round:hover{background:#B9AA91}}
/* Mensaje tipo chat: escribiendo... y luego aparece */
.bubble-row{display:flex;justify-content:center;margin-top:22px;min-height:42px}
.typing{display:flex;gap:5px;align-items:center;background:var(--ink);border-radius:999px;padding:13px 16px}
.typing i{width:7px;height:7px;border-radius:50%;background:var(--cream);opacity:.4;animation:lt-dot 1s infinite}
.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}
@keyframes lt-dot{0%,60%,100%{transform:translateY(0);opacity:.4}30%{transform:translateY(-4px);opacity:1}}
.msg{display:inline-flex;align-items:center;gap:8px;background:var(--ink);color:var(--cream);border-radius:999px;padding:11px 16px;font-weight:700;font-size:13.5px;animation:lt-pop .35s cubic-bezier(.2,1.4,.4,1) both}
.msg i{width:8px;height:8px;border-radius:50%;background:#FF3D3D;display:block;flex:none}
@keyframes lt-pop{from{transform:scale(.6);opacity:0}to{transform:none;opacity:1}}
@media (prefers-reduced-motion:reduce){.pin,.typing i,.msg{animation:none}}

/* Sin "botón encendido" fantasma en móvil: nada de resaltado al tocar ni hover en la escala */
button,.opt{-webkit-tap-highlight-color:transparent}
.scale button:focus:not(:focus-visible){outline:none}
.scale.wait{pointer-events:none}
