/* blog.css — article + blog-hub styling, builds on landing.css variables */

.blog-hero{
  padding:120px 0 40px;
  text-align:center;
}
.blog-hero h1{
  font-size:clamp(30px,5vw,44px);
  font-weight:900;
  letter-spacing:-.02em;
  margin-bottom:14px;
  color:var(--text);
}
.blog-hero p{
  font-size:18px;
  color:var(--gray-500,#64748b);
  max-width:600px;
  margin:0 auto;
}

/* ── Hub grid ─────────────────────────────── */
.post-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(300px,1fr));
  gap:24px;
  margin:40px 0 80px;
}
.post-card{
  display:flex;
  flex-direction:column;
  background:var(--surface,#fff);
  border:1px solid var(--border,rgba(0,0,0,.07));
  border-radius:var(--r-xl,20px);
  overflow:hidden;
  text-decoration:none;
  color:inherit;
  transition:transform var(--t,.2s),box-shadow var(--t,.2s);
}
.post-card:hover{
  transform:translateY(-4px);
  box-shadow:0 16px 40px rgba(15,23,42,.10);
}
.post-card-emoji{
  font-size:40px;
  padding:28px 28px 0;
}
.post-card-body{padding:16px 28px 28px}
.post-card-tag{
  display:inline-block;
  font-size:12px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.04em;
  color:var(--violet,#6D28D9);
  margin-bottom:10px;
}
.post-card h2{
  font-size:20px;
  font-weight:800;
  line-height:1.3;
  margin-bottom:10px;
  color:var(--text);
}
.post-card p{
  font-size:15px;
  line-height:1.6;
  color:var(--gray-500,#64748b);
}

/* ── Article ──────────────────────────────── */
.article-wrap{
  max-width:760px;
  margin:0 auto;
  padding:110px 20px 40px;
}
.article-breadcrumb{
  font-size:13px;
  color:var(--gray-500,#64748b);
  margin-bottom:20px;
}
.article-breadcrumb a{color:var(--violet,#6D28D9);text-decoration:none}
.article-breadcrumb a:hover{text-decoration:underline}
.article-tag{
  display:inline-block;
  font-size:12px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.04em;
  color:var(--violet,#6D28D9);
  margin-bottom:14px;
}
.article-wrap h1{
  font-size:clamp(28px,4.5vw,40px);
  font-weight:900;
  letter-spacing:-.02em;
  line-height:1.15;
  margin-bottom:16px;
  color:var(--text);
}
.article-meta{
  font-size:14px;
  color:var(--gray-500,#64748b);
  margin-bottom:32px;
  padding-bottom:24px;
  border-bottom:1px solid var(--border,rgba(0,0,0,.07));
}
.article-body{font-size:17px;line-height:1.75;color:var(--text)}
.article-body p{margin:0 0 20px}
.article-body h2{
  font-size:26px;
  font-weight:800;
  letter-spacing:-.01em;
  margin:44px 0 16px;
  color:var(--text);
}
.article-body h3{
  font-size:20px;
  font-weight:700;
  margin:32px 0 12px;
  color:var(--text);
}
.article-body ul,.article-body ol{margin:0 0 20px;padding-left:24px}
.article-body li{margin-bottom:10px}
.article-body a{color:var(--violet,#6D28D9);font-weight:600}
.article-body strong{font-weight:700}
.article-body blockquote{
  margin:24px 0;
  padding:16px 22px;
  background:var(--bg,#F4F6FF);
  border-left:4px solid var(--violet,#6D28D9);
  border-radius:8px;
  font-style:italic;
  color:var(--text);
}
.article-body table{
  width:100%;
  border-collapse:collapse;
  margin:24px 0;
  font-size:15px;
}
.article-body th,.article-body td{
  text-align:left;
  padding:12px 14px;
  border:1px solid var(--border,rgba(0,0,0,.1));
}
.article-body th{background:var(--bg,#F4F6FF);font-weight:700}

.article-cta{
  margin:48px 0 20px;
  padding:32px;
  text-align:center;
  background:linear-gradient(135deg,#6D28D9,#3B82F6);
  border-radius:var(--r-xl,20px);
  color:#fff;
}
.article-cta h3{font-size:22px;font-weight:800;margin-bottom:8px;color:#fff}
.article-cta p{color:rgba(255,255,255,.9);margin-bottom:20px}

.article-faq{margin:48px 0}
.article-faq h2{font-size:26px;font-weight:800;margin-bottom:20px}

.related{margin:56px 0 40px}
.related h2{font-size:22px;font-weight:800;margin-bottom:20px}
.related-links{display:grid;gap:12px}
.related-links a{
  display:block;
  padding:16px 20px;
  background:var(--surface,#fff);
  border:1px solid var(--border,rgba(0,0,0,.07));
  border-radius:12px;
  text-decoration:none;
  color:var(--text);
  font-weight:600;
  transition:box-shadow var(--t,.2s);
}
.related-links a:hover{box-shadow:0 6px 18px rgba(15,23,42,.08)}
