
:root{
  color-scheme: dark;
  --bg:#030705; --bg2:#06100a; --bg3:#0a1a10;
  --neon:#3dff8a; --lime:#c4ff3d; --mint:#9dffc8;
  --text:#e9f7ee; --muted:#86a392; --dim:#7d9a89;
  --line:rgba(61,255,138,.14); --line2:rgba(61,255,138,.28);
  --glass:rgba(10,26,16,.55);
  --glow:0 0 8px rgba(61,255,138,.75),0 0 26px rgba(61,255,138,.35);
  --r:18px;
  --fd:'Unbounded',system-ui,sans-serif;
  --fb:'Manrope',system-ui,sans-serif;
  --fm:'JetBrains Mono',ui-monospace,monospace;
}
*{box-sizing:border-box;margin:0;padding:0}
html{overflow-x:clip;scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{background:var(--bg);color:var(--text);font-family:var(--fb);font-size:16px;line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased}
input{user-select:text;-webkit-user-select:text}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
::selection{background:var(--neon);color:#000}
body.lock{overflow:hidden}

/* ============ LEAF ============ */
.leaf path.lf{fill:rgba(61,255,138,0);stroke:var(--neon);stroke-width:1.3;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.leaf path.vn{fill:none;stroke:var(--neon);stroke-width:.8;opacity:.55;vector-effect:non-scaling-stroke}
.leaf path.st{fill:none;stroke:var(--neon);stroke-width:1.6;stroke-linecap:round;vector-effect:non-scaling-stroke}
.leaf.solid path.lf{fill:rgba(61,255,138,.14)}
.leaf.glow{filter:drop-shadow(0 0 4px rgba(61,255,138,.9)) drop-shadow(0 0 18px rgba(61,255,138,.45))}

/* ============ INTRO ============ */
.intro{position:fixed;inset:0;z-index:200;background:radial-gradient(ellipse at center,#07140c 0%,#010302 70%);display:grid;place-items:center;overflow:hidden}
.intro.gone{display:none}
.intro .scan{position:absolute;inset:0;background:repeating-linear-gradient(0deg,rgba(61,255,138,.035) 0 1px,transparent 1px 3px);pointer-events:none}
.intro .hx{position:absolute;width:min(66vmin,520px);aspect-ratio:1;opacity:0;animation:ringIn 1.6s .2s ease-out forwards}
.intro .hx polygon{fill:none;stroke:rgba(61,255,138,.22);stroke-width:.3}
.intro .hx.h2{width:min(90vmin,740px);animation-delay:.45s}
.intro .hx.h2 polygon{stroke-dasharray:1.5 1.5;stroke:rgba(61,255,138,.14)}
.intro .ringx{position:absolute;width:min(70vmin,560px);aspect-ratio:1;border-radius:50%;border:1px solid var(--line);opacity:0;animation:ringIn 1.6s .2s ease-out forwards}
.intro .ringx.r2{width:min(92vmin,760px);animation-delay:.45s;border-style:dashed}
@keyframes ringIn{from{opacity:0;transform:scale(.6) rotate(-40deg)}to{opacity:1;transform:scale(1) rotate(0)}}
.intro .core{position:relative;display:flex;flex-direction:column;align-items:center;gap:22px;transition:transform 1s cubic-bezier(.7,0,.2,1),opacity .9s}
.intro .leaf{width:min(46vmin,340px);height:auto;overflow:visible}
.intro .leaf path{stroke-dasharray:1;stroke-dashoffset:1;animation:draw 1.25s cubic-bezier(.6,0,.2,1) forwards;animation-delay:var(--d,0s)}
.intro .leaf path.lf{animation:draw 1.25s cubic-bezier(.6,0,.2,1) var(--d,0s) forwards,lfill .9s 1.55s ease forwards}
@keyframes draw{to{stroke-dashoffset:0}}
@keyframes lfill{to{fill:rgba(61,255,138,.16)}}
.intro .leafwrap{filter:drop-shadow(0 0 5px rgba(61,255,138,.9)) drop-shadow(0 0 24px rgba(61,255,138,.4));animation:pulse 2.4s 1.6s ease-in-out infinite}
@keyframes pulse{50%{filter:drop-shadow(0 0 8px rgba(61,255,138,1)) drop-shadow(0 0 44px rgba(61,255,138,.6))}}
.intro .word{font-family:var(--fd);font-weight:800;font-size:clamp(26px,6vw,58px);letter-spacing:.08em;display:flex;gap:.02em;overflow:hidden}
.intro .word span{display:inline-block;transform:translateY(110%);animation:up .7s cubic-bezier(.2,.8,.2,1) forwards;animation-delay:calc(1.3s + var(--i)*.05s)}
.intro .word .g{color:var(--neon);text-shadow:var(--glow)}
@keyframes up{to{transform:none}}
.intro .tag{font-family:var(--fm);font-size:12px;letter-spacing:.35em;color:var(--muted);text-transform:uppercase;opacity:0;animation:fade .8s 2.05s forwards;text-align:center;padding:0 20px}
.intro .bar{width:180px;height:2px;background:var(--line);overflow:hidden;border-radius:2px;opacity:0;animation:fade .3s .3s forwards}
.intro .bar i{display:block;height:100%;width:0;background:var(--neon);box-shadow:var(--glow);animation:load 2.6s .3s cubic-bezier(.4,0,.2,1) forwards}
@keyframes load{to{width:100%}}
@keyframes fade{to{opacity:1}}
.intro.sinmarco .hx{display:none}
.leaf.ns path{vector-effect:none}
.leaf.ns path.lf{stroke-width:calc(1.4 * var(--k))}
.leaf.ns path.vn{stroke-width:calc(.8 * var(--k))}
.leaf.ns path.st{stroke-width:calc(1.7 * var(--k))}
.intro.flash .leafwrap{animation:impact 1s 1.5s cubic-bezier(.2,.8,.2,1) both,pulse 2.4s 2.5s ease-in-out infinite}
@keyframes impact{0%{transform:scale(1)}18%{transform:scale(1.09);filter:brightness(2.2) drop-shadow(0 0 14px #3dff8a) drop-shadow(0 0 60px rgba(61,255,138,.9))}100%{transform:scale(1);filter:drop-shadow(0 0 5px rgba(61,255,138,.9)) drop-shadow(0 0 24px rgba(61,255,138,.4))}}
.intro.flash::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 42%,rgba(61,255,138,.35),transparent 55%);opacity:0;animation:fl 1.1s 1.5s ease-out;pointer-events:none}
@keyframes fl{15%{opacity:1}100%{opacity:0}}
.vsel{position:absolute;bottom:28px;left:28px;display:flex;align-items:center;gap:8px;font-family:var(--fm);font-size:11px;color:var(--dim);letter-spacing:.08em}
.vsel a{padding:8px 12px;border:1px solid var(--line);border-radius:999px;color:var(--muted)}
.vsel a.on,.vsel a:hover{border-color:var(--neon);color:var(--neon);box-shadow:0 0 14px rgba(61,255,138,.3)}
.vsel span{margin-left:6px}
@media (max-width:720px){.vsel{left:16px;right:16px;bottom:80px;flex-wrap:wrap}.intro .skip{right:16px;bottom:20px}}
.intro .skip{position:absolute;bottom:28px;right:28px;font-family:var(--fm);font-size:11px;letter-spacing:.2em;color:var(--dim);text-transform:uppercase;padding:10px 14px;border:1px solid var(--line);border-radius:999px;transition:.3s}
.intro .skip:hover{color:var(--neon);border-color:var(--neon)}
.intro.out .core{transform:scale(9);opacity:0}
.intro.out{animation:introOut 1s .25s forwards}
@keyframes introOut{to{opacity:0;visibility:hidden}}

/* ============ BACKGROUND ============ */
#fx{position:fixed;inset:0;z-index:0;pointer-events:none}
.grain{position:fixed;inset:0;z-index:1;pointer-events:none;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.page{position:relative;z-index:2}

/* ============ NAV ============ */
.nav{position:fixed;top:14px;left:50%;transform:translateX(-50%);z-index:50;width:min(1200px,calc(100% - 32px));display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 12px 10px 18px;border:1px solid var(--line);border-radius:999px;background:rgba(3,9,6,.6);backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4);transition:.4s}
.nav.scrolled{border-color:var(--line2);box-shadow:0 10px 40px -10px rgba(0,0,0,.8),0 0 0 1px rgba(61,255,138,.05)}
.brand{display:flex;align-items:center;gap:10px;font-family:var(--fd);font-weight:800;font-size:16px;letter-spacing:.04em;white-space:nowrap}
.brand .leaf{width:30px;height:auto}
.brand b{color:var(--neon);font-weight:800;text-shadow:0 0 12px rgba(61,255,138,.6)}
.nav ul{display:flex;gap:4px;list-style:none}
.nav ul a{display:block;padding:8px 14px;border-radius:999px;font-size:14px;font-weight:600;color:var(--muted);transition:.25s}
.nav ul a:hover,.nav ul a.on{color:var(--text);background:rgba(61,255,138,.08)}
.nav .acts{display:flex;gap:8px;align-items:center}
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:13px 22px;border-radius:999px;font-weight:700;font-size:15px;transition:transform .25s,box-shadow .25s,background .25s,color .25s;white-space:nowrap;isolation:isolate}
.btn.pri{background:var(--neon);color:#021006;box-shadow:0 0 0 1px rgba(61,255,138,.5),0 8px 30px -6px rgba(61,255,138,.6)}
.btn.pri:hover{transform:translateY(-2px);box-shadow:0 0 0 1px var(--neon),0 0 30px rgba(61,255,138,.7),0 14px 40px -8px rgba(61,255,138,.8)}
.btn.gh{border:1px solid var(--line2);color:var(--text);background:rgba(61,255,138,.04)}
.btn.gh:hover{border-color:var(--neon);color:var(--neon);box-shadow:inset 0 0 20px rgba(61,255,138,.12)}
.btn.sm{padding:9px 16px;font-size:14px}
.btn svg{width:18px;height:18px}
.burger{display:none;width:42px;height:42px;border-radius:50%;border:1px solid var(--line2);place-items:center}
.burger i,.burger i::before,.burger i::after{display:block;width:16px;height:1.6px;background:var(--text);position:relative;transition:.3s}
.burger i::before,.burger i::after{content:"";position:absolute;left:0}
.burger i::before{top:-5px}.burger i::after{top:5px}
.nav.open .burger i{background:transparent}
.nav.open .burger i::before{top:0;transform:rotate(45deg)}
.nav.open .burger i::after{top:0;transform:rotate(-45deg)}

/* ============ LAYOUT ============ */
.wrap{width:min(1200px,calc(100% - 32px));margin:0 auto}
section{position:relative;padding:120px 0}
.eyebrow{display:inline-flex;align-items:center;gap:10px;font-family:var(--fm);font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--neon);padding:7px 14px;border:1px solid var(--line2);border-radius:999px;background:rgba(61,255,138,.05)}
.eyebrow .dot{width:7px;height:7px;border-radius:50%;background:var(--neon);box-shadow:var(--glow);animation:blink 1.6s infinite}
@keyframes blink{50%{opacity:.3}}
h1,h2,h3{font-family:var(--fd);line-height:1.05;letter-spacing:-.01em}
h2{font-size:clamp(32px,5vw,62px);font-weight:800}
.hl{background:linear-gradient(100deg,var(--neon),var(--lime) 60%,var(--mint));-webkit-background-clip:text;background-clip:text;color:transparent}
.lead{color:var(--muted);font-size:clamp(16px,1.6vw,19px);max-width:640px}
.sh{display:flex;flex-direction:column;align-items:flex-start;gap:18px;margin-bottom:60px}
.sh.c{align-items:center;text-align:center}
.js .reveal{opacity:0;transform:translateY(40px);transition:opacity .9s cubic-bezier(.2,.8,.2,1),transform .9s cubic-bezier(.2,.8,.2,1);transition-delay:var(--rd,0s)}
.js .reveal.in{opacity:1;transform:none}

/* ============ HERO ============ */
.hero{min-height:100vh;min-height:100svh;display:flex;align-items:center;padding:140px 0 80px;overflow:hidden}
.hero .wrap{display:grid;grid-template-columns:1.02fr 1fr;gap:56px;align-items:center}
.hero h1{font-size:clamp(40px,5.3vw,78px);font-weight:800;margin:26px 0 24px}
.hero h1 .ln{display:block;overflow:hidden;padding-bottom:.06em}
.hero h1 .ln>span{display:block;transform:translateY(105%);transition:transform 1.1s cubic-bezier(.2,.8,.2,1)}
.ready .hero h1 .ln>span{transform:none}
.ready .hero h1 .ln:nth-child(2)>span{transition-delay:.12s}
.ready .hero h1 .ln:nth-child(3)>span{transition-delay:.24s}
.hero .ctas{display:flex;flex-wrap:wrap;gap:12px;margin:34px 0 30px}
.trust{display:flex;flex-wrap:wrap;gap:10px 22px;color:var(--muted);font-size:14px;font-weight:600}
.trust span{display:flex;align-items:center;gap:8px}
.trust svg{width:16px;height:16px;color:var(--neon)}
.hero .bgleaf{position:absolute;right:-12vw;top:50%;width:min(80vw,1000px);transform:translateY(-50%) rotate(-14deg);opacity:.07;pointer-events:none;animation:spin 120s linear infinite}
@keyframes spin{to{transform:translateY(-50%) rotate(346deg)}}
.hero .orb{position:absolute;width:640px;height:640px;border-radius:50%;background:radial-gradient(circle,rgba(61,255,138,.22),transparent 65%);right:-120px;top:10%;filter:blur(20px);pointer-events:none}
.stage{position:relative;perspective:1600px}
.stage .tilt{transform:rotateY(-14deg) rotateX(8deg);transform-style:preserve-3d;transition:transform .6s cubic-bezier(.2,.8,.2,1)}
.float{position:absolute;z-index:3;padding:12px 16px;border-radius:14px;background:rgba(6,18,11,.85);border:1px solid var(--line2);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 20px 50px -10px rgba(0,0,0,.8);font-size:13px;display:flex;align-items:center;gap:12px;animation:bob 6s ease-in-out infinite}
.float b{display:block;font-family:var(--fd);font-size:18px;color:var(--neon)}
.float small{color:var(--muted);font-size:12px}
.float .ic{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:rgba(61,255,138,.1);color:var(--neon)}
.float .ic svg{width:18px;height:18px}
.f1{left:-30px;bottom:40px}
.f2{right:-18px;top:-26px;animation-delay:-3s}
@keyframes bob{50%{transform:translateY(-12px)}}

/* ============ APP MOCK ============ */
.app{display:grid;grid-template-columns:150px 1fr;border-radius:20px;overflow:hidden;border:1px solid var(--line2);background:linear-gradient(160deg,rgba(12,30,19,.92),rgba(4,10,7,.96));box-shadow:0 50px 120px -30px rgba(0,0,0,.9),0 0 0 1px rgba(61,255,138,.06),0 0 80px -20px rgba(61,255,138,.25);font-size:12px;min-height:400px}
.app aside{padding:16px 10px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:3px;background:rgba(0,0,0,.25)}
.app aside .brand{font-size:11px;padding:0 6px 14px;gap:7px}
.app aside .brand .leaf{width:20px}
.app aside a{display:flex;align-items:center;gap:8px;padding:7px 8px;border-radius:8px;color:var(--muted);font-weight:600}
.app aside a svg{width:14px;height:14px;flex:none}
.app aside a.on{background:rgba(61,255,138,.12);color:var(--neon)}
.app .v-home{display:flex;flex-direction:column;gap:12px;min-height:0}
.htop{display:flex;align-items:center;gap:8px}
.apill{display:flex;align-items:center;gap:8px;padding:6px 6px 6px 12px;border-radius:999px;border:1px solid var(--line2);background:rgba(61,255,138,.06);font-weight:700;font-size:11px;white-space:nowrap}
.apill b{min-width:26px;height:22px;padding:0 7px;border-radius:999px;display:grid;place-items:center;background:var(--neon);color:#021006;font-family:var(--fd);font-size:11px;box-shadow:var(--glow);transition:transform .3s}
.apill b.pop{transform:scale(1.35)}
.qk{display:flex;gap:6px}
.qb{position:relative;width:30px;height:30px;border-radius:10px;border:1px solid var(--line2);background:rgba(61,255,138,.04);display:grid;place-items:center;font-size:13px;transition:.2s}
.qb:hover{border-color:var(--neon);box-shadow:0 0 14px rgba(61,255,138,.3)}
.qb i{position:absolute;top:-6px;right:-6px;min-width:15px;height:15px;padding:0 4px;border-radius:999px;background:var(--lime);color:#021006;font-style:normal;font-size:9px;font-weight:800;display:grid;place-items:center}
.qb i.z{display:none}
.hsrch{flex:1;min-width:0}
.hs{width:100%;height:30px;border-radius:10px;border:1px solid var(--line2);background:rgba(0,0,0,.3);color:var(--text);padding:0 12px;font:inherit;font-size:11px;outline:none;transition:.2s}
.hs:focus{border-color:var(--neon);box-shadow:0 0 0 3px rgba(61,255,138,.12)}
.hs::placeholder{color:var(--dim)}
.vw{position:relative}
.szm{position:absolute;right:0;top:calc(100% + 6px);display:none;flex-direction:column;padding:5px;border-radius:12px;background:#081710;border:1px solid var(--line2);z-index:6;min-width:140px;box-shadow:0 20px 40px -10px #000}
.szm.open{display:flex}
.szm button{padding:8px 10px;border-radius:8px;text-align:left;font-size:13px}
.szm button:hover,.szm button.on{background:rgba(61,255,138,.12);color:var(--neon)}
.itl{font-family:var(--fd);font-size:12px;font-weight:600;display:flex;align-items:center;gap:8px}
.itl span{font-family:var(--fm);font-size:10px;color:var(--neon)}
.igrid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;align-content:start}
.cin{position:relative;aspect-ratio:3/4;border-radius:14px;overflow:hidden;border:1.5px solid var(--c,var(--neon));box-shadow:0 0 14px -2px var(--g,rgba(61,255,138,.45)),inset 0 0 0 1px rgba(0,0,0,.4);background:#07130c;animation:cinIn .7s cubic-bezier(.2,.8,.2,1);transition:transform .3s,box-shadow .3s}
.cin.ok{--c:#3dff8a;--g:rgba(61,255,138,.45)}
.cin.warn{--c:#ffc53d;--g:rgba(255,197,61,.45)}
.cin.debt{--c:#ff4d6a;--g:rgba(255,77,106,.5)}
.cin.exp{--c:#7c8a83;--g:rgba(124,138,131,.25)}
.cin.exp svg.ph{filter:grayscale(1) brightness(.75)}
.cin:hover{transform:translateY(-3px)}
.cin svg.ph{position:absolute;inset:0;width:100%;height:100%}
.cin .tm{position:absolute;top:6px;left:50%;transform:translateX(-50%);font-family:var(--fm);font-size:9px;font-weight:600;padding:2px 7px;border-radius:999px;background:rgba(0,0,0,.7);color:var(--neon);border:1px solid rgba(61,255,138,.35);white-space:nowrap}
.cin .tm.new{color:#ff6b7a;border-color:rgba(255,77,106,.5)}
.cin .bl,.cin .br,.cin .bn{position:absolute;top:24px;width:20px;height:20px;border-radius:7px;display:grid;place-items:center;font-size:10px;background:rgba(0,0,0,.65);border:1px solid rgba(255,255,255,.12)}
.cin .bl{left:6px}.cin .br{right:6px}.cin .bn{left:30px}
.cin .nm{position:absolute;left:6px;right:6px;bottom:6px;padding:5px 6px;border-radius:9px;background:rgba(2,8,5,.72);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);font-size:10px;font-weight:700;text-align:center;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cin .pl{position:absolute;left:50%;bottom:34px;transform:translateX(-50%);display:flex;align-items:center;gap:5px;font-size:9px;font-weight:700;padding:2px 8px;border-radius:999px;background:rgba(0,0,0,.75);color:#c9d3ce;border:1px solid rgba(255,255,255,.18);white-space:nowrap}
.cin .pl i{width:6px;height:6px;border-radius:50%;background:#ff4d6a}
.cin{cursor:pointer}
.cin .ov{position:absolute;inset:0;z-index:4;display:flex;flex-direction:column;justify-content:flex-end;gap:7px;padding:12px 10px 40px;background:linear-gradient(to top,rgba(2,8,5,.96) 0%,rgba(2,8,5,.82) 45%,rgba(2,8,5,.35) 100%);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);opacity:0;visibility:hidden;transition:opacity .25s,visibility 0s .25s}
.cin:hover .ov,.cin.act .ov{opacity:1;visibility:visible;transition:opacity .25s}
.cin:hover,.cin.act{box-shadow:0 0 0 1px var(--c),0 0 26px var(--g)}
.cin .ov button{display:flex;align-items:center;justify-content:center;gap:7px;padding:8px 6px;border-radius:10px;font-weight:800;font-size:11px;letter-spacing:.01em;transform:translateY(12px);opacity:0;transition:transform .35s cubic-bezier(.2,.8,.2,1),opacity .3s,background .2s,box-shadow .2s,color .2s}
.cin:hover .ov button,.cin.act .ov button{transform:none;opacity:1}
.cin:hover .ov button.x,.cin.act .ov button.x{transition-delay:.06s}
.cin .ov button svg{width:15px;height:15px;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.cin .ov button[data-act="disp"]{background:var(--neon);color:#021006;box-shadow:0 6px 18px -6px rgba(61,255,138,.9)}
.cin .ov button[data-act="disp"]:hover{background:#7dffb1;box-shadow:0 0 22px rgba(61,255,138,.9)}
.cin .ov button.x{background:rgba(255,77,106,.12);border:1px solid rgba(255,77,106,.7);color:#ff8a9b}
.cin .ov button.x:hover{background:#ff4d6a;color:#fff;box-shadow:0 0 20px rgba(255,77,106,.7)}
.cin .nm{z-index:5}.cin .tm{z-index:5}
.float{pointer-events:none}
#tilt .cin:hover{transform:none}
.cin.out{animation:cinOut .5s forwards}
.cin.hl{animation:hl 1.2s 2}
@keyframes cinIn{from{opacity:0;transform:scale(.85) translateY(14px);filter:blur(6px)}}
@keyframes cinOut{to{opacity:0;transform:scale(.8);filter:blur(6px)}}
@keyframes hl{50%{box-shadow:0 0 0 3px var(--lime),0 0 30px var(--lime)}}
.toast{position:fixed;left:50%;bottom:26px;transform:translate(-50%,30px);z-index:140;padding:12px 18px;border-radius:14px;background:#0a1d12;border:1px solid var(--neon);box-shadow:0 0 30px rgba(61,255,138,.35);font-weight:700;font-size:14px;opacity:0;transition:.35s;pointer-events:none}
.toast.on{opacity:1;transform:translate(-50%,0)}
.dash .htop{gap:10px}
.dash .apill{font-size:14px;padding:8px 8px 8px 16px}.dash .apill b{height:28px;min-width:34px;font-size:14px}
.dash .qb{width:42px;height:42px;font-size:18px;border-radius:12px}.dash .qb i{font-size:11px;min-width:19px;height:19px}
.dash .hs{height:42px;font-size:14px;border-radius:12px}
.dash .itl{font-size:18px}.dash .itl span{font-size:12px}
.dash .igrid{grid-template-columns:repeat(auto-fill,minmax(var(--cw,170px),1fr));gap:16px}
.dash .cin .nm{font-size:13px;padding:8px}.dash .cin .tm{font-size:11px;top:8px}
.dash .cin .bl,.dash .cin .br,.dash .cin .bn{width:26px;height:26px;font-size:13px;top:32px}.dash .cin .bn{left:38px}
.dash .cin .pl{font-size:11px;bottom:46px}
.dash .cin .ov button{font-size:14px;padding:11px 8px}.dash .cin .ov button svg{width:18px;height:18px}.dash .cin .ov{padding-bottom:52px;gap:9px}
.app aside a[data-v]{cursor:pointer}
.app aside .gt{font-family:var(--fm);font-size:8.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--dim);padding:8px 8px 2px}
.app aside .gt:first-of-type{padding-top:0}
.app aside a{padding:5px 8px!important}
.app .tr{display:flex;align-items:center;gap:8px}
.app .plan{font-size:10px;font-weight:700;padding:4px 9px;border-radius:999px;background:rgba(196,255,61,.1);color:var(--lime);border:1px solid rgba(196,255,61,.25);white-space:nowrap}
.um{position:relative}
.ub{display:flex;align-items:center;gap:8px;padding:4px 10px 4px 4px;border-radius:999px;border:1px solid var(--line2)}
.ub .av{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--neon);color:#021006;font-weight:800;font-size:11px}
.um .dd{position:absolute;right:0;top:calc(100% + 8px);min-width:220px;padding:6px;border-radius:14px;background:#081710;border:1px solid var(--line2);box-shadow:0 20px 50px -10px #000;display:none;z-index:5}
.um.open .dd{display:block;animation:fade .2s}
.um .dd a{display:block;padding:10px 12px;border-radius:9px;font-size:14px;color:var(--text);cursor:pointer}
.um .dd a:hover{background:rgba(61,255,138,.1)}
.dash .app aside .gt{font-size:10px;padding:14px 12px 4px}
.dash .app aside a{padding:8px 12px!important}
.app main{padding:16px;display:flex;flex-direction:column;gap:12px;min-width:0}
.app .top{display:flex;justify-content:space-between;align-items:center;gap:8px}
.app .top h4{font-family:var(--fd);font-size:14px;font-weight:600}
.app .top small{color:var(--muted);display:block;font-size:11px}
.live{display:inline-flex;align-items:center;gap:6px;font-family:var(--fm);font-size:10px;color:var(--neon);padding:4px 9px;border-radius:999px;background:rgba(61,255,138,.08);border:1px solid var(--line2);letter-spacing:.1em}
.live i{width:6px;height:6px;border-radius:50%;background:var(--neon);box-shadow:var(--glow);animation:blink 1.2s infinite}
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.kpi{padding:10px;border-radius:12px;background:rgba(61,255,138,.04);border:1px solid var(--line)}
.kpi small{color:var(--muted);font-size:10px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kpi b{white-space:nowrap;font-family:var(--fd);font-size:15px;font-weight:600;display:block;margin-top:2px;transition:color .4s}
.kpi b.bump{color:var(--neon);text-shadow:var(--glow)}
.kpi em{font-style:normal;font-size:10px;color:var(--neon)}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:8px;flex:1;min-height:0}
.panel{padding:12px;border-radius:12px;background:rgba(61,255,138,.03);border:1px solid var(--line);min-width:0}
.panel h5{font-size:11px;color:var(--muted);font-weight:600;margin-bottom:10px;display:flex;justify-content:space-between}
.bars{display:flex;align-items:flex-end;gap:5px;height:120px}
.bars i{flex:1;border-radius:4px 4px 2px 2px;background:linear-gradient(180deg,var(--neon),rgba(61,255,138,.15));height:var(--h);transform-origin:bottom;transition:height .8s cubic-bezier(.2,.8,.2,1);box-shadow:0 0 12px rgba(61,255,138,.25)}
.bars i.now{background:linear-gradient(180deg,var(--lime),rgba(196,255,61,.2))}
.axis{display:flex;justify-content:space-between;color:var(--dim);font-family:var(--fm);font-size:9px;margin-top:6px}
.feed{list-style:none;display:flex;flex-direction:column;gap:6px;overflow:hidden;max-height:150px}
.feed li{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:8px;background:rgba(0,0,0,.25);animation:feedIn .6s cubic-bezier(.2,.8,.2,1)}
.feed li .av{width:22px;height:22px;border-radius:50%;flex:none;display:grid;place-items:center;font-size:9px;font-weight:700;background:rgba(61,255,138,.15);color:var(--neon)}
.feed li span{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.app:not(.dash .app) .feed li time{display:none}
.feed li time{font-family:var(--fm);font-size:9px;color:var(--dim)}
@keyframes feedIn{from{opacity:0;transform:translateY(-10px);background:rgba(61,255,138,.25)}}

/* ============ MARQUEE ============ */
.marq{padding:0;border-block:1px solid var(--line);background:rgba(61,255,138,.02);overflow:hidden}
.marq .track{display:flex;gap:48px;padding:22px 0;width:max-content;animation:marq 40s linear infinite}
.marq span{display:flex;align-items:center;gap:48px;font-family:var(--fd);font-size:clamp(18px,2.4vw,26px);font-weight:600;color:var(--dim);white-space:nowrap}
.marq span::after{content:"";width:10px;height:10px;border-radius:50%;background:var(--neon);box-shadow:var(--glow)}
@keyframes marq{to{transform:translateX(-50%)}}

/* ============ STATS ============ */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.stat{background:var(--bg);padding:34px 26px}
.stat b{font-family:var(--fd);font-size:clamp(16px,1.6vw,20px);font-weight:600;display:block;line-height:1.2}
.stat .si{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:rgba(61,255,138,.08);border:1px solid var(--line2);color:var(--neon);margin-bottom:18px;clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%)}
.stat .si svg{width:20px;height:20px}
.stat:hover .si{background:var(--neon);color:#021006}
.stat b i{font-style:normal;color:var(--neon);text-shadow:var(--glow)}
.stat p{color:var(--neon);margin-top:6px;font-size:14px;font-family:var(--fm)}

/* ============ BENTO ============ */
.bento{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;grid-auto-flow:dense}
.card{position:relative;padding:28px;border-radius:var(--r);background:linear-gradient(160deg,rgba(14,32,21,.7),rgba(5,12,8,.8));border:1px solid var(--line);overflow:hidden;transition:border-color .4s,transform .4s;isolation:isolate}
.card::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(420px circle at var(--mx,50%) var(--my,50%),rgba(61,255,138,.14),transparent 45%);opacity:0;transition:opacity .4s}
.card:hover{border-color:var(--line2);transform:translateY(-4px)}
.card:hover::before{opacity:1}
.card .ic{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:rgba(61,255,138,.08);border:1px solid var(--line2);color:var(--neon);margin-bottom:22px;transition:.4s}
.card:hover .ic{background:var(--neon);color:#021006;box-shadow:var(--glow)}
.card .ic svg{width:22px;height:22px}
.card h3{font-size:18px;font-weight:600;margin-bottom:10px;line-height:1.25}
.card p{color:var(--muted);font-size:15px}
.card.w2{grid-column:span 2}
.card.big{grid-row:span 2;display:flex;flex-direction:column}
.card .tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:18px}
.card .tags span{font-family:var(--fm);font-size:11px;padding:5px 10px;border-radius:999px;border:1px solid var(--line);color:var(--mint)}
.scale{margin-top:auto;padding-top:26px}
.scale .disp{font-family:var(--fm);font-size:clamp(40px,5vw,64px);font-weight:600;color:var(--neon);text-shadow:var(--glow);line-height:1;letter-spacing:-.02em}
.scale .disp small{font-size:.4em;color:var(--muted);text-shadow:none;margin-left:6px}
.scale .meter{height:6px;border-radius:6px;background:rgba(61,255,138,.1);margin-top:14px;overflow:hidden}
.scale .meter i{display:block;height:100%;background:linear-gradient(90deg,var(--neon),var(--lime));box-shadow:var(--glow);width:0;transition:width .3s}
.scale .meta{display:flex;justify-content:space-between;font-family:var(--fm);font-size:11px;color:var(--dim);margin-top:8px}
.rfid{display:flex;align-items:center;gap:16px;margin-top:20px}
.rfid .tagc{width:70px;height:44px;border-radius:8px;border:1px solid var(--line2);background:linear-gradient(135deg,rgba(61,255,138,.18),rgba(61,255,138,.02));position:relative;animation:tap 3s ease-in-out infinite}
.rfid .tagc::after{content:"";position:absolute;left:10px;top:12px;width:16px;height:12px;border-radius:3px;background:rgba(196,255,61,.6)}
.rfid .waves{display:flex;gap:4px}
.rfid .waves i{width:4px;height:22px;border-radius:4px;border-right:2px solid var(--neon);opacity:.2;animation:wv 3s infinite}
.rfid .waves i:nth-child(2){animation-delay:.15s}.rfid .waves i:nth-child(3){animation-delay:.3s}
@keyframes tap{40%,60%{transform:translateX(18px)}}
@keyframes wv{45%,55%{opacity:1}}
.rfid .ok{font-family:var(--fm);font-size:12px;color:var(--neon)}

/* ============ STEPS ============ */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;counter-reset:s}
.step{position:relative;padding:34px 28px;border-radius:var(--r);border:1px solid var(--line);background:rgba(61,255,138,.02)}
.step::before{counter-increment:s;content:"0" counter(s);font-family:var(--fd);font-size:64px;font-weight:800;line-height:1;display:block;margin-bottom:20px;color:transparent;-webkit-text-stroke:1px var(--neon);opacity:.7}
.step h3{font-size:20px;font-weight:600;margin-bottom:10px}
.step p{color:var(--muted)}
.step .ln{position:absolute;top:66px;right:-17px;width:18px;height:1px;background:var(--neon);box-shadow:var(--glow)}
.step:last-child .ln{display:none}

/* ============ SECURITY ============ */
.sec{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.shield{position:relative;aspect-ratio:1;max-width:460px;width:100%;margin:0 auto;display:grid;place-items:center}
.shield .rg{position:absolute;inset:0;border-radius:50%;border:1px solid var(--line)}
.shield .rg:nth-child(2){inset:12%;border-style:dashed;animation:rot 40s linear infinite}
.shield .rg:nth-child(3){inset:24%;border-color:var(--line2);animation:rot 26s linear infinite reverse}
.shield .rg::after{content:"";position:absolute;top:-4px;left:50%;width:8px;height:8px;border-radius:50%;background:var(--neon);box-shadow:var(--glow)}
@keyframes rot{to{transform:rotate(360deg)}}
.shield .leaf{width:42%;position:relative}
.checks{display:grid;gap:12px;margin-top:34px}
.checks div{display:flex;gap:14px;align-items:flex-start;padding:16px 18px;border-radius:14px;border:1px solid var(--line);background:rgba(61,255,138,.02)}
.checks svg{width:22px;height:22px;color:var(--neon);flex:none;margin-top:2px}
.checks b{display:block;font-weight:700}
.checks span{color:var(--muted);font-size:14px}

/* ============ PRICING ============ */
.prices{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;align-items:stretch}
.price{position:relative;padding:36px 30px;border-radius:24px;border:1px solid var(--line);background:linear-gradient(170deg,rgba(14,32,21,.6),rgba(4,10,7,.85));display:flex;flex-direction:column;isolation:isolate}
.price.hot:not(.sel){border-color:var(--line)}
.price.hot::before{content:"";position:absolute;inset:-1px;border-radius:25px;padding:1.5px;background:conic-gradient(from var(--a),transparent 0 60%,var(--neon) 75%,var(--lime) 85%,transparent 100%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:ang 4s linear infinite;z-index:-1}
.price.hot::after{content:"";position:absolute;inset:0;border-radius:24px;box-shadow:0 0 60px -10px rgba(61,255,138,.35);z-index:-2}
@property --a{syntax:'<angle>';initial-value:0deg;inherits:false}
@keyframes ang{to{--a:360deg}}
.price .badge{position:absolute;top:-13px;left:30px;font-family:var(--fm);font-size:11px;letter-spacing:.15em;text-transform:uppercase;background:var(--neon);color:#021006;padding:5px 12px;border-radius:999px;font-weight:600;box-shadow:var(--glow)}
.price h3{font-size:18px;font-weight:600;color:var(--mint)}
.price .amt{font-family:var(--fd);font-size:64px;font-weight:800;line-height:1;margin:22px 0 4px;display:flex;align-items:flex-start;gap:4px}
.price .amt sup{font-size:24px;margin-top:8px;color:var(--neon)}
.price .per{color:var(--muted);font-size:14px}
.price ul{list-style:none;display:grid;gap:12px;margin:28px 0 32px}
.price li{display:flex;gap:10px;align-items:flex-start;font-size:15px}
.price li svg{width:18px;height:18px;color:var(--neon);flex:none;margin-top:3px}
.price .btn{margin-top:auto;width:100%}
.price .per .iva{color:var(--lime);font-weight:700}
.price{cursor:pointer;transition:transform .35s cubic-bezier(.2,.8,.2,1),border-color .3s,box-shadow .35s,background .35s}
.price:hover{border-color:rgba(61,255,138,.45);box-shadow:0 0 0 1px rgba(61,255,138,.18),0 0 34px -6px rgba(61,255,138,.35);transform:translateY(-4px)}
.price.sel{border-color:var(--neon);background:linear-gradient(170deg,rgba(24,64,38,.75),rgba(4,12,8,.9));box-shadow:0 0 0 1px var(--neon),0 0 60px -6px rgba(61,255,138,.6),inset 0 0 40px -18px rgba(61,255,138,.5);transform:translateY(-8px)}
.price.sel h3{color:var(--neon)}
.price.sel .amt{text-shadow:0 0 24px rgba(61,255,138,.55)}
.price.hot:not(.sel)::before{opacity:.35}

/* ============ FAQ ============ */
.faq{max-width:860px;margin:0 auto;display:grid;gap:10px}
.qa{border:1px solid var(--line);border-radius:16px;background:rgba(61,255,138,.02);transition:border-color .3s,background .3s}
.qa.open{border-color:var(--line2);background:rgba(61,255,138,.05)}
.qa button{width:100%;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:22px 24px;text-align:left;font-weight:700;font-size:17px}
.qa button i{flex:none;width:30px;height:30px;border-radius:50%;border:1px solid var(--line2);position:relative;transition:.4s}
.qa button i::before,.qa button i::after{content:"";position:absolute;left:50%;top:50%;width:11px;height:1.5px;background:var(--neon);transform:translate(-50%,-50%);transition:.4s}
.qa button i::after{transform:translate(-50%,-50%) rotate(90deg)}
.qa.open button i{background:var(--neon);box-shadow:var(--glow)}
.qa.open button i::before,.qa.open button i::after{background:#021006}
.qa.open button i::after{transform:translate(-50%,-50%) rotate(0)}
.qa .ans{display:grid;grid-template-rows:0fr;transition:grid-template-rows .45s cubic-bezier(.2,.8,.2,1)}
.qa.open .ans{grid-template-rows:1fr}
.qa .ans>div{overflow:hidden}
.qa .ans p{padding:0 24px 22px;color:var(--muted)}
.qa .ans b{color:var(--text)}

/* ============ CTA ============ */
.cta{position:relative;border-radius:32px;padding:clamp(48px,8vw,100px) clamp(24px,6vw,80px);overflow:hidden;border:1px solid var(--line2);background:radial-gradient(ellipse at 80% 50%,rgba(61,255,138,.22),transparent 60%),linear-gradient(160deg,#0b2214,#030805);text-align:left}
.cta .leaf{position:absolute;right:-60px;top:50%;width:min(560px,70%);transform:translateY(-50%) rotate(12deg);opacity:.5}
.cta>*:not(.leaf){position:relative;max-width:620px}
.cta h2{margin-bottom:20px}
.cta .ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}

/* ============ FOOTER ============ */
footer{border-top:1px solid var(--line);padding:70px 0 40px;margin-top:40px}
.fgrid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:40px}
footer h6,footer .h6{font-family:var(--fm);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--dim);margin-bottom:16px;font-weight:600}
footer ul{list-style:none;display:grid;gap:10px}
footer ul a{color:var(--muted);font-size:15px;transition:.2s}
footer ul a:hover{color:var(--neon)}
footer .about p{color:var(--muted);margin-top:16px;max-width:320px;font-size:15px}
.legal a{color:var(--muted)}.legal a:hover{color:var(--neon)}
.legal{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:56px;padding-top:24px;border-top:1px solid var(--line);color:var(--dim);font-size:13px}

/* ============ LOGIN ============ */
.login{position:fixed;inset:0;z-index:120;display:grid;grid-template-columns:1.1fr 1fr;background:var(--bg);visibility:hidden;opacity:0;transition:opacity .6s,visibility 0s .6s}
.login.show{visibility:visible;opacity:1;transition:opacity .6s}
.login .art{position:relative;overflow:hidden;display:grid;place-items:center;background:radial-gradient(circle at 50% 50%,rgba(61,255,138,.16),transparent 60%),#020503;border-right:1px solid var(--line)}
.login .art::before{content:"";position:absolute;inset:-100px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='100'%3E%3Cpath d='M28 66L0 50L0 16L28 0L56 16L56 50L28 66L28 100' fill='none' stroke='%233dff8a' stroke-opacity='.16'/%3E%3Cpath d='M28 0L28 34L0 50L0 84L28 100L56 84L56 50L28 34' fill='none' stroke='%233dff8a' stroke-opacity='.09'/%3E%3C/svg%3E");background-size:56px 100px;animation:hexdrift 30s linear infinite;mask-image:radial-gradient(circle at center,#000 20%,transparent 70%);-webkit-mask-image:radial-gradient(circle at center,#000 20%,transparent 70%);opacity:.6}
@keyframes hexdrift{to{transform:translate(56px,100px)}}
.login .hx{position:absolute;width:min(62%,460px);aspect-ratio:1;animation:rot 60s linear infinite}
.login .hx polygon{fill:none;stroke:var(--neon);stroke-width:.35;opacity:.5;filter:drop-shadow(0 0 2px var(--neon))}
.login .hx.h2{width:min(84%,640px);animation-duration:90s;animation-direction:reverse}
.login .hx.h2 polygon{opacity:.18;stroke-dasharray:2 2}
.login .glowc{position:absolute;width:55%;aspect-ratio:1;background:radial-gradient(circle,rgba(61,255,138,.28),transparent 62%);filter:blur(10px);animation:breathe 5s ease-in-out infinite}
@keyframes breathe{50%{transform:scale(1.15);opacity:.7}}
.tric{position:absolute;bottom:-10px;width:3px;height:3px;border-radius:50%;background:var(--lime);box-shadow:0 0 8px var(--lime);animation:rise linear infinite;opacity:0}
@keyframes rise{10%{opacity:.9}90%{opacity:.6}to{transform:translateY(-105vh);opacity:0}}
.login .orbitx.o2{width:min(90%,680px);border-style:solid;border-color:var(--line);animation-duration:50s;animation-direction:reverse}
.login .orbitx::after{content:"";position:absolute;top:50%;left:-5px;width:10px;height:10px;border-radius:50%;background:var(--neon);box-shadow:var(--glow)}
.login .art .leaf{width:min(52%,380px);position:relative}
.login.show .art .leaf{animation:impact 1s 1.35s cubic-bezier(.2,.8,.2,1) both,pulse 2.4s 2.4s ease-in-out infinite}
.login .flashc{position:absolute;inset:0;background:radial-gradient(circle at 50% 50%,rgba(61,255,138,.35),transparent 55%);opacity:0;pointer-events:none}
.login.show .flashc{animation:fl 1.1s 1.35s ease-out}
.login.show .art .leaf path{stroke-dasharray:1;stroke-dashoffset:1;animation:draw 1.3s cubic-bezier(.6,0,.2,1) var(--d,0s) forwards}
.login.show .art .leaf path.lf{animation:draw 1.3s cubic-bezier(.6,0,.2,1) var(--d,0s) forwards,lfill .9s 1.3s forwards}
.login .art .cap{position:absolute;bottom:40px;left:40px;right:40px;display:flex;justify-content:space-between;align-items:flex-end;gap:20px;font-family:var(--fm);font-size:11px;color:var(--dim);letter-spacing:.12em;text-transform:uppercase}
.login .art .cap b{display:block;font-family:var(--fd);font-size:22px;color:var(--text);letter-spacing:0;text-transform:none;margin-bottom:6px}
.login .side{position:relative;display:flex;flex-direction:column;justify-content:center;padding:40px clamp(24px,6vw,90px);overflow-y:auto}
.login .back{position:absolute;top:28px;left:clamp(24px,6vw,90px);display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--muted);transition:.2s}
.login .back:hover{color:var(--neon)}
.login .back svg{width:16px;height:16px}
.login form{width:100%;max-width:420px;margin:0 auto}
.login form>*{opacity:0;transform:translateY(24px)}
.login.show form>*{animation:lin .8s cubic-bezier(.2,.8,.2,1) forwards;animation-delay:calc(.35s + var(--i)*.08s)}
@keyframes lin{to{opacity:1;transform:none}}
.login h2{font-size:clamp(30px,3.4vw,42px);margin:22px 0 10px}
.login .sub{color:var(--muted);margin-bottom:34px}
.fld{position:relative;margin-bottom:18px}
.fld input{width:100%;padding:24px 48px 10px 18px;border-radius:14px;border:1px solid var(--line2);background:rgba(61,255,138,.03);color:var(--text);font:inherit;font-size:16px;outline:none;transition:border-color .3s,box-shadow .3s,background .3s}
.fld label{position:absolute;left:19px;top:17px;color:var(--muted);font-size:15px;pointer-events:none;transition:.25s cubic-bezier(.2,.8,.2,1);transform-origin:left}
.fld input:focus,.fld input:not(:placeholder-shown){background:rgba(61,255,138,.06)}
.fld input:focus{border-color:var(--neon);box-shadow:0 0 0 4px rgba(61,255,138,.12),0 0 24px -4px rgba(61,255,138,.5)}
.fld input:focus+label,.fld input:not(:placeholder-shown)+label{transform:translateY(-10px) scale(.75);color:var(--neon)}
.fld .eye{position:absolute;right:12px;top:50%;transform:translateY(-50%);width:32px;height:32px;display:grid;place-items:center;color:var(--muted);border-radius:8px}
.fld .eye:hover{color:var(--neon)}
.fld .eye svg{width:18px;height:18px}
.fld .scanln{position:absolute;left:14px;right:14px;bottom:0;height:1px;background:var(--neon);box-shadow:var(--glow);transform:scaleX(0);transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.fld input:focus~.scanln{transform:scaleX(1)}
.opts{display:flex;justify-content:space-between;align-items:center;margin:4px 0 26px;font-size:14px;color:var(--muted)}
.opts a:hover{color:var(--neon)}
.chk{display:flex;align-items:center;gap:10px;cursor:pointer}
.chk input{appearance:none;-webkit-appearance:none;width:20px;height:20px;border-radius:6px;border:1px solid var(--line2);background:rgba(61,255,138,.04);display:grid;place-items:center;cursor:pointer;transition:.2s}
.chk input:checked{background:var(--neon);border-color:var(--neon);box-shadow:var(--glow)}
.chk input:checked::after{content:"";width:5px;height:10px;border:solid #021006;border-width:0 2px 2px 0;transform:rotate(45deg) translate(-1px,-1px)}
.go{width:100%;height:56px;border-radius:14px;background:var(--neon);color:#021006;font-weight:800;font-size:16px;position:relative;overflow:hidden;box-shadow:0 10px 40px -10px rgba(61,255,138,.8);transition:box-shadow .3s,transform .2s}
.go:hover{box-shadow:0 0 30px rgba(61,255,138,.7),0 14px 40px -8px rgba(61,255,138,.9)}
.go:active{transform:scale(.98)}
.go .lbl{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;gap:10px}
.go .lbl svg{width:18px;height:18px;transition:transform .3s}
.go:hover .lbl svg{transform:translateX(4px)}
.go .prog{position:absolute;inset:0;width:0;background:linear-gradient(90deg,#1ee06c,var(--lime));transition:width .4s}
.go::after{content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-20deg);animation:shine 3.2s 1.5s infinite}
@keyframes shine{30%,100%{left:130%}}
.term{font-family:var(--fm);font-size:12px;color:var(--mint);margin-top:18px;min-height:74px;display:grid;gap:4px}
.term div{opacity:0;animation:fade .3s forwards}
.term div::before{content:"› ";color:var(--neon)}
.term .ok{color:var(--neon)}
.err{color:#ff6b7a;font-size:13px;margin-top:-8px;margin-bottom:14px;min-height:18px}
.shake{animation:shake .45s}
@keyframes shake{20%,60%{transform:translateX(-8px)}40%,80%{transform:translateX(8px)}}
.reg{margin-top:28px;text-align:center;color:var(--muted);font-size:14px}
.reg a{color:var(--neon);font-weight:700}
.login .copy{position:absolute;bottom:20px;left:0;right:0;text-align:center;color:var(--dim);font-size:12px}
.granted{position:fixed;inset:0;z-index:130;display:grid;place-items:center;background:rgba(2,5,3,.92);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);opacity:0;visibility:hidden;transition:.5s}
.granted.show{opacity:1;visibility:visible}
.granted .in{display:flex;flex-direction:column;align-items:center;gap:20px;text-align:center;padding:20px}
.granted svg.ck{width:110px;height:110px}
.granted svg.ck circle,.granted svg.ck path{fill:none;stroke:var(--neon);stroke-width:2.5;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;filter:drop-shadow(0 0 8px var(--neon))}
.granted.show svg.ck circle{animation:draw .7s forwards}
.granted.show svg.ck path{animation:draw .5s .55s forwards}
.granted h3{font-size:clamp(24px,4vw,38px)}
.granted p{color:var(--muted)}

/* ============ DASH VIEW (after login) ============ */
.dash{position:fixed;inset:0;z-index:125;background:var(--bg);padding:20px;display:none;overflow:auto}
.dash.show{display:block;animation:fade .6s}
.dash .app{min-height:calc(100vh - 40px);font-size:14px;grid-template-columns:220px 1fr}
.dash .app main{padding:26px;gap:18px}
.dash .kpi{padding:18px}.dash .kpi b{font-size:28px}.dash .kpi small{font-size:12px}
.dash .bars{height:240px}
.dash .feed{max-height:none}
.dash .app aside{padding:22px 14px}
.dash .app aside .brand{font-size:14px}
.dash .app aside .brand .leaf{width:26px}
.dash .app aside a{padding:10px 12px;font-size:14px}
.dash .app aside a svg{width:17px;height:17px}
.dash .top h4{font-size:22px}

/* ============ BLOG ============ */
.view[hidden]{display:none!important}
.bhero{padding:150px 0 40px;position:relative;overflow:hidden}
.bhero h1{font-size:clamp(36px,5.2vw,72px);font-weight:800;margin:22px 0 16px;max-width:900px}
.bsearch{display:flex;align-items:center;gap:12px;max-width:620px;margin-top:30px;padding:6px 6px 6px 18px;border-radius:999px;border:1px solid var(--line2);background:rgba(61,255,138,.04);transition:.3s}
.bsearch:focus-within{border-color:var(--neon);box-shadow:0 0 0 4px rgba(61,255,138,.1),0 0 30px -6px rgba(61,255,138,.5)}
.bsearch svg{width:20px;height:20px;color:var(--muted);flex:none}
.bsearch input{flex:1;min-width:0;background:none;border:0;outline:none;color:var(--text);font:inherit;font-size:16px;padding:10px 0}
.bsearch input::placeholder{color:var(--dim)}
.bsearch b{font-family:var(--fm);font-size:12px;color:var(--neon);padding:8px 14px;border-radius:999px;background:rgba(61,255,138,.08);white-space:nowrap}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:28px 0 8px}
.chip{display:inline-flex;align-items:center;gap:8px;padding:9px 15px;border-radius:999px;border:1px solid var(--line);font-size:14px;font-weight:700;color:var(--muted);transition:.25s;white-space:nowrap}
.chip i{font-style:normal;font-family:var(--fm);font-size:11px;padding:2px 7px;border-radius:999px;background:rgba(255,255,255,.06);color:var(--dim)}
.chip:hover{border-color:var(--line2);color:var(--text)}
.chip.on{border-color:var(--cc,var(--neon));color:var(--cc,var(--neon));background:color-mix(in srgb,var(--cc,#3dff8a) 10%,transparent);box-shadow:0 0 20px -6px var(--cc,var(--neon))}
.chip.on i{background:var(--cc,var(--neon));color:#021006}
.chip .dt{width:8px;height:8px;border-radius:50%;background:var(--cc,var(--neon))}
.feat{display:grid;grid-template-columns:1.15fr 1fr;border-radius:26px;overflow:hidden;border:1px solid var(--line2);background:linear-gradient(160deg,rgba(14,32,21,.75),rgba(4,10,7,.9));margin:30px 0 56px;transition:.4s;cursor:pointer}
.feat:hover{border-color:var(--neon);box-shadow:0 0 50px -12px rgba(61,255,138,.5);transform:translateY(-3px)}
.feat .cv{min-height:340px}
.feat .tx{padding:clamp(26px,4vw,48px);display:flex;flex-direction:column;justify-content:center;gap:16px}
.feat h2{font-size:clamp(24px,2.8vw,38px);line-height:1.12}
.feat p{color:var(--muted);font-size:16px}
.tagx{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;font-family:var(--fm);font-size:11px;letter-spacing:.14em;text-transform:uppercase;padding:6px 12px;border-radius:999px;color:var(--cc);border:1px solid color-mix(in srgb,var(--cc) 45%,transparent);background:color-mix(in srgb,var(--cc) 9%,transparent)}
.tagx.new::before{content:"NUEVO";color:#021006;background:var(--lime);padding:1px 6px;border-radius:6px;margin-right:2px;letter-spacing:.06em}
.meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;font-family:var(--fm);font-size:12px;color:var(--dim)}
.meta span{display:flex;align-items:center;gap:6px}
.meta svg{width:14px;height:14px}
.cv{position:relative;overflow:hidden;background:#05100a}
.cv svg{position:absolute;inset:0;width:100%;height:100%}
.bgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.pc{display:flex;flex-direction:column;border-radius:20px;overflow:hidden;border:1px solid var(--line);background:linear-gradient(170deg,rgba(14,32,21,.6),rgba(4,10,7,.85));transition:transform .35s cubic-bezier(.2,.8,.2,1),border-color .3s,box-shadow .35s;cursor:pointer;animation:cinIn .6s cubic-bezier(.2,.8,.2,1) both}
.pc:hover{transform:translateY(-6px);border-color:color-mix(in srgb,var(--cc) 60%,transparent);box-shadow:0 22px 50px -20px rgba(0,0,0,.9),0 0 34px -10px var(--cc)}
.pc .cv{aspect-ratio:16/9}
.pc .cv svg{transition:transform .6s cubic-bezier(.2,.8,.2,1)}
.pc:hover .cv svg{transform:scale(1.06)}
.pc .bd{padding:20px 20px 22px;display:flex;flex-direction:column;gap:12px;flex:1}
.pc h3{font-size:17px;font-weight:600;line-height:1.3}
.pc p{color:var(--muted);font-size:14px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.pc .ft{margin-top:auto;display:flex;justify-content:space-between;align-items:center;padding-top:6px}
.pc .rd{font-size:13px;font-weight:800;color:var(--cc);display:flex;align-items:center;gap:6px}
.pc .rd svg{width:15px;height:15px;transition:transform .3s}
.pc:hover .rd svg{transform:translateX(4px)}
.bempty{padding:60px 20px;text-align:center;color:var(--muted);border:1px dashed var(--line2);border-radius:20px;display:none}
.bmore{display:flex;justify-content:center;margin-top:34px}
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:70px}
.pillar{display:flex;gap:16px;align-items:center;padding:22px;border-radius:18px;border:1px solid var(--line);background:rgba(61,255,138,.03)}
.pillar .pi{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:rgba(61,255,138,.1);color:var(--neon);flex:none}
.pillar .pi svg{width:22px;height:22px}
.pillar b{display:block;font-family:var(--fd);font-size:15px;font-weight:600}
.pillar span{color:var(--muted);font-size:14px}
/* ---- artículo ---- */
.prog{position:fixed;top:0;left:0;height:3px;width:0;z-index:60;background:linear-gradient(90deg,var(--neon),var(--lime));box-shadow:var(--glow)}
.ahero{padding:140px 0 30px}
.crumbs{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:13px;color:var(--dim);margin-bottom:22px}
.crumbs a{color:var(--muted)}.crumbs a:hover{color:var(--neon)}
.ahero h1{font-size:clamp(30px,4.4vw,58px);font-weight:800;max-width:980px;margin:18px 0 22px;line-height:1.08}
.ahero .lead{max-width:760px}
.acover svg{position:absolute;inset:0;width:100%;height:100%}
.acover{position:relative;border-radius:26px;overflow:hidden;border:1px solid var(--line2);aspect-ratio:16/6;margin:34px 0 10px;box-shadow:0 30px 80px -30px rgba(0,0,0,.9)}
.alay{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:56px;align-items:start;padding:40px 0 20px}
.prose{font-size:17.5px;line-height:1.8;color:#cfe3d6;max-width:760px}
.prose>*+*{margin-top:22px}
.prose h2{font-size:clamp(22px,2.4vw,30px);color:var(--text);margin-top:54px;scroll-margin-top:110px;display:flex;align-items:center;gap:14px}
.prose h2::before{content:"";width:6px;height:28px;border-radius:4px;background:linear-gradient(var(--neon),var(--lime));box-shadow:var(--glow);flex:none}
.prose h3{font-size:19px;color:var(--text);margin-top:34px;font-family:var(--fb);font-weight:800}
.prose strong{color:var(--text)}
.prose .first{font-size:1.18em;color:var(--text);line-height:1.7;padding-left:18px;border-left:3px solid var(--neon)}
.formula{font-family:var(--fm);font-size:clamp(13px,1.6vw,16px);padding:22px 24px;border-radius:16px;border:1px solid var(--line2);background:#03100a;color:var(--neon);box-shadow:inset 0 0 40px -16px rgba(61,255,138,.5);overflow-x:auto;white-space:nowrap}
.formula span{color:var(--muted)}
.callout{display:flex;gap:16px;padding:20px 22px;border-radius:16px;background:rgba(255,197,61,.07);border:1px solid rgba(255,197,61,.35);color:#f3e3bd;font-size:16px}
.callout svg{width:24px;height:24px;color:#ffc53d;flex:none;margin-top:2px}
.ccard{border-radius:20px;border:1px solid var(--line2);background:linear-gradient(160deg,rgba(14,32,21,.8),rgba(4,10,7,.9));padding:24px}
.ccard .row{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.ccard .row div{padding:14px;border-radius:12px;background:rgba(0,0,0,.3);border:1px solid var(--line)}
.ccard small{display:block;font-size:11px;color:var(--dim);font-family:var(--fm);text-transform:uppercase;letter-spacing:.1em}
.ccard b{font-family:var(--fd);font-size:20px;color:var(--text)}
.ccard .res{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;padding:16px 18px;border-radius:14px;background:rgba(61,255,138,.08);border:1px solid var(--line2)}
.ccard .res b{font-size:24px;color:var(--neon);text-shadow:var(--glow)}
.okp{font-family:var(--fm);font-size:12px;font-weight:600;padding:6px 12px;border-radius:999px;background:var(--neon);color:#021006}
.okp.w{background:#ffc53d}.okp.b{background:#ff4d6a;color:#fff}
.calc{border-radius:20px;border:1px solid var(--neon);background:radial-gradient(circle at 100% 0,rgba(61,255,138,.14),transparent 50%),#04110a;padding:26px;box-shadow:0 0 50px -18px rgba(61,255,138,.6)}
.calc h4{font-family:var(--fd);font-size:18px;color:var(--text);display:flex;align-items:center;gap:10px;margin-bottom:6px}
.calc h4 svg{width:20px;height:20px;color:var(--neon)}
.calc .g{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:18px 0 16px}
.calc label{display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--muted);font-weight:700}
.calc input{width:100%;padding:12px;border-radius:12px;border:1px solid var(--line2);background:rgba(0,0,0,.35);color:var(--text);font:inherit;font-family:var(--fm);font-size:15px;outline:none;transition:.2s}
.calc input:focus{border-color:var(--neon);box-shadow:0 0 0 3px rgba(61,255,138,.12)}
.calc .out{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;padding:16px 18px;border-radius:14px;background:rgba(0,0,0,.35);border:1px solid var(--line)}
.calc .out b{font-family:var(--fd);font-size:26px;color:var(--text)}
.calc .bar{height:8px;border-radius:8px;background:rgba(255,255,255,.06);margin-top:12px;overflow:hidden;position:relative}
.calc .bar i{position:absolute;inset:0 auto 0 0;width:0;border-radius:8px;transition:width .5s cubic-bezier(.2,.8,.2,1),background .3s}
.calc .bar::after{content:"";position:absolute;left:60%;top:-3px;bottom:-3px;width:2px;background:#ffc53d}
.calc .lg{display:flex;justify-content:space-between;font-family:var(--fm);font-size:10px;color:var(--dim);margin-top:6px}
.checks2{list-style:none;display:grid;gap:12px}
.checks2 li{display:flex;gap:14px;padding:16px 18px;border-radius:14px;border:1px solid var(--line);background:rgba(61,255,138,.03);font-size:16px}
.checks2 li svg{width:22px;height:22px;color:var(--neon);flex:none;margin-top:2px}
.tl{list-style:none;position:relative;padding-left:28px;display:grid;gap:18px}
.tl::before{content:"";position:absolute;left:8px;top:6px;bottom:6px;width:2px;background:linear-gradient(var(--neon),rgba(61,255,138,.1))}
.tl li{position:relative;font-size:16px}
.tl li::before{content:"";position:absolute;left:-26px;top:6px;width:14px;height:14px;border-radius:50%;background:#03100a;border:2px solid var(--neon);box-shadow:var(--glow)}
.tl b{display:block;font-family:var(--fd);font-size:15px;color:var(--text);font-weight:600}
.pcta{display:grid;grid-template-columns:auto 1fr auto;gap:20px;align-items:center;padding:24px;border-radius:20px;border:1px solid var(--line2);background:linear-gradient(120deg,rgba(61,255,138,.14),rgba(4,10,7,.9) 60%)}
.pcta .leaf{width:64px}
.pcta b{font-family:var(--fd);font-size:18px;color:var(--text);display:block;margin-bottom:4px}
.pcta span{color:var(--muted);font-size:15px}
.share{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:46px;padding-top:26px;border-top:1px solid var(--line)}
.share>span{font-size:13px;color:var(--dim);font-family:var(--fm);letter-spacing:.1em;text-transform:uppercase;margin-right:6px}
.share button,.share a{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border-radius:999px;border:1px solid var(--line2);font-size:14px;font-weight:700;transition:.2s}
.share button:hover,.share a:hover{border-color:var(--neon);color:var(--neon)}
.share svg{width:16px;height:16px}
.aside{position:sticky;top:100px;display:grid;gap:16px}
.toc{padding:20px;border-radius:18px;border:1px solid var(--line);background:rgba(61,255,138,.02)}
.toc h6{font-family:var(--fm);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--dim);margin-bottom:12px}
.toc a{display:block;padding:8px 12px;border-left:2px solid var(--line);font-size:14px;color:var(--muted);transition:.2s;line-height:1.35}
.toc a:hover{color:var(--text)}
.toc a.on{border-color:var(--neon);color:var(--neon);background:linear-gradient(90deg,rgba(61,255,138,.1),transparent)}
.acta{padding:22px;border-radius:18px;border:1px solid var(--neon);background:radial-gradient(circle at 0 0,rgba(61,255,138,.2),transparent 60%),#04110a;box-shadow:0 0 40px -14px rgba(61,255,138,.6)}
.acta b{font-family:var(--fd);font-size:17px;display:block;margin-bottom:6px}
.acta p{color:var(--muted);font-size:14px;margin-bottom:16px}
.acta .btn{width:100%}
.rel{padding:60px 0 20px}
.rel h2{font-size:clamp(24px,3vw,36px);margin-bottom:26px}
.pn{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:20px}
.pn a{padding:18px 20px;border-radius:16px;border:1px solid var(--line);transition:.25s}
.pn a:hover{border-color:var(--line2);background:rgba(61,255,138,.04)}
.pn small{display:block;font-family:var(--fm);font-size:11px;color:var(--dim);letter-spacing:.12em;text-transform:uppercase;margin-bottom:6px}
.pn b{font-size:15px}
.pn a:last-child{text-align:right}
@media (max-width:1060px){.alay{grid-template-columns:minmax(0,1fr)}.aside{position:static;grid-template-columns:1fr 1fr}.bgrid{grid-template-columns:repeat(2,1fr)}.feat{grid-template-columns:1fr}.feat .cv{min-height:220px}}
@media (max-width:720px){.bgrid{grid-template-columns:1fr}.pillars{grid-template-columns:1fr}.aside{grid-template-columns:1fr}.toc{display:none}.ccard .row,.calc .g{grid-template-columns:repeat(2,1fr)}.pcta{grid-template-columns:1fr;text-align:center}.pcta .leaf{margin:0 auto}.pn{grid-template-columns:1fr}.pn a:last-child{text-align:left}.acover{aspect-ratio:16/9}.prose{font-size:16.5px}.formula{white-space:normal;line-height:1.9}.bsearch b{display:none}}

/* ============ PÁGINAS (funcionalidades, ciudades, comparativas, legal) ============ */
.mega{position:absolute;left:50%;top:calc(100% + 10px);transform:translateX(-50%) translateY(8px);width:min(1100px,calc(100vw - 32px));display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:26px;padding:26px;border-radius:24px;border:1px solid var(--line2);background:rgba(4,12,8,.96);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 30px 80px -20px #000,0 0 50px -20px rgba(61,255,138,.35);opacity:0;visibility:hidden;transition:.25s;z-index:60}
.nav.mopen .mega{opacity:1;visibility:visible;transform:translateX(-50%)}
.mega h6,.mega .h6{font-family:var(--fm);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--neon);margin-bottom:12px}
.mega .cols2{display:grid;grid-template-columns:1fr 1fr;gap:2px 14px}
.mega a{display:flex;align-items:center;gap:9px;padding:7px 8px;border-radius:9px;font-size:13.5px;font-weight:600;color:var(--muted);transition:.2s}
.mega a:hover{background:rgba(61,255,138,.08);color:var(--text)}
.mega a svg{width:15px;height:15px;color:var(--neon);flex:none}
.mega .all{margin-top:10px;color:var(--neon);font-weight:800}
.nav li.hasm{position:static}
.nav li.hasm>a::after{content:"";display:inline-block;width:6px;height:6px;border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;transform:rotate(45deg);margin-left:8px;position:relative;top:-3px;transition:.25s}
.nav.mopen li.hasm>a::after{transform:rotate(-135deg);top:0}
.mnav{display:none}
.phero{padding:150px 0 60px;position:relative;overflow:hidden}
.phero .wrap{display:grid;grid-template-columns:1.2fr .8fr;gap:50px;align-items:center}
.phero h1.lg{font-size:clamp(28px,3.6vw,48px)}
.phero h1{font-size:clamp(32px,4.6vw,62px);font-weight:800;margin:18px 0 20px;line-height:1.06}
.phero .ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.pvis{position:relative;aspect-ratio:1;max-width:420px;width:100%;justify-self:center;display:grid;place-items:center}
.pvis .glw{position:absolute;inset:8%;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--pc) 30%,transparent),transparent 65%);filter:blur(8px);animation:breathe 5s ease-in-out infinite}
.pvis .tile{position:relative;width:62%;aspect-ratio:1;border-radius:34px;display:grid;place-items:center;background:linear-gradient(150deg,color-mix(in srgb,var(--pc) 22%,#06120b),#030806);border:1.5px solid color-mix(in srgb,var(--pc) 70%,transparent);box-shadow:0 0 60px -10px var(--pc),inset 0 0 40px -14px var(--pc);transform:rotate(-6deg);animation:bob 6s ease-in-out infinite}
.pvis .tile svg{width:46%;height:46%;color:var(--pc);filter:drop-shadow(0 0 10px var(--pc))}
.pvis .leaf{position:absolute;width:34%;right:2%;bottom:6%;opacity:.8}
.pvis .vs{display:flex;align-items:center;gap:14px;flex-direction:column;text-align:center}
.pvis .vs b{font-family:var(--fd);font-size:clamp(20px,2.4vw,30px)}
.pvis .vs .x{font-family:var(--fd);font-size:clamp(40px,6vw,74px);font-weight:800;color:var(--pc);text-shadow:0 0 30px var(--pc)}
.pvis .vs span{color:var(--muted);font-family:var(--fm);font-size:13px;letter-spacing:.1em}
.pvis .pin{position:relative;display:flex;flex-direction:column;align-items:center;gap:16px}
.pvis .pin svg{width:120px;height:120px;color:var(--pc);filter:drop-shadow(0 0 16px var(--pc));animation:bob 5s ease-in-out infinite}
.pvis .pin b{font-family:var(--fd);font-size:clamp(24px,3vw,38px);text-align:center}
.pvis .pin i{font-style:normal;font-family:var(--fm);font-size:12px;letter-spacing:.2em;color:var(--muted);text-transform:uppercase}
.psec{padding:70px 0}
.psec h2{font-size:clamp(26px,3.4vw,44px);margin-bottom:34px;max-width:880px}
.fgr{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.fit{position:relative;padding:26px;border-radius:20px;border:1px solid var(--line);background:linear-gradient(160deg,rgba(14,32,21,.6),rgba(4,10,7,.85));transition:.35s}
.fit:hover{border-color:var(--line2);transform:translateY(-4px);box-shadow:0 0 30px -12px rgba(61,255,138,.5)}
.fit .n{font-family:var(--fm);font-size:12px;color:var(--neon);display:flex;align-items:center;gap:10px;margin-bottom:16px}
.fit .n i{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:rgba(61,255,138,.1);border:1px solid var(--line2);font-style:normal}
.fit .n svg{width:17px;height:17px}
.fit h3{font-size:17px;font-weight:600;margin-bottom:8px;line-height:1.3}
.fit p{color:var(--muted);font-size:15px}
.stp{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;counter-reset:st;position:relative}
.stp .s{position:relative;padding:24px 22px;border-radius:18px;border:1px solid var(--line);background:rgba(61,255,138,.03)}
.stp .s::before{counter-increment:st;content:counter(st);width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--neon);color:#021006;font-family:var(--fd);font-weight:800;margin-bottom:16px;box-shadow:var(--glow)}
.stp h3{font-size:16px;font-weight:600;margin-bottom:6px}
.stp p{color:var(--muted);font-size:14.5px}
.bfaf{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:10px}
.bfaf>div{padding:26px;border-radius:20px}
.bfaf .no{border:1px solid rgba(255,77,106,.35);background:rgba(255,77,106,.05)}
.bfaf .si{border:1px solid var(--neon);background:rgba(61,255,138,.06);box-shadow:0 0 40px -16px rgba(61,255,138,.6)}
.bfaf h4{font-family:var(--fd);font-size:16px;margin-bottom:14px}
.bfaf .no h4{color:#ff8a9b}.bfaf .si h4{color:var(--neon)}
.bfaf ul{list-style:none;display:grid;gap:10px}
.bfaf li{display:flex;gap:10px;font-size:15px;color:#d6e6dc}
.bfaf li b{flex:none;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:11px}
.bfaf .no li b{background:rgba(255,77,106,.18);color:#ff6b7a}.bfaf .si li b{background:var(--neon);color:#021006}
.ctab{width:100%;border-collapse:separate;border-spacing:0;border:1px solid var(--line2);border-radius:20px;overflow:hidden;font-size:15px}
.ctab th,.ctab td{padding:14px 18px;text-align:left;border-bottom:1px solid var(--line)}
.ctab thead th{font-family:var(--fd);font-size:14px;background:#06140c;position:sticky;top:0}
.ctab thead th:nth-child(2){color:var(--neon)}
.ctab td:nth-child(2),.ctab th:nth-child(2){background:rgba(61,255,138,.07);border-left:1px solid var(--line2);border-right:1px solid var(--line2)}
.ctab tr:last-child td{border-bottom:0}
.ctab tbody tr:hover td{background:rgba(61,255,138,.04)}
.ctab .ok{color:var(--neon);font-weight:700}.ctab td:nth-child(n+3) .ok{color:#d6e6dc;font-weight:600}
.fgr.c2{grid-template-columns:repeat(2,1fr)}.ctab .ko{color:var(--dim)}
.ctwrap{overflow-x:auto;border-radius:20px}
.ctnote{color:var(--dim);font-size:13px;margin-top:12px}
.pprose{max-width:820px;color:#cfe3d6;font-size:16.5px;line-height:1.8}
.pprose p+p{margin-top:14px}
.pfaq{max-width:860px;display:grid;gap:10px}
.pcta2{text-align:center;padding:70px 24px;border-radius:30px;border:1px solid var(--line2);background:radial-gradient(ellipse at 50% 0,rgba(61,255,138,.22),transparent 60%),#04100a;margin:40px 0 20px}
.pcta2 h2{font-size:clamp(26px,3.4vw,44px);margin:0 auto 12px;max-width:820px}
.pcta2 p{color:var(--muted)}
.pcta2 .ctas{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin-top:26px}
.prel h3{font-family:var(--fm);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--dim);margin-bottom:16px;font-weight:600}
.prel .ls{display:flex;flex-wrap:wrap;gap:10px}
.prel a{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:999px;border:1px solid var(--line);font-size:14px;font-weight:700;color:var(--muted);transition:.2s}
.prel a:hover{border-color:var(--neon);color:var(--neon)}
.prel a svg{width:15px;height:15px;color:var(--neon)}
.legal2{display:grid;grid-template-columns:240px minmax(0,1fr);gap:50px;align-items:start;padding:20px 0 60px}
.legal2 .toc{position:sticky;top:100px}
.legal2 h2{font-size:22px;margin:34px 0 10px;scroll-margin-top:110px}
.legal2 h2:first-child{margin-top:0}
.legal2 ul{margin:10px 0 0 20px;color:#cfe3d6}
.card .more{display:inline-flex;align-items:center;gap:6px;margin-top:14px;font-size:13px;font-weight:800;color:var(--neon);opacity:.85}
.card .more svg{width:14px;height:14px;transition:transform .3s}
.card[data-go]{cursor:pointer}
.card[data-go]:hover .more svg{transform:translateX(4px)}
.fgrid2{display:grid;grid-template-columns:1.4fr repeat(5,1fr);gap:30px}
@media (max-width:1060px){
  .mega{display:none}
  .nav.open .mnav{display:block;width:100%;order:4;padding:4px 0 8px}
  .mnav details{border-top:1px solid var(--line)}
  .mnav summary{list-style:none;padding:13px 14px;font-weight:700;color:var(--muted);display:flex;justify-content:space-between;cursor:pointer}
  .mnav summary::-webkit-details-marker{display:none}
  .mnav summary::after{content:"+";color:var(--neon);font-size:18px;line-height:1}
  .mnav details[open] summary::after{content:"−"}
  .mnav a{display:block;padding:9px 22px;font-size:15px;color:var(--muted)}
  .nav.open{max-height:calc(100vh - 28px);overflow-y:auto}
  .phero .wrap{grid-template-columns:1fr}.pvis{max-width:300px}
  .fgr{grid-template-columns:repeat(2,1fr)}
  .legal2{grid-template-columns:1fr}.legal2 .toc{display:none}
  .fgrid2{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:720px){
  .fgr,.fgr.c2{grid-template-columns:1fr}.bfaf{grid-template-columns:1fr}
  .phero{padding-top:120px}.pvis{max-width:240px}
  .ctab{font-size:13px}.ctab th,.ctab td{padding:11px 12px}
  .fgrid2{grid-template-columns:1fr 1fr}.fgrid2>div:first-child{grid-column:1/-1}
}

/* ============ RESPONSIVE ============ */
@media (max-width:1060px){
  .nav ul{display:none}
  .burger{display:grid}
  .nav.open{border-radius:24px;flex-wrap:wrap}
  .nav.open ul{display:flex;flex-direction:column;width:100%;order:3;padding:8px 0 4px}
  .nav.open ul a{padding:12px 14px;font-size:16px}
  .hero .wrap{grid-template-columns:1fr;gap:70px}
  .stage .tilt{transform:rotateX(6deg)}
  .bento{grid-template-columns:repeat(2,1fr)}
  .card.big{grid-row:auto}
  .sec{grid-template-columns:1fr}
  .shield{max-width:340px}
  .prices{grid-template-columns:1fr;max-width:520px;margin:0 auto}
  .fgrid{grid-template-columns:1fr 1fr}
  .login{grid-template-columns:1fr}
  .login .art{display:none}
  .stats{grid-template-columns:repeat(2,1fr)}
  .dash .app{grid-template-columns:1fr}
  .dash .app aside{flex-direction:row;overflow-x:auto;border-right:0;border-bottom:1px solid var(--line)}
  .dash .app aside .brand{display:none}
  .dash .app aside .gt{display:none}
  .dash .app{grid-template-rows:auto 1fr;min-height:0}
  .dash .app aside{align-items:center;padding:10px 12px}
  .dash .app aside a{white-space:nowrap}
  .dash .ub .un{display:none}
  .dash .plan{display:none}
}
@media (max-width:720px){
  .app .plan{display:none}
  .htop{flex-wrap:wrap}.hsrch{flex-basis:100%;order:5}
  .dash .igrid{--cw:130px!important}
  .igrid{grid-template-columns:repeat(3,1fr)}
  .dash .app aside{display:flex}
  section{padding:84px 0}
  .nav .acts .gh{display:none}
  .hero{padding-top:120px}
  .bento{grid-template-columns:1fr}
  .card.w2{grid-column:auto}
  .steps{grid-template-columns:1fr}
  .step .ln{display:none}
  .app{grid-template-columns:1fr;min-height:0}
  .app aside{display:none}
  .kpis{grid-template-columns:repeat(2,1fr)}
  .row2{grid-template-columns:1fr}
  .f1{left:-6px;bottom:-30px}
  .f2{right:-6px;top:-34px}
  .float{padding:9px 12px}
  .float b{font-size:15px}
  .fgrid{grid-template-columns:1fr}
  .stat{padding:26px 20px}
  .cta .leaf{opacity:.18;right:-120px}
  .dash{padding:10px}
  .dash .app main{padding:16px}
  .dash .kpi b{font-size:22px}
  .opts{flex-wrap:wrap;gap:10px}
}
@media (max-width:400px){
  .brand{font-size:14px}
  .nav .acts .pri{padding:9px 13px;font-size:13px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}


/* ===== web real (12-nov-2026) ===== */
.card h3 a{color:inherit}
.card h3 a::after{content:"";position:absolute;inset:0}
.card{position:relative}
.card .more{display:inline-flex;align-items:center;gap:6px;margin-top:14px;font-size:13px;font-weight:700;color:var(--neon)}
.card .more svg{width:14px;height:14px;transition:transform .3s}
.card:hover .more svg{transform:translateX(4px)}
/* selector de idioma */
.lsel{position:relative}
.lbtn{display:flex;align-items:center;gap:7px;height:38px;padding:0 11px;border-radius:999px;border:1px solid var(--line2);color:var(--text);font:600 13px var(--fb);transition:.25s;background:rgba(61,255,138,.03)}
.lbtn:hover,.lsel.open .lbtn{border-color:var(--neon);box-shadow:0 0 18px -6px var(--neon)}
.flag{width:22px;height:15px;flex:none;border-radius:3px;box-shadow:0 0 0 1px rgba(255,255,255,.18)}
.lcar{width:6px;height:6px;border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;transform:rotate(45deg) translate(-2px,-2px);transition:.25s;opacity:.7}
.lsel.open .lcar{transform:rotate(-135deg) translate(-2px,-2px)}
.lmenu{position:absolute;right:0;top:calc(100% + 10px);min-width:190px;padding:8px;border-radius:16px;background:rgba(5,14,9,.97);border:1px solid var(--line2);box-shadow:0 20px 60px -10px rgba(0,0,0,.9),0 0 0 1px rgba(61,255,138,.06);opacity:0;visibility:hidden;transform:translateY(6px);transition:.22s;z-index:80;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.lsel.open .lmenu{opacity:1;visibility:visible;transform:none}
.lmenu a{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:10px;font-size:14.5px;font-weight:600;color:var(--muted);transition:.18s}
.lmenu a:hover{background:rgba(61,255,138,.09);color:var(--text)}
.lmenu a.on{color:var(--neon)}
.lmenu a.on::after{content:"✓";margin-left:auto;font-size:13px}
.lmenu .flag{width:26px;height:18px}
[data-tip]{position:relative}
@media (hover:hover){.lbtn[data-tip]::before{content:attr(data-tip);position:absolute;left:50%;top:calc(100% + 8px);transform:translate(-50%,4px);padding:5px 10px;border-radius:8px;background:#0a1d12;border:1px solid var(--line2);color:var(--text);font-size:12px;font-weight:600;white-space:nowrap;opacity:0;pointer-events:none;transition:.18s;z-index:90}
.lbtn[data-tip]:hover::before{opacity:1;transform:translate(-50%,0)}.lsel.open .lbtn::before{opacity:0!important}}
.flangs{display:flex;gap:10px;margin-top:18px}.flangs a{opacity:.75;transition:.2s}.flangs a:hover{opacity:1;transform:translateY(-2px)}
/* páginas de acceso */
body.authp{overflow:hidden}
.authp .login{position:fixed}
.authp .login .side{justify-content:flex-start;padding-top:96px;padding-bottom:30px}
.authp .login form{margin:auto}
.atop{position:absolute;top:24px;left:clamp(24px,6vw,90px);right:clamp(24px,6vw,90px);display:flex;justify-content:space-between;align-items:center;gap:12px;z-index:5}
.atop .back{position:static}
.login .ah{font-size:clamp(30px,3.4vw,42px);margin:22px 0 10px}
.authp .login .copy{position:static;margin-top:28px}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
.fld .hint{display:block;margin:6px 4px 0;color:var(--dim);font-size:12px}
.fld .eye.on{color:var(--neon)}
.chk.terms{align-items:flex-start;font-size:14px;color:var(--muted);margin:2px 0 18px;line-height:1.5}
.chk.terms input{flex:none;margin-top:1px}
.chk.terms a{color:var(--neon);font-weight:700}
.err.ok{color:var(--neon)}
.go:disabled{cursor:progress}
.reg .il{width:15px;height:15px;vertical-align:-3px;margin-right:6px}
.regf .sub{margin-bottom:24px}
@media (max-width:1060px){.authp .login .side{padding-top:88px}}
@media (max-width:720px){
  .nav .acts{gap:6px}.nav .lbtn{padding:0 8px;height:36px}.nav .lcode{display:none}
  .frow{grid-template-columns:1fr}
  .atop{top:18px}
}
@media (max-width:400px){.nav .lcar{display:none}}
.hero h1{font-size:clamp(40px,4.7vw,70px);text-wrap:balance}
@media (max-width:720px){.nav{padding-left:12px;padding-right:8px}.nav .brand{font-size:14px;gap:7px}.nav .brand .leaf{width:24px}.nav .acts .pri{padding:9px 12px;font-size:13px}.burger{width:38px;height:38px}}
@media (max-width:380px){.nav .brand span{font-size:12.5px}.nav .acts .pri{padding:8px 10px;font-size:12px}}
.mlangs{display:none}
@media (max-width:1060px){.nav.open .mlangs{display:flex;flex-wrap:wrap;gap:8px;padding:12px 14px 6px}.mlangs a{display:flex!important;align-items:center;gap:8px;padding:8px 12px!important;border-radius:999px;border:1px solid var(--line2);font-size:14px!important}.mlangs a.on{border-color:var(--neon);color:var(--neon)}}
@media (max-width:480px){.nav .acts .lsel{display:none}}
/* autorrelleno del navegador (12-nov-2026): la etiqueta sube y el fondo sigue el diseño */
.fld input:-webkit-autofill,.fld input:-webkit-autofill:hover,.fld input:-webkit-autofill:focus{-webkit-text-fill-color:var(--text);caret-color:var(--text);-webkit-box-shadow:0 0 0 1000px #07130c inset;box-shadow:0 0 0 1000px #07130c inset;transition:background-color 99999s ease-out 0s;font:inherit;font-size:16px}
.fld input:-webkit-autofill::first-line{font-family:var(--fb);font-size:16px}
.fld input:-webkit-autofill+label{transform:translateY(-10px) scale(.75);color:var(--neon)}
.fld input:autofill+label{transform:translateY(-10px) scale(.75);color:var(--neon)}
.fld input:autofill{background:#07130c}
/* página no encontrada (12-nov-2026) */
.nfh{min-height:78vh}.nfw{display:block}.nfc{max-width:640px;margin:0 auto;text-align:center}.nfc .ctas{justify-content:center}
.nfc .nfl{width:110px;margin:0 auto 24px;display:block}.nfc h1{font-size:clamp(34px,5vw,60px);margin:22px 0 16px}

/* código promocional del registro (12-nov-2026) */
.promo .fld{margin-bottom:6px}.promo #promo{text-transform:uppercase;letter-spacing:.06em}
.pmsg{min-height:18px;margin:0 4px 14px;font-size:13px;font-weight:600}.pmsg.ok{color:var(--neon)}.pmsg.ko{color:#ff6b7a}
/* página Spannabis (12-nov-2026) */
.spcode{position:relative;justify-self:center;width:100%;max-width:440px;padding:34px 28px 30px;border-radius:28px;border:1px solid var(--line2);background:linear-gradient(160deg,rgba(14,40,24,.85),rgba(3,10,6,.92));box-shadow:0 0 0 1px rgba(61,255,138,.06),0 30px 80px -30px rgba(61,255,138,.45);text-align:center;overflow:hidden}
.spcode>.leaf{position:absolute;width:62%;right:-14%;bottom:-16%;opacity:.12}
.spbadge{display:inline-flex;flex-direction:column;align-items:center;gap:2px;padding:12px 22px;border-radius:16px;border:1px solid var(--line2);background:rgba(61,255,138,.05);margin-bottom:22px}
.spbadge b{font-family:var(--fd);font-size:22px;letter-spacing:.12em}.spbadge i{font-style:normal;font-family:var(--fm);font-size:11px;letter-spacing:.3em;color:var(--neon)}
.spbadge img{max-width:180px;max-height:64px}
.spcode small{display:block;font-family:var(--fm);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--dim);margin-bottom:10px}
.cbox{position:relative;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 10px 10px 18px;border-radius:16px;border:1.5px dashed var(--neon);background:rgba(61,255,138,.06)}
.cbox code{font-family:var(--fm);font-size:clamp(16px,2.2vw,21px);font-weight:600;letter-spacing:.06em;color:var(--neon);text-shadow:0 0 14px rgba(61,255,138,.6);word-break:break-all;text-align:left}
.cst{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:14px;font-size:14px;color:var(--muted)}
.cst i{width:8px;height:8px;border-radius:50%;background:#ffc53d;box-shadow:0 0 10px #ffc53d}.cst.on i{background:var(--neon);box-shadow:var(--glow)}
.m6{display:block;font-family:var(--fd);font-size:clamp(80px,10vw,128px);line-height:1;margin-top:18px;color:var(--neon);text-shadow:0 0 40px rgba(61,255,138,.55)}
.m6t{font-family:var(--fd);font-size:18px}
.spev{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.spev h3{font-size:18px;margin-bottom:8px}.spev p{color:var(--muted);font-size:14.5px}
.splink{color:var(--neon);font-weight:700}
.spsoc{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.spsoc a{padding:7px 12px;border-radius:999px;border:1px solid var(--line2);font-size:13px;font-weight:600;color:var(--muted);transition:.2s}.spsoc a:hover{border-color:var(--neon);color:var(--neon)}
.pcta2>.leaf{width:70px;margin:0 auto 18px;display:block}
@media (max-width:1060px){.spev{grid-template-columns:1fr}}
@media (max-width:720px){.cbox{flex-direction:column;align-items:stretch;padding:14px}.cbox code{text-align:center}}
/* botón THC MAP del menú (13-nov-2026) */
.nav ul .mapli a.mapbtn{display:flex;align-items:center;gap:7px;padding:7px 14px 7px 11px;border:1px solid rgba(61,255,138,.35);background:linear-gradient(135deg,rgba(61,255,138,.14),rgba(196,255,61,.06));color:var(--text);font-family:var(--fd);font-size:12.5px;letter-spacing:.06em;position:relative;box-shadow:0 0 18px -8px var(--neon)}
.nav ul .mapli a.mapbtn b{color:var(--neon);font-weight:800;text-shadow:0 0 10px rgba(61,255,138,.7)}
.nav ul .mapli a.mapbtn svg{width:15px;height:15px;color:var(--neon);filter:drop-shadow(0 0 4px var(--neon))}
.nav ul .mapli a.mapbtn:hover,.nav ul .mapli a.mapbtn.on{border-color:var(--neon);box-shadow:0 0 24px -4px var(--neon);background:linear-gradient(135deg,rgba(61,255,138,.24),rgba(196,255,61,.1))}
.mapbtn .ping{position:absolute;top:-3px;right:-3px;width:9px;height:9px;border-radius:50%;background:var(--neon);box-shadow:0 0 0 0 rgba(61,255,138,.7);animation:mping 2s infinite}
@keyframes mping{0%{box-shadow:0 0 0 0 rgba(61,255,138,.7)}70%{box-shadow:0 0 0 9px rgba(61,255,138,0)}100%{box-shadow:0 0 0 0 rgba(61,255,138,0)}}
.mmap{display:none}
/* ================= THC MAP (13-nov-2026) ================= */
body.mapfull{overflow:auto}
.mapwrap{position:fixed;inset:0;padding-top:92px;display:grid;grid-template-columns:400px 1fr;gap:0;z-index:2}
.mside{overflow-y:auto;border-right:1px solid var(--line);background:linear-gradient(180deg,rgba(3,9,6,.96),rgba(3,7,5,.98));padding:6px 18px 30px;scrollbar-width:thin}
.mhead h1{font-size:26px;margin:12px 0 6px;line-height:1.15}.mhead .lead{font-size:14px;margin-bottom:14px}
.msearch{display:flex;align-items:center;gap:8px;padding:6px 6px 6px 14px;border:1px solid var(--line2);border-radius:14px;background:rgba(61,255,138,.04)}
.msearch>svg{width:18px;height:18px;color:var(--muted);flex:none}
.msearch input{flex:1;min-width:0;background:none;border:0;outline:0;color:var(--text);font:inherit;font-size:15px;padding:8px 0}
.msearch button{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;color:var(--neon);border:1px solid var(--line2)}
.msearch button svg{width:18px;height:18px}.msearch:focus-within{border-color:var(--neon);box-shadow:0 0 0 3px rgba(61,255,138,.12)}
.mchips{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0 4px}
.mchips .chip{display:flex;align-items:center;gap:6px;padding:6px 11px;border-radius:999px;border:1px solid var(--line2);font-size:12.5px;font-weight:700;color:var(--muted)}
.mchips .chip i{font-style:normal;font-family:var(--fm);font-size:11px;opacity:.75}
.mchips .chip .dt{width:8px;height:8px;border-radius:50%;background:var(--cc);box-shadow:0 0 8px var(--cc)}
.mchips .chip.on{color:#021006;background:var(--neon);border-color:var(--neon)}
.mcount{font-family:var(--fm);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--dim);margin:12px 0 8px}
.mlist{display:grid;gap:6px}
.nitem{display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:12px;border:1px solid var(--line);background:rgba(61,255,138,.025);transition:.18s}
.nitem:hover{border-color:var(--cc);background:rgba(61,255,138,.06)}
.nitem>i{width:10px;height:10px;border-radius:50%;flex:none;background:var(--cc);box-shadow:0 0 10px var(--cc)}
.nitem span{min-width:0;display:flex;flex-direction:column}.nitem b{font-size:14.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nitem small{color:var(--muted);font-size:12.5px}
.nitem em{margin-left:auto;font-style:normal;color:#f5c542}
.nitem.gold{border:1px solid #f5c542;background:linear-gradient(135deg,#0d0b04,#1a1407 60%,#0d0b04);box-shadow:inset 0 0 0 1px rgba(0,0,0,.8),0 0 22px -8px #f5c542}
.nitem.gold b{color:#ffe08a}
.mempty{color:var(--muted);font-size:14px;padding:10px}
.mseo{margin-top:26px}.mseo h2{font-size:15px;margin:18px 0 10px;font-family:var(--fm);letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}
.cities{display:flex;flex-wrap:wrap;gap:6px}.cities a{padding:6px 11px;border-radius:999px;border:1px solid var(--line2);font-size:13px;color:var(--muted)}.cities a:hover{color:var(--neon);border-color:var(--neon)}.cities a i{font-style:normal;font-family:var(--fm);font-size:11px;opacity:.7}
.mcta{margin-top:22px;padding:20px;border-radius:18px;border:1px solid var(--line2);background:radial-gradient(ellipse at 50% 0,rgba(61,255,138,.18),transparent 65%),#04100a}
.mcta h3{font-size:18px;margin-bottom:6px}.mcta p{color:var(--muted);font-size:14px;margin-bottom:14px}.mcta.big{text-align:center;padding:40px 24px}
.osmn{margin-top:18px;color:var(--dim);font-size:11.5px;line-height:1.5}
.mmapbox{position:relative}#map{position:absolute;inset:0}
.mtoggle{display:none}
.maplibregl-popup-content{background:transparent!important;padding:0!important;box-shadow:none!important}
.maplibregl-popup-tip{display:none}
.maplibregl-popup-close-button{top:10px!important;right:10px!important;width:26px;height:26px;padding:0!important;display:grid;place-items:center;border-radius:50%!important;background:rgba(255,255,255,.07)!important;border:1px solid rgba(255,255,255,.14)!important;color:#dfe!important;font-size:17px!important;line-height:1!important;z-index:2;cursor:pointer;transition:background .15s,color .15s}
.maplibregl-popup-close-button:hover{background:rgba(255,255,255,.16)!important;color:#fff!important}
.mpop{min-width:220px;padding:18px 46px 16px 18px;border-radius:16px;border:1px solid var(--cc);background:rgba(4,12,8,.97);color:var(--text);font-family:var(--fb);box-shadow:0 14px 40px -10px rgba(0,0,0,.9),0 0 26px -10px var(--cc);display:flex;flex-direction:column;gap:4px}
.mpop .mpc{font-family:var(--fm);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--cc)}
.mpop b{font-family:var(--fd);font-size:16px;line-height:1.2}.mpop small{color:var(--muted);font-size:12.5px;margin-bottom:8px}
.mpop .btn{align-self:flex-start}
.mpop.gold{border:2px solid #f5c542;background:linear-gradient(145deg,#000 0%,#14100a 45%,#000 100%);box-shadow:inset 0 0 0 1px #000,inset 0 0 0 3px rgba(245,197,66,.45),0 0 34px -6px rgba(245,197,66,.6)}
.mpop.gold b{color:#ffe08a}.mgold{font-size:11px;font-weight:800;color:#f5c542;letter-spacing:.04em}
.maplibregl-ctrl-group{background:rgba(4,12,8,.9)!important;border:1px solid var(--line2)}.maplibregl-ctrl-group button span{filter:invert(1)}
.maplibregl-ctrl-attrib{background:rgba(3,8,5,.7)!important;color:#7a9}.maplibregl-ctrl-attrib a{color:#9cb}
/* ficha */
.sitio .wrap{grid-template-columns:1.15fr .85fr}
.sitemap{position:relative;width:100%;aspect-ratio:1.1;border-radius:24px;overflow:hidden;border:1px solid var(--line2);box-shadow:0 0 40px -16px var(--pc)}
#minimap{position:absolute;inset:0}
.mpin{width:22px;height:22px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:var(--cc);box-shadow:0 0 18px var(--cc);border:3px solid #021006}
.mcat{--cc:#3dff8a}.mcat .dot{background:var(--cc);box-shadow:0 0 10px var(--cc)}
.goldtag{display:inline-flex;margin:12px 0 0;padding:7px 14px;border-radius:999px;border:1px solid #f5c542;color:#ffe08a;font-weight:800;font-size:13px;background:linear-gradient(135deg,#000,#1a1407);box-shadow:0 0 22px -6px #f5c542}
.sitio.gold h1{color:#ffe08a;text-shadow:0 0 30px rgba(245,197,66,.35)}
.sgrid{display:grid;grid-template-columns:1.15fr .85fr;gap:40px;align-items:start}
.sinfo dl{display:grid;gap:2px;border:1px solid var(--line);border-radius:18px;overflow:hidden}
.sinfo dl>div{display:grid;grid-template-columns:150px 1fr;gap:16px;padding:14px 18px;background:rgba(61,255,138,.025)}
.sinfo dt{color:var(--dim);font-family:var(--fm);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;padding-top:3px}
.sinfo dd a{color:var(--neon)}.sinfo dd small{color:var(--muted)}
.goldwhy{margin-top:16px;padding:14px 16px;border-radius:14px;border:1px solid #f5c542;color:#ffe08a;background:linear-gradient(135deg,#000,#141008)}
.sown{margin-top:18px;padding:18px;border-radius:18px;border:1px dashed var(--line2)}.sown p{color:var(--muted);font-size:14px;margin-bottom:12px}
.mform{margin-top:16px;display:grid;gap:10px}.mform h3{font-size:18px}.mform .sub{color:var(--muted);font-size:14px}
.mform input,.mform textarea{width:100%;padding:12px 14px;border-radius:12px;border:1px solid var(--line2);background:rgba(61,255,138,.03);color:var(--text);font:inherit;font-size:15px}
.mform input:focus,.mform textarea:focus{outline:0;border-color:var(--neon)}
.mform .hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.nh{font-size:20px;margin-bottom:14px}.nlist{display:grid;gap:6px}.nlist.cols{grid-template-columns:repeat(3,1fr)}
.cnt{font-family:var(--fm);font-size:14px;color:var(--dim);margin-left:8px}
@media (max-width:1060px){
  .mapwrap{grid-template-columns:1fr;padding-top:84px}
  .mside{position:absolute;inset:84px 0 0;z-index:5;transform:translateY(100%);transition:transform .35s cubic-bezier(.2,.8,.2,1);border-right:0}
  body.listopen .mside{transform:none}
  .mtoggle{display:block;position:absolute;left:50%;bottom:22px;transform:translateX(-50%);z-index:6;padding:12px 22px;border-radius:999px;background:var(--neon);color:#021006;font-weight:800;box-shadow:0 10px 30px -8px rgba(61,255,138,.8)}
  body.listopen .mtoggle{position:fixed}
  .sitio .wrap,.sgrid{grid-template-columns:1fr}.nlist.cols{grid-template-columns:1fr 1fr}
}
@media (max-width:720px){.nlist.cols{grid-template-columns:1fr}.sinfo dl>div{grid-template-columns:1fr;gap:4px}.mhead h1{font-size:22px}}

.mapico{display:none}
@media (max-width:1060px){.mapico{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;border:1px solid var(--neon);color:var(--neon);box-shadow:0 0 16px -6px var(--neon);position:relative}.mapico svg{width:18px;height:18px}.mapico::after{content:"";position:absolute;top:-2px;right:-2px;width:8px;height:8px;border-radius:50%;background:var(--neon);animation:mping 2s infinite}}
/* THC Map · galería de fotos de la ficha */
.mgal{display:grid;gap:8px;grid-template-columns:2fr 1fr 1fr;grid-template-rows:170px 170px;border-radius:18px;overflow:hidden}
.mgal a{position:relative;display:block;overflow:hidden;background:#07120c}
.mgal a img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.mgal a:hover img{transform:scale(1.04)}
.mgal a.big{grid-row:span 2}
.mgal a.more{display:none}
.mgal a span{position:absolute;inset:0;display:grid;place-items:center;background:rgba(0,0,0,.55);color:#fff;font-family:var(--fd);font-size:26px}
.mgal.n1{grid-template-columns:1fr;grid-template-rows:340px}
.mgal.n2{grid-template-columns:2fr 1fr}.mgal.n2 a:not(.big){grid-row:span 2}
.mgal.n3{grid-template-columns:2fr 1fr}
.mgal.n4{grid-template-columns:2fr 1fr 1fr}.mgal.n4 a:nth-child(4){grid-column:span 2}
@media(max-width:700px){.mgal,.mgal.n3,.mgal.n4,.mgal.n5{grid-template-columns:1fr 1fr;grid-template-rows:200px 120px}.mgal a.big{grid-column:span 2;grid-row:auto}.mgal a:nth-child(4){grid-column:auto}.mgal a:nth-child(n+4){display:none}.mgal.n1{grid-template-columns:1fr;grid-template-rows:240px}.mgal.n2{grid-template-columns:1fr;grid-template-rows:200px 160px}.mgal.n2 a.big{grid-column:auto}.mgal.n2 a:not(.big){grid-row:auto}}
.mlb{position:fixed;inset:0;z-index:999;background:rgba(0,0,0,.94);display:flex;align-items:center;justify-content:center}
.mlb img{max-width:92vw;max-height:84vh;border-radius:10px;box-shadow:0 20px 60px rgba(0,0,0,.8)}
.mlb button{position:absolute;width:46px;height:46px;border-radius:50%;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.08);color:#fff;font-size:22px;cursor:pointer;display:grid;place-items:center}
.mlb .x{top:18px;right:18px}.mlb .pv{left:18px;top:50%;transform:translateY(-50%)}.mlb .nx{right:18px;top:50%;transform:translateY(-50%)}
.mlb .ct{position:absolute;bottom:20px;left:0;right:0;text-align:center;color:#cfe;font-family:var(--fm);font-size:12px;letter-spacing:.1em}
.mgold-up{display:inline-flex;gap:6px;align-items:center;font-size:12px;color:#f5c542;font-weight:700}
/* Menú móvil: botones de alta y acceso arriba; en pantallas estrechas «Probar gratis» se mueve al menú para que no se salga la barra */
.mcta{display:flex;gap:8px;padding:10px 14px 6px}.mnav .mcta a.btn{flex:1;display:inline-flex;justify-content:center;align-items:center;padding:12px 14px;font-size:15px;border-radius:999px}.mnav .mcta a.btn.pri{color:#03140a}
@media (max-width:440px){.nav .acts .pri{display:none}}

/* Sin punto verde parpadeante en el botón del mapa (petición de Eduardo) */
.mapbtn .ping,.mapico::after{display:none!important;content:none!important}

/* THC Map sin lista lateral (13-nov-2026): mapa a todo el ancho con la barra de búsqueda y filtros flotando encima */
.mapwrap{position:relative!important;inset:auto!important;display:block!important;height:100vh;height:100dvh;padding-top:0!important}
.mapwrap .mmapbox{position:absolute;inset:92px 0 0 0}
.mbar{position:absolute;top:14px;left:14px;z-index:5;width:min(440px,calc(100% - 80px));display:flex;flex-direction:column;gap:10px;pointer-events:none}
.mbar>*{pointer-events:auto}
.mbar .msearch{background:rgba(3,10,6,.92);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 12px 30px -10px #000}
.mbar .mchips{display:flex;flex-wrap:wrap;gap:6px;margin:0}
.mbar .chip{background:rgba(3,10,6,.9);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);padding:7px 12px;font-size:13px;box-shadow:0 8px 20px -10px #000}
.mbar .chip .dt{width:10px;height:10px;border-radius:50%;background:var(--cc);box-shadow:0 0 8px var(--cc)}
.mbar .chip.gl{cursor:default;color:var(--cc);border-color:rgba(245,197,66,.45)}
.msug{background:rgba(3,10,6,.97);border:1px solid var(--line2);border-radius:14px;padding:6px;max-height:50vh;overflow:auto;box-shadow:0 20px 40px -12px #000}
.msug .msg{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:9px 10px;border-radius:10px;color:var(--text)}
.msug .msg:hover{background:rgba(61,255,138,.08)}
.msug .msg i{width:10px;height:10px;border-radius:50%;background:var(--cc);flex:none}
.msug .msg b{display:block;font-size:14px}.msug .msg small{color:var(--muted);font-size:12px}
.msug .msg em{margin-left:auto;color:#f5c542;font-style:normal}
.msug .msg.gold b{color:#ffe08a}
.mseo{padding:56px 0 70px}.mseo h1{font-family:var(--fd);font-size:clamp(28px,4vw,44px);margin-bottom:10px}.mseo .lead{max-width:720px;margin-bottom:26px}
.mseo h2{font-family:var(--fm);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--neon);margin:22px 0 10px}
@media (max-width:1060px){.mapwrap .mmapbox{inset:84px 0 0 0}}
@media (max-width:700px){
  .mbar{left:10px;right:10px;top:10px;width:auto}
  .mbar .mchips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin:0 -10px;padding:0 10px 4px}
  .mbar .mchips::-webkit-scrollbar{display:none}
  .mbar .chip{flex:none}
  .maplibregl-ctrl-top-right{top:118px}
}
@media (min-width:701px){.mbar{width:auto;max-width:calc(100% - 80px)}.mbar .msearch{width:440px;max-width:100%}.mbar .msug{width:440px;max-width:100%}.mbar .mchips{max-width:820px}}

/* Filtros encajados justo debajo del buscador: 4 columnas, mismo ancho que la barra (petición de Eduardo) */
@media (min-width:701px){
  .mbar{width:560px!important;max-width:calc(100% - 80px)}
  .mbar .msearch,.mbar .msug{width:100%!important}
  .mbar .mchips{display:grid!important;grid-template-columns:repeat(4,1fr);gap:6px;max-width:none!important}
  .mbar .chip{justify-content:center;padding:8px 8px;font-size:12.5px;gap:6px;min-width:0}
  .mbar .chip i{padding:1px 6px;font-size:10.5px}
  .mbar .chip.gl{grid-column:span 2}
}
.mbar .chip .dt{flex:none}
/* Botón «Añade tu negocio» sobre el mapa */
.maddbiz{position:absolute;left:14px;bottom:26px;z-index:5;display:inline-flex;align-items:center;gap:8px;padding:12px 18px;border-radius:999px;background:var(--neon);color:#021006;font-weight:800;font-size:14px;box-shadow:0 12px 30px -8px rgba(61,255,138,.6)}
.maddbiz b{font-size:18px;line-height:1}
.maddbiz:hover{filter:brightness(1.08)}
@media (max-width:700px){.maddbiz{left:50%;transform:translateX(-50%);bottom:22px;white-space:nowrap}}
.ownerwhy{margin-top:14px;padding:12px 14px;border-radius:12px;border:1px solid rgba(61,255,138,.35);background:rgba(61,255,138,.06);color:var(--neon);font-weight:700;font-size:14px}
/* Cuenta de negocio del mapa */
.mcwrap{padding:130px 0 80px;min-height:80vh}
.mcgrid{display:grid;grid-template-columns:1.4fr 1fr;gap:22px;align-items:start}
.mcgrid.one{grid-template-columns:minmax(0,560px);justify-content:center}
.mccard,.mcside{border:1px solid var(--line2);border-radius:22px;background:linear-gradient(180deg,rgba(8,23,16,.9),rgba(4,12,8,.95));padding:28px}
.mccard h1{font-family:var(--fd);font-size:clamp(26px,3.2vw,36px);line-height:1.1;margin-bottom:10px}
.mccard h2,.mcside h3{font-family:var(--fd);font-size:20px;margin-bottom:12px}
.mcside h3 small{font-family:var(--fb);font-size:13px;color:var(--muted)}
.mcside ul{margin:0 0 18px;padding-left:18px;color:var(--muted);line-height:1.7}
.mcform{display:flex;flex-direction:column;gap:14px;margin-top:18px}
.mcf{display:flex;flex-direction:column;gap:6px}
.mcf span{font-size:13px;font-weight:700;color:var(--muted)}
.mcf input,.mcf select,.mcf textarea{width:100%;padding:12px 14px;border-radius:12px;border:1px solid var(--line2);background:rgba(3,10,6,.8);color:var(--text);font:inherit;font-size:15px;outline:0}
.mcf input:focus,.mcf select:focus,.mcf textarea:focus{border-color:var(--neon);box-shadow:0 0 0 3px rgba(61,255,138,.12)}
.mcf select option{background:#06120c}
.mc2{display:grid;grid-template-columns:1fr 2fr;gap:12px}
.mcchk{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:var(--muted)}.mcchk input{margin-top:3px;accent-color:#3dff8a;width:18px;height:18px;flex:none}
.mcchk a,.mcalt a,.mcnote a,.mclink{color:var(--neon);font-weight:700;background:none;border:0;padding:0;cursor:pointer;font:inherit}
.mcform .btn{align-self:flex-start}
.mchp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}
.mcalt{margin-top:18px;color:var(--muted);font-size:14px}
.mcnote{color:var(--dim);font-size:13px;margin-top:8px}
.mcflash{padding:12px 16px;border-radius:12px;border:1px solid rgba(61,255,138,.4);background:rgba(61,255,138,.08);color:#c9ffdd;margin-bottom:18px;font-weight:600}
.mcflash.err{border-color:rgba(255,95,95,.45);background:rgba(255,95,95,.08);color:#ffc9c9}
.mchead{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:18px}
.mchead h1{font-family:var(--fd);font-size:clamp(24px,3vw,34px)}
.mcback{margin-bottom:14px}.mcback a{color:var(--muted);font-weight:700}
.mcst{font-style:normal;font-size:12px;font-weight:800;padding:4px 10px;border-radius:999px;white-space:nowrap}
.mcst.ok{background:rgba(61,255,138,.14);color:var(--neon)}.mcst.wait{background:rgba(245,197,66,.14);color:#f5c542}
.mcrow{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--line);border-radius:14px;margin-bottom:8px;color:var(--text)}
.mcrow:hover{border-color:var(--line2);background:rgba(61,255,138,.04)}
.mcrow i{width:12px;height:12px;border-radius:50%;flex:none}.mcrow b{display:block}.mcrow small{color:var(--muted)}.mcrow em{margin-left:auto}
.mcplace{padding:14px;border:1px solid var(--line2);border-radius:14px;margin:14px 0}.mcplace b{display:block;font-size:17px}.mcplace small{color:var(--muted)}
.mcgold{margin-top:22px;padding:18px;border-radius:16px;border:1.5px solid #f5c542;background:linear-gradient(145deg,#000,#14100a 50%,#000);box-shadow:inset 0 0 0 3px rgba(245,197,66,.25)}
.mcgold b{color:#f5c542;font-family:var(--fd)}.mcgold p{color:#e8dcc0;font-size:14px;margin:6px 0 12px}
.mcfind{margin:10px 0 6px}.mcfind input{flex:1;background:none;border:0;outline:0;color:var(--text);font:inherit;padding:8px 0}
.mcside .msug{position:relative;margin-bottom:12px}
.mcphotos{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;margin:12px 0}
.mcph{position:relative;aspect-ratio:4/3;border-radius:12px;overflow:hidden;border:1px solid var(--line);background:#06120c}
.mcph.cover{border-color:var(--neon)}
.mcph img{width:100%;height:100%;object-fit:cover}
.mcph em{position:absolute;top:6px;left:6px;font-style:normal;font-size:11px;font-weight:800;background:#000;color:var(--neon);border-radius:6px;padding:2px 6px}
.mcph form{position:absolute;left:0;right:0;bottom:0;display:flex;gap:4px;padding:6px;background:linear-gradient(transparent,rgba(0,0,0,.85))}
.mcph button{flex:1;font-size:11px;font-weight:800;padding:4px;border-radius:6px;border:0;background:rgba(61,255,138,.9);color:#021006;cursor:pointer}
.mcph button.del{flex:none;background:rgba(239,68,68,.9);color:#fff;padding:4px 8px}
.mcup{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.mcup label{cursor:pointer}#mcupmsg{color:var(--muted);font-size:13px}
@media (max-width:860px){.mcgrid{grid-template-columns:1fr}.mcwrap{padding-top:110px}.mccard,.mcside{padding:22px}}

.mform[hidden]{display:none!important}
.mgal.n1{grid-template-rows:300px!important;max-width:720px}
/* reseñas del mapa (13-nov-2026) */
.rvsec{margin:26px 0 6px;padding-top:20px;border-top:1px solid rgba(255,255,255,.08)}
.rvhead{display:flex;align-items:center;justify-content:space-between;gap:10px 16px;flex-wrap:wrap}
.rvhead .nh{margin:0}
.rvavg{display:flex;align-items:center;gap:8px}.rvavg b{font-size:1.5rem;line-height:1}.rvavg small{color:var(--dim)}
.rvst{position:relative;display:inline-block;letter-spacing:2px;line-height:1;color:rgba(255,255,255,.18);white-space:nowrap}
.rvst .on{position:absolute;left:0;top:0;overflow:hidden;color:#f5c542}
.rvnone{color:var(--dim);margin:10px 0 0}
.rvitem{padding:14px 0;border-bottom:1px solid rgba(255,255,255,.06)}
.rvitem header{display:flex;gap:6px 10px;align-items:center;flex-wrap:wrap;font-size:.92rem}
.rvitem time{color:var(--dim);margin-left:auto;font-size:.82rem}
.rvitem p{margin:6px 0 0;line-height:1.55;overflow-wrap:anywhere}
#rvopen{margin-top:14px}
.rvform{margin-top:14px}
.rvpick{border:0;padding:0;margin:0 0 12px;display:flex;flex-direction:row-reverse;justify-content:flex-end;gap:2px;flex-wrap:wrap}
.rvpick legend{width:100%;font-size:.9rem;color:var(--dim);margin-bottom:4px}
.rvpick input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.rvpick label{font-size:2.1rem;line-height:1;cursor:pointer;color:rgba(255,255,255,.2);transition:color .15s,transform .15s;padding:2px}
.rvpick input:checked~label,.rvpick label:hover,.rvpick label:hover~label{color:#f5c542}
.rvpick label:active{transform:scale(.9)}
.rvpick input:focus-visible+label{outline:2px solid #3dff8a;outline-offset:2px;border-radius:6px}
.rvnote{font-size:.8rem;color:var(--dim);margin:6px 0}
/* fichas del mapa: las columnas nunca más anchas que la pantalla (13-nov-2026) */
.sgrid>*{min-width:0}
@media (max-width:560px){.rvform .frow{grid-template-columns:1fr}}
.nitem{min-width:0}.nitem span{min-width:0;overflow:hidden}.nitem b,.nitem small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* bloque del mapa en las ciudades del blog (13-nov-2026) */
.mapblog{max-width:1100px;margin:44px auto 36px;padding:0 20px}
.mapblog-in{border:1px solid rgba(61,255,138,.22);border-radius:26px;padding:clamp(20px,4vw,34px);background:radial-gradient(120% 140% at 0% 0%,rgba(61,255,138,.10),transparent 55%),rgba(255,255,255,.02)}
.mapblog h2{margin:10px 0 8px}.mapblog p{color:var(--dim);max-width:680px;margin:0 0 18px}
.mapblog .ctas{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.rsk .mapblog{padding:0 16px!important;box-sizing:border-box}.rsk .mapblog-in{box-sizing:border-box}
.mapblog .nitem b{color:var(--text)!important}.mapblog .nitem small{color:var(--dim)!important}
/* ===== BLOG v2 (13-nov-2026): índice y artículos ===== */
.bwrap{max-width:1180px;margin:0 auto;padding:0 20px}
.bidx{padding-top:110px}
.bhero{padding:30px 0 6px}
.bhero h1{font-family:var(--fd);font-size:clamp(34px,5.4vw,62px);line-height:1.04;margin:14px 0;max-width:920px;letter-spacing:-.02em}
.bsub{color:var(--dim);font-size:clamp(16px,1.6vw,19px);max-width:720px;line-height:1.6;margin:0 0 26px}
.bsearch{display:flex;align-items:center;gap:12px;max-width:640px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.12);border-radius:999px;padding:0 20px;height:58px;transition:border-color .2s,box-shadow .2s}
.bsearch:focus-within{border-color:#3dff8a;box-shadow:0 0 0 4px rgba(61,255,138,.12)}
.bsearch svg{width:20px;height:20px;color:var(--dim);flex:none}
.bsearch input{flex:1;background:none;border:0;outline:0;color:var(--text);font:inherit;font-size:16px;min-width:0}
.blangs{display:flex;flex-wrap:wrap;gap:6px;margin-top:18px}
.blangs a{font-size:13px;padding:6px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.1);color:var(--dim);text-decoration:none;transition:.2s}
.blangs a.on,.blangs a:hover{color:#021006;background:#3dff8a;border-color:#3dff8a}
.bsec{padding:24px 0}
.bchips{display:flex;gap:8px;overflow-x:auto;padding:4px 2px 14px;scrollbar-width:none;margin-bottom:6px}
.bchips::-webkit-scrollbar{display:none}
.bchips button{flex:none;display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.03);color:var(--text);font:600 14px var(--fb);cursor:pointer;transition:.2s}
.bchips button i{font-style:normal;font-size:12px;color:var(--dim);background:rgba(255,255,255,.07);padding:2px 7px;border-radius:999px}
.bchips button .bcico{width:16px;height:16px;color:var(--cc,#3dff8a)}
.bchips button:hover{border-color:var(--cc,#3dff8a)}
.bchips button.on{background:var(--cc,#3dff8a);border-color:var(--cc,#3dff8a);color:#021006}
.bchips button.on .bcico,.bchips button.on i{color:#021006}.bchips button.on i{background:rgba(0,0,0,.12)}

/* 13-nov: categorías del blog sin cortes. Ordenador/tablet: en varias líneas. Móvil: deslizables con difuminado y aviso */
@media(min-width:700px){.bchips{flex-wrap:wrap;overflow:visible;padding-bottom:8px}}
@media(max-width:699px){.bchips{-webkit-mask-image:linear-gradient(90deg,#000 85%,transparent);mask-image:linear-gradient(90deg,#000 85%,transparent);padding-right:40px}}
.bh2{font-family:var(--fd);font-size:clamp(22px,2.4vw,30px);margin:22px 0 16px;letter-spacing:-.01em}
.bfeat{display:grid;grid-template-columns:1.35fr 1fr;gap:16px}
.bfeat .big{grid-row:span 2}
.bgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.bcard{position:relative;display:flex;flex-direction:column;gap:12px;padding:22px;border-radius:22px;border:1px solid rgba(255,255,255,.08);background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.015));text-decoration:none;color:var(--text);transition:transform .2s,border-color .2s,background .2s;min-height:220px;overflow:hidden}
.bcard::before{content:'';position:absolute;inset:0 0 auto 0;height:3px;background:var(--cc);opacity:.85}
.bcard:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--cc) 55%,transparent);background:linear-gradient(180deg,color-mix(in srgb,var(--cc) 9%,transparent),rgba(255,255,255,.015))}
.bctop{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:700;color:var(--cc)}
.bctop .bcico{width:18px;height:18px}
.bct{font-family:var(--fd);font-size:19px;line-height:1.28;font-weight:700;letter-spacing:-.01em;color:var(--text)}
.bcs{color:var(--dim);font-size:14.5px;line-height:1.55;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.bcm{margin-top:auto;font-size:12.5px;color:var(--dim)}
.bcard.big{padding:32px;min-height:340px;background:radial-gradient(120% 120% at 0% 0%,color-mix(in srgb,var(--cc) 17%,transparent),transparent 60%),rgba(255,255,255,.02)}
.bcard.big .bct{font-size:clamp(24px,2.6vw,34px);line-height:1.15}
.bcard.big .bcs{-webkit-line-clamp:4;font-size:16px}
.bcard[hidden],.bcard.hid{display:none}
#bfeat[hidden]{display:none}
.bmore{text-align:center;margin-top:26px}
.bnone{color:var(--dim);text-align:center;padding:30px}
.bsub2{color:var(--dim);margin:-6px 0 16px}.bsub2 a{color:#3dff8a;text-decoration:none}
.bcities{display:flex;flex-wrap:wrap;gap:8px}
.bcities a{padding:8px 14px;border-radius:999px;border:1px solid rgba(255,255,255,.1);color:var(--text);text-decoration:none;font-size:14px;transition:.2s}
.bcities a:hover{border-color:#ff8a1f;color:#ff8a1f}
.bcta{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:clamp(24px,4vw,40px);border-radius:26px;border:1px solid rgba(61,255,138,.25);background:radial-gradient(100% 140% at 100% 0%,rgba(61,255,138,.14),transparent 60%),rgba(255,255,255,.02);margin:20px 0}
.bcta h2{font-family:var(--fd);font-size:clamp(22px,2.6vw,32px);margin:0 0 8px;color:var(--text)}
.bcta p{color:var(--dim);margin:0;max-width:620px}
.bcta .btn{flex:none}
@media(max-width:980px){.bgrid{grid-template-columns:repeat(2,minmax(0,1fr))}.bfeat{grid-template-columns:1fr}.bfeat .big{grid-row:auto}}
@media(max-width:640px){.bidx{padding-top:96px}.bgrid{grid-template-columns:1fr}.bcard{min-height:0}.bcard.big{min-height:0;padding:24px}.bcta{flex-direction:column;align-items:flex-start}.bsearch{height:52px}.bhero{padding-top:18px}}
/* artículo */
.artp{padding-top:100px}
.artbar{position:fixed;top:0;left:0;right:0;height:3px;background:#3dff8a;transform-origin:0 50%;transform:scaleX(0);z-index:300;pointer-events:none}
.artwrap{max-width:1180px;margin:0 auto;padding:0 20px}
.arthead{padding:26px 0 0}
.arthead .crumbs{margin-bottom:18px}
.artcat{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:var(--cc);padding:7px 14px;border-radius:999px;background:color-mix(in srgb,var(--cc) 12%,transparent);border:1px solid color-mix(in srgb,var(--cc) 30%,transparent)}
.artcat .bcico{width:16px;height:16px}
.arthead h1{font-family:var(--fd);font-size:clamp(30px,4.6vw,52px);line-height:1.08;letter-spacing:-.02em;margin:16px 0;color:var(--text);max-width:900px}
.artlead{font-size:clamp(18px,1.9vw,21px);line-height:1.6;color:#c9dbd0;max-width:780px;margin:0 0 24px}
.artmeta{display:flex;align-items:center;gap:12px;padding-bottom:26px;border-bottom:1px solid rgba(255,255,255,.08);max-width:780px}
.artav{width:42px;height:42px;flex:none;border-radius:50%;display:grid;place-items:center;background:#3dff8a;color:#021006;font-weight:800;font-size:14px;font-family:var(--fd)}
.artmeta b{display:block;font-size:14.5px}.artmeta small{color:var(--dim);font-size:13px}
.artgrid{max-width:1180px;margin:0 auto;padding:32px 20px 0;display:grid;grid-template-columns:minmax(0,760px) 270px;gap:64px;justify-content:space-between;align-items:start}
.arttoc{order:2;position:sticky;top:108px}
.tocbox{border-left:2px solid rgba(255,255,255,.08);padding-left:16px;max-height:calc(100vh - 340px);overflow:auto}
.toch{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--dim);margin:0 0 10px;font-weight:700}
.tocbox ol{list-style:none;margin:0;padding:0}
.tocbox a{display:block;padding:6px 0;font-size:14px;line-height:1.4;color:var(--dim);text-decoration:none;transition:color .2s}
.tocbox a:hover,.tocbox a.on{color:#3dff8a}.tocbox a.on{font-weight:600}
.tocta{margin-top:22px;padding:18px;border-radius:18px;border:1px solid rgba(61,255,138,.22);background:rgba(61,255,138,.05);display:flex;flex-direction:column;gap:6px;align-items:flex-start}
.tocta b{font-family:var(--fd)}.tocta span{color:var(--dim);font-size:14px;margin-bottom:6px}
.artbody.rsk{padding-top:0!important;min-height:0!important;order:1;min-width:0}
.artp .artbody p{font-size:18px!important;line-height:1.78!important;color:#d9e8de!important;margin:0 0 1.2em!important}
.artp .artbody h2{font-family:var(--fd)!important;font-size:clamp(25px,2.6vw,32px)!important;line-height:1.22!important;color:#f2fff7!important;margin:2em 0 .7em!important;scroll-margin-top:110px;letter-spacing:-.01em!important;-webkit-text-fill-color:currentColor!important;background:none!important}
.artp .artbody h2::after,.artp .artbody h2::before{display:none!important}
.artp .artbody h3{font-family:var(--fd)!important;font-size:clamp(20px,2vw,23px)!important;line-height:1.3!important;color:#f2fff7!important;margin:1.6em 0 .5em!important;-webkit-text-fill-color:currentColor!important}
.artp .artbody h4{font-size:18px!important;color:#f2fff7!important;margin:1.4em 0 .4em!important}
.artp .artbody ul,.artp .artbody ol{padding-left:1.3em!important;margin:0 0 1.3em!important}
.artp .artbody li{font-size:18px!important;line-height:1.7!important;color:#d9e8de!important;margin:0 0 .5em!important}
.artp .artbody ul li::marker{color:#3dff8a}.artp .artbody ol li::marker{color:#3dff8a;font-weight:700}
.artp .artbody strong,.artp .artbody b{color:#fff!important}
.artp .artbody a:not(.btn){color:#3dff8a!important;text-decoration:underline!important;text-underline-offset:3px;text-decoration-thickness:1px}
.artp .artbody img{border-radius:16px;max-width:100%;height:auto}
.artp .artbody blockquote{margin:1.6em 0!important;padding:18px 22px!important;border-left:3px solid #3dff8a!important;background:rgba(61,255,138,.05)!important;border-radius:0 14px 14px 0!important;font-style:normal!important}
.artp .artbody pre{white-space:pre-wrap;padding:18px!important;border-radius:14px!important;background:rgba(255,255,255,.04)!important;border:1px solid rgba(61,255,138,.25)!important;font-size:15px!important;color:#3dff8a!important}
.arttbl{overflow-x:auto;margin:1.4em 0 1.8em;border:1px solid rgba(255,255,255,.1);border-radius:16px}
.artp .arttbl table{width:100%!important;border-collapse:collapse!important;display:table!important;margin:0!important;font-size:15.5px!important;min-width:480px}
.artp .arttbl th{background:rgba(61,255,138,.08)!important;color:#f2fff7!important;text-align:left!important;padding:12px 14px!important;font-weight:700!important;border:0!important;border-bottom:1px solid rgba(255,255,255,.1)!important}
.artp .arttbl td{padding:11px 14px!important;border:0!important;border-bottom:1px solid rgba(255,255,255,.06)!important;color:#d9e8de!important;background:none!important;font-size:15.5px!important}
.artp .arttbl tr:last-child td{border-bottom:0!important}
.artp .artbody .highlight-box,.artp .artbody .info-box,.artp .artbody .o-highlight-box,.artp .artbody .o-info-box{background:rgba(61,255,138,.06)!important;border:1px solid rgba(61,255,138,.2)!important;border-left:3px solid #3dff8a!important;border-radius:16px!important;padding:18px 22px!important;margin:1.6em 0!important}
.artp .artbody .warning-box,.artp .artbody .box-warning,.artp .artbody .o-warning-box{background:rgba(245,197,66,.07)!important;border:1px solid rgba(245,197,66,.25)!important;border-left:3px solid #f5c542!important;border-radius:16px!important;padding:18px 22px!important;margin:1.6em 0!important}
.artp .artbody .highlight-box>:last-child,.artp .artbody .warning-box>:last-child,.artp .artbody .info-box>:last-child{margin-bottom:0!important}
.artp .artbody .cta-box,.artp .artbody .o-cta-box{margin:2.2em 0!important;padding:28px!important;border-radius:22px!important;background:radial-gradient(100% 140% at 100% 0%,rgba(61,255,138,.18),transparent 60%),rgba(255,255,255,.03)!important;border:1px solid rgba(61,255,138,.3)!important;text-align:left!important;box-shadow:none!important}
.artp .artbody .cta-box h2,.artp .artbody .cta-box h3,.artp .artbody .cta-box p,.artp .artbody .o-cta-box h2,.artp .artbody .o-cta-box h3,.artp .artbody .o-cta-box p{color:#f2fff7!important;margin-top:0!important}
.artp .artbody .cta-box a,.artp .artbody .o-cta-box a{display:inline-flex!important;align-items:center;background:#3dff8a!important;color:#021006!important;border:0!important;padding:12px 22px!important;border-radius:999px!important;font-weight:700!important;text-decoration:none!important;margin-top:6px}
.toc-m{display:none}
.artend{padding:44px 0 30px}
.arttags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}
.arttags span{font-size:13px;color:var(--dim);padding:6px 12px;border-radius:999px;background:rgba(255,255,255,.05)}
.artshare{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:26px}
.artshare>span{color:var(--dim);font-size:14px;margin-right:4px}
.artshare a,.artshare button{font:600 13.5px var(--fb);padding:8px 14px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:none;color:var(--text);text-decoration:none;cursor:pointer;transition:.2s}
.artshare a:hover,.artshare button:hover{border-color:#3dff8a;color:#3dff8a}
.artback{margin-top:28px}.artback a{color:var(--dim);text-decoration:none}.artback a:hover{color:#3dff8a}
@media(max-width:1060px){.artgrid{grid-template-columns:minmax(0,1fr);gap:0}.arttoc{display:none}.toc-m{display:block;margin:0 0 28px;border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:0 18px;background:rgba(255,255,255,.02)}.toc-m summary{cursor:pointer;padding:15px 0;font-weight:700;list-style:none;display:flex;justify-content:space-between;align-items:center}.toc-m summary::-webkit-details-marker{display:none}.toc-m summary i{font-style:normal;color:var(--dim);font-weight:500;font-size:13px}.artp .toc-m ol{margin:0 0 14px!important;padding-left:1.2em!important}.artp .toc-m li{font-size:15.5px!important;margin:0 0 8px!important}.artp .toc-m a{color:var(--text)!important;text-decoration:none!important}}
@media(max-width:640px){.artp{padding-top:92px}.arthead{padding-top:14px}.artp .artbody p,.artp .artbody li{font-size:17px!important}.artgrid{padding-top:24px}}
body:has(.artp){overflow-x:clip}
.artp .artbody>h2:first-child,.artp .artbody>.toc-m+h2,.artp .artbody>p:first-child,.artp .artbody>.toc-m+p{margin-top:0!important}
.artp .arttbl table{min-width:0!important;table-layout:auto!important}
@media(max-width:640px){.artp .arttbl th,.artp .arttbl td{padding:10px 12px!important;font-size:14.5px!important}}
/* 13-nov: tarjeta destacada del blog sin hueco vacío */
.bcard .bcm{margin-top:auto;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.bcard .bcgo{margin-left:auto;display:inline-flex;align-items:center;gap:6px;padding:9px 16px;border-radius:999px;background:var(--cc);color:#021006;font:700 14px var(--fb);transition:transform .2s}
.bcard:hover .bcgo{transform:translateX(3px)}
.bcard .bcwm{position:absolute;right:-30px;bottom:-40px;width:230px;height:230px;color:var(--cc);opacity:.07;pointer-events:none}
.bcard .bcwm svg{width:100%;height:100%}
.bcard>*:not(.bcwm){position:relative}
@media(max-width:640px){.bcard .bcwm{width:150px;height:150px;right:-20px;bottom:-30px}}
/* 13-nov: «Lo más reciente» sin huecos: la destacada ocupa todo el ancho (título a la izquierda, resumen a la derecha) y debajo las otras dos */
@media(min-width:981px){
.bfeat{grid-template-columns:1fr 1fr}
.bfeat .bcard.big{grid-column:1/-1;grid-row:auto;min-height:0;display:grid;grid-template-columns:1.25fr 1fr;grid-template-areas:"top top" "title sum" "title meta";column-gap:48px;row-gap:14px;align-items:start;padding:36px 40px}
.bfeat .big .bctop{grid-area:top}.bfeat .big .bct{grid-area:title;font-size:clamp(28px,2.8vw,40px)}
.bfeat .big .bcs{grid-area:sum;align-self:end;-webkit-line-clamp:5}.bfeat .big .bcm{grid-area:meta;margin-top:6px}
.bfeat .big .bcwm{right:auto;left:42%;bottom:-60px;width:260px;height:260px}
}
@media(max-width:980px){.bcard.big{min-height:0}}
/* 13-nov: tablas del blog en móvil: letra algo menor para que quepan y, si aun así no caben, sombra verde en el borde que indica que se puede deslizar */
@media(max-width:640px){.artp .arttbl th,.artp .arttbl td{padding:9px 9px!important;font-size:13.5px!important;line-height:1.4!important}}
.arttbl{background:linear-gradient(90deg,var(--bg,#050807) 30%,rgba(0,0,0,0)) left/36px 100% no-repeat local,linear-gradient(270deg,var(--bg,#050807) 30%,rgba(0,0,0,0)) right/36px 100% no-repeat local,radial-gradient(farthest-side at 0 50%,rgba(61,255,138,.4),rgba(0,0,0,0)) left/14px 100% no-repeat scroll,radial-gradient(farthest-side at 100% 50%,rgba(61,255,138,.4),rgba(0,0,0,0)) right/14px 100% no-repeat scroll}
/* etiquetas con mayúscula inicial y más aire antes de «Sigue leyendo» */
.arttags span::first-letter{text-transform:uppercase}
.artp .tblhint,.artp .artbody p.tblhint{margin:-1.2em 0 1.6em!important;font-size:13px!important;color:#3dff8a!important;text-align:right;transition:opacity .3s}
/* botones antiguos dentro de los artículos: que nunca se salgan de la pantalla */
.artp .artbody .btn,.artp .artbody a[class*=btn]{white-space:normal!important;max-width:100%;text-align:center;height:auto!important;line-height:1.35!important}

/* 13-nov-2026: el tailandés no admite espaciado entre letras (rompe los acentos) */
html[lang="th"] body, html[lang="th"] body *{letter-spacing:normal!important}
