/* ================================================================
   Tema: cabecera y secciones oscuras con resplandor azul/naranja,
   contenido claro, tipografía fina y acentos en degradado.
   Sin fuentes ni recursos externos (CSP estricta).
   ================================================================ */
:root{
  --ink:#0b0b0d;--ink2:#141418;--paper:#ffffff;--paper2:#f4f4f2;--line:#e6e6e3;--line-d:#24242a;
  --txt:#111114;--mut:#6c6c72;--dim:#9a9aa0;--txt-d:#f2f2f4;--mut-d:#a3a3ad;
  --blue:#2f6bff;--blue2:#5aa2ff;--orange:#ff8a1f;--orange2:#ffb347;
  --ok:#14915a;--warn:#b26b00;--bad:#d4372c;--r:18px;
  --sans:"Inter","SF Pro Display","Segoe UI Variable","Segoe UI",system-ui,-apple-system,Roboto,"Helvetica Neue",Arial,sans-serif;
  --mono:ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",monospace;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--txt);font:15px/1.6 var(--sans);-webkit-font-smoothing:antialiased;letter-spacing:-.005em}
a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px}
[hidden]{display:none!important}
h1,h2,h3{line-height:1.15;margin:0 0 .5em;font-weight:400;letter-spacing:-.02em}
h1{font-size:clamp(2.1rem,5.2vw,3.6rem);font-weight:300}
h2{font-size:clamp(1.6rem,3.2vw,2.3rem);font-weight:300;margin-top:1.4em}
h3{font-size:1.05rem;font-weight:500;letter-spacing:-.01em}
p{margin:0 0 1em}
b,strong{font-weight:600}
.mut{color:var(--mut)}.dim{color:var(--dim)}.small{font-size:.86rem}.mt{margin-top:16px}
.mono{font-family:var(--mono);font-size:.86em;word-break:break-all}
code{font-family:var(--mono);background:var(--paper2);border:1px solid var(--line);border-radius:6px;padding:1px 6px;font-size:.86em}
ol{padding-left:22px}

/* degradados de acento */
.g-or{background:linear-gradient(90deg,var(--orange),var(--orange2));-webkit-background-clip:text;background-clip:text;color:transparent}
.g-bl{background:linear-gradient(90deg,var(--blue),var(--blue2));-webkit-background-clip:text;background-clip:text;color:transparent}
.grad{background:linear-gradient(90deg,var(--orange),var(--blue2));-webkit-background-clip:text;background-clip:text;color:transparent}
.tag{display:inline-block;font-size:.72rem;color:var(--mut);border:1px solid var(--line);border-radius:99px;padding:3px 10px;margin-bottom:14px;background:var(--paper)}

/* ---------------- cabecera ---------------- */
.top{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.86);backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid var(--line)}
.top-in{display:flex;align-items:center;gap:28px;height:68px}
.brand{display:flex;align-items:center;gap:10px;color:var(--txt);font-size:1.05rem;font-weight:500;letter-spacing:-.01em}
.brand:hover{text-decoration:none}
.logo{width:26px;height:26px;display:inline-block;background:conic-gradient(from 210deg,var(--blue),var(--blue2),var(--orange2),var(--orange),var(--blue));
  clip-path:polygon(50% 0,100% 100%,74% 100%,50% 52%,26% 100%,0 100%)}
nav{display:flex;gap:2px;margin:0 auto}
nav a{color:var(--mut);padding:8px 13px;border-radius:99px;font-size:.88rem}
nav a:hover{color:var(--txt);text-decoration:none}
nav a.on{color:var(--txt);background:var(--paper2)}
.top-cta{font-size:.84rem;padding:8px 16px;border-radius:99px;border:1px solid var(--orange);color:var(--txt);white-space:nowrap}
.top-cta:hover{text-decoration:none;background:rgba(255,138,31,.08)}
.menu-btn{display:none;background:none;border:1px solid var(--line);color:inherit;border-radius:10px;font-size:1.1rem;padding:4px 10px;cursor:pointer;margin-left:auto}
/* cabecera transparente sobre la portada oscura */
body.home .top{position:absolute;left:0;right:0;background:transparent;border-color:transparent;backdrop-filter:none}
body.home .brand,body.home .top-cta,body.home .menu-btn{color:#fff}
body.home .menu-btn{border-color:rgba(255,255,255,.25)}
body.home nav a{color:rgba(255,255,255,.72)}
body.home nav a:hover{color:#fff}
body.home nav a.on{background:rgba(255,255,255,.08);color:#fff}
@media(max-width:860px){
  .top-cta{display:none}
  .menu-btn{display:block}
  nav{display:none;position:absolute;top:68px;left:0;right:0;flex-direction:column;background:var(--paper);border-bottom:1px solid var(--line);padding:10px 16px;margin:0}
  nav.open{display:flex}
  body.home nav{background:#0d0d10;border-color:var(--line-d)}
}
.notice{background:#fff4e5;color:#7a4300;text-align:center;padding:10px 20px;font-size:.9rem;border-bottom:1px solid #ffe0b8}
.notice.bad{background:#fdeceb;color:#8f1d15;border-color:#f8c9c5}
body.home .notice{position:relative;z-index:31}

main{padding:40px 24px 80px;min-height:70vh;outline:none}
body.home main{padding:0;max-width:none}

/* ---------------- componentes ---------------- */
.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:24px;margin-bottom:18px}
.grid{display:grid;gap:16px}
.g2{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}
.g3{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}
.g4{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.stat .k{color:var(--mut);font-size:.8rem}
.stat .v{font-size:1.65rem;font-weight:300;letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin-top:4px;word-break:break-word}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--txt);color:#fff;border:1px solid var(--txt);border-radius:99px;
  padding:11px 20px;font:inherit;font-size:.92rem;font-weight:500;cursor:pointer;text-decoration:none;transition:transform .15s,box-shadow .15s,background .15s}
.btn:hover{text-decoration:none;transform:translateY(-1px)}
.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}
.btn.sec{background:var(--paper);color:var(--txt);border-color:var(--line)}
.btn.sec:hover{border-color:#cfcfcb}
.btn.ok{background:var(--ok);border-color:var(--ok)}
.btn.bad{background:var(--bad);border-color:var(--bad)}
.btn.glow{background:transparent;color:#fff;border-color:var(--orange);box-shadow:0 0 0 1px rgba(255,138,31,.25),0 0 28px rgba(255,138,31,.35)}
.btn.glow:hover{background:rgba(255,138,31,.12)}
.btn.ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.22)}
.btn.sm{padding:6px 12px;font-size:.82rem}
.btn.wide{width:100%}
.cta{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.cta.left{justify-content:flex-start}
form .row{display:flex;flex-wrap:wrap;gap:14px}
label{display:block;font-size:.84rem;color:var(--mut);margin-bottom:14px;flex:1;min-width:200px}
input,select,textarea{display:block;width:100%;margin-top:6px;background:var(--paper);border:1px solid var(--line);color:var(--txt);border-radius:12px;padding:11px 13px;font:inherit}
input:focus,select:focus,textarea:focus{outline:2px solid rgba(47,107,255,.35);outline-offset:0;border-color:var(--blue)}
input[type=checkbox]{display:inline;width:auto;margin:0 8px 0 0}
.check{display:flex;align-items:flex-start;color:var(--txt)}.check input{margin-top:5px}
.tbl{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
.tbl th,.tbl td{padding:11px 8px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.tbl th{color:var(--mut);font-weight:500;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}
.tbl tr:last-child td{border-bottom:0}
.scroll{overflow-x:auto}
.pill{display:inline-block;padding:2px 10px;border-radius:99px;font-size:.74rem;font-weight:500;background:var(--paper2);color:var(--mut);white-space:nowrap;border:1px solid var(--line)}
.pill.ok{background:#e8f6ef;color:#0c6b41;border-color:#c8ebd9}.pill.bad{background:#fdeceb;color:#a3261c;border-color:#f6cbc7}
.pill.warn{background:#fff3e2;color:#8a5200;border-color:#ffdcae}.pill.info{background:#eaf1ff;color:#1f4fc4;border-color:#cddcff}
.bar{height:8px;background:var(--paper2);border-radius:99px;overflow:hidden;margin:8px 0;border:1px solid var(--line)}
.bar>i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--orange),var(--blue));border-radius:99px}
.bar.no>i{background:var(--bad)}
.alert{border-radius:14px;padding:14px 16px;margin-bottom:16px;border:1px solid;font-size:.92rem}
.alert.info{background:#f2f6ff;border-color:#d6e2ff;color:#1d3f99}
.alert.warn{background:#fff7ec;border-color:#ffe0b8;color:#7a4300}
.alert.ok{background:#eefaf3;border-color:#c8ebd9;color:#0c5c38}
.alert.bad{background:#fdf0ef;border-color:#f6cbc7;color:#8f1d15}
.seed{font-family:var(--mono);font-size:1.02rem;background:var(--paper2);border:1px dashed var(--blue);border-radius:14px;padding:16px;
  display:grid;grid-template-columns:repeat(4,1fr);gap:10px;text-align:center;letter-spacing:.05em}
@media(max-width:560px){.seed{grid-template-columns:repeat(2,1fr)}}
.kv{display:grid;grid-template-columns:200px 1fr;gap:8px 18px}
.kv>div:nth-child(odd){color:var(--mut)}
@media(max-width:560px){.kv{grid-template-columns:1fr;gap:2px}.kv>div:nth-child(even){margin-bottom:8px}}
.copy{cursor:pointer;border-bottom:1px dashed var(--dim)}
.big{font-size:2.6rem;font-weight:300;letter-spacing:-.03em;font-variant-numeric:tabular-nums;line-height:1.1}
.search{display:flex;gap:10px;align-items:center}.search input{margin:0}
.spinner{display:inline-block;width:16px;height:16px;border:2px solid rgba(0,0,0,.15);border-top-color:var(--blue);border-radius:50%;animation:sp 1s linear infinite}
.btn .spinner{border-color:rgba(255,255,255,.35);border-top-color:#fff}
@keyframes sp{to{transform:rotate(360deg)}}
.empty{color:var(--dim);text-align:center;padding:22px}
details{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:16px 20px;margin-bottom:10px;transition:border-color .2s}
details[open]{border-color:#cfcfcb}
summary{cursor:pointer;font-weight:500;list-style:none;display:flex;justify-content:space-between;gap:16px}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";color:var(--mut);font-weight:300;font-size:1.3rem;line-height:1}
details[open] summary::after{content:"−"}
details p{margin:12px 0 0;color:var(--mut)}
.pos{color:#0f8a52}.neg{color:#cc3328}
.ico{font-size:1.4rem;display:block;margin-bottom:6px}

#toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);max-width:min(92vw,520px);padding:13px 18px;border-radius:14px;
  font-weight:500;z-index:60;box-shadow:0 14px 40px rgba(0,0,0,.18);background:#0f2a1c;color:#d9fbe9}
#toast.bad{background:#3a0f0c;color:#ffe1de}
.modal{position:fixed;inset:0;background:rgba(10,10,14,.55);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:50;padding:20px}
.modal-box{background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:26px;max-width:540px;width:100%;max-height:90vh;overflow:auto;box-shadow:0 30px 80px rgba(0,0,0,.25)}

/* ================================================================
   PORTADA
   ================================================================ */
.dark{background:var(--ink);color:var(--txt-d);position:relative;overflow:hidden}
.dark .mut{color:var(--mut-d)}
.glow-b,.glow-o{position:absolute;border-radius:50%;filter:blur(90px);pointer-events:none}
.glow-b{width:620px;height:420px;left:-140px;bottom:-220px;background:radial-gradient(closest-side,rgba(47,107,255,.85),rgba(47,107,255,0))}
.glow-o{width:620px;height:420px;right:-140px;bottom:-230px;background:radial-gradient(closest-side,rgba(255,138,31,.85),rgba(255,138,31,0))}
.hero{min-height:min(92vh,820px);display:flex;align-items:center;justify-content:center;text-align:center;padding:140px 24px 120px}
.hero-in{position:relative;z-index:2;max-width:820px}
.hero .live{display:inline-flex;align-items:center;gap:8px;font-size:.78rem;color:var(--mut-d);margin-bottom:26px}
.hero .live i{width:7px;height:7px;border-radius:50%;background:#3ddc84;box-shadow:0 0 10px #3ddc84;animation:pulse 2s infinite}
@keyframes pulse{50%{opacity:.35}}
.hero h1{color:#fff;font-weight:300;letter-spacing:-.035em;margin-bottom:22px}
.hero p.lead{color:var(--mut-d);font-size:1.02rem;max-width:520px;margin:0 auto 34px}
.hero .cta{gap:14px}

.sec-l{background:var(--paper);padding:96px 0}
.split{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}
.split>div{padding:56px 40px;border-bottom:1px solid var(--line)}
.split>div:nth-child(odd){border-right:1px solid var(--line)}
@media(max-width:860px){.split{grid-template-columns:1fr}.split>div{padding:40px 4px}.split>div:nth-child(odd){border-right:0}}
.intro h2{margin-top:0}
.feat{display:grid;grid-template-columns:auto 1fr;gap:6px 18px}
.feat .num{font-size:2.1rem;font-weight:300;line-height:1;letter-spacing:-.04em;background:linear-gradient(180deg,var(--blue),var(--blue2));
  -webkit-background-clip:text;background-clip:text;color:transparent}
.feat h3{margin:6px 0 4px}
.feat p{grid-column:2;color:var(--mut);font-size:.9rem;max-width:360px}
.visual{grid-column:1/-1;margin-top:22px;border-radius:16px;background:var(--paper2);border:1px solid var(--line);min-height:210px;
  display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;padding:24px}

/* ilustraciones (sin imágenes externas) */
.eqbars{display:flex;align-items:flex-end;gap:10px;height:130px}
.eqbars span{width:26px;height:100%;border-radius:8px 8px 4px 4px;background:linear-gradient(180deg,var(--blue2),var(--blue));opacity:.9}
.eqbars span:nth-child(even){background:linear-gradient(180deg,var(--orange2),var(--orange))}
.eqcap{position:absolute;top:16px;left:18px;font-size:.74rem;color:var(--mut);background:var(--paper);border:1px solid var(--line);border-radius:99px;padding:3px 10px}
.idcards{display:flex;gap:12px}
.idcard{width:120px;height:78px;border-radius:12px;background:var(--paper);border:1px solid var(--line);box-shadow:0 10px 24px rgba(0,0,0,.06);padding:10px;font-size:.7rem;color:var(--mut)}
.idcard b{display:block;color:var(--txt);font-size:.78rem;margin-top:22px}
.idcard.x{opacity:.45;position:relative}
.idcard.x::after{content:"✕";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:2rem;color:var(--bad)}
.phone{width:200px;border-radius:26px;background:var(--ink);padding:12px;box-shadow:0 24px 50px rgba(0,0,0,.25)}
.phone .scr{border-radius:18px;background:linear-gradient(160deg,#16161c,#0b0b0e);padding:16px;color:#fff}
.phone .scr small{color:var(--mut-d);font-size:.68rem}
.phone .scr .amt{font-size:1.5rem;font-weight:300;margin:2px 0 12px}
.phone .scr .ln{height:6px;border-radius:9px;background:rgba(255,255,255,.12);margin:7px 0}
.phone .scr .ln.s{width:60%}
.phone .scr .pillx{display:inline-block;font-size:.62rem;border:1px solid var(--orange);border-radius:99px;padding:2px 8px;margin-top:8px;color:var(--orange2)}
.spark{width:100%;max-width:360px;height:140px}
.minibook{width:100%;max-width:300px;font-family:var(--mono);font-size:.74rem}
.minibook div{display:flex;justify-content:space-between;padding:4px 10px;border-radius:6px;margin:3px 0;background:var(--paper)}
.minibook .a{color:#cc3328}.minibook .b{color:#0f8a52}

.collab{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;padding:56px 40px;border-bottom:1px solid var(--line)}
@media(max-width:860px){.collab{grid-template-columns:1fr;padding:40px 4px}}

.tool{background:var(--paper2);border-radius:28px;margin:0 24px;padding:80px 24px 0;text-align:center}
.tool-panel{max-width:1100px;margin:46px auto 0;background:var(--paper);border-radius:22px 22px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:24px;
  padding:28px;text-align:left;box-shadow:0 -10px 40px rgba(0,0,0,.04)}
@media(max-width:860px){.tool-panel{grid-template-columns:1fr}.tool{margin:0 10px}}
.tool-panel ul{padding-left:18px;color:var(--mut);font-size:.9rem}
.tool-panel li{margin:6px 0}
.heat{background:var(--ink);border-radius:18px;padding:22px;min-height:300px;position:relative;color:#fff}
.heat .lbl{font-size:.8rem;color:var(--mut-d);display:flex;gap:8px;align-items:center}
.dots{display:grid;grid-template-columns:repeat(20,1fr);gap:5px;margin-top:22px}
.dots i{aspect-ratio:1;border-radius:3px;background:#fff;opacity:.07}
.dots i.l1{opacity:.25}.dots i.l2{opacity:.45}.dots i.l3{opacity:.7}.dots i.l4{opacity:1;background:var(--orange2)}
.heat .legend{display:flex;justify-content:space-between;margin-top:14px;font-size:.72rem;color:var(--mut-d)}

.faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:48px}
@media(max-width:860px){.faq{grid-template-columns:1fr;gap:20px}}
.faq h2{margin-top:0}

.how{padding:110px 0}
.how-in{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:center;position:relative;z-index:2}
@media(max-width:860px){.how-in{grid-template-columns:1fr}}
.how .tag{background:transparent;border-color:var(--line-d);color:var(--mut-d)}
.how h2{color:#fff;margin-top:0}
.steps-l{list-style:none;padding:0;margin:26px 0 0}
.steps-l li{display:grid;grid-template-columns:34px 1fr;gap:4px 14px;padding:14px 0;color:var(--mut-d)}
.steps-l li .n{width:28px;height:28px;border-radius:50%;border:1px solid var(--line-d);display:flex;align-items:center;justify-content:center;font-size:.75rem;color:var(--mut-d)}
.steps-l li.on .n{background:var(--blue);border-color:var(--blue);color:#fff}
.steps-l li b{color:#fff;font-weight:500}
.steps-l li p{grid-column:2;margin:0;font-size:.86rem}
.app{background:#0f0f13;border:1px solid var(--line-d);border-radius:18px;box-shadow:0 0 0 1px rgba(255,255,255,.03),0 40px 90px rgba(47,107,255,.25),0 30px 80px rgba(255,138,31,.15);
  display:grid;grid-template-columns:150px 1fr;min-height:330px;overflow:hidden;font-size:.78rem}
.app .side{border-right:1px solid var(--line-d);padding:16px 12px;color:var(--mut-d)}
.app .side div{padding:6px 8px;border-radius:8px;margin:2px 0}
.app .side div.on{background:rgba(255,255,255,.06);color:#fff}
.app .main{padding:18px}
.app .main .t{color:var(--mut-d);font-size:.7rem}
.app .main .v{color:#fff;font-size:1.5rem;font-weight:300;letter-spacing:-.02em}
.app .tiles{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}
.app .tile{border:1px solid var(--line-d);border-radius:12px;padding:12px}
.app .tile .v{font-size:1.1rem}
.app .rows{margin-top:12px}
.app .rows div{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--line-d);color:var(--mut-d)}
.app .rows div span:last-child{color:#fff}
@media(max-width:560px){.app{grid-template-columns:1fr}.app .side{display:none}}

.live-strip{padding:84px 0;text-align:center}
.live-strip h2{margin-top:0}
.quote{border:1px solid var(--line);border-radius:20px;padding:28px;text-align:left;background:var(--paper)}
.quote .q{font-size:1.6rem;line-height:1;color:var(--orange)}
.quote p{font-size:1rem;margin:10px 0 6px}

/* pie */
.foot{border-top:1px solid var(--line);padding:56px 0 30px;color:var(--mut);font-size:.86rem;background:var(--paper)}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:28px}
@media(max-width:760px){.foot-grid{grid-template-columns:1fr 1fr}}
.foot h4{margin:0 0 12px;color:var(--txt);font-weight:500;font-size:.88rem}
.foot a{display:block;color:var(--mut);margin:6px 0}
.foot a:hover{color:var(--txt);text-decoration:none}
.foot .tagline{font-size:1.15rem;color:var(--txt);font-weight:300;margin:14px 0}
.foot-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;border-top:1px solid var(--line);margin-top:36px;padding-top:18px;font-size:.78rem;color:var(--dim)}

@media(max-width:560px){
  main{padding:26px 16px 60px}
  .tbl{font-size:.84rem}.tbl th,.tbl td{padding:8px 6px}
  .big{font-size:2rem}
  .sec-l{padding:64px 0}
  .hero{padding:120px 20px 100px}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
main.wrap{padding:44px 24px 80px}
body.home main.wrap{padding:0;max-width:none}
.foot a.brand{display:flex;color:var(--txt)}
@media(max-width:560px){main.wrap{padding:28px 16px 60px}}
.checkout{max-width:560px;margin:0 auto}.mt0{margin-top:0}.center{text-align:center}
.okmark{width:64px;height:64px;border-radius:50%;margin:6px auto 14px;display:flex;align-items:center;justify-content:center;font-size:2rem;color:#fff;background:linear-gradient(135deg,var(--ok),#2fbf7f)}
.num-s{font-size:1.5rem;font-weight:300;background:linear-gradient(180deg,var(--blue),var(--blue2));-webkit-background-clip:text;background-clip:text;color:transparent}
pre.code{background:var(--ink);color:#e8e8ee;border-radius:12px;padding:14px;overflow:auto;font-family:var(--mono);font-size:.8rem;line-height:1.5}

/* ================================================================
   v1.3 · MOVIMIENTO Y ACABADO
   Principios: curvas suaves (ease-out exponencial), duraciones cortas,
   movimiento con propósito (guía la vista, confirma acciones, muestra datos vivos).
   Todo se desactiva con «reducir movimiento».
   ================================================================ */
:root{--ease:cubic-bezier(.16,1,.3,1);--ease-in:cubic-bezier(.7,0,.84,0);--up:#14a35f;--down:#e0453a;
  --chart-grid:rgba(17,17,20,.07);--chart-txt:#8a8a92;--shadow-1:0 1px 2px rgba(16,16,24,.04),0 8px 24px rgba(16,16,24,.05);
  --shadow-2:0 2px 6px rgba(16,16,24,.05),0 24px 60px rgba(16,16,24,.10)}
::selection{background:rgba(47,107,255,.18)}
body{text-rendering:optimizeLegibility;font-feature-settings:"ss01","cv11"}

/* barra de progreso de navegación */
.route-bar{position:fixed;top:0;left:0;height:2px;width:100%;z-index:80;pointer-events:none;transform-origin:0 50%;transform:scaleX(0);opacity:0;
  background:linear-gradient(90deg,var(--orange),var(--blue2),var(--blue));box-shadow:0 0 12px rgba(47,107,255,.6)}
.route-bar.run{opacity:1;animation:rb 2.4s var(--ease) forwards}
.route-bar.done{opacity:0;transform:scaleX(1);transition:opacity .45s .12s,transform .25s var(--ease)}
@keyframes rb{0%{transform:scaleX(0)}40%{transform:scaleX(.55)}100%{transform:scaleX(.88)}}

/* transición entre páginas */
#view{transition:opacity .25s}
#view.loading{opacity:.55}
#view.enter{animation:viewIn .7s var(--ease) both}
@keyframes viewIn{from{opacity:0;transform:translateY(10px);filter:blur(6px)}to{opacity:1;transform:none;filter:none}}

/* esqueleto de carga */
.skel{display:grid;gap:14px;padding:12px 0}
.skel i,.skel-grid i{display:block;height:18px;border-radius:10px;background:linear-gradient(90deg,var(--paper2) 0%,#ebebe8 40%,var(--paper2) 80%);background-size:300% 100%;animation:shim 1.4s linear infinite}
.skel .w40{width:40%;height:34px}.skel .w70{width:70%}.skel .tall{height:220px;border-radius:18px}
.skel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.skel-grid i{height:96px;border-radius:16px}
@keyframes shim{from{background-position:100% 0}to{background-position:-200% 0}}

/* aparición al hacer scroll (escalonada por fila) */
.rv{opacity:0;transform:translateY(22px) scale(.985);filter:blur(4px);transition:opacity .8s var(--ease) var(--d,0ms),transform .9s var(--ease) var(--d,0ms),filter .8s var(--ease) var(--d,0ms)}
.rv.in{opacity:1;transform:none;filter:none}

/* barras: crecen con suavidad */
.bar>i{transition:width 1.2s var(--ease)}
.bar.thin{height:4px;margin:6px 0 0;border:0}
.bar.ab>i{background:#b9b9c0}
.bar.q>i{background:linear-gradient(90deg,var(--blue2),var(--blue))}

/* cabecera: se condensa al bajar */
.top{transition:box-shadow .3s,background .3s,border-color .3s}
body.scrolled:not(.home) .top{box-shadow:0 6px 30px rgba(16,16,24,.06)}
nav a{position:relative;transition:color .2s,background .25s}
nav a::after{content:"";position:absolute;left:14px;right:14px;bottom:4px;height:1.5px;border-radius:2px;background:linear-gradient(90deg,var(--orange),var(--blue));
  transform:scaleX(0);transform-origin:50% 50%;transition:transform .35s var(--ease)}
nav a:hover::after{transform:scaleX(1)}
nav a.on::after{transform:scaleX(0)}

/* tarjetas: elevación y foco de luz que sigue al puntero */
.card,.collab,.pricebox,.feat .visual{position:relative;isolation:isolate}
.card{box-shadow:var(--shadow-1);transition:box-shadow .4s var(--ease),transform .4s var(--ease),border-color .3s}
.card:hover{box-shadow:var(--shadow-2);border-color:#dcdcd8}
.card::before,.pricebox::before,.feat .visual::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:-1;opacity:0;
  background:radial-gradient(420px circle at var(--mx,50%) var(--my,50%),rgba(47,107,255,.07),rgba(255,138,31,.04) 40%,transparent 70%);transition:opacity .35s}
.card:hover::before,.pricebox:hover::before,.feat .visual:hover::before{opacity:1}
.card.stat .v,.quote .v{font-variant-numeric:tabular-nums}

/* botones: brillo que recorre el botón */
.btn{position:relative;overflow:hidden;transition:transform .35s var(--ease),box-shadow .35s var(--ease),background .2s,border-color .2s}
.btn::after{content:"";position:absolute;inset:-1px;background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.28) 50%,transparent 70%);
  transform:translateX(-120%);transition:transform .9s var(--ease);pointer-events:none}
.btn:hover::after{transform:translateX(120%)}
.btn:active{transform:translateY(0) scale(.98)}
.btn:focus-visible,a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--blue);outline-offset:3px}
.btn.glow{animation:breathe 4.5s ease-in-out infinite}
@keyframes breathe{50%{box-shadow:0 0 0 1px rgba(255,138,31,.35),0 0 42px rgba(255,138,31,.5)}}

/* detalles (FAQ): apertura suave */
details{transition:border-color .3s,box-shadow .3s}
details[open]{box-shadow:var(--shadow-1)}
details[open] p{animation:fadeDown .5s var(--ease)}
summary::after{transition:transform .35s var(--ease)}
details[open] summary::after{transform:rotate(180deg)}
@keyframes fadeDown{from{opacity:0;transform:translateY(-6px)}}

/* modal y aviso */
.modal:not([hidden]){animation:fade .25s ease}
.modal:not([hidden]) .modal-box{animation:pop .45s var(--ease)}
@keyframes fade{from{opacity:0}}
@keyframes pop{from{opacity:0;transform:translateY(14px) scale(.97)}}
#toast:not([hidden]){animation:toastIn .5s var(--ease)}
@keyframes toastIn{from{opacity:0;transform:translate(-50%,16px) scale(.96)}}

/* ---------------- portada: aurora, rejilla y titular por palabras ---------------- */
.hero{min-height:min(96vh,880px);flex-direction:column}
.hero .glow-b,.hero .glow-o{display:none}
.aurora{position:absolute;inset:-20% -10% auto;height:120%;pointer-events:none;filter:blur(70px) saturate(1.2);opacity:.9}
.aurora i{position:absolute;border-radius:50%;mix-blend-mode:screen}
.aurora .a1{width:46vw;height:46vw;max-width:720px;max-height:720px;left:-6%;bottom:2%;background:radial-gradient(closest-side,rgba(47,107,255,.75),transparent);animation:drift1 22s ease-in-out infinite alternate}
.aurora .a2{width:42vw;height:42vw;max-width:660px;max-height:660px;right:-4%;bottom:0;background:radial-gradient(closest-side,rgba(255,138,31,.7),transparent);animation:drift2 26s ease-in-out infinite alternate}
.aurora .a3{width:30vw;height:30vw;max-width:480px;max-height:480px;left:38%;top:18%;background:radial-gradient(closest-side,rgba(120,90,255,.35),transparent);animation:drift3 30s ease-in-out infinite alternate}
@keyframes drift1{to{transform:translate(8vw,-6vh) scale(1.12)}}
@keyframes drift2{to{transform:translate(-7vw,-9vh) scale(1.08)}}
@keyframes drift3{to{transform:translate(-10vw,8vh) scale(.9)}}
.gridfx{position:absolute;inset:0;pointer-events:none;opacity:.5;
  background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);
  background-size:56px 56px;-webkit-mask-image:radial-gradient(ellipse 70% 60% at 50% 40%,#000 20%,transparent 75%);mask-image:radial-gradient(ellipse 70% 60% at 50% 40%,#000 20%,transparent 75%);
  animation:gridpan 40s linear infinite}
@keyframes gridpan{to{background-position:56px 56px,56px 56px}}
.hero .live{animation:fadeUp .9s var(--ease) both}
.words .w{display:inline-block;animation:wordIn 1.1s var(--ease) both}
.words .w:nth-of-type(1){animation-delay:.05s}.words .w:nth-of-type(2){animation-delay:.13s}.words .w:nth-of-type(3){animation-delay:.21s}
.words .w:nth-of-type(4){animation-delay:.29s}.words .w:nth-of-type(5){animation-delay:.37s}
@keyframes wordIn{from{opacity:0;transform:translateY(.45em) rotate(1.5deg);filter:blur(10px)}to{opacity:1;transform:none;filter:none}}
.words .grad{background-size:200% 100%;animation:wordIn 1.1s var(--ease) .37s both,sheen 6s ease-in-out 1.5s infinite}
@keyframes sheen{50%{background-position:100% 0}}
.hero p.lead{animation:fadeUp 1s var(--ease) .45s both}
.hero .cta{animation:fadeUp 1s var(--ease) .58s both}
@keyframes fadeUp{from{opacity:0;transform:translateY(14px)}}

/* tarjetas de cristal flotantes con datos reales */
.hero-float{position:absolute;inset:0;pointer-events:none;z-index:1}
.glass{position:absolute;min-width:190px;padding:14px 16px;border-radius:16px;color:#fff;text-align:left;font-size:.8rem;
  background:linear-gradient(160deg,rgba(255,255,255,.10),rgba(255,255,255,.03));border:1px solid rgba(255,255,255,.14);
  backdrop-filter:blur(14px) saturate(1.3);-webkit-backdrop-filter:blur(14px) saturate(1.3);box-shadow:0 20px 50px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.12)}
.glass small{display:block;color:var(--mut-d);font-size:.7rem;margin-bottom:4px}
.glass b{display:block;font-size:1.25rem;font-weight:400;letter-spacing:-.02em;margin-bottom:2px;font-variant-numeric:tabular-nums}
.glass .bar{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.1);height:5px}
.glass .pos{color:#5fe3a1}.glass .neg{color:#ff8a80}.glass .dim{color:var(--mut-d)}
.glass.f1{left:6%;top:30%;animation:floatIn 1.2s var(--ease) .7s both,bob 7s ease-in-out 2s infinite}
.glass.f2{right:6%;top:24%;animation:floatIn 1.2s var(--ease) .85s both,bob 8s ease-in-out 2.4s infinite reverse}
.glass.f3{right:10%;bottom:22%;animation:floatIn 1.2s var(--ease) 1s both,bob 9s ease-in-out 2.8s infinite}
@keyframes floatIn{from{opacity:0;transform:translateY(26px) scale(.94);filter:blur(8px)}}
@keyframes bob{50%{transform:translateY(-10px)}}
@media(max-width:1180px){.hero-float{display:none}}

/* cinta de datos en directo */
.ticker{position:absolute;left:0;right:0;bottom:0;z-index:2;overflow:hidden;border-top:1px solid rgba(255,255,255,.08);background:rgba(0,0,0,.25);
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.tick-in{display:flex;gap:22px;align-items:center;width:max-content;padding:12px 0;font-size:.78rem;color:var(--mut-d);white-space:nowrap;animation:marquee 48s linear infinite}
.tick-in b{color:#fff;font-weight:500}.tick-in i{font-style:normal;color:rgba(255,255,255,.2);font-size:.55rem}
.tick-in .pos{color:#5fe3a1}
.ticker:hover .tick-in{animation-play-state:paused}
@keyframes marquee{to{transform:translateX(-50%)}}

/* ilustraciones de la portada con vida */
.eqbars span{transform-origin:50% 100%}
.feat.in .eqbars span{animation:barUp 1.1s var(--ease) both}
.feat.in .eqbars span:nth-child(2){animation-delay:.06s}.feat.in .eqbars span:nth-child(3){animation-delay:.12s}.feat.in .eqbars span:nth-child(4){animation-delay:.18s}
.feat.in .eqbars span:nth-child(5){animation-delay:.24s}.feat.in .eqbars span:nth-child(6){animation-delay:.30s}.feat.in .eqbars span:nth-child(7){animation-delay:.36s}
@keyframes barUp{from{transform:scaleY(.08);opacity:.2}}
.spark path{stroke-dasharray:900;stroke-dashoffset:900}
.feat.in .spark path{animation:draw 2s var(--ease) .2s forwards}
@keyframes draw{to{stroke-dashoffset:0}}
.feat.in .idcard.x{animation:reject .9s var(--ease) .5s both}
@keyframes reject{0%{opacity:1;transform:none}40%{transform:translateX(-6px)}60%{transform:translateX(5px)}100%{opacity:.45;transform:none}}
.feat .phone{transition:transform .8s var(--ease)}
.feat:hover .phone{transform:translateY(-6px) rotate(-1.5deg)}
.dots i{transition:opacity .4s,transform .4s}
.tool-panel.in .dots i{animation:dotIn .6s var(--ease) both}
@keyframes dotIn{from{transform:scale(.3);opacity:0}}
.dots i.l4{box-shadow:0 0 10px rgba(255,179,71,.6)}
.steps-l li{transition:color .3s}
.how .app{transition:transform 1s var(--ease)}
.how .app:hover{transform:perspective(1200px) rotateX(2deg) rotateY(-3deg) translateY(-4px)}

/* ---------------- encabezados de sección ---------------- */
.sec-head{text-align:center;max-width:720px;margin:0 auto 40px}
.sec-head.left{text-align:left;margin:0 0 28px;max-width:none}
.sec-head h1,.sec-head h2{margin-top:0}

/* ---------------- precio ---------------- */
.pricesec{padding-top:40px}
.pricebox{margin-bottom:14px;display:grid;grid-template-columns:320px minmax(0,1fr);gap:10px;background:var(--paper);border:1px solid var(--line);border-radius:24px;padding:12px;box-shadow:var(--shadow-1)}
.pricebox.lg{grid-template-columns:340px minmax(0,1fr)}
.pb-side{padding:22px 18px;display:flex;flex-direction:column;gap:6px}
.pb-price{font-size:clamp(2.2rem,4vw,3rem);font-weight:300;letter-spacing:-.04em;line-height:1.05;font-variant-numeric:tabular-nums;
  background:linear-gradient(90deg,var(--txt),#3b3b46);-webkit-background-clip:text;background-clip:text;color:transparent}
.pb-stats{display:grid;gap:12px;margin-top:10px;padding-top:16px;border-top:1px solid var(--line)}
.pb-stats div{display:flex;justify-content:space-between;gap:12px;font-size:.86rem}
.pb-stats span{color:var(--mut)}.pb-stats b{font-weight:500;font-variant-numeric:tabular-nums;text-align:right}
.pb-chart{min-width:0;overflow:hidden;min-height:300px;border-radius:18px;background:linear-gradient(180deg,#fbfbfa,#f6f6f4);border:1px solid var(--line);padding:10px 4px 0 10px}
.pricebox.lg .pb-chart{min-height:340px}
@media(max-width:900px){.pricebox,.pricebox.lg{grid-template-columns:1fr}}

.chart{position:relative;width:100%;min-width:0;overflow:hidden}
.chart canvas{display:block;touch-action:pan-y;cursor:crosshair}
.chart.chart-empty{display:flex;align-items:center;justify-content:center;min-height:240px}
.chart-tip{position:absolute;left:0;top:0;pointer-events:none;z-index:3;min-width:150px;padding:10px 12px;border-radius:12px;font-size:.76rem;line-height:1.45;
  background:rgba(14,14,18,.92);color:#f2f2f4;box-shadow:0 14px 34px rgba(0,0,0,.25);backdrop-filter:blur(6px);transition:transform .12s var(--ease)}
.chart-tip b{display:block;font-weight:500;margin-bottom:4px}.chart-tip .dim{color:#a3a3ad}
.chart-tip .tg{display:grid;grid-template-columns:auto auto;gap:2px 14px}.chart-tip .tg span:nth-child(odd){color:#a3a3ad}
.chart-tip .pos{color:#5fe3a1}.chart-tip .neg{color:#ff8a80}

.seg{display:inline-flex;gap:2px;padding:3px;border-radius:99px;background:var(--paper2);border:1px solid var(--line);align-self:flex-start;margin-bottom:8px}
.seg button{border:0;background:transparent;font:inherit;font-size:.8rem;padding:6px 14px;border-radius:99px;color:var(--mut);cursor:pointer;transition:background .3s var(--ease),color .2s,box-shadow .3s}
.seg button.on{background:var(--paper);color:var(--txt);box-shadow:0 1px 3px rgba(0,0,0,.08)}
.seg.sm button{padding:4px 11px;font-size:.76rem}
.chartcard .cc-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:8px}
.chartcard .cc-head h3{margin:0}

/* anillo de emisión */
.issue .ring-wrap{position:relative;width:170px;height:170px;margin:6px auto 18px}
.ring{width:100%;height:100%;transform:rotate(-90deg)}
.ring circle{fill:none;stroke-width:12}
.ring .track{stroke:var(--paper2)}
.ring .val{stroke:url(#rg);stroke-linecap:round}
.ring .val.inf{stroke-dasharray:4 9;opacity:.6}
.issue.in .ring .val:not(.inf){animation:ringIn 1.8s var(--ease) .15s both}
@keyframes ringIn{from{stroke-dasharray:0 400}}
.ring-c{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}
.ring-c b{font-size:2rem;font-weight:300;letter-spacing:-.03em;line-height:1}.ring-c span{font-size:.74rem;color:var(--mut)}

.holders{display:grid;gap:12px}
.hrow{display:grid;grid-template-columns:24px 1fr auto;gap:2px 10px;align-items:center;font-size:.86rem}
.hrow .hn{color:var(--dim);font-variant-numeric:tabular-nums}.hrow .hb{font-variant-numeric:tabular-nums}
.hrow .bar{grid-column:2/-1}

.toklist{display:grid}
.tokrow{display:grid;grid-template-columns:1.4fr 1fr 90px 130px;gap:12px;align-items:center;padding:12px 10px;border-radius:12px;color:var(--txt);
  border-bottom:1px solid var(--line);transition:background .25s,transform .35s var(--ease)}
.tokrow:last-child{border-bottom:0}
.tokrow:hover{background:var(--paper2);text-decoration:none;transform:translateX(4px)}
.tokrow .ts small{display:block;color:var(--mut);font-size:.76rem}
.tokrow .tp,.tokrow .tc{font-variant-numeric:tabular-nums;font-size:.9rem}
@media(max-width:620px){.tokrow{grid-template-columns:1fr auto}.tokrow .tc,.tokrow .tsk{display:none}}
.spark-s{width:120px;height:34px;display:block}
.spark-s path{fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1}
.spark-s.up path{stroke:var(--up)}.spark-s.down path{stroke:var(--down)}
.spark-s .flat{stroke:var(--line);stroke-width:1.5;stroke-dasharray:3 4}
.rv.in .spark-s path,.card:not(.rv) .spark-s path{animation:draw 1.6s var(--ease) .3s forwards}

/* ---------------- gobernanza ---------------- */
.vote-card .vc-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.vote-card .vc-head h3{margin:0}
.live-dot::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:currentColor;margin-right:6px;vertical-align:1px;animation:pulse 2s infinite}
.tally{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:14px 0 4px}
.tally>div{display:grid;grid-template-columns:1fr auto;align-items:baseline;font-size:.84rem}
.tally span{color:var(--mut)}.tally b{font-weight:500;font-variant-numeric:tabular-nums}
.tally .bar{grid-column:1/-1}
@media(max-width:560px){.tally{grid-template-columns:1fr}}
.vote-row{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0 8px}
.vbtn{flex:1;min-width:120px;display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:12px 16px;border-radius:14px;font:inherit;font-size:.92rem;cursor:pointer;
  background:var(--paper);border:1px solid var(--line);color:var(--txt);transition:border-color .25s,background .25s,transform .35s var(--ease),box-shadow .35s var(--ease)}
.vbtn:hover{transform:translateY(-2px);box-shadow:var(--shadow-1)}
.vbtn .vi{width:16px;height:16px;border-radius:50%;border:1.5px solid var(--dim);position:relative;transition:border-color .25s}
.vbtn .vi::after{content:"";position:absolute;inset:3px;border-radius:50%;background:currentColor;transform:scale(0);transition:transform .4s var(--ease)}
.vbtn.on .vi::after{transform:scale(1)}
.vbtn.si.on{border-color:#7fd6ab;background:#effaf4;color:#0c6b41}.vbtn.si.on .vi{border-color:#0c6b41}
.vbtn.no.on{border-color:#f2a8a2;background:#fdf1f0;color:#a3261c}.vbtn.no.on .vi{border-color:#a3261c}
.vbtn.abstencion.on{border-color:#c9c9cf;background:var(--paper2)}.vbtn.abstencion.on .vi{border-color:var(--txt)}
.vote-locked{margin-top:14px;padding:12px 14px;border-radius:12px;background:var(--paper2);color:var(--mut)}

/* wallet */
.big{display:inline-block}
.big-u{font-size:1.2rem;margin-left:8px}

/* accesibilidad: sin movimiento si el usuario lo pide */
@media(prefers-reduced-motion:reduce){
  .rv{opacity:1;transform:none;filter:none}
  .aurora i,.gridfx,.tick-in,.glass,.btn.glow{animation:none!important}
}
.split>div:last-child:nth-child(odd){grid-column:1/-1;border-right:0}
.split>div:last-child:nth-child(odd) .visual{max-width:640px}

/* v1.4 · legal, Bitcoin y recompra */
.legal{max-width:860px}
.legal-doc h2{font-size:1.25rem;font-weight:500;margin:1.6em 0 .5em}
.legal-doc h2:first-child{margin-top:0}
.legal-doc p,.legal-doc li{color:#33333a;line-height:1.7}
.legal-doc mark{background:#fff3c4;color:#6b4b00;border-radius:4px;padding:0 3px}
.legal-tabs{margin:0 0 16px;flex-wrap:wrap}
.legal-tabs a{font-size:.8rem;padding:6px 14px;border-radius:99px;color:var(--mut);text-decoration:none}
.legal-tabs a.on{background:var(--paper);color:var(--txt);box-shadow:0 1px 3px rgba(0,0,0,.08)}
.btcpay{margin-top:18px;padding:18px;border-radius:16px;border:1px dashed #f7931a;background:linear-gradient(160deg,#fff8ef,#fff)}
.btcpay h3{margin-top:0}
.foot-grid{grid-template-columns:1.4fr 1fr 1fr 1fr 1fr}
@media(max-width:900px){.foot-grid{grid-template-columns:1fr 1fr}}
/* v1.6: cobro en Bitcoin */
.btcpay .qrbox{display:inline-block;padding:12px;background:#fff;border-radius:18px;border:1px solid var(--line);box-shadow:0 10px 30px -14px rgba(0,0,0,.25);margin:4px auto 14px}
.btcpay .qr{display:block;width:232px;height:232px;max-width:70vw;max-height:70vw}
.btcpay .big{margin:6px 0}
details h4{margin:0 0 8px;font-size:.95rem;font-weight:550}
code{overflow-wrap:anywhere}
/* v1.6.1: diseño de la página de pago de cada tienda */
.brand-co{--bi:#fff;--br:18px;padding:18px 18px 6px;border-radius:calc(var(--br) + 10px);background:linear-gradient(180deg,var(--bs),transparent 240px),var(--paper);border:1px solid var(--line);box-shadow:inset 0 4px 0 var(--b)}
.brand-co .card{border-radius:var(--br)}
.brand-co .btn:not(.sec){background:var(--b);border-color:var(--b);color:var(--bi)}
.brand-co .btn{border-radius:min(99px,calc(var(--br) * 2))}
.brand-co .btn.sec{border-radius:min(99px,calc(var(--br) * 2))}
.brand-co .big,.brand-co h2{color:inherit}
.brand-co .btcpay{border-color:var(--b);background:linear-gradient(160deg,var(--bs),transparent)}
.brand-co .qrbox{border-radius:var(--br)}
.brand-co .okmark{background:var(--b);color:var(--bi)}
.brand-co a:not(.btn){color:var(--b)}
.brand-co.dk{background:linear-gradient(180deg,var(--bs),transparent 240px),#0e0e12;border-color:#24242a;color:#f2f2f4}
.brand-co.dk .card{background:#15151a;border-color:#2a2a31;color:#f2f2f4;box-shadow:none}
.brand-co.dk .mut,.brand-co.dk .kv>div:nth-child(odd){color:#a3a3ad}
.brand-co.dk .dim{color:#7c7c86}
.brand-co.dk .btn.sec{background:#1d1d23;color:#f2f2f4;border-color:#2f2f37}
.brand-co.dk input{background:#1d1d23;border-color:#2f2f37;color:#f2f2f4}
.brand-co.dk .alert.info{background:#14203d;border-color:#22345f;color:#c9d8ff}
.brand-co.dk .alert.warn{background:#2b2010;border-color:#4a3615;color:#ffd8a3}
.brand-co.dk .alert.ok{background:#0f2a1d;border-color:#1b4630;color:#a8ebc8}
.brand-co.dk .alert.bad{background:#2d1312;border-color:#4b1f1c;color:#ffbcb6}
.brand-co.dk .pill{background:#1d1d23;border-color:#2f2f37;color:#d0d0d8}
.brand-co.dk code{background:#1d1d23;border-color:#2f2f37}
.brand-co.dk a:not(.btn){color:var(--b);filter:brightness(1.25)}

/* editor de diseño (portada y wallet de comercio) */
.gwsec{background:var(--paper2)}
.brandedit{display:grid;grid-template-columns:minmax(260px,380px) 1fr;gap:32px;align-items:start;margin-top:8px}
.be-ctl{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:22px}
details .brandedit{grid-template-columns:1fr;margin-top:14px}
@media(min-width:1100px){details .brandedit{grid-template-columns:minmax(240px,320px) 1fr}}
@media(max-width:860px){.brandedit{grid-template-columns:1fr}}
.be-ctl .lbl{font-size:.84rem;color:var(--mut);margin:4px 0 8px}
.be-ctl label{min-width:0}
.swatches{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:16px}
.sw{width:34px;height:34px;border-radius:50%;border:2px solid var(--paper);box-shadow:0 0 0 1px var(--line);cursor:pointer;padding:0;transition:transform .15s}
.sw:hover{transform:scale(1.08)}
.sw.on{box-shadow:0 0 0 2px var(--txt)}
.sw:focus-visible{outline:2px solid var(--blue);outline-offset:3px}
.sw-2f6bff{background:#2f6bff}.sw-ff8a1f{background:#ff8a1f}.sw-14915a{background:#14915a}
.sw-7c3aed{background:#7c3aed}.sw-d4372c{background:#d4372c}.sw-111114{background:#111114}
.swc{flex:0 0 auto;margin:0;min-width:0}
.swc input{width:44px;height:36px;padding:2px;margin:0;border-radius:10px;cursor:pointer}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.seg{display:inline-flex;background:var(--paper2);border:1px solid var(--line);border-radius:99px;padding:3px;margin-bottom:12px}
.seg button{border:0;background:transparent;font:inherit;font-size:.84rem;color:var(--mut);padding:6px 14px;border-radius:99px;cursor:pointer}
.seg button.on{background:var(--paper);color:var(--txt);box-shadow:0 1px 3px rgba(0,0,0,.1)}
.seg button:focus-visible{outline:2px solid var(--blue)}
input[type=range]{padding:0;border:0;accent-color:var(--blue);background:transparent}
.warn-t{color:var(--warn)}
.be-prev{position:relative;min-width:0}
.be-prev .checkout{max-width:520px;margin:0 auto;pointer-events:none;user-select:none}
.prevtag{text-align:center;font-size:.72rem;letter-spacing:.04em;text-transform:uppercase;color:var(--dim);margin-bottom:10px}
.be-prev .btcpay .qr{width:160px;height:160px}
.be-prev .checkout{transition:background-color .25s,border-color .25s}
/* v1.6.2: efecto resplandor (azul ← negro → ámbar) en la pasarela y el editor */
.gwsec{background:radial-gradient(60% 120% at 0% 100%,rgba(30,64,160,.18),transparent 60%),radial-gradient(50% 120% at 100% 100%,rgba(140,80,20,.16),transparent 60%),var(--paper2)}
.brand-co{background:radial-gradient(70% 90% at 0% 0%,var(--bs),transparent 70%),radial-gradient(60% 80% at 100% 100%,rgba(255,138,31,.10),transparent 70%),var(--paper)}
.brand-co.dk{background:linear-gradient(90deg,rgba(20,52,130,.55) 0%,#111226 28%,#0c0c0e 55%,#14110c 78%,rgba(92,52,12,.6) 100%),#0c0c0e;border-color:#23232b}
.brand-co.dk .card{background:rgba(18,18,24,.72);backdrop-filter:blur(6px)}
.brand-co .btn:not(.sec){background:linear-gradient(100deg,var(--b),color-mix(in srgb,var(--b) 70%,#ff8a1f));border-color:transparent;box-shadow:0 8px 24px -10px var(--b)}
.brand-co .btn:not(.sec):hover{filter:brightness(1.08);box-shadow:0 10px 30px -8px var(--b)}
.brand-co.dk .btn:not(.sec){box-shadow:0 0 0 1px rgba(255,255,255,.06),0 0 26px -4px var(--b)}
/* muestras de color con resplandor */
.sw{background-image:radial-gradient(circle at 30% 30%,rgba(255,255,255,.35),transparent 55%)}
.sw.on{box-shadow:0 0 0 2px var(--paper),0 0 0 4px currentColor,0 0 16px rgba(47,107,255,.45)}
/* editor: panel con resplandor y modo oscuro completo */
.be-ctl{background:radial-gradient(80% 60% at 0% 0%,rgba(47,107,255,.08),transparent 70%),radial-gradient(70% 60% at 100% 100%,rgba(255,138,31,.08),transparent 70%),var(--paper);transition:background .3s,color .3s,border-color .3s}
.brandedit.dk .be-ctl{background:linear-gradient(90deg,rgba(20,52,130,.5),#101122 35%,#0c0c0e 65%,rgba(92,52,12,.5)),#0c0c0e;border-color:#23232b;color:#f2f2f4}
.brandedit.dk .be-ctl label,.brandedit.dk .be-ctl .lbl,.brandedit.dk .be-ctl .dim{color:#a3a3ad}
.brandedit.dk .be-ctl input:not([type=range]):not([type=color]){background:#16161c;border-color:#2c2c34;color:#f2f2f4}
.brandedit.dk .seg{background:#16161c;border-color:#2c2c34}
.brandedit.dk .seg button{color:#a3a3ad}.brandedit.dk .seg button.on{background:#26262e;color:#fff}
.brandedit.dk .btn.sec{background:#16161c;color:#f2f2f4;border-color:#2c2c34}
.brandedit.dk .sw{border-color:#0c0c0e}
.be-ctl .btn:not(.sec){background:linear-gradient(100deg,#2f6bff,#7a5cff 55%,#ff8a1f);border-color:transparent;color:#fff;box-shadow:0 8px 24px -10px rgba(47,107,255,.7)}
.seg.thm button{font-weight:500;padding:7px 16px}
.seg.thm button.on{background:linear-gradient(100deg,#2f6bff,#ff8a1f);color:#fff}
input[type=range]{accent-color:var(--b,#2f6bff)}
/* v1.6.3: estilo de la portada (tarjeta oscura sobria, borde fino, halo suave azul-violeta y ámbar alrededor) */
.gwsec{background:radial-gradient(45% 60% at 30% 55%,rgba(70,80,160,.16),transparent 70%),radial-gradient(40% 50% at 85% 95%,rgba(200,110,30,.14),transparent 70%),var(--paper2)}
.brand-co.dk,.brandedit.dk .be-ctl{background:#0e0e12;border:1px solid #2a2a33;color:#f2f2f4;
  box-shadow:0 0 0 1px rgba(255,255,255,.02),-40px 30px 90px -20px rgba(90,100,200,.35),40px 50px 110px -20px rgba(200,110,30,.30)}
.brand-co.dk{border-top-color:#2a2a33}
.brand-co.dk .card{background:#131318;border-color:#26262e;backdrop-filter:none;box-shadow:none}
.brand-co.dk .btcpay{background:#131318;border:1px solid #26262e}
.brand-co .btn:not(.sec){background:var(--b);box-shadow:0 0 22px -6px var(--b)}
.brand-co.dk .btn:not(.sec){box-shadow:0 0 0 1px rgba(255,255,255,.06),0 0 24px -6px var(--b)}
.brand-co.dk h2,.brand-co.dk .big{font-weight:300;letter-spacing:-.02em}
.be-ctl .btn:not(.sec){background:#111114;box-shadow:none}
.brandedit.dk .be-ctl .btn:not(.sec){background:#f2f2f4;color:#111114}
.seg.thm button.on{background:var(--paper);color:var(--txt);box-shadow:0 1px 3px rgba(0,0,0,.12)}
.brandedit.dk .seg.thm button.on{background:#26262e;color:#fff}
/* v1.6.4: controles del editor con acabado y animación */
.swatches{gap:12px}
.sw{position:relative;width:30px;height:30px;border:0;border-radius:50%;background-image:none;
  box-shadow:inset 0 1px 1px rgba(255,255,255,.25),inset 0 -2px 4px rgba(0,0,0,.25),0 2px 6px -2px rgba(0,0,0,.35);
  transition:transform .35s cubic-bezier(.34,1.56,.64,1),box-shadow .3s}
.sw::after{content:"";position:absolute;inset:-5px;border-radius:50%;border:1.5px solid currentColor;opacity:0;transform:scale(.7);
  transition:opacity .3s,transform .4s cubic-bezier(.34,1.56,.64,1)}
.sw:hover{transform:translateY(-2px) scale(1.08)}
.sw.on{transform:scale(1.04);box-shadow:inset 0 1px 1px rgba(255,255,255,.3),inset 0 -2px 4px rgba(0,0,0,.25),0 0 18px -2px var(--g)}
.sw.on::after{opacity:.9;transform:scale(1)}
.sw-2f6bff{--g:#2f6bff;color:#2f6bff}.sw-ff8a1f{--g:#ff8a1f;color:#ff8a1f}.sw-14915a{--g:#14915a;color:#14915a}
.sw-7c3aed{--g:#7c3aed;color:#7c3aed}.sw-d4372c{--g:#d4372c;color:#d4372c}.sw-111114{--g:#6c6c80;color:#8a8a98}
.swc{position:relative;width:30px;height:30px;border-radius:50%;padding:2px;
  background:conic-gradient(from 0deg,#ff4d4d,#ffb347,#f5e663,#3ddc84,#2fb8ff,#7c3aed,#ff4dd2,#ff4d4d);
  transition:transform .35s cubic-bezier(.34,1.56,.64,1)}
.swc:hover{transform:rotate(25deg) scale(1.08)}
.swc input{width:26px;height:26px;padding:0;border:2px solid var(--paper);border-radius:50%;margin:0;background:none;cursor:pointer;overflow:hidden}
.swc input::-webkit-color-swatch-wrapper{padding:0}.swc input::-webkit-color-swatch{border:0;border-radius:50%}
.swc input::-moz-color-swatch{border:0;border-radius:50%}
.brandedit.dk .swc input{border-color:#0e0e12}
/* deslizador */
input[type=range]{-webkit-appearance:none;appearance:none;height:22px;background:transparent;cursor:pointer;--p:75%}
input[type=range]::-webkit-slider-runnable-track{height:6px;border-radius:99px;
  background:linear-gradient(90deg,var(--b,#2f6bff) 0,color-mix(in srgb,var(--b,#2f6bff) 60%,#ff8a1f) var(--p),rgba(128,128,140,.22) var(--p));box-shadow:inset 0 1px 2px rgba(0,0,0,.2)}
input[type=range]::-moz-range-track{height:6px;border-radius:99px;background:rgba(128,128,140,.22)}
input[type=range]::-moz-range-progress{height:6px;border-radius:99px;background:linear-gradient(90deg,var(--b,#2f6bff),color-mix(in srgb,var(--b,#2f6bff) 60%,#ff8a1f))}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;margin-top:-6px;border-radius:50%;background:#fff;border:0;
  box-shadow:0 0 0 4px color-mix(in srgb,var(--b,#2f6bff) 30%,transparent),0 2px 8px rgba(0,0,0,.35);transition:transform .25s cubic-bezier(.34,1.56,.64,1),box-shadow .25s}
input[type=range]::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:#fff;border:0;box-shadow:0 0 0 4px color-mix(in srgb,var(--b,#2f6bff) 30%,transparent),0 2px 8px rgba(0,0,0,.35)}
input[type=range]:hover::-webkit-slider-thumb,input[type=range]:active::-webkit-slider-thumb{transform:scale(1.18);box-shadow:0 0 0 7px color-mix(in srgb,var(--b,#2f6bff) 25%,transparent),0 0 18px var(--b,#2f6bff)}
input[type=range]:focus-visible{outline:none}
input[type=range]:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 7px color-mix(in srgb,var(--b,#2f6bff) 40%,transparent)}
/* segmentos con píldora animada */
.seg button{transition:background .3s,color .3s,box-shadow .3s,transform .2s}
.seg button:active{transform:scale(.96)}
/* vista previa: transición suave al cambiar */
.be-prev[data-anim] .prevco{animation:prevIn .45s cubic-bezier(.22,1,.36,1)}
@keyframes prevIn{from{opacity:.4;transform:translateY(6px) scale(.99)}to{opacity:1;transform:none}}
.brand-co .btn:not(.sec){transition:background .35s,box-shadow .35s,transform .2s}
@media(prefers-reduced-motion:reduce){.sw,.sw::after,.swc,.be-prev .prevco,input[type=range]::-webkit-slider-thumb{transition:none;animation:none}}
