/* Blog styles (listing + posts). Uses tokens from style.css */
.blog-head{max-width:760px;margin-bottom:32px}
.cards{list-style:none;margin:0 0 48px;padding:0;display:grid;gap:22px;grid-template-columns:1fr}
@media (min-width:720px){.cards{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1000px){.cards{grid-template-columns:repeat(3,1fr)}}
.card{background:#fff;border:1px solid var(--gray);border-top:5px solid var(--purple);border-radius:var(--radius);box-shadow:var(--shadow);padding:22px 22px 24px;display:flex}
.card article{display:flex;flex-direction:column;width:100%}
.card h2{font-size:1.25rem;margin-bottom:.5em}
.card h2 a{color:var(--black);text-decoration:none}
.card h2 a:hover{color:var(--purple)}
.card p{color:var(--ink-soft)}
.read-more{margin-top:auto;font-weight:700;text-decoration:none}
.post-meta{font-size:.92rem;color:var(--ink-soft);margin-bottom:.5em}
.page.blog .wrap{max-width:var(--wrap)}
.page.blog .post{max-width:800px}
.crumbs{font-size:.92rem;margin-bottom:18px;color:var(--ink-soft)}
.post-head{margin-bottom:28px;border-bottom:1px solid var(--gray);padding-bottom:18px}
.post-head h1{font-size:clamp(1.9rem,5.4vw,2.8rem)}
.prose h2{font-size:clamp(1.35rem,3.6vw,1.7rem);margin-top:1.6em}
.prose h3{margin-top:1.2em}
.prose ul{padding-left:1.25em;margin:0 0 1.2em}
.prose li{margin-bottom:.45em}
.table-wrap{overflow-x:auto;margin:0 0 1.4em}
.prose table{border-collapse:collapse;width:100%;min-width:480px;font-size:.98rem}
.prose th,.prose td{border:1px solid var(--gray);padding:10px 12px;text-align:left;vertical-align:top}
.prose th{background:var(--purple-tint)}
.post-cta{background:var(--purple-tint);border-left:5px solid var(--purple);border-radius:var(--radius);padding:24px;margin:40px 0 24px}
.post-cta h2{font-size:1.45rem}
.post-cta-btns{display:flex;flex-wrap:wrap;gap:12px}
.back{margin-top:8px}
