:root { --bg:#090909; --s1:#101010; --s2:#161616; --line:#242424; --line2:#333; --text:#f4f4f4; --muted:#8c8c8c; --soft:#b5b5b5; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--bg); color:var(--text); font:400 16px/1.65 Inter,"SF Pro Display","Segoe UI",system-ui,-apple-system,sans-serif; -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; }
a { color:var(--text); text-decoration:none; } a:hover { color:#fff; }
p a, li a { text-decoration:underline; text-decoration-color:var(--line2); text-underline-offset:3px; } p a:hover, li a:hover { text-decoration-color:var(--soft); }

header.top { position:sticky; top:0; z-index:5; background:rgba(9,9,9,.92); border-bottom:1px solid var(--line); }
.bar { max-width:1120px; margin:0 auto; padding:18px 28px; display:flex; align-items:center; gap:28px; }
.brand { display:flex; align-items:center; gap:10px; font-weight:500; letter-spacing:-.01em; font-size:15.5px; }
.mark { display:inline-block; width:20px; height:20px; background:url('/assets/logo.svg') center/contain no-repeat; border:0; border-radius:0; flex:none; vertical-align:middle; }
nav.main { display:flex; gap:26px; margin-left:12px; font-size:14px; }
nav.main a { color:var(--muted); transition:color .2s; } nav.main a:hover, nav.main a.on { color:var(--text); }
.page h2 { margin-top:60px; }
.page .actions + h2, .page p + h2 { margin-top:60px; }
a.pill, p a.pill { text-decoration:none; }
.pill { position:relative; will-change:transform; overflow:hidden; isolation:isolate; display:inline-block; padding:10px 20px; border-radius:999px; font-size:14px; font-weight:500; border:1px solid var(--line2); color:var(--text); transition:transform .35s cubic-bezier(.1,0,.1,1),box-shadow .35s cubic-bezier(.1,0,.1,1),background .3s,border-color .3s,color .3s; }
.pill svg { transition:transform .35s cubic-bezier(.1,0,.1,1); }
.pill:hover { transform:scale(1.035); border-color:rgba(94,234,212,.55); background:linear-gradient(180deg,rgba(255,255,255,.12),rgba(255,255,255,.05)); box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 12px 28px rgba(0,0,0,.45),0 0 22px rgba(94,234,212,.18); }
.pill.solid { background:var(--text); color:#0a0a0a; border-color:var(--text); }
.pill:hover svg { transform:scale(1.12); }
.pill:focus-visible { outline:2px solid #5eead4; outline-offset:3px; }
@media (prefers-reduced-motion:reduce) { .pill, .pill svg { transition:none; } .pill:hover { transform:none; } }
.pill[aria-disabled="true"] { opacity:.5; pointer-events:none; }
header.top .pill { padding:8px 16px; }

main { max-width:1120px; margin:0 auto; padding:0 28px 8px; }
.hero { padding:56px 0 72px; border-bottom:1px solid var(--line); }
.eyebrow { font-size:12px; letter-spacing:.16em; text-transform:uppercase; color:var(--muted); margin:0 0 22px; }
h1 { font-size:clamp(38px,6.4vw,76px); line-height:1.03; letter-spacing:-.04em; font-weight:500; margin:0 0 26px; max-width:920px; }
h2 { font-size:clamp(26px,3.4vw,38px); line-height:1.15; letter-spacing:-.03em; font-weight:500; margin:0 0 18px; }
h3 { font-size:18px; font-weight:500; letter-spacing:-.01em; margin:0 0 8px; }
p.lead { font-size:19px; line-height:1.6; color:var(--soft); max-width:640px; margin:0 0 36px; font-weight:300; }
.muted { color:var(--muted); }
.actions { display:flex; gap:12px; flex-wrap:wrap; }

section.block { padding:80px 0; border-bottom:1px solid var(--line); }
section.block:last-of-type { border-bottom:0; }
.head { display:grid; grid-template-columns:1fr 2fr; gap:40px; margin-bottom:44px; }
.head p { color:var(--soft); margin:0; font-weight:300; font-size:17px; }
.rows { border-top:1px solid var(--line); }
.row { display:grid; grid-template-columns:70px 1fr 1.4fr; gap:24px; padding:30px 0; border-bottom:1px solid var(--line); align-items:baseline; }
.row .n { color:var(--muted); font-size:13px; letter-spacing:.1em; }
.row p { margin:0; color:var(--soft); font-weight:300; }
.cards { display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:18px; }
.card { background:var(--s1); border:1px solid var(--line); border-radius:18px; padding:30px; transition:border-color .2s; }
.card:hover { border-color:var(--line2); }
.card p { color:var(--soft); font-weight:300; margin:0 0 18px; }
.tag { display:inline-flex; align-items:center; gap:7px; font-size:11.5px; font-weight:500; letter-spacing:.1em; text-transform:uppercase; color:var(--soft); border:1px solid rgba(255,255,255,.13); border-radius:999px; padding:5px 13px 5px 11px; margin-bottom:18px; background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.025)); box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 2px 8px rgba(0,0,0,.3); }
.tag::before { content:""; width:5px; height:5px; border-radius:50%; background:#5eead4; opacity:.75; flex:none; }
.steps { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:34px; }
.steps .n { color:var(--muted); font-size:13px; letter-spacing:.1em; display:block; margin-bottom:12px; }
.steps p { color:var(--soft); font-weight:300; margin:0; font-size:15px; }
.cta { text-align:left; }
.cta h2 { font-size:clamp(30px,4.6vw,54px); max-width:760px; }

.page { padding:48px 0 0; }
.page h1 { font-size:clamp(34px,5vw,56px); }
table { width:100%; border-collapse:collapse; margin:22px 0; font-size:15px; }
th, td { text-align:left; padding:14px 12px 14px 0; border-bottom:1px solid var(--line); vertical-align:top; }
th { color:var(--muted); font-weight:400; font-size:13px; letter-spacing:.06em; text-transform:uppercase; }
td { color:var(--soft); font-weight:300; } td b { color:var(--text); font-weight:500; }
ul, ol { padding-left:22px; color:var(--soft); font-weight:300; } li { margin:6px 0; } li b, p b { color:var(--text); font-weight:500; }
p { color:var(--soft); font-weight:300; }
code { background:var(--s2); border:1px solid var(--line); padding:1px 7px; border-radius:6px; font-size:.9em; }
.note { border:1px solid var(--line2); background:var(--s1); padding:16px 20px; border-radius:14px; margin:22px 0; color:var(--soft); font-weight:300; }
.docs { display:grid; grid-template-columns:210px 1fr; gap:56px; padding-top:56px; }
.docs aside { position:sticky; top:92px; align-self:start; font-size:14px; }
.docs aside b { display:block; margin-bottom:14px; font-weight:500; }
.docs aside a { display:block; color:var(--muted); padding:6px 0; } .docs aside a:hover { color:var(--text); }
.docs article h2 { font-size:26px; margin:48px 0 14px; } .docs article h2:first-child { margin-top:0; }
.docs article h3 { margin-top:26px; }
.legal { max-width:740px; padding-top:72px; } .legal h1 { font-size:clamp(32px,4.4vw,48px); } .legal h2 { font-size:22px; margin:40px 0 10px; }

footer.site { border-top:1px solid var(--line); }
footer.site .bar { flex-wrap:wrap; font-size:13.5px; color:var(--muted); gap:14px 28px; padding:34px 28px; }
footer.site a { color:var(--muted); } footer.site a:hover { color:var(--text); }
footer.site .sp { flex:1; }
@media (max-width:820px) {
  .head, .row { grid-template-columns:1fr; gap:10px; } .docs { grid-template-columns:1fr; gap:24px; } .docs aside { position:static; }
  .hero { padding:36px 0 48px; } section.block { padding:56px 0; } nav.main { gap:16px; font-size:13px; } .bar { padding:14px 20px; } main { padding:0 20px 8px; }
}

.plans-wrap { margin:30px 0 8px; }
.pl-r { position:absolute; opacity:0; pointer-events:none; }
.pl-toggle { display:flex; width:max-content; margin:0 auto 26px; padding:4px; border-radius:999px; background:rgba(255,255,255,.045); border:1px solid var(--line); }
.pl-toggle label { cursor:pointer; padding:8px 18px; border-radius:999px; font-size:14px; font-weight:550; color:var(--muted); transition:.2s; }
.pl-toggle label small { color:var(--text); opacity:.75; font-weight:600; margin-left:6px; }
#bill-m:checked ~ .pl-toggle label[for="bill-m"], #bill-y:checked ~ .pl-toggle label[for="bill-y"] { background:rgba(255,255,255,.12); color:var(--text); box-shadow:0 1px 0 rgba(255,255,255,.08) inset; }
#bill-m:focus-visible ~ .pl-toggle label[for="bill-m"], #bill-y:focus-visible ~ .pl-toggle label[for="bill-y"] { outline:2px solid var(--soft); outline-offset:2px; }
.pl-cards { display:grid; grid-template-columns:repeat(auto-fit,minmax(290px,1fr)); gap:18px; max-width:760px; margin:0 auto; }
.plan { position:relative; padding:28px; border-radius:20px; background:var(--s1); border:1px solid var(--line); display:flex; flex-direction:column; gap:14px; }
.plan.pro { border-color:rgba(255,255,255,.28); background:linear-gradient(180deg,#141414,#101010); }
.plan h3 { margin:0; font-size:18px; font-weight:600; display:flex; align-items:center; gap:10px; }
.plan .badge { font-size:11px; font-weight:600; padding:3px 9px; border-radius:999px; border:1px solid var(--line2); color:var(--soft); }
.plan .sub { margin:0; color:var(--muted); font-size:14px; font-weight:300; }
.plan .price { font-size:44px; font-weight:500; letter-spacing:-.03em; line-height:1.1; }
.plan .price small { font-size:15px; color:var(--muted); font-weight:400; letter-spacing:0; margin-left:4px; }
.plan .bill { min-height:22px; color:var(--muted); font-size:13.5px; }
.plan ul { list-style:none; margin:6px 0 0; padding:0; display:flex; flex-direction:column; gap:10px; }
.plan li { display:flex; gap:10px; color:var(--soft); font-size:14.5px; font-weight:300; line-height:1.5; }
.plan li svg { flex:none; margin-top:3px; color:var(--text); }
.plan .pill { text-align:center; margin-top:6px; }
#bill-m:checked ~ .pl-cards .y, #bill-y:checked ~ .pl-cards .m { display:none; }

.psub { display:flex; gap:6px; margin:0 0 28px; padding:4px; width:max-content; border:1px solid var(--line); border-radius:999px; background:rgba(255,255,255,.04); }
.psub a { padding:7px 18px; border-radius:999px; font-size:14px; font-weight:500; color:var(--muted); text-decoration:none; }
.psub a:hover { color:var(--text); }
.psub a.on { background:rgba(255,255,255,.12); color:var(--text); }

.pricing-hero { text-align:center; padding:0 0 6px; }
.pricing-hero h1 { margin:0 auto 12px; max-width:none; font-size:clamp(38px,6vw,60px); font-weight:700; letter-spacing:-.035em; }
.pricing-hero .sub { color:var(--muted); font-size:18px; margin:0 0 6px; }
.pricing-hero + .plans-wrap { margin-top:26px; }
.plan .price { font-size:54px; font-weight:700; letter-spacing:-.04em; line-height:1; }
.plan .badge { background:var(--text); color:#0a0a0a; border-color:var(--text); padding:4px 11px; }
.plan ul { padding-top:18px; border-top:1px solid var(--line); margin-top:4px; }
.plan .pill { display:block; width:100%; padding:13px; font-weight:600; }
.plan.pro { background:var(--s1); }
.pl-cards { max-width:820px; }
.pdet { max-width:760px; margin:14px auto 0; padding:16px 20px; border-radius:18px; background:rgba(255,255,255,.04); border:1px solid var(--line); }
.pdet summary { cursor:pointer; font-weight:600; }
.pdet p { color:var(--muted); font-size:14.5px; margin:10px 0 0; }
.pdet table { font-size:14px; }

.phero { text-align:center; max-width:680px; margin:0 auto; padding:0 0 48px; }
.phero h1 { font-size:clamp(36px,6vw,60px); margin:0 auto 18px; }
.phero .lead { margin:0 auto 30px; }
.phero .actions { justify-content:center; }
.phero .free { opacity:.6; font-weight:400; margin-left:6px; }
.phero .pill { padding:13px 24px; font-size:15px; }
.phero .sites { display:flex; justify-content:center; gap:8px; margin-top:30px; flex-wrap:wrap; }
@media (max-width:760px) { .phero { padding-top:0; } }

.bar .hr { margin-left:auto; display:flex; align-items:center; gap:18px; position:relative; }
.card.link { position:relative; transition:border-color .2s; }
.card.link:hover { border-color:var(--soft); }
.card.link a.stretch::after { content:""; position:absolute; inset:0; border-radius:inherit; }
.card.link .pill { position:relative; will-change:transform; z-index:1; }

header.top { background:none; border-bottom:0; padding:12px 16px 0; }
header.top .bar { max-width:1120px; padding:10px 14px 10px 20px; gap:22px; background:rgba(16,16,16,.94); border:1px solid var(--line2); border-radius:18px; box-shadow:0 8px 30px rgba(0,0,0,.45); }
header.top nav.main { margin-left:6px; gap:22px; }
header.top nav.main a { color:var(--soft); }
header.top nav.main a:hover, header.top nav.main a.on { color:var(--text); }
header.top .pill { padding:9px 18px; }
@media (max-width:760px) { header.top { padding:8px 10px 0; } header.top .bar { padding:10px 14px; gap:12px; flex-wrap:wrap; } header.top nav.main { order:3; width:100%; margin:0; overflow-x:auto; } }

.bar .hr a.signin { color:var(--soft); font-size:14px; } .bar .hr a.signin:hover { color:var(--text); }

/* acento menta suave */
:root { --mint:#9bd3a8; }
body { background:radial-gradient(900px 420px at 18% -80px, rgba(155,211,168,.07), transparent 70%), radial-gradient(700px 380px at 100% 0, rgba(120,110,255,.05), transparent 70%), var(--bg); background-attachment:fixed; }
.eyebrow { color:var(--mint); opacity:.85; }
.pill.solid { background:linear-gradient(180deg,#fff,#dfe3df); box-shadow:0 1px 0 rgba(255,255,255,.9) inset, 0 6px 18px rgba(155,211,168,.2), 0 8px 20px rgba(0,0,0,.45); font-weight:600; }
.pill.solid:hover { transform:scale(1.035); background:linear-gradient(180deg,#fff,#d3f6ee); border-color:rgba(94,234,212,.9); box-shadow:0 1px 0 rgba(255,255,255,.9) inset, 0 0 0 4px rgba(94,234,212,.2), 0 10px 28px rgba(94,234,212,.38), 0 12px 26px rgba(0,0,0,.5); }
.card { background:linear-gradient(180deg,rgba(255,255,255,.03),transparent 60%),var(--s1); box-shadow:0 10px 30px rgba(0,0,0,.35); transition:border-color .2s,transform .2s,box-shadow .2s; }
.card:hover { border-color:rgba(155,211,168,.4); transform:translateY(-2px); box-shadow:0 14px 34px rgba(0,0,0,.45), 0 0 0 1px rgba(155,211,168,.08); }
.tag { color:var(--mint); border-color:rgba(155,211,168,.3); background:rgba(155,211,168,.06); }
.row .n, .steps .n { color:var(--mint); opacity:.75; }
header.top { box-shadow:0 8px 24px rgba(0,0,0,.35); }
nav.main a.on { box-shadow:0 2px 0 var(--mint); }
.pl-toggle { box-shadow:0 6px 18px rgba(0,0,0,.35); }

/* Tabla comparativa Free vs Pro */
.cmp { width:100%; border-collapse:collapse; margin-top:10px; }
.cmp th { text-align:center; font-size:13px; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); font-weight:500; padding:10px 8px; }
.cmp th:first-child { text-align:left; }
.cmp td { padding:13px 8px; border-top:1px solid var(--line); }
.cmp td.c { text-align:center; width:96px; }
.cmp tr.pr td { color:var(--text); }
.cmp tr.pr td:not(:first-child) { text-align:center; color:var(--soft); font-size:13px; }
.ck { display:inline-grid; place-items:center; width:26px; height:26px; border-radius:50%; font-size:14px; font-weight:700; line-height:1; }
.ck.y { color:#06130e; background:#9bd3a8; box-shadow:0 0 14px rgba(155,211,168,.35); }
.ck.n { color:#e08a8a; background:rgba(224,100,100,.12); border:1px solid rgba(224,100,100,.35); }
@media (max-width:560px) { .cmp td, .cmp th { padding:11px 4px; font-size:13px; } .cmp td.c { width:64px; } }
.plan .alt { margin:0; text-align:center; color:var(--muted); font-size:13.5px; }
.plan .alt a { color:var(--soft); text-decoration:underline; }
.plan .bill b { color:var(--text); font-weight:600; }

.muted.fine { text-align:center; font-size:12px; line-height:1.5; max-width:none; margin:16px auto; }
.cmp .soon { color:var(--muted); font-size:.9em; white-space:nowrap; }

/* botones de tienda (hero) */
.cta-free { display:inline-flex; align-items:center; gap:8px; margin:0 0 18px; padding:6px 14px 6px 10px; border-radius:999px; font-size:12px; font-weight:600; line-height:1; letter-spacing:.06em; color:#d9fffa; background:linear-gradient(180deg,rgba(94,234,212,.16),rgba(94,234,212,.05)); border:1px solid rgba(94,234,212,.35); box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 0 20px rgba(94,234,212,.18); }
.cta-free i { width:7px; height:7px; border-radius:50%; background:#5eead4; box-shadow:0 0 8px #5eead4; }
.store-row { display:flex; gap:10px; justify-content:center; flex-wrap:nowrap; width:max-content; max-width:100vw; margin:0 auto; }
@media (max-width:700px) { .store-row { display:grid; grid-template-columns:repeat(2,1fr); width:auto; } .pill.store { min-width:0; } }
.pill.store { display:inline-flex; align-items:center; justify-content:center; gap:9px; min-width:150px; min-height:48px; box-sizing:border-box; padding:12px 20px; font-weight:550; line-height:1.1; }
.pill.store.off { flex-direction:column; gap:3px; padding:9px 20px; opacity:.42; pointer-events:none; background:rgba(255,255,255,.03); border-color:rgba(255,255,255,.1); }
.pill.store img { flex:none; display:block; }
.pill.store.off img { filter:grayscale(.3); }
.pill.store.off .lab { display:inline-flex; align-items:center; gap:9px; }
.pill.store.off small { font-size:10.5px; font-weight:500; letter-spacing:.05em; color:var(--soft); }

/* Menú de la cabecera: avatar de cuenta + cuadrícula de 9 puntos (productos, ayuda, idioma) y selector de idioma del pie */
.bar .hr { gap:12px; }
.acct { width:38px; height:38px; border-radius:50%; display:grid; place-items:center; color:var(--soft); background:rgba(255,255,255,.06); border:1px solid var(--line2); transition:border-color .3s cubic-bezier(.1,0,.1,1), color .3s, box-shadow .3s; }
.acct:hover, .acct.on { color:var(--text); border-color:rgba(255,255,255,.4); box-shadow:0 0 14px rgba(62,230,168,.14); }
.acct.in { color:#0b0c0e; background:var(--text); border-color:var(--text); }
.appmenu { position:relative; }
.appbtn { width:38px; height:38px; display:grid; place-items:center; border-radius:12px; border:1px solid transparent; background:none; color:var(--soft); cursor:pointer; transition:background .25s, color .25s, border-color .25s; }
.appmenu:hover .appbtn, .appmenu.open .appbtn { background:rgba(255,255,255,.08); color:var(--text); }
.appdrop { display:none; position:absolute; right:-6px; top:100%; padding-top:14px; z-index:30; }
.appmenu.open .appdrop { display:block; }
.mn-wrap { display:grid; grid-template-columns:minmax(0,1fr) 190px; width:min(780px,calc(100vw - 28px)); background:#111214; border:1px solid var(--line2); border-radius:20px; box-shadow:0 0 40px rgba(62,230,168,.06), 0 28px 70px rgba(0,0,0,.6); padding:22px; gap:22px; }
.mn-left { min-height:220px; padding-right:22px; border-right:1px solid var(--line); }
.mn-cols { display:grid; grid-template-columns:1fr 1fr; gap:22px; }
.mn-wrap h4 { margin:0 0 12px; font-size:12px; letter-spacing:.12em; text-transform:uppercase; color:var(--muted); font-weight:600; }
.mn-item { display:flex; gap:12px; align-items:flex-start; padding:10px; margin:0 -10px 4px; border-radius:14px; color:var(--text); transition:background .25s; }
a.mn-item:hover { background:rgba(255,255,255,.06); }
.mn-item b { display:block; font-size:14.5px; font-weight:600; line-height:1.3; } .mn-item small { display:block; color:var(--muted); font-size:12.5px; line-height:1.4; font-weight:400; margin-top:2px; }
.mn-item.off { opacity:.55; }
.mn-ico { flex:none; width:42px; height:42px; border-radius:12px; display:grid; place-items:center; background:rgba(255,255,255,.06); border:1px solid var(--line); color:var(--soft); } .mn-ico i { width:16px; height:16px; border-radius:5px; border:2px dashed #555; }
.mn-wrap em { font-style:normal; font-size:10.5px; font-weight:600; padding:2px 7px; border-radius:999px; border:1px solid var(--line2); color:var(--muted); margin-left:6px; vertical-align:middle; }
.mn-right { display:flex; flex-direction:column; justify-content:flex-start; }
.mn-links { display:grid; gap:2px; } .mn-links a { padding:8px 10px; margin:0 -10px; border-radius:10px; color:var(--soft); font-size:14.5px; } .mn-links a:hover { background:rgba(255,255,255,.06); color:var(--text); }
.mn-langbtn { display:flex; align-items:center; justify-content:space-between; width:100%; margin-top:14px; padding:10px 12px; border-radius:12px; border:0; border-top:1px solid var(--line); background:none; color:var(--soft); font:inherit; font-size:14.5px; cursor:pointer; } .mn-langbtn:hover, .mn-langbtn.on { background:rgba(255,255,255,.07); color:var(--text); }
.mn-langs { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:4px 18px; } .mn-langs a, .mn-langs span, .langf-list a, .langf-list span { display:flex; align-items:center; gap:8px; padding:9px 10px; border-radius:10px; font-size:14.5px; color:var(--text); }
.mn-langs a:hover, .langf-list a:hover { background:rgba(255,255,255,.07); } .mn-langs .on, .langf-list .on { color:var(--text); font-weight:600; } .mn-langs .off, .langf-list .off { color:var(--muted); } .ck2 { color:var(--mint); flex:none; } .mn-langs a:not(.on), .langf-list a:not(.on) { padding-left:32px; } .mn-langs .off, .langf-list .off { padding-left:32px; }
.langf { position:relative; } .langf-btn { display:flex; align-items:center; gap:8px; padding:9px 12px; border-radius:10px; border:1px solid var(--line2); background:none; color:var(--soft); font:inherit; font-size:13.5px; cursor:pointer; } .langf-btn:hover, .langf.open .langf-btn { color:var(--text); border-color:rgba(255,255,255,.4); }
.langf-list { display:none; position:absolute; left:0; bottom:calc(100% + 10px); padding:8px; z-index:2; background:#111214; border:1px solid var(--line2); border-radius:14px; box-shadow:0 20px 50px rgba(0,0,0,.6); transform-origin:left bottom; } .langf.open .langf-list { display:block; } .langf-list > * { min-width:190px; }
.langf.open::after { content:""; position:absolute; left:0; right:0; bottom:100%; height:12px; } /* puente invisible: el mouse sube del botón a la lista sin cerrarla */
@media (max-width:760px) { .mn-wrap { grid-template-columns:minmax(0,1fr); max-height:78vh; overflow:auto; } .mn-left { border-right:0; border-bottom:1px solid var(--line); padding:0 0 18px; } .mn-cols { grid-template-columns:minmax(0,1fr); } .appdrop { right:-48px; } }

/* Pie en dos filas: arriba los enlaces; abajo idioma, navegadores y derechos */
footer.site .fwrap { max-width:1120px; margin:0 auto; padding:30px 28px 22px; font-size:13.5px; color:var(--muted); }
footer.site .f-top { display:flex; align-items:center; justify-content:space-between; gap:14px 28px; flex-wrap:wrap; padding-bottom:22px; border-bottom:1px solid var(--line); }
footer.site .f-links { display:flex; flex-wrap:wrap; gap:10px 28px; }
footer.site .f-bot { display:flex; align-items:center; gap:14px 22px; flex-wrap:wrap; padding-top:20px; }
footer.site .f-copy { color:var(--muted); }
.f-brw { display:flex; gap:8px; }
.bi { width:36px; height:36px; display:grid; place-items:center; border-radius:10px; border:1px solid var(--line2); background:rgba(255,255,255,.04); transition:border-color .3s cubic-bezier(.1,0,.1,1), background .3s, transform .3s cubic-bezier(.1,0,.1,1); }
a.bi:hover { border-color:rgba(255,255,255,.45); background:rgba(255,255,255,.09); transform:scale(1.06); }
.bi.off { cursor:default; opacity:.45; filter:grayscale(1); }
footer.site .langf { margin-right:6px; }
@media (max-width:640px) { footer.site .f-bot { flex-direction:column; align-items:flex-start; } footer.site .sp { display:none; } }

/* Aviso de cookies discreto */
.ckbar { position:fixed; left:50%; bottom:14px; transform:translate(-50%,140%); width:min(760px,calc(100vw - 24px)); display:flex; align-items:center; gap:16px; padding:12px 14px 12px 18px; border-radius:16px; background:rgba(16,16,16,.96); border:1px solid var(--line2); box-shadow:0 10px 40px rgba(0,0,0,.6); z-index:90; transition:transform .45s cubic-bezier(.1,0,.1,1); backdrop-filter:blur(8px); }
.ckbar.on { transform:translate(-50%,0); }
.ckbar p { margin:0; flex:1; font-size:12.5px; line-height:1.5; color:var(--soft); } .ckbar p a { color:var(--text); text-decoration:underline; text-decoration-color:var(--line2); text-underline-offset:3px; }
.ckb { display:flex; gap:8px; align-items:center; flex:none; } .ckb button { font:inherit; font-size:13px; font-weight:600; padding:8px 16px; border-radius:999px; cursor:pointer; border:1px solid var(--line2); background:none; color:var(--soft); transition:border-color .3s, color .3s, transform .3s cubic-bezier(.1,0,.1,1); }
.ckb button:hover { transform:scale(1.035); border-color:rgba(94,234,212,.55); color:var(--text); background:linear-gradient(180deg,rgba(255,255,255,.12),rgba(255,255,255,.05)); box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 12px 28px rgba(0,0,0,.45),0 0 22px rgba(94,234,212,.18); } .ckb .ckyes, .ckb .ckyes:hover { background:var(--text); color:#0a0a0a; border-color:var(--text); } .ckb .ckyes:hover { border-color:rgba(94,234,212,.55); }
.ckb .ckmin { width:34px; height:34px; padding:0; display:grid; place-items:center; border-radius:50%; }
.cktab { position:fixed; left:50%; bottom:0; transform:translate(-50%,100%); display:flex; align-items:center; gap:6px; padding:6px 16px 7px; border-radius:12px 12px 0 0; background:rgba(16,16,16,.96); border:1px solid var(--line2); border-bottom:0; color:var(--muted); font:inherit; font-size:12px; cursor:pointer; z-index:89; transition:transform .45s cubic-bezier(.1,0,.1,1), color .3s; }
.cktab.on { transform:translate(-50%,0); } .cktab:hover { color:var(--text); }
@media (max-width:640px) { .ckbar { flex-direction:column; align-items:stretch; gap:10px; } .ckb { justify-content:flex-end; } }
/* Celular: cabecera ordenada (marca + iconos en la misma fila, enlaces debajo); el botón de instalar queda en el cuerpo de la página */
@media (max-width:560px) { header.top .hr .pill { display:none; } header.top .bar { flex-wrap:wrap; row-gap:6px; } header.top .hr { margin-left:auto; gap:8px; } header.top nav.main { order:3; width:100%; margin:0; padding-top:6px; border-top:1px solid var(--line); gap:22px; } .appdrop { right:-4px; } .mn-wrap { width:calc(100vw - 28px); } }
/* Aviso de idioma (portada y producto) */
.lgbar { position:fixed; left:14px; bottom:96px; width:fit-content; min-width:0; max-width:min(340px,calc(100vw - 28px)); padding:12px 14px 12px 16px; border-radius:14px; background:rgba(16,16,16,.97); border:1px solid var(--line2); box-shadow:0 10px 40px rgba(0,0,0,.6); z-index:88; opacity:0; transform:translateY(16px); pointer-events:none; transition:opacity .35s cubic-bezier(.1,0,.1,1), transform .35s cubic-bezier(.1,0,.1,1); }
.lgbar.on { opacity:1; transform:none; pointer-events:auto; } .lgbar b { display:block; font-size:14px; margin:0 26px 9px 0; white-space:normal; }
.lgbar div { display:flex; gap:8px; } .lgbar button { position:relative; font:inherit; font-size:13px; font-weight:600; padding:7px 18px; border-radius:999px; cursor:pointer; border:1px solid var(--line2); background:none; color:var(--soft); transition:transform .35s cubic-bezier(.1,0,.1,1),box-shadow .35s cubic-bezier(.1,0,.1,1),background .3s,border-color .3s,color .3s; }
/* mismos botones que la portada (.pill): hover con escala suave, filo menta y brillo */
.lgbar button:hover { transform:scale(1.035); color:var(--text); border-color:rgba(94,234,212,.55); background:linear-gradient(180deg,rgba(255,255,255,.12),rgba(255,255,255,.05)); box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 12px 28px rgba(0,0,0,.45),0 0 22px rgba(94,234,212,.18); }
.lgbar .lgy, .lgbar .lgy:hover { background:var(--text); color:#0a0a0a; border-color:var(--text); } .lgbar .lgy:hover { border-color:rgba(94,234,212,.55); } /* "Sí" sigue blanco con texto oscuro también en hover */
.lgbar button:focus-visible { outline:2px solid #5eead4; outline-offset:3px; }
.lgbar .lgx { position:absolute; right:8px; top:6px; width:26px; height:26px; padding:0; border:0; font-size:18px; line-height:1; color:var(--muted); background:none; box-shadow:none; } .lgbar .lgx:hover { transform:none; background:none; box-shadow:none; color:var(--text); border:0; }

/* selector de idioma con muchos idiomas: columnas con desplazamiento (cada idioma con su propio nombre) */
.mn-langs { max-height:min(62vh,440px); overflow:auto; scrollbar-width:thin; }
.langf-list { max-height:min(70vh,380px); overflow:auto; scrollbar-width:thin; }
.langf-list > * { min-width:0; }
.langf.open .langf-list { display:grid; grid-template-columns:repeat(3,minmax(150px,1fr)); gap:2px 10px; width:min(560px,92vw); }
@media (max-width:640px) { .langf.open .langf-list { grid-template-columns:repeat(2,minmax(130px,1fr)); } }
[dir=rtl] .langf-list, [dir=rtl] .mn-langs { text-align:right; }
[dir=rtl] .lgbar .lgx { right:auto; left:8px; } [dir=rtl] .lgbar b { margin:0 0 9px 26px; } [dir=rtl] .lgbar { padding:12px 16px 12px 14px; }

/* Retoque de movimiento (2026-10-31): rápido pero suave, casi imperceptible; sin translateY en hover, sin estado "pulsado" */
html { scroll-behavior:smooth; }
@keyframes menuIn { from { opacity:0; transform:scale(.97); } to { opacity:1; transform:none; } }
.appmenu.open .appdrop .mn-wrap { transform-origin:top right; animation:menuIn .22s cubic-bezier(.1,0,.1,1); }
.langf.open .langf-list { animation:menuIn .22s cubic-bezier(.1,0,.1,1); }
.mn-views, .mn-view { animation:none; } .mn-view:not([hidden]) { animation:viewIn .35s ease .12s both; } @keyframes viewIn { from { opacity:0; } to { opacity:1; } }
.ckb button { transition:transform .35s cubic-bezier(.1,0,.1,1),box-shadow .35s cubic-bezier(.1,0,.1,1),background .3s,border-color .3s,color .3s; }
.mn-links a, .mn-langs a, .langf-list a, .mn-langbtn, .langf-btn, .appbtn, .acct { transition:background .25s cubic-bezier(.1,0,.1,1), color .25s, border-color .25s, box-shadow .3s; }
header.top a.brand, footer.site a, .f-links a { transition:color .25s cubic-bezier(.1,0,.1,1), opacity .25s; }
.card, .plan { transition:border-color .3s cubic-bezier(.1,0,.1,1), background .3s, box-shadow .35s cubic-bezier(.1,0,.1,1); }
.pill, .pill.solid { transition:transform .35s cubic-bezier(.1,0,.1,1),box-shadow .35s cubic-bezier(.1,0,.1,1),background .3s,border-color .3s,color .3s,opacity .3s; }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .appmenu.open .appdrop .mn-wrap, .langf.open .langf-list, .mn-view:not([hidden]) { animation:none; } .lgbar button:hover, .ckb button:hover { transform:none; } }

/* Menú en celular: botón visible para cerrar y el panel no deforma la página */
.mn-close { display:none; }
@media (max-width:760px) { .mn-close { display:grid; place-items:center; position:absolute; top:8px; right:8px; width:36px; height:36px; border-radius:50%; border:1px solid var(--line2); background:rgba(255,255,255,.06); color:var(--soft); font-size:22px; line-height:1; cursor:pointer; z-index:2; } .mn-close:hover { color:var(--text); border-color:rgba(255,255,255,.4); } .mn-wrap { position:relative; padding-top:52px; } [dir=rtl] .mn-close { right:auto; left:8px; } .appdrop { position:fixed; left:14px; right:14px; top:64px; padding-top:0; } .mn-wrap { width:auto; max-height:calc(100vh - 84px); } }
