/* Blog typography for scholar.bz — layered over the site's app.css. The app
   runs Tailwind's preflight, so headings, lists and paragraphs need explicit
   sizes and margins here. */
.scholar-site{min-height:100dvh;display:flex;flex-direction:column;background:var(--bg);color:var(--ink);font-family:"Plus Jakarta Sans",system-ui,sans-serif;line-height:1.6}
.scholar-site .blog-main{flex:1}
.scholar-site h1,.scholar-site h2,.scholar-site h3{font-family:"Fraunces",Georgia,serif;line-height:1.1;letter-spacing:-.01em;color:var(--navy)}
.scholar-site .nav-links a.active{color:var(--blue);font-weight:700}
.scholar-site .reveal{opacity:1;transform:none}

/* index */
.blog-index .section-head h1{font-size:clamp(2rem,4vw,3rem);margin:12px 0 14px}
.blog-index .section-head p{font-size:1.1rem;color:var(--muted);max-width:640px;margin:0 auto}
.blog-empty{text-align:center;color:var(--muted);padding:48px 0}
.post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:40px}
@media (max-width:960px){.post-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:620px){.post-grid{grid-template-columns:1fr}}
.post-card{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm);text-decoration:none;color:inherit;transition:transform .2s,box-shadow .25s}
.post-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.post-card img,.post-card-placeholder{display:block;width:100%;aspect-ratio:3/2;object-fit:cover;background:linear-gradient(135deg,var(--navy),var(--blue))}
.post-card-body{padding:18px 20px 22px}
.post-card-body h2{font-size:1.25rem;margin:8px 0 8px}
.post-card-body p{margin:0;color:var(--muted);font-size:.95rem}
.post-card-body .eyebrow{margin:0}
.post-meta{font-size:.85rem;color:var(--muted);margin:12px 0 0}

/* post */
.post{padding:32px 0 0}
.post-head{max-width:820px;text-align:center}
.post-head h1{font-size:clamp(2rem,4.2vw,3.1rem);margin:14px 0 16px}
.post-lede{font-size:1.2rem;color:var(--muted);margin:0 auto;max-width:680px}
.post-head .post-meta{margin-top:16px}
.post-hero{max-width:1100px;margin:32px auto 0;padding:0 24px}
.post-hero img{display:block;width:100%;height:auto;border-radius:var(--radius);box-shadow:var(--shadow)}
.post-preview-banner{background:#fff7e6;color:#7a4b00;border-bottom:1px solid #f3d9a4;text-align:center;font-size:.9rem;padding:10px 16px}
.prose{max-width:720px;margin:40px auto 0;font-size:1.08rem;line-height:1.75}
.prose h2{font-size:1.65rem;margin:2.2em 0 .7em}
.prose h3{font-size:1.25rem;margin:1.8em 0 .5em}
.prose p{margin:0 0 1.2em}
.prose ul,.prose ol{margin:0 0 1.2em 1.4em;padding:0}
.prose ul{list-style:disc}.prose ol{list-style:decimal}
.prose li{margin:.35em 0}
.prose a{color:var(--blue);text-decoration:underline;text-underline-offset:3px}
.prose strong{color:var(--navy)}
.prose blockquote{margin:1.4em 0;padding:.6em 1.2em;border-left:4px solid var(--teal);background:#fff;border-radius:0 12px 12px 0;color:var(--navy)}
.prose code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.92em;background:#eef4fb;padding:.1em .4em;border-radius:6px}
.prose pre{background:#102A43;color:#fff;padding:16px 18px;border-radius:12px;overflow:auto;margin:0 0 1.2em}
.prose pre code{background:none;padding:0;color:inherit}
.prose hr{border:0;border-top:1px solid var(--line);margin:2em 0}
.prose img{max-width:100%;height:auto;border-radius:12px}
.prose table{width:100%;border-collapse:collapse;margin:0 0 1.2em;font-size:.95rem}
.prose th,.prose td{border:1px solid var(--line);padding:.5em .7em;text-align:left;vertical-align:top}
.prose th{background:#eef4fb;color:var(--navy)}
.post-tags{max-width:720px;margin:28px auto 0;display:flex;flex-wrap:wrap;gap:8px}
.post-cta{margin-top:64px}
.post-cta h2{font-size:1.9rem;margin:0 0 10px}
.post-cta p{margin:0 0 20px}
