: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 { display:inline-block; padding:10px 20px; border-radius:999px; font-size:14px; font-weight:500; border:1px solid var(--line2); color:var(--text); transition:background .2s,border-color .2s,color .2s; }
.pill:hover { border-color:var(--soft); }
.pill.solid { background:var(--text); color:#0a0a0a; border-color:var(--text); }
.pill.solid:hover { background:#fff; }
.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 96px; }
.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-block; font-size:11.5px; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); border:1px solid var(--line2); border-radius:999px; padding:3px 11px; margin-bottom:18px; }
.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 72px; }
}

.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; 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 { transition:background .2s,border-color .2s,color .2s,transform .15s,box-shadow .2s; }
.pill:hover { border-color:var(--mint); box-shadow:0 6px 18px rgba(155,211,168,.14); }
.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:translateY(-1px); box-shadow:0 1px 0 rgba(255,255,255,.9) inset, 0 8px 24px rgba(155,211,168,.34), 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; }
