/* vent Live · parte interactiva. B (estructura) + C (foco, anillo guía, avance solo). Prefijo lv- para no chocar con vent.css. */
.lv{--lv-ease:cubic-bezier(.23,1,.32,1);background:var(--negro);color:var(--perla);position:relative}
.lv-split{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(20px,3.4vw,64px);padding:0 var(--pad);align-items:start}
.lv-story{position:relative;padding-top:calc(var(--nav-h) + 6svh)}
.lv-dock{position:sticky;top:calc(var(--nav-h) + 2svh);height:calc(100svh - var(--nav-h) - 5svh);align-self:start;display:grid;grid-template-rows:minmax(0,1fr) auto;gap:12px}
.lv-stage{position:relative;min-height:0}
.lv-app{height:100%;transform-origin:50% 50%;will-change:transform,opacity}
.lv-dim{position:absolute;inset:0;border-radius:14px;z-index:4;background:rgba(0,0,0,.66);pointer-events:none;opacity:0;will-change:opacity}
.lv-ping{position:absolute;left:0;top:0;width:64px;height:64px;margin:-32px 0 0 -32px;z-index:5;pointer-events:none;opacity:0}
.lv-ping::before,.lv-ping::after{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid var(--neon);animation:lvping 1.9s var(--lv-ease) infinite}
.lv-ping::after{animation-delay:.95s}
@keyframes lvping{0%{transform:scale(.35);opacity:.95}100%{transform:scale(1.25);opacity:0}}
.lv-bar{display:flex;align-items:center;gap:14px;font-weight:700;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--p-60)}
.lv-seg{flex:1;display:flex;gap:6px}
.lv-seg i{flex:1;height:3px;border-radius:2px;background:var(--p-14);position:relative;overflow:hidden}
.lv-seg i::after{content:"";position:absolute;inset:0;background:var(--neon);transform:scaleX(0);transform-origin:0 50%;transition:transform .6s var(--lv-ease)}
.lv-seg i.hecho::after{transform:scaleX(1)}
.lv-seg i.act{background:var(--p-40)}
.lv-hint{display:none;align-items:center;gap:10px;font-weight:700;font-size:13.5px;color:var(--neon);text-transform:none;letter-spacing:0;margin-bottom:6px}
.lv-hint i{width:9px;height:9px;border-radius:50%;background:var(--neon);flex:none}
.lv-cur{position:fixed;left:0;top:0;z-index:60;pointer-events:none;opacity:0;will-change:transform,opacity}
.lv-cur-r{position:absolute;left:-23px;top:-23px;width:46px;height:46px;border-radius:50%;border:2px solid var(--neon)}
.lv-cur-l{position:absolute;left:30px;top:22px;white-space:nowrap;background:var(--neon);color:var(--negro);font-weight:700;font-size:13px;padding:8px 14px;border-radius:999px;box-shadow:0 8px 28px rgba(0,0,0,.45)}
.lv-cur.izq .lv-cur-l{left:auto;right:30px}
.lv-cur.hecho .lv-cur-r{background:var(--neon)}
@media (hover:hover) and (pointer:fine){.lv-stage.en-app,.lv-stage.en-app button{cursor:none}}

.lv-hero{min-height:calc(100svh - var(--nav-h) - 6svh);display:flex;flex-direction:column;justify-content:space-between;padding-bottom:7svh}
.lv-h1{font-weight:800;letter-spacing:-.055em;line-height:.86;font-size:clamp(60px,9.4vw,172px)}
.lv-lead{font-weight:200;font-size:clamp(17px,1.5vw,22px);line-height:1.45;color:var(--p-60);max-width:26ch}
.lv-step{position:relative;min-height:112svh;display:flex;flex-direction:column;justify-content:center;gap:18px;padding:8svh 0 8svh 28px}
.lv-step::before{content:"";position:absolute;left:0;top:14svh;bottom:14svh;width:2px;background:var(--p-14)}
.lv-ln{position:absolute;left:0;top:14svh;bottom:14svh;width:2px;background:var(--neon);transform:scaleY(0);transform-origin:50% 0}
.lv-n{font-weight:800;font-size:13px;color:var(--neon);letter-spacing:.06em}
.lv-t{font-weight:800;font-size:clamp(32px,4vw,68px);letter-spacing:-.05em;line-height:.92}
.lv-t em{font-style:normal;color:var(--neon)}
.lv-step p{font-weight:200;font-size:clamp(15px,1.25vw,19px);line-height:1.5;color:var(--p-60);max-width:38ch}
.lv-hazlo{display:inline-flex;align-items:center;gap:12px;align-self:flex-start;border:1.5px solid var(--neon);color:var(--neon);padding:9px 16px 9px 12px;border-radius:999px;font-weight:700;font-size:13px}
.lv-hazlo i{width:9px;height:9px;border-radius:50%;background:var(--neon);position:relative}
.lv-hazlo i::after{content:"";position:absolute;inset:-5px;border-radius:50%;border:1.5px solid var(--neon);animation:lvping 1.8s var(--lv-ease) infinite}
.lv-step.hecho .lv-hazlo{background:var(--neon);color:var(--negro)}
.lv-step.hecho .lv-hazlo i{background:var(--negro)}
.lv-step.hecho .lv-hazlo i::after{display:none}
.lv-eco{font-weight:700;font-size:13px;color:var(--perla);font-variant-numeric:tabular-nums;min-height:2.6em;display:flex;flex-direction:column;gap:2px}
.lv-eco span{color:var(--p-60);font-weight:300}
.lv-cola{height:10svh}

@media (max-width:900px){
  .lv-split{grid-template-columns:1fr;gap:0}
  .lv-dock{order:-1;position:sticky;top:var(--nav-h);z-index:6;height:54svh;padding-top:6px;background:var(--negro);gap:6px;margin:0 calc(var(--pad) * -1);padding-left:calc(var(--pad) * .5);padding-right:calc(var(--pad) * .5)}
  .lv-dock::after{content:"";position:absolute;left:0;right:0;top:100%;height:34px;background:linear-gradient(#000,transparent);pointer-events:none}
  .lv-hint{display:flex}
  .lv-story{padding-top:0}
  .lv-hero{min-height:auto;padding:3svh 0 4svh;gap:18px}
  .lv-h1{font-size:clamp(64px,22vw,120px)}
  .lv-step{min-height:46svh;padding:3svh 0 3svh 18px;gap:10px;justify-content:flex-start}
  .lv-step p{font-size:13.5px;line-height:1.4}
  .lv-n{display:none}
  .lv-step::before,.lv-ln{top:3svh;bottom:3svh}
  .lv-t{font-size:clamp(28px,8vw,42px)}
}
@media (hover:hover) and (pointer:fine) and (min-width:901px){.lv-hint{display:none}}
@media (prefers-reduced-motion:reduce){.lv-hazlo i::after,.lv-ping::before,.lv-ping::after{animation:none}.lv-ping::after{display:none}.lv-ping::before{opacity:.8}}

/* Rentas en "todo lo que hace": fila completa, tres columnas */
#todo-rentas{grid-column:1/-1}
#todo-rentas>ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:clamp(20px,3vw,48px)}
@media (max-width:900px){#todo-rentas>ul{grid-template-columns:1fr}}
