/* Blog Tochify — estilos de índice y artículo */
.blog-hero{max-width:1080px;margin:0 auto;padding:56px 24px 8px;text-align:center}
.blog-hero h1{font-size:clamp(30px,4.5vw,44px);font-weight:900;letter-spacing:-0.02em;line-height:1.15}
.blog-hero p{margin-top:14px;color:#475569;font-size:18px;max-width:620px;margin-left:auto;margin-right:auto}

.blog-filtros{max-width:1080px;margin:28px auto 0;padding:0 24px;display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.blog-filtros button{background:#f1f5f9;border:1px solid rgba(15,23,42,.08);color:#475569;font:600 13.5px/1 Inter,sans-serif;padding:9px 16px;border-radius:999px;cursor:pointer;transition:.2s}
.blog-filtros button:hover{color:#0f172a}
.blog-filtros button.on{background:#4f46e5;border-color:#4f46e5;color:#fff}

.blog-grid{max-width:1080px;margin:36px auto 80px;padding:0 24px;display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.post-card{display:flex;flex-direction:column;background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:20px;overflow:hidden;text-decoration:none;color:inherit;transition:transform .25s ease,box-shadow .25s ease}
.post-card:hover{transform:translateY(-4px);box-shadow:0 20px 40px -20px rgba(15,23,42,.25)}
.post-card img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block;background:#f1f5f9}
.post-card .pc-body{padding:20px;display:flex;flex-direction:column;gap:8px;flex:1}
.post-card .pc-cat{font-size:12px;font-weight:700;color:#4f46e5;text-transform:uppercase;letter-spacing:.06em}
.post-card h2{font-size:18px;font-weight:800;line-height:1.3;letter-spacing:-0.01em}
.post-card p{font-size:14.5px;color:#475569;line-height:1.55}
.post-card .pc-meta{margin-top:auto;font-size:13px;color:#94a3b8}

/* Artículo */
.article-wrap{max-width:1180px;margin:0 auto;padding:40px 24px 80px;display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:56px;align-items:start}
.article{min-width:0}
.article{max-width:720px;min-width:0}
.article-head{margin-bottom:28px}
.article-head .a-cat{font-size:12.5px;font-weight:700;color:#4f46e5;text-transform:uppercase;letter-spacing:.06em}
.article-head h1{font-size:clamp(28px,4vw,42px);font-weight:900;letter-spacing:-0.02em;line-height:1.15;margin:10px 0 14px}
.article-head .a-meta{color:#94a3b8;font-size:14px}
.article-hero{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:20px;margin-bottom:36px;box-shadow:0 20px 50px -24px rgba(15,23,42,.25)}
.article-inline{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:16px;margin:32px 0}

.article p{font-size:17.5px;line-height:1.75;color:#334155;margin-bottom:20px}
.article h2{font-size:clamp(22px,2.8vw,28px);font-weight:800;letter-spacing:-0.01em;line-height:1.3;margin:44px 0 16px;scroll-margin-top:90px}
.article h3{font-size:20px;font-weight:700;margin:28px 0 12px}
.article ul,.article ol{margin:0 0 20px 22px}
.article li{font-size:17px;line-height:1.7;color:#334155;margin-bottom:8px}
.article a{color:#4f46e5;font-weight:600;text-decoration:none;border-bottom:1px solid rgba(79,70,229,.3)}
.article a:hover{border-bottom-color:#4f46e5}
.article strong{color:#0f172a}

.article .tbl{width:100%;max-width:100%;border-collapse:collapse;margin:24px 0;font-size:15.5px;display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;white-space:nowrap}
@media(min-width:700px){.article .tbl{display:table;white-space:normal}}
.article .tbl th{background:#f8fafc;text-align:left;font-weight:700;color:#0f172a;padding:12px 14px;border-bottom:2px solid rgba(15,23,42,.1);font-size:14.5px}
.article .tbl td{padding:12px 14px;border-bottom:1px solid rgba(15,23,42,.07);color:#334155}
.article .tbl tr:last-child td{border-bottom:none}

.article .callout{background:rgba(79,70,229,.06);border-left:4px solid #4f46e5;border-radius:0 14px 14px 0;padding:18px 22px;margin:28px 0}
.article .callout p{margin:0;font-size:16.5px;color:#1e293b}

.article-cta{background:linear-gradient(135deg,#4f46e5,#6d5cf0);border-radius:24px;padding:36px 28px;text-align:center;color:#fff;margin:48px 0 8px}
.article-cta h3{font-size:23px;font-weight:900;letter-spacing:-0.01em}
.article-cta p{color:rgba(255,255,255,.86);font-size:16px;margin:10px auto 20px;max-width:460px}
.article-cta a{display:inline-block;background:#fff;color:#4f46e5;font-weight:800;padding:13px 28px;border-radius:999px;text-decoration:none;font-size:15.5px;border:none}

.article .faq{margin-top:48px}
.article .faq details{border:1px solid rgba(15,23,42,.09);border-radius:14px;padding:16px 18px;margin-bottom:10px}
.article .faq summary{font-weight:700;cursor:pointer;color:#0f172a;font-size:16.5px}
.article .faq p{margin:12px 0 0;font-size:16px}

.toc{position:sticky;top:90px;font-size:14.5px}
.toc-title{font-size:12.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#94a3b8;margin-bottom:12px}
.toc a{display:block;color:#475569;text-decoration:none;padding:6px 0 6px 12px;border-left:2px solid rgba(15,23,42,.08);line-height:1.4}
.toc a:hover{color:#0f172a}
.toc a.active{color:#4f46e5;border-left-color:#4f46e5;font-weight:600}

.related{max-width:1180px;margin:0 auto;padding:0 24px 80px}
.related h2{font-size:24px;font-weight:800;margin-bottom:24px}
.related .blog-grid{margin:0;padding:0;max-width:none}

@media(max-width:1000px){
  .article-wrap{grid-template-columns:minmax(0,1fr);gap:0}
  .toc{display:none}
  .blog-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:640px){
  .blog-grid{grid-template-columns:1fr;gap:22px}
  .article p,.article li{font-size:17px}
  .article-wrap{padding:28px 20px 60px}
}

/* Seguridad anti desbordamiento en móvil */
.article img,.article iframe{max-width:100%;height:auto}
@media(max-width:640px){body{overflow-x:hidden}.article-hero{border-radius:14px}.article .tbl{font-size:14.5px}}

/* Procedencia de los datos de las tablas y bloque de metodología */
.article .tbl-fuente{margin:-14px 0 26px;font-size:13.5px;color:#64748b;line-height:1.5}
.article .tbl-fuente a{color:#4f46e5;text-decoration:underline;text-underline-offset:2px}
.article .metodologia{margin:44px 0 8px;padding:24px 26px;background:#f8fafc;border:1px solid rgba(15,23,42,.08);border-radius:16px}
.article .metodologia h2{font-size:19px;margin:0 0 12px}
.article .metodologia p{font-size:15px;color:#475569;margin:0 0 12px}
.article .metodologia p:last-child{margin-bottom:0}
.article .metodologia-fecha{font-size:13.5px;color:#64748b}
@media(max-width:640px){.article .metodologia{padding:20px 18px}}
