/* Blog pages: readable article column on top of industry.css */
.blog .post { max-width: 720px; margin: 0 auto; padding-top: 40px; }
.blog .post h1 { font-size: clamp(34px, 5.4vw, 56px); }
.prose { font-size: 18px; line-height: 1.7; color: #222; }
.prose h2 { font-size: clamp(24px, 3vw, 32px); margin: 40px 0 12px; }
.prose h3 { font-size: 21px; margin: 28px 0 8px; }
.prose p, .prose ul, .prose ol, .prose blockquote { margin: 0 0 18px; }
.prose ul, .prose ol { padding-left: 1.3em; }
.prose li { margin: 0 0 8px; }
.prose blockquote { border-left: 3px solid var(--zo); padding: 2px 0 2px 18px; color: #444; }
.prose a { text-decoration-color: var(--zo); text-underline-offset: 3px; }
.cta { margin: 48px 0 0; background: var(--surface); border: 1px solid var(--line); border-radius: 20px; padding: 28px; }
.cta h2 { font-size: 28px; margin-bottom: 8px; }
.cta p { color: var(--muted); margin: 0 0 18px; }
.posts { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 14px; }
.card { display: block; background: var(--surface); border: 1px solid var(--line); border-radius: 16px; padding: 20px; text-decoration: none; }
.card:hover { border-color: var(--ink); }
.card h3 { font-size: 18px; line-height: 1.3; margin: 0 0 8px; }
.card p { color: var(--muted); font-size: 14px; margin: 0; }
.cats { display: flex; flex-wrap: wrap; gap: 8px; }
.cats a { border: 1px solid var(--line); background: var(--surface); border-radius: 999px; padding: 6px 14px; text-decoration: none; font-size: 14px; }
.bsearch { display: flex; gap: 8px; max-width: 560px; margin: 0 0 22px; }
.bsearch input { flex: 1; min-width: 0; border: 1px solid var(--line); background: var(--surface); border-radius: 999px; padding: 11px 18px; font: inherit; font-size: 16px; }
.bsearch input:focus { outline: 2px solid var(--zo); outline-offset: 1px; }
.sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
