/* ===== Recursos · Affinity PRO · estilos compartidos (mismo fondo espacial que el deck) ===== */
:root{
  --base:#060c16; --ink:#e9edf4; --dim:rgba(233,237,244,.80); --faint:rgba(233,237,244,.5);
  --lime:#b6f24a; --lime-2:#a3e635; --cyan:#38d0ee; --gold:#f5c542;
  --line:rgba(255,255,255,.1); --line-soft:rgba(255,255,255,.07);
  --mono:"JetBrains Mono",ui-monospace,monospace; --ease:cubic-bezier(.16,1,.3,1);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--base);color:var(--ink);font-family:"Inter",system-ui,sans-serif;-webkit-font-smoothing:antialiased;line-height:1.6;overflow-x:hidden}
/* glows de fondo (bajo el canvas) */
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;
  background:
    radial-gradient(60% 40% at 82% -5%,rgba(56,208,238,.10),transparent 60%),
    radial-gradient(55% 45% at 8% 8%,rgba(163,230,53,.09),transparent 60%);}
/* motor de estrellas (mismo que el deck) */
#cv{position:fixed;inset:0;z-index:1;pointer-events:none}
/* contenido por encima del fondo */
.bar,.wrap,footer{position:relative;z-index:2}

/* barra superior */
.bar{display:flex;align-items:center;justify-content:space-between;gap:16px;max-width:1120px;margin:0 auto;padding:22px 24px}
.bar img{height:26px;width:auto;display:block;filter:brightness(0) invert(1)}
.logo-link{display:block;line-height:0;opacity:1;transition:opacity .2s}
.logo-link:hover{opacity:.8}
.back{font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:var(--dim);text-decoration:none;display:inline-flex;align-items:center;gap:7px;padding:9px 16px;border:1px solid var(--line);border-radius:100px;transition:color .2s,border-color .2s;background:rgba(6,12,22,.5);backdrop-filter:blur(4px)}
.back:hover{color:var(--lime);border-color:rgba(163,230,53,.4)}
.bar-r{display:flex;align-items:center;gap:10px}
.langsw{font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--dim);text-decoration:none;padding:9px 14px;border:1px solid var(--line);border-radius:100px;transition:color .2s,border-color .2s;background:rgba(6,12,22,.5);backdrop-filter:blur(4px)}
.langsw:hover{color:var(--lime);border-color:rgba(163,230,53,.4)}

/* ---------- ARTÍCULO ---------- */
.wrap{max-width:760px;margin:0 auto;padding:0 24px}
header.hero{padding:34px 0 8px}
.eyebrow{font-family:var(--mono);font-size:10.5px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--cyan);display:inline-flex;align-items:center;gap:9px}
.eyebrow::before{content:"";width:22px;height:1px;background:var(--cyan);opacity:.7}
h1{font-size:clamp(29px,5vw,46px);line-height:1.08;letter-spacing:-.025em;font-weight:800;margin:18px 0 0;text-wrap:balance}
.byline{margin:20px 0 0;display:flex;align-items:center;gap:12px;color:var(--faint);font-size:13.5px;font-family:var(--mono);letter-spacing:.3px}
.byline .av{width:34px;height:34px;border-radius:50%;background:linear-gradient(150deg,var(--lime),var(--cyan));display:flex;align-items:center;justify-content:center;color:#0a1208;font-weight:800;font-size:13px;flex:0 0 auto;text-decoration:none;transition:filter .2s}
.byline .av:hover{filter:brightness(1.12)}
.byline a{color:inherit;text-decoration:none;transition:color .2s}
.byline a:not(.av):hover{color:var(--lime)}
.rule{height:1px;background:var(--line-soft);margin:30px 0 6px}
article{padding:8px 0 20px}
article h2{font-size:clamp(20px,2.6vw,27px);line-height:1.2;letter-spacing:-.015em;font-weight:800;margin:44px 0 0;text-wrap:balance}
article h2 .mk{color:var(--lime)}
article h3{font-size:clamp(17px,2vw,20px);line-height:1.25;letter-spacing:-.01em;font-weight:800;margin:30px 0 0;color:#fff}
article p{margin:16px 0 0;font-size:17px;color:var(--dim)}
article p.lead{font-size:19px;color:var(--ink)}
article a{color:var(--cyan);text-decoration:none;border-bottom:1px solid rgba(56,208,238,.4)}
article a:hover{border-bottom-color:var(--cyan)}
article strong,article b{color:var(--ink);font-weight:700}
article ul,article ol{margin:20px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:12px;counter-reset:li}
article li{position:relative;padding:14px 18px 14px 44px;background:linear-gradient(160deg,rgba(255,255,255,.045),rgba(255,255,255,.012));border:1px solid var(--line-soft);border-radius:12px;font-size:15.5px;color:var(--dim)}
article ul li::before{content:"";position:absolute;left:18px;top:20px;width:8px;height:8px;border-radius:50%;background:var(--lime);box-shadow:0 0 12px -1px var(--lime-2)}
article ol li::before{counter-increment:li;content:counter(li);position:absolute;left:14px;top:12px;width:20px;height:20px;border-radius:50%;background:rgba(163,230,53,.14);color:var(--lime);font-family:var(--mono);font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center}
article li b{color:var(--ink)}
.pullquote{margin:34px 0 0;padding:20px 24px;border-left:3px solid var(--cyan);background:linear-gradient(90deg,rgba(56,208,238,.08),transparent);border-radius:0 12px 12px 0;font-size:18px;color:var(--ink);font-weight:600}
article figure{margin:26px 0 0}
article img{max-width:100%;height:auto;border-radius:14px;border:1px solid var(--line-soft);display:block}
article figcaption{margin-top:9px;font-family:var(--mono);font-size:11px;letter-spacing:.4px;color:var(--faint);text-align:center}

/* CTA final */
.cta{margin:48px 0 60px;padding:30px;border:1px solid rgba(163,230,53,.3);border-radius:20px;background:linear-gradient(160deg,rgba(163,230,53,.09),rgba(56,208,238,.04));text-align:center}
.cta h3{margin:0;font-size:22px;font-weight:800;letter-spacing:-.02em;color:#fff}
.cta p{margin:10px auto 0;max-width:52ch;color:var(--dim);font-size:15px}
.cta a{display:inline-flex;align-items:center;gap:9px;margin-top:20px;font-family:var(--mono);font-size:12.5px;font-weight:800;letter-spacing:.7px;text-transform:uppercase;color:#0a1208;background:var(--lime);border-radius:100px;padding:14px 26px;text-decoration:none;box-shadow:0 0 34px -10px rgba(163,230,53,.75);transition:transform .18s var(--ease)}
.cta a:hover{transform:translateY(-2px)}

/* ---------- HUB ---------- */
.hubwrap{max-width:1120px;margin:0 auto;padding:0 24px 70px;position:relative;z-index:2}
.hubwrap header.hero{padding:36px 0 12px}
.hubwrap .eyebrow{color:var(--lime)}
.hubwrap .eyebrow::before{background:var(--lime)}
.hubwrap h1{font-size:clamp(30px,5.4vw,52px);letter-spacing:-.03em}
.sub{margin:16px 0 0;max-width:62ch;font-size:17px;color:var(--dim)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px;margin-top:30px}
.card{display:flex;flex-direction:column;text-decoration:none;color:inherit;border:1px solid var(--line-soft);border-radius:18px;overflow:hidden;background:linear-gradient(160deg,rgba(12,20,34,.72),rgba(10,16,28,.5));backdrop-filter:blur(3px);transition:transform .25s var(--ease),border-color .25s,box-shadow .25s}
.card:hover{transform:translateY(-5px);border-color:rgba(163,230,53,.35);box-shadow:0 18px 44px -22px rgba(163,230,53,.4)}
.card .thumb{height:96px;display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:10.5px;letter-spacing:2px;text-transform:uppercase;color:#0a1208;font-weight:800;text-align:center;padding:0 16px}
.card .body{padding:18px 22px 22px;display:flex;flex-direction:column;flex:1}
.card .tag{font-family:var(--mono);font-size:9.5px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;color:var(--cyan)}
.card h3{margin:10px 0 0;font-size:18px;line-height:1.24;letter-spacing:-.01em;font-weight:800;text-wrap:balance;color:#fff}
.card p{margin:10px 0 0;font-size:13.5px;color:var(--dim);flex:1}
.card .more{margin-top:16px;font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--lime);display:inline-flex;align-items:center;gap:7px}
.card:hover .more{gap:11px}

/* footer */
footer{border-top:1px solid var(--line-soft);padding:26px 24px 44px;color:var(--faint);font-family:var(--mono);font-size:12px;letter-spacing:.3px;text-align:center;max-width:1120px;margin:0 auto}
footer a{color:var(--dim);text-decoration:none}
footer a:hover{color:var(--lime)}

@media (max-width:560px){ .bar img{height:22px} article p{font-size:16px} }
