/* ACMOBOOK Blog — page-specific (not loaded on homepage CRP) */
.acm-blog{max-width:1120px;margin:0 auto;padding:28px 16px 72px}
.acm-blog-hero{margin-bottom:28px;max-width:40rem}
.acm-blog-hero__eyebrow{margin:0 0 8px;font-size:.8rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--acm-primary,#635BFF)}
.acm-blog-hero h1{margin:0 0 10px;font-size:clamp(1.85rem,3.2vw,2.5rem);letter-spacing:-.03em;line-height:1.15;color:#0f172a}
.acm-blog-hero__lead{margin:0;color:#64748b;line-height:1.6}
.acm-blog-section{margin:40px 0}
.acm-blog-section h2{margin:0 0 16px;font-size:1.25rem;letter-spacing:-.02em}
.acm-blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.acm-blog-grid--featured{grid-template-columns:1fr}
.acm-blog-cats{display:flex;flex-wrap:wrap;gap:10px}
.acm-blog-cats a{
  display:inline-flex;align-items:center;padding:8px 14px;border-radius:999px;
  border:1px solid #e2e8f0;background:#fff;color:#0f172a;text-decoration:none;font-size:.92rem;font-weight:600
}
.acm-blog-cats a:hover{border-color:#635BFF;color:#635BFF}
.acm-blog-topics{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;color:#64748b;font-size:.92rem}
.acm-blog-card{display:flex;flex-direction:column;background:#fff;border:1px solid #e7e8f2;border-radius:14px;overflow:hidden}
.acm-blog-card--featured{display:grid;grid-template-columns:1.2fr 1fr;gap:0}
.acm-blog-card__media{display:block;background:#f1f5f9;aspect-ratio:16/10;overflow:hidden}
.acm-blog-card--featured .acm-blog-card__media{aspect-ratio:auto;min-height:280px}
.acm-blog-card__img,.acm-blog-card__media picture,.acm-blog-card__media img{width:100%;height:100%;object-fit:cover;display:block}
.acm-blog-card__placeholder{display:block;width:100%;height:100%;background:linear-gradient(135deg,#eef0ff,#ecfeff)}
.acm-blog-card__body{padding:16px 16px 18px;display:flex;flex-direction:column;gap:8px}
.acm-blog-card--featured .acm-blog-card__body{padding:28px;justify-content:center}
.acm-blog-card__cat{font-size:.78rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:#635BFF;text-decoration:none}
.acm-blog-card__title{margin:0;font-size:1.05rem;line-height:1.35}
.acm-blog-card--featured .acm-blog-card__title{font-size:clamp(1.35rem,2.4vw,1.85rem)}
.acm-blog-card__title a{color:#0f172a;text-decoration:none}
.acm-blog-card__title a:hover{color:#635BFF}
.acm-blog-card__excerpt{margin:0;color:#64748b;font-size:.95rem;line-height:1.55}
.acm-blog-card__meta{display:flex;flex-wrap:wrap;gap:8px 12px;color:#94a3b8;font-size:.82rem}
.acm-blog-pagination{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:28px}
.acm-blog-pagination__link{color:#635BFF;font-weight:600;text-decoration:none}
.acm-blog-pagination__status{color:#64748b;font-size:.92rem}
.acm-blog-article{max-width:760px;margin:0 auto}
.acm-blog-article__cat{display:inline-block;margin-bottom:10px;font-size:.8rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#635BFF;text-decoration:none}
.acm-blog-article h1{margin:0 0 12px;font-size:clamp(1.8rem,3vw,2.4rem);letter-spacing:-.03em;line-height:1.15}
.acm-blog-article__excerpt{margin:0 0 14px;color:#475569;font-size:1.05rem;line-height:1.6}
.acm-blog-article__meta{display:flex;flex-wrap:wrap;gap:8px 14px;color:#64748b;font-size:.9rem;margin-bottom:20px}
.acm-blog-article__hero{margin:0 0 28px;border-radius:14px;overflow:hidden;background:#f1f5f9}
.acm-blog-article__hero img{width:100%;height:auto;display:block}
.acm-blog-prose{font-size:1.05rem;line-height:1.75;color:#0f172a}
.acm-blog-prose :is(h2,h3,h4){margin:1.5em 0 .6em;letter-spacing:-.02em}
.acm-blog-prose p{margin:0 0 1em}
.acm-blog-prose img{max-width:100%;height:auto;border-radius:10px}
.acm-blog-prose a{color:#635BFF}
.acm-blog-prose blockquote{margin:1.2em 0;padding:.2em 0 .2em 1em;border-left:3px solid #635BFF;color:#475569}
.acm-blog-share{display:flex;flex-wrap:wrap;gap:8px;margin:28px 0}
.acm-blog-share a,.acm-blog-share button{
  border:1px solid #e2e8f0;background:#fff;border-radius:999px;padding:8px 12px;font-size:.85rem;
  color:#0f172a;text-decoration:none;cursor:pointer
}
.acm-blog-faq,.acm-blog-sources,.acm-blog-author,.acm-blog-related,.acm-blog-cta{margin:36px 0}
.acm-blog-faq h2,.acm-blog-sources h2,.acm-blog-related h2,.acm-blog-author h2{font-size:1.2rem;margin:0 0 12px}
.acm-blog-faq details{border-top:1px solid #e2e8f0;padding:12px 0}
.acm-blog-faq summary{cursor:pointer;font-weight:600}
.acm-blog-cta{
  padding:22px 20px;border-radius:14px;background:linear-gradient(135deg,#f8f9ff,#ecfeff);
  border:1px solid #e7e8f2
}
.acm-blog-cta p{margin:0 0 12px;color:#334155}
.acm-blog-cta__actions{display:flex;flex-wrap:wrap;gap:10px}
.acm-blog-cta__actions a{
  display:inline-flex;align-items:center;padding:10px 14px;border-radius:10px;font-weight:600;text-decoration:none
}
.acm-blog-cta__actions a.primary{background:#635BFF;color:#fff}
.acm-blog-cta__actions a.ghost{background:#fff;color:#0f172a;border:1px solid #e2e8f0}
.acm-blog-empty{padding:48px 16px;text-align:center;color:#64748b}
.acm-blog-search{display:flex;gap:8px;margin:16px 0 28px;max-width:520px}
.acm-blog-search input{flex:1;border:1px solid #e2e8f0;border-radius:10px;padding:10px 12px}
.acm-blog-search button{border:0;border-radius:10px;padding:10px 16px;background:#635BFF;color:#fff;font-weight:600}
.acm-blog-tax{margin:20px 0 8px;display:flex;flex-direction:column;gap:10px}
.acm-blog-tax__row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:.9rem;color:#64748b}
.acm-blog-tax__row a{color:#635BFF;text-decoration:none;font-weight:600}
.acm-blog-tax__row--tags span{background:#f1f5f9;border-radius:999px;padding:4px 10px;color:#475569}
.acm-blog-structured-links{margin:28px 0}
.acm-blog-structured-links h2{font-size:1.1rem;margin:0 0 10px}
.acm-blog-structured-links ul{margin:0;padding-left:1.1rem}
.acm-blog-structured-links a{color:#635BFF}
.acm-blog-author-hero,.acm-blog-entity-hero{display:grid;grid-template-columns:120px 1fr;gap:20px;align-items:start}
.acm-blog-author-hero__photo,.acm-blog-entity-hero__photo{border-radius:14px;overflow:hidden;background:#f1f5f9}
.acm-blog-author-hero__photo img,.acm-blog-entity-hero__photo img{width:100%;height:auto;display:block;aspect-ratio:1;object-fit:cover}
.acm-blog-entity-hero{grid-template-columns:minmax(120px,220px) 1fr}
@media (max-width:991.98px){
  .acm-blog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .acm-blog-card--featured{grid-template-columns:1fr}
}
@media (max-width:575.98px){
  .acm-blog-grid{grid-template-columns:1fr}
  .acm-blog-author-hero,.acm-blog-entity-hero{grid-template-columns:1fr}
}
