/* ============ Blog ============ */
.nav a.is-active{ color: var(--blue); }

.blog-hero{
  background: radial-gradient(120% 140% at 15% 0%, #16307d 0%, var(--navy) 55%, #0b1a4d 100%);
  color:#fff;
  padding-block: clamp(56px, 7vw, 84px) clamp(40px, 5vw, 56px);
}
.blog-hero__lead{ font-size: 1.05rem; color: rgba(255,255,255,.8); max-width: 56ch; margin:0; }

.wrap--narrow{ max-width: 760px; }

.post-grid{ display:grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.post-grid--sm{ grid-template-columns: repeat(2, 1fr); }

.post-card{
  display:flex; flex-direction:column; gap:10px;
  background:#fff; border:1px solid var(--border); border-radius: var(--radius);
  padding: 22px; text-decoration:none; color: var(--ink);
  transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.post-card:hover{ transform: translateY(-3px); box-shadow: var(--shadow); border-color: var(--cyan); }
.post-card__tag{
  align-self:flex-start; font-size:.72rem; font-weight:700; letter-spacing:.05em; text-transform:uppercase;
  color: var(--blue); background: var(--bg-muted); padding:.35em .8em; border-radius:999px;
}
.post-card h2{ font-size: 1.15rem; margin:0; line-height:1.35; }
.post-card h3{ font-size: 1rem; margin:0; line-height:1.35; }
.post-card p{ font-size:.9rem; color: var(--ink-soft); margin:0; flex-grow:1; }
.post-card__meta{ display:flex; gap:10px; font-size:.78rem; color: var(--ink-soft); margin-top:6px; }
.post-card__meta span:first-child{ font-weight:600; color: var(--navy); }

/* ============ Article ============ */
.article__back{
  display:inline-block; margin-bottom: 1.4em; font-size:.88rem; font-weight:600;
  color: var(--blue); text-decoration:none;
}
.article__back:hover{ text-decoration:underline; }
.article h1{ font-size: clamp(1.6rem, 1.1rem + 1.8vw, 2.3rem); line-height:1.2; margin-bottom:.4em; }
.article__meta{ display:flex; gap:10px; align-items:center; font-size:.85rem; color: var(--ink-soft); margin-bottom: 2em; }

.article__body{ font-size: 1.02rem; line-height:1.75; color: var(--ink); }
.article__body h2{ font-size: 1.35rem; margin: 1.6em 0 .6em; color: var(--navy); }
.article__body h3{ font-size: 1.1rem; margin: 1.4em 0 .5em; color: var(--navy); }
.article__body p{ margin: 0 0 1.2em; }
.article__body ul, .article__body ol{ margin: 0 0 1.2em; padding-left: 1.4em; }
.article__body li{ margin-bottom: .4em; }
.article__body ul li{ list-style: disc; }
.article__body ol li{ list-style: decimal; }
.article__body strong{ color: var(--navy); }
.article__body a{ color: var(--blue); font-weight:600; }
.article__body em{ color: var(--ink-soft); font-size:.92em; }
.article__body blockquote{
  margin: 1.6em 0; padding: .2em 1.4em; border-left: 4px solid var(--cyan);
  color: var(--ink-soft); font-style: italic;
}

.article__cta{
  margin-top: 2.6em; padding: 28px; border-radius: var(--radius);
  background: var(--bg-muted); border: 1px solid var(--border);
  display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:16px;
}
.article__cta p{ margin:0; font-weight:700; color: var(--navy); }

@media (max-width: 980px){
  .post-grid{ grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 720px){
  .post-grid, .post-grid--sm{ grid-template-columns: 1fr; }
  .article__cta{ flex-direction:column; align-items:flex-start; }
}
