/* Redebol v7 — portada definitiva.
   Identidad oscura a propósito (azul noche, morado, celeste). Sin modo claro.
   Orden: portada con globo 3D · frase que se enciende + cifras verdaderas · del cuaderno al sistema ·
   productos en scrollytelling (panel fijo) · Nosotros (logo R con órbitas) · asistente ·
   clientes reales · precios y proceso · preguntas · cierre con el asesor · pie con REDEBOL gigante.
   Reglas: sin nombres de proveedores de facturación; la única demo en vivo es la tienda común. */
:root{
  --bg:#05081A; --line:rgba(170,190,255,.10); --line-2:rgba(170,190,255,.18); --line-3:rgba(170,190,255,.28);
  --fg:#F2F4FF; --fg-2:#C9CEEA; --muted:#8B93BD; --dim:#7A82B0; --dim-lg:#5E6694;
  --cyan:#5CE1F2; --violet:#8B6CFF; --pink:#F472B6; --wa:#25D366; --ok:#4ADE80; --amber:#FBBF24;
  --r-s:14px; --r-m:20px; --r-l:28px;
  --f:"Geist",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif; --m:"Geist Mono",ui-monospace,SFMono-Regular,Consolas,monospace;
  color-scheme:dark;
}
@property --ang{syntax:"<angle>"; inherits:false; initial-value:0deg}
@property --mv-tint{syntax:"<color>"; inherits:true; initial-value:#5CE1F2}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth; overflow-x:clip}
body{margin:0; background:var(--bg); color:var(--fg); font-family:var(--f); font-size:16px; line-height:1.6; -webkit-font-smoothing:antialiased; overflow-x:hidden; overflow-x:clip}
body::before{content:""; position:fixed; inset:0; z-index:40; pointer-events:none; opacity:.035; background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}
a{color:inherit; text-decoration:none}
:focus-visible{outline:2px solid var(--cyan); outline-offset:3px}
h1,h2,h3{margin:0; font-weight:600; letter-spacing:-.035em; text-wrap:balance}
p{margin:0}
img{max-width:100%}
section[id],article[id]{scroll-margin-top:90px}
.wrap{max-width:1200px; margin:0 auto; padding-inline:24px}
.ic{width:1.1em; height:1.1em; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; flex:none; vertical-align:-.16em}
.mono{font-family:var(--m)}
.sr{position:absolute!important; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); clip-path:inset(50%); white-space:nowrap}
.skip:focus{position:fixed!important; left:16px; top:16px; width:auto; height:auto; clip:auto; clip-path:none; z-index:200; background:#fff; color:#05081A; padding:10px 16px; border-radius:999px; font-weight:600}
.kicker{font-family:var(--m); font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:var(--muted)}
.kicker b{color:var(--cyan); font-weight:500}
.g{background:linear-gradient(100deg,#fff 10%,var(--cyan) 45%,var(--violet) 75%,var(--pink)); -webkit-background-clip:text; background-clip:text; color:transparent}
.btn{display:inline-flex; align-items:center; justify-content:center; gap:9px; height:46px; padding:0 20px; border-radius:999px; font-weight:600; font-size:15px; white-space:nowrap; transition:transform .2s cubic-bezier(.2,.8,.2,1), background .2s, box-shadow .2s; cursor:pointer; border:0; font-family:var(--f)}
.btn:hover{transform:translateY(-1px)}
.btn.w{background:#fff; color:#05081A; box-shadow:0 0 0 1px rgba(255,255,255,.2),0 10px 30px rgba(92,225,242,.18)}
.btn.w:hover{box-shadow:0 0 0 1px rgba(255,255,255,.4),0 14px 40px rgba(92,225,242,.32)}
.btn.o{color:var(--fg); box-shadow:inset 0 0 0 1px var(--line-3); background:rgba(255,255,255,.02)}
.btn.o:hover{background:rgba(255,255,255,.06)}
.btn.wa{background:var(--wa); color:#03200C}
.btn.sm{height:38px; padding:0 15px; font-size:14px}
.arrow{transition:transform .2s} .btn:hover .arrow{transform:translateX(3px)}
.live{display:inline-flex; align-items:center; gap:7px; font-family:var(--m); font-size:11.5px; color:var(--ok); letter-spacing:.06em; text-transform:uppercase}
.live::before{content:""; width:7px; height:7px; border-radius:50%; background:var(--ok); box-shadow:0 0 10px var(--ok); animation:pulse 1.8s infinite}
@keyframes pulse{50%{opacity:.35}}
.lnk{color:var(--cyan); font-weight:600; font-size:14.5px; display:inline-flex; gap:6px; align-items:center}
.lnk .ic{transition:transform .2s} .lnk:hover .ic{transform:translateX(3px)}
.sec{padding-block:90px}
#contacto{padding-bottom:40px}
.sh{display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:40px}
.sh > div{display:grid; gap:14px}
.sh h2{font-size:clamp(32px,4vw,54px); line-height:1.02; max-width:17ch}
.sh p{color:var(--muted); max-width:46ch; font-size:16.5px}

/* ===== Barra ===== */
.nav{position:fixed; top:14px; left:50%; transform:translateX(-50%); z-index:50; width:min(1160px,calc(100% - 24px)); display:flex; align-items:center; gap:18px; padding:8px 8px 8px 18px; border-radius:999px; background:rgba(8,12,36,.55); backdrop-filter:blur(18px) saturate(160%); -webkit-backdrop-filter:blur(18px) saturate(160%); box-shadow:inset 0 0 0 1px var(--line-2),0 20px 50px rgba(0,0,0,.35); transition:background .3s, padding .3s, top .3s}
.nav.scrolled{top:10px; background:rgba(8,12,36,.86); padding-block:6px}
.logo{display:flex; align-items:center; gap:10px; margin-right:auto; font-weight:700; letter-spacing:.16em; font-size:15px}
.logo svg{width:30px; height:30px}
.links{display:flex; gap:4px}
.links a{padding:8px 13px; border-radius:999px; font-size:14px; color:var(--fg-2); transition:background .2s, color .2s}
.links a:hover,.links a[aria-current="true"]{background:rgba(255,255,255,.07); color:#fff}
.links{transition:opacity .25s, transform .25s}

/* ===== Portada ===== */
.hero{position:relative; min-height:max(700px,100vh); min-height:max(700px,100svh); display:grid; align-items:center; overflow:hidden; isolation:isolate; padding-top:120px; padding-bottom:130px}
.hero::before{content:""; position:absolute; inset:0; z-index:-3; background:radial-gradient(60% 55% at 72% 45%,rgba(91,31,94,.55),transparent 70%),radial-gradient(45% 45% at 15% 85%,rgba(22,56,140,.5),transparent 70%)}
.hero::after{content:""; position:absolute; inset:0; z-index:-2; background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px); background-size:72px 72px; mask-image:radial-gradient(60% 60% at 70% 45%,#000,transparent 75%); -webkit-mask-image:radial-gradient(60% 60% at 70% 45%,#000,transparent 75%); opacity:.5}
#globe{position:absolute; right:max(-60px,calc(50vw - 720px)); top:52%; width:min(56vw,780px); aspect-ratio:1; z-index:-1; transform:translate3d(0,calc(-50% + var(--mv-gy,0px)),0) scale(var(--mv-gs,1)); will-change:transform}
#globe canvas{position:relative; width:100%!important; height:100%!important; display:block; opacity:0; transition:opacity .8s ease}
#globe canvas.on{opacity:1}
.globe-fb{display:block; position:absolute; inset:0; opacity:.6; width:100%; height:100%; animation:gspin 80s linear infinite; transform-origin:50% 50%}
@keyframes gspin{to{transform:rotate(360deg)}}
.hero .wrap{width:100%}
.hero-c{position:relative; max-width:660px; display:grid; gap:24px; justify-items:start; transform:translate3d(0,var(--mv-hy,0px),0); opacity:var(--mv-ho,1)}
.pill{display:inline-flex; align-items:center; gap:10px; padding:6px 14px 6px 6px; border-radius:999px; font-size:13.5px; color:var(--fg-2); background:rgba(255,255,255,.04); box-shadow:inset 0 0 0 1px var(--line-2); transition:background .2s}
.pill:hover{background:rgba(255,255,255,.08)}
.pill b{font-weight:600; font-size:12px; color:#05081A; background:var(--cyan); border-radius:999px; padding:3px 9px}
.hero h1{font-size:clamp(42px,5.6vw,78px); line-height:.98; letter-spacing:-.05em; font-weight:600}
.hero h1 > span{display:block}
.lead{font-size:clamp(17px,1.6vw,20px); color:var(--muted); max-width:52ch; line-height:1.55}
.lead b{color:var(--fg-2); font-weight:500}
.acts{display:flex; flex-wrap:wrap; gap:12px}
.micro{font-size:13.5px; color:var(--muted); display:flex; gap:8px; align-items:center; max-width:52ch}
.micro .ic{color:var(--cyan)}
.trust{position:absolute; left:0; right:0; bottom:30px}
.trust .wrap{display:flex; flex-wrap:wrap; align-items:center; gap:12px 30px}
.tl{display:inline-flex; align-items:center; gap:9px; font-weight:600; color:var(--fg-2); font-size:14.5px; letter-spacing:-.01em}
.tl i{width:24px; height:24px; border-radius:7px; display:grid; place-items:center; font-style:normal; font-size:10px; font-weight:700; color:var(--fg-2); background:rgba(255,255,255,.07); box-shadow:inset 0 0 0 1px var(--line-2)}
.tl i .ic{width:13px; height:13px}

/* Titular palabra por palabra: parte de un estado visible (borroso) y se aclara */
.hero h1 .mv-w{display:inline-block; overflow:hidden; vertical-align:top; padding:0 .04em .12em; margin:0 -.04em -.12em}
.hero h1 .mv-wi{display:inline-block}
.hero h1 .mv-gline{background:none; -webkit-background-clip:border-box; background-clip:border-box; color:var(--fg)}
.hero h1 .mv-wg{background:linear-gradient(100deg,#fff 10%,var(--cyan) 45%,var(--violet) 75%,var(--pink)) no-repeat; background-size:var(--mv-bw,100%) 100%; background-position:var(--mv-bx,0px) 0; -webkit-background-clip:text; background-clip:text; color:transparent}
html.mv-js .mv-armed .mv-wi{opacity:.3; transform:translateY(.42em) rotate(3deg); filter:blur(6px); animation:mvSafe 0s 2.2s forwards}
html.mv-js .mv-armed.mv-play .mv-wi{opacity:1; transform:none; filter:none; transition:transform 1.05s cubic-bezier(.16,1,.3,1) calc(var(--i,0) * 70ms + 80ms), opacity .6s ease calc(var(--i,0) * 70ms + 80ms), filter .7s ease calc(var(--i,0) * 70ms + 80ms)}
html.mv-js .mv-hi{opacity:.35; transform:translateY(12px); filter:blur(3px); animation:mvSafe 0s 2.4s forwards}
html.mv-js .mv-hero-on .mv-hi{opacity:1; transform:none; filter:none; transition:opacity .8s ease var(--d,0s), transform 1s cubic-bezier(.16,1,.3,1) var(--d,0s), filter .8s ease var(--d,0s)}
@keyframes mvSafe{to{opacity:1; transform:none; filter:none}}

/* ===== Barra de lectura y brillo del cursor ===== */
.mv-progress{position:fixed; top:0; left:0; right:0; height:2px; z-index:60; pointer-events:none; transform-origin:0 50%; transform:scaleX(var(--mv-p,0)); background:linear-gradient(90deg,var(--cyan),var(--violet),var(--pink)); box-shadow:0 0 12px rgba(92,225,242,.55)}
.mv-glow{position:fixed; left:0; top:0; width:560px; height:560px; margin:-280px 0 0 -280px; border-radius:50%; z-index:1; pointer-events:none; background:radial-gradient(circle,rgba(92,225,242,.08),rgba(139,108,255,.045) 35%,transparent 65%); mix-blend-mode:screen; opacity:0; transition:opacity .5s; will-change:transform}
.mv-glow.on{opacity:1}
.btn.mv-mag,.mv-mag{transform:translate3d(var(--mvx,0px),var(--mvy,0px),0); transition:transform .45s cubic-bezier(.2,.8,.2,1), background .2s, box-shadow .2s}
.btn.mv-mag:hover{transform:translate3d(var(--mvx,0px),calc(var(--mvy,0px) - 1px),0)}
.mv-mag.mv-hold{transition:transform .12s linear, background .2s, box-shadow .2s}
.mv-spot{position:relative}
.mv-spot::before{content:""; position:absolute; inset:0; border-radius:inherit; padding:1px; pointer-events:none; z-index:3; opacity:0; transition:opacity .35s; background:radial-gradient(240px circle at var(--mx,50%) var(--my,50%),rgba(92,225,242,.75),rgba(139,108,255,.35) 40%,transparent 70%); -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0); -webkit-mask-composite:xor; mask-composite:exclude}
.mv-spot:hover::before{opacity:1}

/* Aparición al bajar: solo para lo que está fuera de pantalla al cargar */
.rv{transition:transform 1s cubic-bezier(.16,1,.3,1), opacity .8s ease, filter .8s ease}
.rv.pre{transform:translateY(28px); opacity:.001; filter:blur(6px)}
.rv.d25{transition-delay:.25s}
.rv.mv-done{transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.hw{display:inline-block; overflow:hidden; vertical-align:top; padding-bottom:.12em; margin-bottom:-.12em}
.hw > span{display:inline-block}
.hw-pre .hw > span{transform:translateY(105%)}
.hw-in .hw > span{transform:none; transition:transform .95s cubic-bezier(.16,1,.3,1) calc(var(--i,0) * 55ms + 60ms)}

/* ===== Frase que se enciende ===== */
.statement{padding-block:120px 64px}
.statement p{font-size:clamp(26px,3.4vw,46px); line-height:1.16; letter-spacing:-.035em; font-weight:500; color:var(--dim-lg); max-width:1050px}
.statement p b{color:var(--fg); font-weight:500}
.statement .mw{transition:color .4s ease}
.statement.mw-on p,.statement.mw-on p b{color:var(--dim-lg)}
.statement.mw-on .mw.lit{color:var(--fg)}
.statement.mw-on .mw.key.lit{background:linear-gradient(100deg,#fff,var(--cyan) 50%,var(--violet)); -webkit-background-clip:text; background-clip:text; color:transparent}
.mv-stats{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin-top:56px}
.mv-stat{padding:22px 24px; border-radius:var(--r-m); background:rgba(255,255,255,.025); box-shadow:inset 0 0 0 1px var(--line-2); display:grid; gap:6px}
.mv-stat b{font-size:clamp(36px,4vw,52px); line-height:1; letter-spacing:-.045em; font-weight:600; font-variant-numeric:tabular-nums}
.mv-stat > span{color:var(--muted); font-size:14.5px}

/* ===== Del cuaderno al sistema ===== */
.ad{border-radius:var(--r-l); background:linear-gradient(180deg,#0B1030,#080C24); box-shadow:inset 0 0 0 1px var(--line-2); overflow:hidden}
.ad-head,.ad-row{display:grid; grid-template-columns:minmax(0,1fr) 44px minmax(0,1fr); align-items:center; gap:10px; padding:0 26px}
.ad-head{padding-block:18px; border-bottom:1px solid var(--line-2); font:500 12px var(--m); letter-spacing:.12em; text-transform:uppercase; color:var(--muted)}
.ad-head span:last-child{color:var(--cyan); grid-column:3}
.ad-row{padding-block:18px; border-bottom:1px solid var(--line)}
.ad-row:last-child{border-bottom:0}
.ad-a{color:var(--dim); font-size:15.5px}
.ad-a span{background:linear-gradient(rgba(139,147,189,.55),rgba(139,147,189,.55)) 0 58%/100% 1px no-repeat; transition:background-size .9s cubic-bezier(.65,0,.35,1) .2s}
.ad-x{width:30px; height:30px; justify-self:center; border-radius:50%; display:grid; place-items:center; color:var(--cyan); background:rgba(92,225,242,.08); box-shadow:inset 0 0 0 1px rgba(92,225,242,.3)}
.ad-b{display:flex; gap:10px; align-items:flex-start; color:var(--fg); font-size:15.5px; clip-path:inset(0 0 0 0); transition:clip-path 1s cubic-bezier(.65,0,.35,1) .45s}
.ad-b .ic{color:var(--ok); margin-top:4px}
.rv.pre .ad-a span{background-size:0 1px}
.rv.pre .ad-b{clip-path:inset(0 100% 0 0)}
.ad-end{margin-top:22px; color:var(--fg-2); font-size:17px; max-width:62ch}

/* ===== Pantallas de producto (heredadas de la v6) ===== */
.t-vis{position:relative; flex:1; min-height:200px}
.v-shop{position:absolute; inset:auto 26px -30px 26px; height:100%}
.v-browser{position:absolute; left:0; right:120px; bottom:0; top:10px; border-radius:16px 16px 0 0; background:#F3F5FA; color:#141833; box-shadow:0 -1px 0 rgba(255,255,255,.5) inset,0 30px 60px rgba(0,0,0,.5); overflow:hidden}
.vb-bar{height:30px; background:#E4E7EF; display:flex; align-items:center; gap:6px; padding:0 12px}
.vb-bar i{width:8px; height:8px; border-radius:50%; background:#C3C8D4}
.vb-bar span{margin-left:10px; background:#fff; border-radius:6px; padding:2px 10px; font:500 10.5px var(--m); color:#5C6473; white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
.vb-head{display:flex; align-items:center; gap:8px; padding:10px 14px; background:#fff; border-bottom:1px solid #E4E7EF}
.vb-head .m{width:24px; height:24px; border-radius:7px; background:#2141B8; color:#fff; font-size:9px; font-weight:800; display:grid; place-items:center; flex:none}
.vb-head b{font-size:12px; white-space:nowrap}
.vb-head .s{flex:1; height:22px; background:#EEF0F5; border-radius:7px; margin:0 10px; min-width:0}
.vb-cart{display:flex; align-items:center; gap:6px; background:#141833; color:#fff; border-radius:8px; padding:4px 8px; font:700 10.5px var(--f)}
.vb-cart em{font-style:normal; background:#5CE1F2; color:#05081A; border-radius:5px; padding:0 5px; min-width:16px; text-align:center; transition:transform .3s}
.vb-cart em.bump{transform:scale(1.4)}
.vb-hero{margin:12px 14px 0; border-radius:12px; padding:16px 18px; display:grid; grid-template-columns:1.3fr 1fr; align-items:center; color:#fff; background:radial-gradient(120% 140% at 85% 30%,#6E86F0 0%,#2141B8 45%,#14286F 100%)}
.vb-hero small{font-size:9.5px; background:rgba(0,0,0,.22); border-radius:99px; padding:2px 8px} .vb-hero b{display:block; font-size:17px; line-height:1.1; margin:6px 0 8px; letter-spacing:-.02em} .vb-hero em{font-style:normal; font-size:10px; font-weight:800; background:#fff; color:#141833; border-radius:7px; padding:3px 9px}
.vb-packs{display:flex; justify-content:center; align-items:flex-end; gap:5px; height:64px}
.vb-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:10px; padding:12px 14px}
.pc{background:#fff; border-radius:10px; padding:8px; box-shadow:0 1px 2px rgba(0,0,0,.06); display:grid; gap:5px; position:relative}
.pc .im{height:58px; border-radius:7px; display:grid; place-items:end center; padding-bottom:4px}
.pk{border-radius:6px 6px 4px 4px; box-shadow:inset -5px 0 0 rgba(0,0,0,.14),inset 5px 0 0 rgba(255,255,255,.22)}
.pc b{font-size:11px} .pc small{font-size:9.5px; color:#6B7280}
.pc .add{position:absolute; right:7px; top:48px; width:20px; height:20px; border-radius:7px; background:#fff; box-shadow:0 2px 6px rgba(0,0,0,.18); display:grid; place-items:center; color:#2141B8; font-weight:800; font-size:13px; line-height:1; transition:all .2s}
.pc .add.on{background:#2141B8; color:#fff; transform:scale(1.15)}
.v-phone{position:absolute; right:0; bottom:-10px; width:150px; height:290px; border-radius:28px; padding:6px; background:linear-gradient(145deg,#2A2F38,#05060A); box-shadow:0 30px 60px rgba(0,0,0,.6)}
.vp-s{height:100%; border-radius:23px; background:#F3F5FA; overflow:hidden; color:#141833; display:grid; grid-template-rows:auto auto 1fr auto; position:relative}
.vp-s::before{content:""; position:absolute; top:6px; left:50%; transform:translateX(-50%); width:44px; height:13px; border-radius:9px; background:#000}
.vp-top{padding:24px 9px 6px; background:#fff; font-size:9.5px; font-weight:700; display:flex; gap:5px; align-items:center}
.vp-top i{width:16px; height:16px; border-radius:5px; background:#0D7452; display:inline-block; flex:none}
.vp-hero{margin:6px; border-radius:10px; padding:10px 8px; background:linear-gradient(135deg,#3FB59A,#145C55); color:#fff; font-size:10px; font-weight:700; line-height:1.2}
.vp-g{display:grid; grid-template-columns:1fr 1fr; gap:5px; padding:0 6px; align-content:start}
.vp-g span{height:46px; border-radius:7px; background:#fff}
.vp-t{display:flex; justify-content:space-around; padding:7px 4px 12px; background:#fff; border-top:1px solid #E4E7EF}
.vp-t i{width:12px; height:12px; border-radius:4px; background:#D5D9E2} .vp-t i:first-child{background:#0D7452}
.toast-m{position:absolute; right:130px; bottom:40px; z-index:3; background:rgba(12,18,48,.92); border-radius:var(--r-s); padding:10px 13px; box-shadow:inset 0 0 0 1px var(--line-3),0 20px 40px rgba(0,0,0,.5); font-size:12.5px; display:flex; gap:9px; align-items:center; backdrop-filter:blur(8px); opacity:0; transform:translateY(8px); transition:all .4s}
.toast-m.on{opacity:1; transform:none}
.toast-m i{width:26px; height:26px; border-radius:8px; background:rgba(74,222,128,.15); color:var(--ok); display:grid; place-items:center; font-style:normal}
.flow{position:absolute; inset:0 22px 30px; display:grid; gap:8px; align-content:end}
.fs{display:flex; align-items:center; gap:11px; padding:10px 12px; border-radius:12px; background:rgba(255,255,255,.03); box-shadow:inset 0 0 0 1px var(--line); font-size:13px; color:var(--muted); transition:all .35s}
.fs .n{width:24px; height:24px; border-radius:7px; display:grid; place-items:center; font:600 11px var(--m); background:rgba(255,255,255,.05); color:var(--muted); flex:none; transition:all .35s}
.fs.on{color:var(--fg); background:rgba(92,225,242,.07); box-shadow:inset 0 0 0 1px rgba(92,225,242,.35)}
.fs.on .n{background:var(--cyan); color:#05081A}
.fs.ok{color:var(--fg)} .fs.ok .n{background:rgba(74,222,128,.18); color:var(--ok)}
.chart{position:absolute; inset:0 22px 30px}
.chart .kpi{display:flex; align-items:baseline; gap:10px}
.chart .kpi b{font-size:30px; letter-spacing:-.03em; font-weight:600} .chart .kpi span{color:var(--ok); font:600 12.5px var(--m)}
.bars{position:absolute; left:0; right:0; bottom:0; height:120px; display:flex; align-items:flex-end; gap:7px}
.bars i{flex:1; border-radius:6px 6px 2px 2px; background:linear-gradient(180deg,var(--cyan),rgba(92,225,242,.12)); transform-origin:bottom; animation:grow 1.2s cubic-bezier(.2,.8,.2,1) both; opacity:.85}
.bars i:last-child{background:linear-gradient(180deg,#fff,var(--cyan)); opacity:1; box-shadow:0 0 24px rgba(92,225,242,.5)}
@keyframes grow{from{transform:scaleY(.05)}}
.cuotas{position:absolute; inset:0 22px 30px; display:grid; gap:7px; align-content:end}
.cq{display:grid; grid-template-columns:30px 1fr auto; gap:10px; align-items:center; padding:9px 11px; border-radius:12px; background:rgba(255,255,255,.03); box-shadow:inset 0 0 0 1px var(--line); font-size:13px}
.cq .av{width:30px; height:30px; border-radius:50%; display:grid; place-items:center; font:700 11px var(--f); color:#fff}
.cq small{display:block; color:var(--muted); font-size:11.5px}
.st{font:600 11px var(--m); border-radius:999px; padding:3px 9px; transition:all .3s}
.st.p{background:rgba(251,191,36,.12); color:var(--amber)} .st.k{background:rgba(74,222,128,.14); color:var(--ok)}
.selfie{position:absolute; inset:0 22px 30px; display:grid; grid-template-columns:96px 1fr; gap:14px; align-items:end}
.sf-photo{height:120px; border-radius:16px; background:linear-gradient(160deg,#3B4A8C,#121A45); position:relative; overflow:hidden; box-shadow:inset 0 0 0 1px var(--line-2)}
.sf-photo::before{content:""; position:absolute; left:50%; top:24px; width:40px; height:40px; border-radius:50%; background:#D9A47A; transform:translateX(-50%)}
.sf-photo::after{content:""; position:absolute; left:50%; bottom:-20px; width:76px; height:56px; border-radius:40px 40px 0 0; background:#2D7FF9; transform:translateX(-50%)}
.sf-scan{position:absolute; left:0; right:0; top:0; height:2px; background:var(--cyan); box-shadow:0 0 12px var(--cyan); animation:scan 2.4s ease-in-out infinite; z-index:2}
@keyframes scan{0%,100%{transform:translateY(10px)}50%{transform:translateY(106px)}}
.sf-data{display:grid; gap:6px; font-size:13px}
.sf-data b{font-size:26px; letter-spacing:-.03em; font-weight:600}
.sf-ok{display:inline-flex; align-items:center; gap:6px; color:var(--ok); font:600 12px var(--m)}
.serp{position:absolute; inset:0 22px 30px; display:grid; gap:9px; align-content:end}
.sr-search{display:flex; align-items:center; gap:9px; padding:10px 14px; border-radius:999px; background:#fff; color:#141833; font-size:13.5px; box-shadow:0 10px 30px rgba(0,0,0,.35)}
.sr-search .ic{color:#5C6473}
.sr-type{border-right:2px solid #2141B8; padding-right:2px; animation:caret 1s steps(1) infinite}
@keyframes caret{50%{border-color:transparent}}
.sr-res{padding:12px 14px; border-radius:var(--r-s); background:rgba(255,255,255,.04); box-shadow:inset 0 0 0 1px var(--line-2); display:grid; gap:2px}
.sr-res small{color:var(--ok); font:500 11.5px var(--m)} .sr-res b{color:#8AB4F8; font-weight:500; font-size:15px} .sr-res span{color:var(--muted); font-size:12.5px}
.paused,.paused *,.paused::before,.paused::after{animation-play-state:paused!important}

/* ===== Productos en scrollytelling ===== */
.mv-sty{position:relative}
.mv-list{display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr)); gap:14px; position:relative}
.mv-step{position:relative; display:flex; flex-direction:column; border-radius:var(--r-m); overflow:hidden; background:linear-gradient(180deg,#0D1334,#090D26); box-shadow:inset 0 0 0 1px var(--line-2)}
.mv-st{padding:24px 24px 0; display:grid; gap:9px; position:relative; z-index:2}
.mv-st .kicker{font-size:11.5px}
.mv-st h3{font-size:24px; line-height:1.1; letter-spacing:-.03em}
.mv-st p{color:var(--muted); font-size:15px; max-width:46ch}
.mv-foot{display:flex; flex-wrap:wrap; gap:8px 14px; align-items:center; margin-top:4px}
.mv-price{font:600 12.5px var(--m); color:var(--fg-2); background:rgba(255,255,255,.05); box-shadow:inset 0 0 0 1px var(--line-2); border-radius:999px; padding:4px 11px}
.mv-cred{margin:10px 0 0; font-size:13px; color:var(--muted)} .mv-cred b{color:var(--fg-2); font-weight:500}
.mv-ask{display:inline-flex; align-items:center; gap:7px; font:500 11.5px var(--m); letter-spacing:.06em; text-transform:uppercase; color:#B6A5FF}
.mv-ask::before{content:""; width:7px; height:7px; border-radius:50%; background:var(--violet)}
.mv-scr{position:relative; height:280px; margin-top:14px; overflow:hidden}
.mv-scr--shop{height:370px}
.mv-scr > .t-vis{position:absolute; inset:0; margin:0; min-height:0}
.mv-scr::after{content:attr(data-ex); position:absolute; right:14px; bottom:8px; z-index:5; font:500 10.5px var(--m); letter-spacing:.08em; text-transform:uppercase; color:var(--muted); background:rgba(5,8,26,.75); padding:2px 8px; border-radius:999px}
.mv-stage,.mv-rail{display:none}
.mv-on.mv-sty{display:grid; grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr); gap:56px; align-items:start}
.mv-on .mv-list{display:block; grid-column:1; grid-row:1; padding:8vh 0 14vh 40px}
.mv-on .mv-list::before{content:""; position:absolute; left:8px; top:0; bottom:0; width:1px; background:var(--line-2)}
.mv-on .mv-rail{display:block; position:absolute; left:8px; top:0; bottom:0; width:1px; transform-origin:top; transform:scaleY(var(--mv-rp,0)); background:linear-gradient(var(--cyan),var(--violet),var(--pink)); box-shadow:0 0 10px rgba(92,225,242,.7)}
.mv-on .mv-step{min-height:62vh; justify-content:center; background:none; box-shadow:none; overflow:visible; border-radius:0; opacity:.38; transition:opacity .5s ease}
.mv-on .mv-step::before{content:""; position:absolute; left:-37px; top:50%; width:11px; height:11px; margin-top:-5.5px; border-radius:50%; background:var(--bg); box-shadow:inset 0 0 0 1px var(--line-3); transition:background .4s, box-shadow .4s, transform .4s}
.mv-on .mv-step.is-active,.mv-on .mv-step:focus-within{opacity:1}
.mv-on .mv-step.is-active::before{background:var(--cyan); box-shadow:0 0 0 4px rgba(92,225,242,.15),0 0 18px var(--cyan); transform:scale(1.15)}
.mv-on .mv-st{padding:0}
.mv-on .mv-st h3{font-size:clamp(28px,2.7vw,40px); line-height:1.04}
.mv-on .mv-st p{font-size:16.5px}
.mv-on .mv-stage{display:block; grid-column:2; grid-row:1; position:sticky; top:96px; height:min(620px,calc(100vh - 130px))}
.mv-panel{position:relative; height:100%; border-radius:var(--r-l); overflow:hidden; transition:--mv-tint .8s ease;
  background:radial-gradient(70% 60% at 75% 10%,rgba(92,225,242,.16),transparent 70%),linear-gradient(180deg,#0D1334,#090D26);
  background:radial-gradient(70% 60% at 75% 10%,color-mix(in srgb,var(--mv-tint) 24%,transparent),transparent 70%),radial-gradient(60% 50% at 10% 100%,color-mix(in srgb,var(--mv-tint) 12%,transparent),transparent 70%),linear-gradient(180deg,#0D1334,#090D26);
  box-shadow:inset 0 0 0 1px var(--line-2),0 40px 90px rgba(0,0,0,.45)}
.mv-panel::after{content:""; position:absolute; inset:0; pointer-events:none; background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px); background-size:48px 48px; -webkit-mask-image:radial-gradient(70% 60% at 60% 40%,#000,transparent 80%); mask-image:radial-gradient(70% 60% at 60% 40%,#000,transparent 80%); opacity:.45}
.mv-ph{position:absolute; top:0; left:0; right:0; z-index:4; display:flex; align-items:center; gap:12px; padding:18px 22px}
.mv-ph-n{font:600 13px var(--m); color:#05081A; background:var(--mv-tint); border-radius:8px; padding:3px 8px}
.mv-ph-name{font-weight:600; letter-spacing:-.01em; font-size:15px}
.mv-dots{margin-left:auto; display:flex; gap:6px}
.mv-dots button{width:22px; height:22px; padding:0; border:0; background:none; cursor:pointer; display:grid; place-items:center; border-radius:50%}
.mv-dots button::before{content:""; width:7px; height:7px; border-radius:50%; background:var(--line-3); transition:all .3s}
.mv-dots button[aria-current="true"]::before{width:18px; border-radius:4px; background:var(--mv-tint)}
.mv-stage-scr{position:absolute; inset:60px 0 0}
.mv-on .mv-scr{position:absolute; inset:0; height:auto; margin:0; pointer-events:none; opacity:0; transform:translateY(46px) scale(.96); filter:blur(8px); visibility:hidden; transition:opacity .55s ease, transform .9s cubic-bezier(.16,1,.3,1), filter .6s ease, visibility 0s linear .9s}
.mv-on .mv-scr.is-up{transform:translateY(-46px) scale(.96)}
.mv-on .mv-scr.is-on{opacity:1; transform:none; filter:none; pointer-events:auto; visibility:visible; transition:opacity .55s ease, transform .9s cubic-bezier(.16,1,.3,1), filter .6s ease, visibility 0s}
.mv-on .mv-scr::after{right:auto; left:22px; bottom:auto; top:6px}
.mv-on .mv-scr > .t-vis{inset:auto; left:50%; top:50%; width:min(470px,84%); height:min(360px,82%); transform:translate(-50%,-50%)}
.mv-on .mv-scr--shop > .t-vis{left:4%; right:0; top:4%; bottom:0; width:auto; height:auto; transform:none}
.mv-note{margin-top:22px; color:var(--muted); font-size:14.5px; display:flex; gap:10px; align-items:flex-start; max-width:70ch}
.mv-note .ic{color:var(--violet); margin-top:3px}

/* ===== Más servicios (tarjetas compactas) ===== */
.sv-grid{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px}
.sv{display:flex; flex-direction:column; gap:10px; padding:22px; border-radius:var(--r-m); background:linear-gradient(180deg,#0D1334,#090D26); box-shadow:inset 0 0 0 1px var(--line-2)}
.sv-ic{width:40px; height:40px; border-radius:12px; display:grid; place-items:center; color:var(--cyan); background:rgba(92,225,242,.08); box-shadow:inset 0 0 0 1px var(--line-2)}
.sv-ic .ic{width:20px; height:20px}
.sv h3{font-size:17px; letter-spacing:-.02em}
.sv p{color:var(--muted); font-size:14px; flex:1}
@media (max-width:1050px){ .sv-grid{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (max-width:560px){ .sv-grid{grid-template-columns:1fr} }
/* ===== Qué incluye cada plan ===== */
.pl-grid{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; align-items:start}
.pl{display:grid; gap:12px; padding:24px; border-radius:var(--r-m); background:linear-gradient(180deg,#0D1334,#090D26); box-shadow:inset 0 0 0 1px var(--line-2)}
.pl h3{font-size:19px; letter-spacing:-.02em} .pl-v{font:600 15px var(--m); color:var(--cyan)}
.pl ul{list-style:none; margin:0; padding:0; display:grid; gap:8px; font-size:14px}
.pl li{display:flex; gap:9px} .pl li .ic{flex:none; margin-top:3px}
.pl-si{color:var(--fg-2)} .pl-si .ic{color:var(--ok)} .pl-no{color:var(--muted)} .pl-no .ic{color:var(--dim)}
@media (max-width:1050px){ .pl-grid{grid-template-columns:1fr} }
/* ===== Webs de ejemplo, caso real, roles y datos ===== */
.ej-grid{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px}
.ej{display:flex; flex-direction:column; border-radius:var(--r-m); overflow:hidden; background:linear-gradient(180deg,#0D1334,#090D26); box-shadow:inset 0 0 0 1px var(--line-2); color:inherit; text-decoration:none; transition:transform .3s ease, box-shadow .3s ease}
.ej:hover{transform:translateY(-4px); box-shadow:inset 0 0 0 1px var(--line-3),0 24px 60px rgba(0,0,0,.45)}
.ej-img{position:relative; aspect-ratio:16/10; overflow:hidden; display:block}
.ej-img img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:top; transition:transform .6s ease}
.ej:hover .ej-img img{transform:scale(1.04)}
.ej-txt{display:grid; gap:6px; padding:18px 20px 20px}
.ej-txt b{font-size:17px; letter-spacing:-.02em}
.ej-txt > span:not(.kicker):not(.lnk){color:var(--muted); font-size:14px}
.ej-txt .lnk{margin-top:4px}
#ejemplos .mv-note{margin-top:24px}
.caso{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.1fr); gap:40px; align-items:center; padding:clamp(24px,4vw,48px); border-radius:var(--r-l); background:radial-gradient(70% 90% at 90% 0%,rgba(92,225,242,.14),transparent 60%),linear-gradient(180deg,#0D1334,#090D26); box-shadow:inset 0 0 0 1px var(--line-2)}
.caso-txt{display:grid; gap:14px} .caso-txt p{color:var(--fg-2)}
.caso-txt h2{font-size:clamp(30px,3.6vw,46px); line-height:1.06; letter-spacing:-.035em}
.f-grid div > span{display:block}
.caso-mock{border-radius:var(--r-m); overflow:hidden; background:#fff; box-shadow:0 30px 80px rgba(0,0,0,.5)}
.cm-bar{display:flex; align-items:center; gap:6px; padding:9px 12px; background:#E9ECF3}
.cm-bar i{width:9px; height:9px; border-radius:50%; background:#C7CCD8}
.cm-bar span{margin-left:8px; font:500 12px var(--m); color:#4A5068; background:#fff; padding:3px 10px; border-radius:999px}
.caso-mock img{display:block; width:100%; height:auto; aspect-ratio:16/10; object-fit:cover; object-position:top; background:linear-gradient(135deg,#E8EEF8,#C9D6EA)}
.roles{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin:6px 0 4px}
.roles span{display:grid; gap:2px; padding:12px 14px; border-radius:var(--r-s); background:rgba(255,255,255,.03); box-shadow:inset 0 0 0 1px var(--line-2); font-size:13.5px; color:var(--muted)}
.roles b{color:var(--fg); font-size:14.5px}
.datos{list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px}
.datos li{display:flex; gap:12px; padding:20px; border-radius:var(--r-m); background:linear-gradient(180deg,#0D1334,#090D26); box-shadow:inset 0 0 0 1px var(--line-2)}
.datos li .ic{color:var(--ok); flex:none; margin-top:3px}
.datos li span{display:grid; gap:4px; color:var(--muted); font-size:14px} .datos li b{color:var(--fg); font-size:15.5px}
@media (max-width:1050px){ .ej-grid{grid-template-columns:repeat(2,minmax(0,1fr))} .caso{grid-template-columns:1fr} .datos{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (max-width:560px){ .ej-grid,.datos,.roles{grid-template-columns:1fr} }
/* ===== Nosotros (logo R con órbitas) ===== */
.dn{position:relative; overflow:hidden}
.dn::before{content:""; position:absolute; inset:0; z-index:-1; background:radial-gradient(45% 55% at 25% 50%,rgba(139,108,255,.16),transparent 70%),radial-gradient(35% 45% at 80% 30%,rgba(92,225,242,.08),transparent 70%)}
.dn-grid{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.05fr); gap:60px; align-items:center}
.dn-stage{position:relative; width:100%; max-width:540px; aspect-ratio:1; margin-inline:auto}
.dn-halo{position:absolute; inset:12%; border-radius:50%; background:radial-gradient(circle at 50% 45%,rgba(92,225,242,.34),rgba(139,108,255,.22) 42%,rgba(244,114,182,.08) 62%,transparent 72%); filter:blur(8px)}
.dn-orb{position:absolute; inset:0; width:100%; height:100%; overflow:visible; pointer-events:none}
.dn-orb .tr{fill:none; stroke-width:1.2}
.dn-orb .dt{fill:none; stroke-width:9; stroke-linecap:round; stroke-dasharray:.002 .998; animation:dnrun 9s linear infinite}
.dn-orb .b .dt{animation-duration:12s; animation-direction:reverse}
@keyframes dnrun{to{stroke-dashoffset:-1}}
.dn-float{position:absolute; inset:7% 9% 3%; z-index:1; transform:translate3d(var(--tx,0px),var(--ty,0px),0); transition:transform .7s cubic-bezier(.2,.8,.2,1)}
.dn-bob{width:100%; height:100%; animation:bob 6s ease-in-out infinite}
@keyframes bob{50%{transform:translateY(-10px)}}
.dn-bob img,.dn-fb,.dn-fb svg{display:block; width:100%; height:100%; object-fit:contain}
.dn-bob img,.dn-fb svg{filter:drop-shadow(0 30px 40px rgba(0,0,0,.5))}
.dn-front{z-index:2}
.dn-card{position:absolute; z-index:3; left:-2%; bottom:9%; display:flex; align-items:center; gap:11px; padding:11px 15px 11px 12px; border-radius:var(--r-s); background:rgba(12,18,48,.78); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); box-shadow:inset 0 0 0 1px var(--line-3),0 20px 40px rgba(0,0,0,.45); font-size:13.5px; line-height:1.3}
.dn-card i{width:9px; height:9px; border-radius:50%; background:var(--ok); box-shadow:0 0 0 4px rgba(74,222,128,.18); flex:none}
.dn-card small{display:block; color:var(--muted); font-size:12px}
.dn-tag{position:absolute; z-index:3; right:0; top:10%; font:600 11.5px var(--m); letter-spacing:.1em; text-transform:uppercase; color:#05081A; background:var(--cyan); border-radius:999px; padding:6px 12px; transform:rotate(6deg); box-shadow:0 12px 30px rgba(92,225,242,.3)}
.dn-bob .dn-logo{display:block; width:58%; height:58%; margin:21% auto 0; filter:drop-shadow(0 0 46px rgba(92,225,242,.45)) drop-shadow(0 20px 40px rgba(0,0,0,.45))}
.cta{grid-template-columns:1fr!important}
.dn-txt{display:grid; gap:20px; justify-items:start}
.dn-txt h2{font-size:clamp(32px,4vw,54px); line-height:1.02; max-width:16ch}
.dn-txt p{color:var(--muted); font-size:17px; max-width:54ch}
.dn-txt p b{color:var(--fg-2); font-weight:500}
.sig{display:grid; gap:2px}
.sig svg{width:min(300px,80vw); height:auto; overflow:visible; clip-path:inset(0 0 0 0); transition:clip-path 1.8s cubic-bezier(.65,0,.35,1)}
.sig.sg-pre svg{clip-path:inset(0 100% 0 0)}
.sig-t{font-family:"Caveat",cursive; font-weight:600; font-size:58px; fill:#fff; stroke:var(--cyan); stroke-width:1; transition:fill .8s ease 1.4s}
.sig-u{fill:none; stroke:url(#sigG); stroke-width:3; stroke-linecap:round; stroke-dasharray:1; stroke-dashoffset:0; transition:stroke-dashoffset 1s cubic-bezier(.65,0,.35,1) 1.5s}
.sig.sg-pre .sig-t{fill:transparent}
.sig.sg-pre .sig-u{stroke-dashoffset:1}
.sig small{font:500 12px var(--m); letter-spacing:.12em; text-transform:uppercase; color:var(--muted)}
.facts{display:flex; flex-wrap:wrap; gap:8px}
.facts span{display:inline-flex; align-items:center; gap:8px; font-size:13.5px; color:var(--fg-2); padding:7px 13px; border-radius:999px; background:rgba(255,255,255,.04); box-shadow:inset 0 0 0 1px var(--line-2)}
.facts .ic{color:var(--cyan)}

/* ===== Asistente ===== */
.chat-sec{display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:48px; align-items:center}
.chat-sec h2{font-size:clamp(32px,4vw,52px); line-height:1.02; margin-top:14px}
.chat-sec .ch-p{color:var(--muted); font-size:17px; margin-top:16px; max-width:44ch}
.chat-sec .ch-n{color:var(--muted); font-size:14px; margin-top:18px; display:flex; gap:8px; align-items:flex-start; max-width:44ch}
.chat-sec .ch-n .ic{color:var(--cyan); margin-top:3px}
.chatw{border-radius:var(--r-l); background:linear-gradient(180deg,#0E1438,#0A0F2B); box-shadow:inset 0 0 0 1px var(--line-2),0 40px 90px rgba(0,0,0,.5); overflow:hidden; position:relative}
.chatw::before{content:""; position:absolute; inset:0; border-radius:inherit; padding:1px; background:conic-gradient(from var(--ang),transparent 0 60%,var(--cyan) 72%,var(--violet) 84%,transparent 96%); -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0); -webkit-mask-composite:xor; mask-composite:exclude; animation:spin 7s linear infinite; pointer-events:none}
@keyframes spin{to{--ang:360deg}}
.cw-head{display:flex; align-items:center; gap:12px; padding:16px 20px; border-bottom:1px solid var(--line)}
.cw-av{width:42px; height:42px; border-radius:50%; background:linear-gradient(135deg,#1A2160,#0B1033); display:grid; place-items:center; overflow:hidden; box-shadow:inset 0 0 0 1px var(--line-3); flex:none}
.cw-av svg{width:30px; height:30px}
.cw-head b{display:block; font-size:15px} .cw-head small{color:var(--muted); font:500 11.5px var(--m); display:inline-flex; gap:6px; align-items:center}
.cw-head small::before{content:""; width:6px; height:6px; border-radius:50%; background:var(--ok); flex:none}
.cw-body{padding:20px; display:grid; gap:12px; min-height:300px; align-content:start; max-height:420px; overflow:auto}
.msg{max-width:88%; padding:12px 15px; border-radius:16px; font-size:14.5px; line-height:1.5; animation:in .3s ease}
@keyframes in{from{opacity:0; transform:translateY(6px)}}
.msg.bot{background:rgba(255,255,255,.05); box-shadow:inset 0 0 0 1px var(--line); border-top-left-radius:6px}
.msg.me{justify-self:end; background:var(--cyan); color:#05081A; font-weight:500; border-top-right-radius:6px}
.msg .m-t{display:block; margin:0 0 4px; font-size:16px; letter-spacing:-.02em; font-weight:600}
.msg .pr{display:block; margin-top:6px; color:var(--cyan); font:600 13px var(--m)}
.msg .ask{display:block; margin-top:8px; color:#B6A5FF; font:500 12.5px var(--m)}
.msg .row{display:flex; flex-wrap:wrap; gap:8px; margin-top:10px}
.sug{display:flex; flex-wrap:wrap; gap:8px; padding:0 20px 14px}
.sug button{font:500 13px var(--f); color:var(--fg-2); background:rgba(255,255,255,.04); border:0; box-shadow:inset 0 0 0 1px var(--line-2); border-radius:999px; padding:8px 13px; cursor:pointer; transition:all .2s}
.sug button:hover{background:rgba(92,225,242,.1); box-shadow:inset 0 0 0 1px rgba(92,225,242,.5); color:#fff}
.cw-in{display:flex; gap:8px; padding:12px; border-top:1px solid var(--line); background:rgba(0,0,0,.15)}
.cw-in input{flex:1; min-width:0; background:rgba(255,255,255,.04); border:0; box-shadow:inset 0 0 0 1px var(--line-2); border-radius:999px; padding:0 18px; height:46px; color:var(--fg); font:15px var(--f)}
.cw-in input:focus{outline:none; box-shadow:inset 0 0 0 2px var(--cyan)}
.cw-in input::placeholder{color:var(--dim)}
.typing{display:inline-flex; gap:4px} .typing i{width:6px; height:6px; border-radius:50%; background:var(--muted); animation:dots 1s infinite} .typing i:nth-child(2){animation-delay:.15s} .typing i:nth-child(3){animation-delay:.3s}
@keyframes dots{50%{opacity:.25; transform:translateY(-2px)}}

/* ===== Clientes ===== */
.ca-top{display:grid; grid-template-columns:auto minmax(0,1fr); gap:20px 48px; align-items:end; margin-bottom:40px}
.ca-big{display:grid; gap:4px}
.ca-big b{font-size:clamp(96px,13vw,180px); line-height:.82; letter-spacing:-.07em; font-weight:700; background:linear-gradient(180deg,#fff 20%,var(--cyan) 70%,var(--violet)); -webkit-background-clip:text; background-clip:text; color:transparent; font-variant-numeric:tabular-nums}
.ca-big span{font:500 12px var(--m); letter-spacing:.12em; text-transform:uppercase; color:var(--muted); max-width:22ch}
.ca-top h2{font-size:clamp(30px,3.6vw,50px); line-height:1.04; max-width:18ch}
.ca-top p{color:var(--muted); font-size:16.5px; margin-top:14px; max-width:50ch}
.ca-list{display:grid; gap:14px}
.ca{display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:28px; padding:28px; border-radius:var(--r-m); background:linear-gradient(180deg,#0D1334,#090D26); box-shadow:inset 0 0 0 1px var(--line-2); align-items:start}
.ca-id{display:flex; align-items:center; gap:13px; margin-bottom:14px}
.ca-mk{width:46px; height:46px; border-radius:13px; display:grid; place-items:center; font-weight:700; font-size:14px; color:var(--fg-2); background:rgba(255,255,255,.06); box-shadow:inset 0 0 0 1px var(--line-3); flex:none}
.ca-mk .ic{width:22px; height:22px}
.ca h3{font-size:21px; letter-spacing:-.02em} .ca small{color:var(--muted); font-size:13.5px}
.ca-main p{color:var(--muted); font-size:15.5px; max-width:52ch}
.ca-main .lnk{margin-top:14px}
.ca-ba{display:grid; gap:12px}
.ca-col{padding:14px 16px; border-radius:var(--r-s); background:rgba(255,255,255,.025); box-shadow:inset 0 0 0 1px var(--line)}
.ca-col .kicker{font-size:11px; display:block; margin-bottom:8px}
.ca-col ul{list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:6px 14px; font-size:14px}
.ca-before li{color:var(--dim); text-decoration:line-through; text-decoration-color:rgba(139,147,189,.6)}
.ca-now{background:rgba(92,225,242,.045); box-shadow:inset 0 0 0 1px rgba(92,225,242,.22)}
.ca-now li{display:inline-flex; gap:6px; align-items:center; color:var(--fg)}
.ca-now li .ic{color:var(--ok)}

/* ===== Precios y proceso ===== */
.prices{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; align-items:stretch}
.price{position:relative; border-radius:var(--r-m); padding:24px; background:linear-gradient(180deg,#0D1334,#090D26); box-shadow:inset 0 0 0 1px var(--line-2); display:flex; flex-direction:column; gap:10px}
.price.hot{background:radial-gradient(90% 60% at 50% 0%,rgba(92,225,242,.12),transparent 70%),linear-gradient(180deg,#0F1740,#0A0F2B)}
.price.hot::after{content:""; position:absolute; inset:0; border-radius:inherit; padding:1px; pointer-events:none; background:conic-gradient(from var(--ang),rgba(92,225,242,.25),var(--cyan) 20%,var(--violet) 40%,rgba(92,225,242,.25) 60%,var(--pink) 80%,rgba(92,225,242,.25)); -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0); -webkit-mask-composite:xor; mask-composite:exclude; animation:spin 6s linear infinite}
.ribbon{position:absolute; top:-11px; left:24px; font:600 11px var(--m); letter-spacing:.08em; text-transform:uppercase; color:#05081A; background:var(--cyan); border-radius:999px; padding:4px 10px}
.price h3{font-size:17px; letter-spacing:-.02em}
.price .v{font-size:34px; letter-spacing:-.04em; font-weight:600; line-height:1; font-variant-numeric:tabular-nums}
.price .v small{font-size:14px; color:var(--muted); font-weight:400; letter-spacing:0}
.price .from{font:500 12px var(--m); color:var(--muted); text-transform:uppercase; letter-spacing:.08em}
.price > p{color:var(--muted); font-size:14px}
.price ul{list-style:none; padding:0; margin:6px 0 0; display:grid; gap:7px; font-size:14px; color:var(--fg-2)}
.price li{display:flex; gap:8px} .price li .ic{color:var(--cyan); margin-top:3px}
.price .btn{margin-top:auto; width:100%}
.price .sub{font-size:13px; color:var(--muted); text-align:center}
.price .sub a{color:var(--cyan)}
.price .gap{flex:1}
.note{color:var(--muted); font-size:14px; margin-top:18px; display:flex; gap:8px; align-items:flex-start}
.note .ic{color:var(--cyan); margin-top:3px}
.steps{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; position:relative}
.steps::before{content:""; position:absolute; left:0; right:0; top:19px; height:1px; background:linear-gradient(90deg,var(--cyan),var(--violet),transparent); transform-origin:left; transition:transform 1.6s cubic-bezier(.65,0,.35,1)}
.steps.line-pre::before{transform:scaleX(0)}
.step{padding-right:26px; display:grid; gap:10px; align-content:start}
.step i{width:38px; height:38px; border-radius:50%; display:grid; place-items:center; background:var(--bg); box-shadow:inset 0 0 0 1px var(--cyan),0 0 20px rgba(92,225,242,.25); font:600 13px var(--m); font-style:normal; color:var(--cyan); position:relative}
.step h3{font-size:19px; letter-spacing:-.02em; margin-top:8px} .step p{color:var(--muted); font-size:14.5px}

/* ===== Preguntas ===== */
.faq{display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:48px}
.faq h2{font-size:clamp(32px,4vw,52px); line-height:1.02}
.faq .fq-p{color:var(--muted); margin-top:16px; max-width:36ch}
.faq .fq-p a{color:var(--cyan); font-weight:600}
details{border-bottom:1px solid var(--line-2); padding-block:20px}
details:first-child{border-top:1px solid var(--line-2)}
summary{cursor:pointer; list-style:none; display:flex; justify-content:space-between; gap:16px; font-size:18px; font-weight:500; letter-spacing:-.02em}
summary::-webkit-details-marker{display:none}
summary::after{content:""; width:12px; height:12px; flex:none; margin-top:8px; border-right:1.5px solid var(--muted); border-bottom:1.5px solid var(--muted); transform:rotate(45deg); transition:transform .25s}
details[open] summary::after{transform:rotate(225deg)}
details p{color:var(--muted); font-size:15.5px; margin-top:12px; max-width:60ch}
details[open] p{animation:in .35s ease}

/* ===== Cierre ===== */
.cta{position:relative; overflow:hidden; border-radius:var(--r-l); padding:clamp(40px,6vw,80px) clamp(18px,5vw,80px) 0; background:radial-gradient(70% 90% at 80% 0%,rgba(92,225,242,.2),transparent 60%),radial-gradient(60% 80% at 20% 120%,rgba(139,108,255,.3),transparent 60%),#0A0F2B; box-shadow:inset 0 0 0 1px var(--line-2); display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr); gap:20px; align-items:end}
.cta-txt{display:grid; gap:22px; justify-items:start; padding-bottom:clamp(40px,6vw,80px)}
.cta h2{font-size:clamp(34px,5vw,66px); line-height:1; letter-spacing:-.05em; max-width:14ch}
.cta p{color:var(--muted); font-size:18px; max-width:46ch}
.cta .offs{display:flex; flex-wrap:wrap; gap:10px 28px; color:var(--fg-2); font-size:14.5px}
.cta .offs span{display:inline-flex; align-items:center; gap:8px} .cta .offs .ic{color:var(--cyan)}
.cta-redi{position:relative; width:100%; max-width:400px; justify-self:center; align-self:end}
.cta-redi::before{content:""; position:absolute; inset:15% 5% 0; border-radius:50% 50% 0 0; background:radial-gradient(circle at 50% 60%,rgba(92,225,242,.3),rgba(139,108,255,.18) 45%,transparent 70%); filter:blur(10px)}
.cta-redi img,.cta-redi .pfb,.cta-redi .pfb svg{position:relative; display:block; width:100%; height:auto; aspect-ratio:1; object-fit:contain; object-position:bottom}
.cta-redi figcaption{position:absolute; left:50%; bottom:18px; transform:translateX(-50%); white-space:nowrap; font:500 11.5px var(--m); letter-spacing:.1em; text-transform:uppercase; color:var(--fg-2); background:rgba(8,12,36,.8); border-radius:999px; padding:5px 12px; box-shadow:inset 0 0 0 1px var(--line-2)}
.cta-redi{margin:0}

/* ===== Pie ===== */
footer{padding-block:70px 30px; overflow:hidden}
.f-grid{display:grid; grid-template-columns:1.4fr repeat(3,1fr); gap:30px; color:var(--muted); font-size:14.5px}
.f-grid b{display:block; color:var(--fg); font-weight:600; margin-bottom:10px; font-size:14px}
.f-grid a{display:block; padding:3px 0} .f-grid a:hover{color:#fff}
.wordmark{margin-top:60px; font-weight:800; font-size:clamp(70px,17vw,250px); line-height:.8; letter-spacing:-.06em; text-align:center; color:transparent; -webkit-text-stroke:1px rgba(170,190,255,.18); background:linear-gradient(100deg,rgba(92,225,242,.14) 0%,rgba(92,225,242,.14) 35%,rgba(255,255,255,.55) 50%,rgba(139,108,255,.14) 65%,rgba(139,108,255,.14) 100%); background-size:300% 100%; background-position:100% 0; -webkit-background-clip:text; background-clip:text; user-select:none; transition:background-position 1.6s cubic-bezier(.65,0,.35,1)}
.wordmark:hover{background-position:0 0}
.legal{display:flex; flex-wrap:wrap; justify-content:space-between; gap:10px; color:var(--dim); font-size:13px; border-top:1px solid var(--line); padding-top:22px; margin-top:20px}
.fab-wa{position:fixed; right:20px; bottom:calc(20px + env(safe-area-inset-bottom,0px)); z-index:45; width:58px; height:58px; border-radius:50%; background:var(--wa); color:#fff; display:grid; place-items:center; box-shadow:0 14px 34px rgba(37,211,102,.45); transition:opacity .3s, transform .3s}
.fab-wa svg{width:30px; height:30px}
.fab-wa.off{opacity:0; pointer-events:none; transform:scale(.8)}

/* ===== Pantallas medianas ===== */
@media (max-width:1050px){
  .links{position:absolute; top:calc(100% + 8px); left:0; right:0; overflow-x:auto; scrollbar-width:none; padding:6px; border-radius:999px; background:rgba(8,12,36,.8); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); box-shadow:inset 0 0 0 1px var(--line-2)}
  .links::-webkit-scrollbar{display:none}
  .links a{white-space:nowrap; padding:8px 12px; min-height:36px}
  .nav.nav-min .links:not(:focus-within){opacity:0; transform:translateY(-8px); pointer-events:none}
  .hero-c::before{content:""; position:absolute; inset:-30px -16px; z-index:-1; background:radial-gradient(80% 70% at 30% 40%,rgba(5,8,26,.78),transparent 75%)}
  section[id],article[id]{scroll-margin-top:136px}
  .hero{padding-top:150px; padding-bottom:40px; min-height:auto}
  #globe{right:-30%; width:120vw; opacity:.55}
  .trust{position:static; margin-top:48px}
  .mv-stats{grid-template-columns:1fr 1fr} .mv-stat:last-child{grid-column:span 2}
  .dn-grid,.chat-sec,.faq{grid-template-columns:1fr; gap:34px}
  .dn-stage{max-width:440px}
  .ca{grid-template-columns:1fr; gap:18px}
  .prices{grid-template-columns:repeat(2,minmax(0,1fr)); row-gap:24px}
  .steps{grid-template-columns:repeat(2,minmax(0,1fr)); gap:30px 0} .steps::before{display:none}
  .f-grid{grid-template-columns:1fr 1fr}
}
/* ===== Celular ===== */
@media (max-width:640px){
  .wrap{padding-inline:16px}
  .nav{padding-left:14px; gap:10px}
  .nav .btn.sm{width:44px; height:44px; padding:0}
  .nav .btn span{display:none}
  .sec{padding-block:70px}
  .hero{padding-top:146px}
  #globe{right:-45%; top:auto; bottom:-14%; width:150vw; opacity:.32; transform:none}
  .pill{border-radius:var(--r-s); align-items:flex-start; padding:8px 12px 8px 8px; line-height:1.35}
  .pill .arrow{margin-top:2px}
  .trust .wrap{gap:10px 18px} .tl{font-size:13px}
  .acts .btn,.msg .btn{max-width:100%; white-space:normal; height:auto; min-height:46px; padding-block:10px; text-align:center}
  .msg .btn.sm{min-height:40px}
  .vb-hero{grid-template-columns:1fr} .vb-packs{display:none}
  .v-browser{right:70px} .v-phone{width:120px; height:240px} .vb-grid{grid-template-columns:repeat(2,1fr)} .toast-m{right:20px; bottom:auto; top:-6px}
  .v-shop{inset:auto 16px -30px 16px}
  .mv-scr{height:260px} .mv-scr--shop{height:340px}
  .statement{padding-block:90px 20px}
  .mv-stats{grid-template-columns:1fr} .mv-stat:last-child{grid-column:auto}
  .ad-head{display:none}
  .ad-row{grid-template-columns:1fr; gap:8px; padding:16px 18px}
  .ad-x{display:none}
  .ad-a{font-size:14.5px}
  .ad-a::before{content:"Antes · "; font:500 11px var(--m); letter-spacing:.1em; text-transform:uppercase; color:var(--dim)}
  .ca-top{grid-template-columns:1fr; gap:14px}
  .ca{padding:22px 18px}
  .prices,.steps{grid-template-columns:1fr}
  .chatw::before{animation:none; background:linear-gradient(135deg,rgba(92,225,242,.5),transparent 40%,rgba(139,108,255,.5))}
  .dn-card{left:0; bottom:4%; font-size:12.5px}
  .dn-tag{font-size:10.5px}
  .cta{grid-template-columns:1fr; padding-top:44px}
  .cta-txt{padding-bottom:0}
  .cta-redi{max-width:270px}
  .f-grid{grid-template-columns:1fr}
  footer{padding-bottom:100px}
  .fab-wa{width:52px; height:52px; right:14px}
  .mv-glow{display:none}
}
@media (max-width:1050px) and (min-width:641px){ .mv-list > .mv-step:last-child:nth-child(odd){grid-column:1 / -1} }
@media (forced-colors:active){ .btn,.mv-step,.ca,.price,.chatw,.pill,.ad{border:1px solid CanvasText} }
@media print{ .rv.pre{opacity:1!important; transform:none!important; filter:none!important} .nav,.fab-wa,body::before,#globe,.mv-progress,.mv-glow{display:none} }
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important; transition:none!important}
  .rv.pre{transform:none; opacity:1; filter:none}
  #globe{transform:translateY(-50%)} .hero-c{transform:none; opacity:1}
  .sig.sg-pre svg{clip-path:none} .sig.sg-pre .sig-t{fill:#fff} .sig.sg-pre .sig-u{stroke-dashoffset:0}
  .globe-fb{opacity:1} #globe canvas{opacity:1}
}
@media (prefers-reduced-motion:reduce) and (max-width:640px){ #globe{transform:none} }

/* ===== Sitio en varias páginas ===== */
.sv-grid.tres{grid-template-columns:repeat(3,minmax(0,1fr))}
#lineas .mv-note{margin-top:28px}
.pg-first{padding-top:150px}
.links a[aria-current="page"]{background:rgba(255,255,255,.07); color:#fff}
@media (max-width:1050px){ .sv-grid.tres{grid-template-columns:repeat(2,minmax(0,1fr))} .pg-first{padding-top:150px} }
@media (max-width:560px){ .sv-grid.tres{grid-template-columns:1fr} }

/* ===== Páginas legales (07/10/2026): privacidad, términos y Libro de Reclamaciones ===== */
.lgl-wrap{max-width:820px}
.lgl-h1{display:flex; align-items:center; gap:14px; font-size:clamp(32px,4.4vw,52px); line-height:1.05; margin:14px 0 18px}
.lgl-lead{color:var(--fg-2); font-size:17.5px; line-height:1.6; margin-bottom:30px}
.lgl h2{font-size:21px; margin:34px 0 10px; color:#fff}
.lgl p, .lgl li{color:var(--fg-2); font-size:16px; line-height:1.7}
.lgl p + p{margin-top:12px}
.lgl ul{padding-left:20px; display:grid; gap:8px}
.lgl li::marker{color:var(--cyan)}
.lgl strong{color:#fff; font-weight:600}
.lgl a:not(.btn){color:var(--cyan); text-decoration:underline; text-underline-offset:3px}
.lgl-see{margin-top:40px !important; padding-top:20px; border-top:1px solid var(--line); font-size:14.5px !important}
.lgl-links a{color:inherit; text-decoration:underline; text-underline-offset:3px}
.lgl-links a:hover{color:#fff}
.rcl-book{width:46px; height:46px; color:var(--cyan); flex:none}
.rcl-prov{display:grid; grid-template-columns:1fr 1fr; gap:14px 24px; padding:20px 22px; border-radius:16px; background:rgba(255,255,255,.03); box-shadow:inset 0 0 0 1px var(--line-2); margin-bottom:34px}
.rcl-prov div:last-child{grid-column:1 / -1}
.rcl-prov span{display:block; font-family:var(--m); font-size:11.5px; letter-spacing:.12em; text-transform:uppercase; color:var(--muted); margin-bottom:3px}
.rcl-prov b{font-weight:600; color:#fff; font-size:15px}
.rcl-form fieldset{border:0; padding:0; margin:0 0 30px}
.rcl-form legend{font-size:19px; font-weight:700; color:#fff; margin-bottom:14px}
.rcl-grid{display:grid; grid-template-columns:1fr 1fr; gap:14px 18px}
.rcl-full{grid-column:1 / -1}
.rcl-f{display:grid; gap:7px; font-size:14px; font-weight:500; color:var(--fg-2)}
.rcl-f input, .rcl-f select, .rcl-f textarea{width:100%; font:inherit; font-size:16px; font-weight:400; color:var(--fg); background:rgba(255,255,255,.04); border:1px solid var(--line-3); border-radius:12px; padding:12px 14px; min-height:48px}
.rcl-f textarea{resize:vertical; line-height:1.5}
.rcl-f select option{color:#05081A}
.rcl-f input:focus, .rcl-f select:focus, .rcl-f textarea:focus{outline:2px solid var(--cyan); outline-offset:1px; border-color:transparent}
.rcl-f input::placeholder, .rcl-f textarea::placeholder{color:var(--dim)}
.rcl-chk{display:flex; gap:10px; align-items:flex-start; font-size:14.5px; line-height:1.5; color:var(--fg-2); margin-bottom:18px}
.rcl-chk input{width:20px; height:20px; margin-top:1px; accent-color:var(--cyan); flex:none}
.rcl-tipo{display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-bottom:16px}
.rcl-opt{display:flex; gap:12px; align-items:flex-start; padding:16px; border-radius:14px; background:rgba(255,255,255,.03); box-shadow:inset 0 0 0 1px var(--line-2); cursor:pointer; font-size:14px; line-height:1.45; color:var(--muted)}
.rcl-opt:has(input:checked){box-shadow:inset 0 0 0 1.5px var(--cyan); background:rgba(92,225,242,.06)}
.rcl-opt input{accent-color:var(--cyan); width:18px; height:18px; margin-top:2px; flex:none}
.rcl-opt b{display:block; color:#fff; font-size:16px; margin-bottom:2px}
.rcl-hp{position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden}
.rcl-err{color:#FCA5A5; background:rgba(248,113,113,.1); border-radius:12px; padding:12px 14px; margin-bottom:16px; font-size:15px}
.rcl-notas{margin-top:26px; padding-left:18px; display:grid; gap:6px}
.rcl-notas li{font-size:13.5px !important; color:var(--muted) !important}
.rcl-hoja{padding:26px; border-radius:18px; background:rgba(255,255,255,.03); box-shadow:inset 0 0 0 1px var(--line-3)}
.rcl-hoja:focus{outline:none}
.rcl-hoja-cab{display:grid; gap:4px; margin-bottom:18px}
.rcl-num{font-family:var(--m); font-size:26px; color:#fff}
.rcl-fecha{color:var(--muted); font-size:14px}
.rcl-dl{display:grid; grid-template-columns:minmax(150px,auto) 1fr; gap:10px 20px; margin:0}
.rcl-dl dt{font-size:13.5px; color:var(--muted)}
.rcl-dl dd{margin:0; color:var(--fg); font-size:15px; white-space:pre-wrap; overflow-wrap:anywhere}
.rcl-aviso{margin-top:20px; padding:12px 14px; border-radius:12px; background:rgba(74,222,128,.08); color:#BBF7D0 !important; font-size:14.5px !important}
.rcl-aviso-x{background:rgba(251,191,36,.1); color:#FDE68A !important}
.rcl-acc{display:flex; flex-wrap:wrap; gap:12px; margin-top:20px}
@media (max-width:640px){ .rcl-grid, .rcl-tipo, .rcl-prov{grid-template-columns:1fr} .rcl-dl{grid-template-columns:1fr; gap:2px} .rcl-dl dd{margin-bottom:10px} .rcl-hoja{padding:18px} }
@media print{
  body:has(#rclHoja:not([hidden])) *{visibility:hidden}
  body:has(#rclHoja:not([hidden])){background:#fff}
  #rclHoja, #rclHoja *{visibility:visible; color:#000 !important; background:none !important; box-shadow:none !important}
  #rclHoja{position:absolute; left:0; top:0; width:100%; padding:0}
  #rclHoja .rcl-acc{display:none}
}
