/**
 * Layout shell for prose blog templates (replaces Tailwind CDN arbitrary utilities).
 * Use with ../../resource/css/tailwind.min.css + local fonts.
 */
.blog-shell-bg {
  background: #f5f5f7;
  color: #111;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.blog-shell-main {
  padding-top: 10rem;
  padding-bottom: 6rem;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  background: #fff;
}
.blog-shell-inner {
  max-width: 56rem;
  margin-left: auto;
  margin-right: auto;
}
.blog-breadcrumb {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-wrap: wrap;
  margin-bottom: 2.5rem;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: rgba(17, 17, 17, 0.3);
}
.blog-breadcrumb a:hover {
  color: #000;
  opacity: 1;
}
.blog-breadcrumb span {
  opacity: 0.3;
}
.blog-cover-wrap {
  width: 100%;
  height: 400px;
  background: #f5f5f7;
  border-radius: 28px;
  overflow: hidden;
  margin-bottom: 5rem;
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
}
.blog-cover-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: grayscale(100%);
  transition: filter 0.7s ease;
}
.blog-cover-wrap img:hover {
  filter: grayscale(0%);
}
@media (min-width: 768px) {
  .blog-cover-wrap {
    height: 550px;
  }
}
.blog-toc {
  background: #f5f5f7;
  padding: 2rem;
  border-radius: 28px;
  margin-bottom: 3rem;
}
.blog-toc ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.blog-toc li {
  margin-bottom: 0.35rem;
}
.blog-table-wrap {
  overflow-x: auto;
}
.blog-article-h1 {
  font-size: clamp(1.85rem, 3.2vw, 2.35rem);
  font-weight: 800;
  line-height: 1.15;
  margin: 0 0 1.75rem;
  letter-spacing: -0.025em;
  color: #111827;
}

/* ------------------------------------------------------------------
   Executive summary card (replaces missing Tailwind Typography + dead prose.min.css)
   ------------------------------------------------------------------ */
article.prose section.summary,
article.prose .summary {
  display: block;
  box-sizing: border-box;
  background: linear-gradient(135deg, #ffffff 0%, #eef4ff 100%);
  border: 1px solid rgba(17, 17, 17, 0.08);
  border-radius: 28px;
  padding: 2rem 2.5rem;
  margin: 0 0 2.5rem 0;
  box-shadow: 0 24px 80px rgba(15, 23, 42, 0.08);
}
article.prose section.summary h2,
article.prose .summary h2 {
  margin-top: 0 !important;
  margin-bottom: 1rem !important;
  font-size: 1.5rem !important;
  font-weight: 800 !important;
  line-height: 1.25;
  color: #111827 !important;
  letter-spacing: -0.02em;
}
article.prose section.summary p,
article.prose .summary p {
  margin-bottom: 0 !important;
  font-size: 1.1rem !important;
  line-height: 1.8 !important;
  color: #1c1c1e !important;
}

/* TOC heading: pages used Tailwind JIT classes font-bold mb-4 — not in purged CSS */
.blog-toc > p:first-of-type {
  font-weight: 800;
  margin-bottom: 1rem;
  font-size: 1rem;
  color: #111827;
}
.blog-toc a {
  color: #2563eb;
  text-decoration: none;
}
.blog-toc a:hover {
  text-decoration: underline;
}

/* Minimal .prose hook so article layout is consistent without @tailwindcss/typography */
article.prose {
  max-width: none;
}
