/* Shared styles for blog.html and post.html — matches privacy.html */
html { scroll-behavior: smooth; }
body { margin: 0; background: #f6fafc; font-family: "Public Sans", system-ui, sans-serif; color: #0c2031; }
* { box-sizing: border-box; }
a { color: #175b8c; text-decoration: none; transition: color .15s ease, background .15s ease; }
.img-fill { width:100%; height:100%; object-fit:cover; display:block; background:#12354f; }

/* Nav (same as privacy.html) */
.nav-cta:hover  { background:rgba(255,255,255,0.28); color:#fff; }
.nav-link       { color:rgba(255,255,255,0.85); }
.nav-link:hover, .nav-link[aria-current] { color:#fff; }
.blog-nav-links { display:flex; align-items:center; gap:26px; list-style:none; margin:0; padding:0; }
@media (max-width:640px) { .blog-nav-links .nav-link { display:none; } }

/* Blog list */
.blog-wrap { max-width:1152px; margin:0 auto; padding:72px 24px 96px; }
.eyebrow { color:#3092cf; font-weight:600; text-transform:uppercase; letter-spacing:0.14em; font-size:12px; margin:0 0 12px; }
.blog-title { font-family:Archivo,sans-serif; font-weight:800; font-size:clamp(2rem,4.5vw,3.2rem); line-height:1.08; margin:0 0 40px; }
.post-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:28px; }
.post-card { display:flex; flex-direction:column; background:#fff; border:1px solid #dbe6ee; border-radius:26px; overflow:hidden; color:#0c2031; transition:box-shadow .2s ease, border-color .2s ease; }
.post-card:hover { border-color:#3092cf; box-shadow:0 20px 50px -20px rgba(48,146,207,0.45); }
.post-card__img { position:relative; aspect-ratio:16/10; background:#12354f; overflow:hidden; }
.post-card__img img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; }
.post-card__body { padding:24px 26px 28px; }
.post-card h2 { font-family:Archivo,sans-serif; font-size:22px; font-weight:700; line-height:1.2; margin:6px 0 10px; }
.post-card p { color:#5a7183; line-height:1.6; margin:0 0 16px; }
.post-card__more { color:#175b8c; font-weight:600; font-size:14px; }
.post-date { color:#5a7183; font-size:13px; font-family:"IBM Plex Mono",monospace; }
.blog-empty { color:#5a7183; font-size:17px; }

/* Single post */
.post { max-width:760px; margin:0 auto; padding:72px 24px 96px; }
.post h1 { font-family:Archivo,sans-serif; font-weight:800; font-size:clamp(2rem,4.5vw,3rem); line-height:1.08; margin:10px 0 32px; text-wrap:balance; }
.post-cover { width:100%; border-radius:26px; display:block; margin-bottom:40px; background:#12354f; }
.post-body { font-size:18px; line-height:1.75; }
.post-body h2, .post-body h3 { font-family:Archivo,sans-serif; line-height:1.2; margin:1.8em 0 .5em; }
.post-body a { text-decoration:underline; }
.post-body blockquote { margin:1.5em 0; padding-left:20px; border-left:3px solid #3092cf; color:#5a7183; }
.post-body figure { margin:2em 0; }
.post-body figure img { width:100%; border-radius:18px; display:block; }
.post-body figcaption { color:#5a7183; font-size:14px; margin-top:8px; }
.back-link { display:inline-block; margin-top:48px; font-weight:600; }

footer.blog-footer { background:#eaf3f9; border-top:1px solid #dbe6ee; color:#5a7183; padding:32px 24px; text-align:center; font-size:13px; }
footer.blog-footer a { color:#5a7183; }
footer.blog-footer a:hover { color:#3092cf; }
