/* Shared article-page styles — SSOT for all blog posts (P1).
   Loaded via <link rel="stylesheet" href="/blog/_article.css"> in each article page. */

/* ── Article hero ── */
.article-hero {
  background: linear-gradient(160deg, var(--navy-dk) 0%, var(--navy) 55%, var(--purple-dk) 100%);
  color: #fff;
  padding-top: var(--s12);
  padding-bottom: var(--s12);
}
.article-hero__inner { max-width: 760px; display: flex; flex-direction: column; gap: var(--s5); }
.article-hero__breadcrumb { font-size: .875rem; color: rgba(255,255,255,.6); }
.article-hero__breadcrumb a { color: rgba(255,255,255,.75); text-decoration: underline; text-underline-offset: 2px; }
.article-hero__tag {
  display: inline-block; padding: var(--s1) var(--s3);
  background: rgba(255,255,255,.12); color: rgba(255,255,255,.9);
  border: 1px solid rgba(255,255,255,.25); border-radius: 100px;
  font-size: .8125rem; font-weight: 600; width: fit-content;
}
.article-hero__headline {
  font-family: var(--serif); font-size: clamp(1.75rem, 4.5vw, 2.75rem);
  font-weight: 700; line-height: 1.2; color: #fff; letter-spacing: -.02em;
}
.article-hero__meta { font-size: .875rem; color: rgba(255,255,255,.55); }
@media (min-width: 768px) { .article-hero { padding-top: var(--s16); padding-bottom: var(--s16); } }

/* ── Article body ── */
.article-body { max-width: 720px; }
.article-body p { font-size: 1.0625rem; color: var(--slate); line-height: 1.75; margin-bottom: 1.25rem; }
.article-body h2 {
  font-family: var(--serif); font-size: clamp(1.25rem, 3vw, 1.625rem);
  font-weight: 700; color: var(--navy); line-height: 1.3;
  margin-top: 2.5rem; margin-bottom: .875rem; letter-spacing: -.015em;
}
.article-body h3 {
  font-size: 1.0625rem; font-weight: 700; color: var(--navy);
  line-height: 1.35; margin-top: 1.75rem; margin-bottom: .5rem;
}
.article-body ul { padding-left: 1.5rem; margin-bottom: 1.25rem; list-style: disc; }
.article-body ul li { font-size: 1.0625rem; color: var(--slate); line-height: 1.7; margin-bottom: .5rem; }
.article-body a { color: var(--purple-dk); }

/* ── Notice box (legal disclaimer) ── */
.notice-box {
  border: 1px solid rgba(124,58,237,.25);
  background: rgba(124,58,237,.04);
  border-radius: var(--r-md);
  padding: var(--s5);
  margin: 2rem 0;
}
.notice-box p { font-size: .9375rem; color: var(--slate); line-height: 1.7; margin-bottom: 0; }
.notice-box strong { color: var(--navy); }

/* ── Inline CTA block ── */
.inline-cta {
  background: var(--navy);
  border-radius: var(--r-lg);
  padding: var(--s8);
  text-align: center;
  margin: 2.5rem 0;
}
.inline-cta h3 { font-family: var(--serif); font-size: 1.375rem; font-weight: 700; color: #fff; margin-bottom: .75rem; }
.inline-cta p { font-size: .9375rem; color: rgba(255,255,255,.75); line-height: 1.65; margin-bottom: 1.25rem; }
