/* ===== JAN // blog.css — índice + artículos (hereda tokens de style.css) ===== */

/* dar aire bajo el nav fijo en páginas sin hero de video */
.page-blog{padding-top:96px}

/* ===== HERO DE SECCIÓN (índice + artículo) ===== */
.blog-hero{
  padding:clamp(28px,6vw,60px) clamp(16px,5vw,72px) clamp(20px,4vw,40px);
  position:relative;border-bottom:1px solid var(--line);
  background:linear-gradient(180deg,var(--bg2),var(--bg));
}
.blog-hero .kicker{
  font-family:var(--mono);font-size:.7rem;letter-spacing:3px;color:var(--cyan);
  text-transform:uppercase;margin-bottom:14px;display:flex;align-items:center;gap:8px;
}
.blog-hero .kicker .blink{color:var(--red);animation:blink 1s steps(2) infinite}
.blog-hero h1{
  font-family:var(--disp);font-weight:900;letter-spacing:2px;color:#fff;
  font-size:clamp(2rem,6vw,3.6rem);line-height:1.05;text-shadow:0 0 30px rgba(255,31,46,.4);
}
.blog-hero p.lead{max-width:720px;margin-top:16px;color:var(--muted);font-size:1.1rem}
.crumb{font-family:var(--mono);font-size:.68rem;letter-spacing:1.5px;color:var(--muted);margin-bottom:16px;text-transform:uppercase}
.crumb a{color:var(--cyan)}
.crumb a:hover{color:#fff}
.crumb i{color:var(--red);margin:0 6px;font-size:.6rem}

/* ===== GRID DEL ÍNDICE ===== */
.blog-grid{
  padding:clamp(40px,6vw,80px) clamp(16px,5vw,72px);
  display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:26px;
}
.post-card{
  border:1px solid var(--line);background:var(--panel);position:relative;overflow:hidden;
  display:flex;flex-direction:column;transition:.25s;
  clip-path:polygon(0 0,100% 0,100% 100%,20px 100%,0 calc(100% - 20px));
}
.post-card:hover{transform:translateY(-6px);border-color:var(--cyan);box-shadow:0 14px 50px rgba(25,230,255,.16)}
.post-thumb{position:relative;aspect-ratio:16/9;overflow:hidden;background:#000;border-bottom:1px solid var(--line)}
.post-thumb img{width:100%;height:100%;object-fit:cover;filter:contrast(1.05) saturate(1.08);transition:transform .6s ease}
.post-card:hover .post-thumb img{transform:scale(1.05)}
.post-thumb::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(7,8,12,.55))}
.post-cat{
  position:absolute;top:10px;left:10px;z-index:2;font-family:var(--mono);font-size:.6rem;
  letter-spacing:2px;text-transform:uppercase;color:#0a0a0f;background:var(--red);
  padding:4px 9px;box-shadow:var(--glow-red);
}
.post-body{padding:20px 22px 24px;display:flex;flex-direction:column;flex:1}
.post-body h2{font-family:var(--disp);font-weight:700;font-size:1.22rem;color:#fff;letter-spacing:.5px;line-height:1.25;margin-bottom:10px}
.post-card:hover .post-body h2{color:var(--cyan)}
.post-body p{color:var(--muted);font-size:.92rem;margin-bottom:18px;flex:1}
.post-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;font-family:var(--mono);font-size:.64rem;letter-spacing:1px;color:var(--muted);text-transform:uppercase}
.post-meta .read{color:var(--cyan);display:inline-flex;align-items:center;gap:6px}
.post-card a.stretch{position:absolute;inset:0;z-index:3}

/* ===== ARTÍCULO ===== */
.article-hero{position:relative;height:clamp(280px,44vw,460px);overflow:hidden;border-bottom:1px solid var(--line);background:#000}
.article-hero img{width:100%;height:100%;object-fit:cover;filter:contrast(1.05) saturate(1.06)}
.article-hero .tint{position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,8,12,.35),rgba(7,8,12,.55) 40%,rgba(7,8,12,.96));z-index:1}
.article-hero .grid-fx{position:absolute;inset:0;z-index:1;opacity:.5;pointer-events:none;background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:48px 48px;mask-image:radial-gradient(120% 120% at 50% 40%,transparent 55%,#000)}
.article-head{
  position:absolute;left:0;right:0;bottom:0;z-index:2;
  padding:0 clamp(16px,5vw,72px) clamp(22px,4vw,40px);max-width:960px;
}
.article-head .post-cat{position:static;display:inline-block;margin-bottom:14px}
.article-head h1{font-family:var(--disp);font-weight:900;letter-spacing:1px;color:#fff;font-size:clamp(1.7rem,5vw,3.1rem);line-height:1.08;text-shadow:0 3px 24px rgba(0,0,0,.7)}
.article-meta{margin-top:16px;display:flex;flex-wrap:wrap;gap:16px;font-family:var(--mono);font-size:.68rem;letter-spacing:1.5px;color:var(--red-soft);text-transform:uppercase}
.article-meta span{display:inline-flex;align-items:center;gap:7px}
.article-meta i{color:var(--cyan)}

/* barra de progreso de lectura */
.read-rail{position:fixed;top:0;left:0;height:3px;width:0;z-index:70;background:linear-gradient(90deg,var(--red),var(--cyan));box-shadow:var(--glow-red)}

/* cuerpo tipográfico */
.article-wrap{max-width:820px;margin:0 auto;padding:clamp(40px,6vw,72px) clamp(16px,5vw,32px)}
.prose{font-size:1.06rem;line-height:1.8;color:var(--txt)}
.prose>p{margin:0 0 22px}
.prose .lede{font-size:1.2rem;color:#fff;border-left:2px solid var(--red);padding-left:18px;margin-bottom:30px}
.prose h2{font-family:var(--disp);font-weight:700;font-size:clamp(1.4rem,3.4vw,1.9rem);color:#fff;letter-spacing:1px;margin:46px 0 16px;padding-top:14px;border-top:1px solid var(--line);position:relative}
.prose h2::before{content:"//";color:var(--red);margin-right:10px;font-family:var(--mono);font-size:.8em}
.prose h3{font-family:var(--disp);font-weight:600;font-size:1.2rem;color:var(--cyan);letter-spacing:.5px;margin:30px 0 12px}
.prose ul,.prose ol{margin:0 0 22px;padding-left:4px;list-style:none;display:flex;flex-direction:column;gap:11px}
.prose ul li{position:relative;padding-left:26px;color:var(--txt)}
.prose ul li::before{content:"\f0da";font-family:"Font Awesome 6 Free";font-weight:900;position:absolute;left:4px;top:.15em;color:var(--red);font-size:.8em}
.prose ol{counter-reset:li}
.prose ol li{position:relative;padding-left:34px;counter-increment:li}
.prose ol li::before{content:counter(li,decimal-leading-zero);position:absolute;left:0;top:0;font-family:var(--mono);font-size:.8rem;color:var(--cyan);border:1px solid var(--line);padding:1px 5px}
.prose strong{color:#fff}
.prose a{color:var(--cyan);border-bottom:1px solid rgba(25,230,255,.35);transition:.2s}
.prose a:hover{color:#fff;border-bottom-color:#fff}
.prose blockquote{margin:26px 0;padding:18px 22px;background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--red);font-family:var(--sans);font-size:1.1rem;color:#fff}
.prose blockquote p{margin:0}

/* caja destacada / callout */
.callout{margin:28px 0;border:1px solid var(--line);background:linear-gradient(160deg,var(--panel),var(--bg2));padding:22px 24px;clip-path:polygon(0 0,100% 0,100% calc(100% - 14px),calc(100% - 14px) 100%,0 100%)}
.callout .ct{font-family:var(--mono);font-size:.68rem;letter-spacing:2px;color:var(--red);text-transform:uppercase;margin-bottom:10px;display:flex;align-items:center;gap:8px}
.callout p{margin:0;color:var(--txt)}

/* tabla */
.prose .table-wrap{overflow-x:auto;margin:26px 0;border:1px solid var(--line)}
.prose table{width:100%;border-collapse:collapse;font-size:.92rem;min-width:460px}
.prose th,.prose td{padding:12px 14px;text-align:left;border-bottom:1px solid var(--line)}
.prose th{font-family:var(--mono);font-size:.68rem;letter-spacing:1.5px;text-transform:uppercase;color:var(--cyan);background:var(--panel)}
.prose td{color:var(--muted)}
.prose tr:hover td{color:var(--txt)}

/* FAQ */
.faqs{margin:44px 0 10px}
.faqs h2{margin-bottom:20px}
.faq-item{border:1px solid var(--line);background:var(--panel);margin-bottom:12px}
.faq-item summary{cursor:pointer;list-style:none;padding:16px 18px;font-family:var(--disp);font-weight:600;font-size:1.02rem;color:#fff;letter-spacing:.3px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"\f067";font-family:"Font Awesome 6 Free";font-weight:900;color:var(--red);font-size:.8rem;transition:transform .2s}
.faq-item[open] summary::after{content:"\f068";color:var(--cyan)}
.faq-item summary:hover{color:var(--cyan)}
.faq-item .faq-a{padding:0 18px 18px;color:var(--muted);line-height:1.75}
.faq-item .faq-a p{margin:0 0 12px}
.faq-item .faq-a p:last-child{margin:0}

/* CTA final + firma */
.article-cta{margin:48px auto 0;max-width:820px;text-align:center;border:1px solid var(--line);background:linear-gradient(160deg,var(--panel),var(--bg2));padding:clamp(28px,5vw,44px) clamp(20px,4vw,40px);clip-path:polygon(0 0,100% 0,100% 100%,22px 100%,0 calc(100% - 22px))}
.article-cta .kicker{font-family:var(--mono);font-size:.68rem;letter-spacing:2px;color:var(--cyan);text-transform:uppercase;margin-bottom:12px}
.article-cta h3{font-family:var(--disp);font-weight:800;font-size:clamp(1.4rem,4vw,2rem);color:#fff;letter-spacing:1px;margin-bottom:14px}
.article-cta p{color:var(--muted);max-width:560px;margin:0 auto 24px}
.article-cta .hero-cta{justify-content:center}

.article-nav{max-width:820px;margin:40px auto 0;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap}
.article-nav a{font-family:var(--mono);font-size:.72rem;letter-spacing:1.5px;color:var(--cyan);text-transform:uppercase;display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);padding:11px 16px;transition:.2s}
.article-nav a:hover{border-color:var(--cyan);color:#fff;box-shadow:var(--glow-cyan)}

.byline{display:flex;align-items:center;gap:12px;margin:8px 0 0}
.byline .ava{width:34px;height:34px;border-radius:50%;overflow:hidden;border:1px solid var(--red)}
.byline .ava img{width:100%;height:100%;object-fit:cover}
.byline b{color:#fff;font-family:var(--disp);letter-spacing:1px}

/* relacionados en el índice: nada extra */

@media (max-width:640px){
  .blog-grid{grid-template-columns:1fr}
  .article-meta{gap:10px}
}
