/* OCD blog post — long-form article styling. Added 2026-07-16.
   Scoped to .blog-article so it never leaks into other components.
   Uses design tokens from tokens.css. */

.blog-hero{
  background:var(--band);
  border-bottom:1px solid var(--line);
  padding:clamp(2rem,4.5vw,3.4rem) 0 clamp(1.6rem,3.5vw,2.4rem);
}
.blog-hero .wrap{max-width:1080px}
.blog-breadcrumb{
  font-size:var(--fs-xs);color:var(--muted);
  display:flex;gap:.4rem;flex-wrap:wrap;margin-bottom:1rem;
}
.blog-breadcrumb a{color:var(--muted);text-decoration:none}
.blog-breadcrumb a:hover{color:var(--cyan-deep)}
.blog-breadcrumb span{color:var(--gray)}
.blog-eyebrow{
  display:inline-block;padding:.25rem .7rem;background:var(--cyan-tint);
  border-radius:var(--r);font-size:11px;text-transform:uppercase;
  letter-spacing:.08em;font-weight:700;color:var(--ink);margin-bottom:.9rem;
}

.blog-article{padding:clamp(1.8rem,4vw,3rem) 0 clamp(2.2rem,5vw,3.6rem)}
.blog-article .wrap{max-width:1080px}
/* keep long-form body text at a readable measure inside the wider column */
.blog-article .wrap > p,
.blog-article .wrap > ul,
.blog-article .wrap > ol,
.blog-article .wrap > h2,
.blog-article .wrap > h3,
.blog-article .wrap > blockquote{max-width:none}

.blog-article h1{
  font-family:var(--font-display);font-weight:800;
  font-size:clamp(1.9rem,3.8vw,2.7rem);line-height:1.15;
  letter-spacing:-.015em;color:var(--ink);margin:0 0 1.1rem;
}
/* h1 lives in the hero when present; keep tight if it stays in article flow */
.blog-hero .blog-article-title{margin-bottom:.4rem}

.blog-article h2{
  font-family:var(--font-display);font-weight:800;
  font-size:clamp(1.4rem,2.6vw,1.85rem);line-height:1.25;
  letter-spacing:-.01em;color:var(--ink);
  margin:2.4rem 0 .8rem;padding-top:.4rem;
}
.blog-article h3{
  font-weight:700;font-size:var(--fs-md);color:var(--ink);
  margin:1.7rem 0 .5rem;
}
.blog-article p{
  font-size:var(--fs-base);line-height:1.72;color:#243230;
  margin:0 0 1.1rem;
}
.blog-article ul,.blog-article ol{margin:0 0 1.2rem;padding-left:1.35rem}
.blog-article li{
  font-size:var(--fs-base);line-height:1.66;color:#243230;margin:.4rem 0;
}
.blog-article li::marker{color:var(--cyan-deep)}
.blog-article strong{color:var(--ink);font-weight:700}
.blog-article a{color:var(--cyan-deep);text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px}
.blog-article a:hover{color:var(--ink)}
.blog-article em{color:var(--muted)}

/* BLUF / TL;DR lead emphasis: first para after h1 reads slightly larger */
.blog-article > .wrap > p:first-of-type{font-size:var(--fs-md);line-height:1.65;color:var(--ink)}

.blog-article table{
  width:100%;border-collapse:collapse;margin:1.4rem 0;font-size:var(--fs-sm);
  border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;
}
.blog-article thead th{
  background:var(--band);text-align:left;font-weight:700;color:var(--ink);
  font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.03em;
}
.blog-article th,.blog-article td{
  padding:.7rem .85rem;border-bottom:1px solid var(--line);vertical-align:top;
  text-align:left;line-height:1.5;color:#243230;
}
.blog-article tbody tr:last-child td{border-bottom:none}
.blog-article .tbl-scroll,.blog-article figure{overflow-x:auto;-webkit-overflow-scrolling:touch}

.blog-article blockquote{
  border-left:3px solid var(--cyan-deep);background:var(--band);
  margin:1.4rem 0;padding:.9rem 1.2rem;border-radius:0 var(--r-lg) var(--r-lg) 0;
  color:var(--ink);
}
.blog-article hr{border:none;border-top:1px solid var(--line);margin:2rem 0}
.blog-article small{color:var(--muted);font-size:var(--fs-xs);line-height:1.6;display:block}

/* end-of-post CTA box */
.blog-cta{
  margin:2.4rem 0 .5rem;padding:clamp(1.3rem,3vw,2rem);
  background:var(--ink);border-radius:var(--r-xl);color:#fff;
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;
}
.blog-cta .blog-cta-copy{max-width:44ch}
.blog-cta h3{color:#fff;font-size:var(--fs-lg);font-weight:800;margin:0 0 .3rem}
.blog-cta p{color:#C9D6D4;font-size:var(--fs-sm);line-height:1.55;margin:0}
.blog-cta .blog-cta-actions{display:flex;gap:.6rem;flex-wrap:wrap}
.blog-cta .btn-primary,.blog-cta .btn-secondary{white-space:nowrap}

@media (max-width:600px){
  .blog-cta{flex-direction:column;align-items:stretch;text-align:left}
  .blog-cta .btn-primary,.blog-cta .btn-secondary{width:100%;text-align:center}
}
