.site-footer{border-top:1px solid var(--border);padding:28px 0 16px;background:var(--surface);margin-top:32px}
.site-footer .container{display:block}
.site-footer .footer-grid{display:grid;gap:18px;grid-template-columns:2fr 1fr 1fr 2fr;align-items:start}
@media (max-width:1024px){.site-footer .footer-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.site-footer .footer-grid{grid-template-columns:1fr}}
/* BLOG */
/* ===== Blog index ===== */
.blog-toolbar{ display:grid; grid-template-columns: 1fr 160px; gap:10px; margin-bottom:14px }
.post-grid{ display:grid; gap:16px; grid-template-columns: repeat(3, minmax(0,1fr)); }
@media (max-width: 1024px){ .post-grid{ grid-template-columns: repeat(2,1fr) } }
@media (max-width: 640px){  .post-grid{ grid-template-columns: 1fr } }

/* ===== Post card (pro) ===== */
.post-card{ background:var(--bg); border:1px solid var(--border); border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow); display:grid; grid-template-rows:auto 1fr; transition: transform .18s ease, box-shadow .18s ease; }
.post-card:hover{ transform: translateY(-2px); box-shadow:0 12px 30px rgba(2,6,23,.10) }

.post-thumb{ display:block; position:relative }
.post-media{ position:relative; aspect-ratio: 16/9; background:var(--surface); overflow:hidden }
.post-img{ width:100%; height:100%; object-fit:cover; transform:scale(1.01); transition: transform .45s ease, filter .35s ease; filter:saturate(1) contrast(1.03) }
.post-card:hover .post-img{ transform:scale(1.035) }
.post-overlay{ position:absolute; inset:0; background: linear-gradient(180deg, rgba(2,6,23,0) 55%, rgba(2,6,23,.55) 100%) }

.post-chip{ position:absolute; left:10px; top:10px; z-index:2; padding:4px 10px; font-size:12px; color:#fff; border-radius:999px; background: var(--primary); border:1px solid rgba(255,255,255,.2); box-shadow:0 6px 18px rgba(2,6,23,.12) }

.post-body{ padding:12px; display:grid; gap:8px }
.post-title{ margin:0; font-size:18px; line-height:1.35; font-weight:800; color:var(--fg) }
.post-desc{ margin:0; color:var(--muted); display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden }

.post-meta{ display:flex; align-items:center; justify-content:space-between; gap:10px; color:var(--muted); font-size:13px }
.post-meta .left{ display:flex; align-items:center; gap:8px }
.post-avatar{ width:24px; height:24px; border-radius:999px; border:1px solid var(--border); object-fit:cover; background:var(--bg) }
.post-tags{ display:flex; gap:6px; flex-wrap:wrap; margin-top:2px }
.post-tags .chip{ padding:2px 8px; font-size:12px }

/* Utilities */
.stretched-link{ position:relative; z-index:1 }
.stretched-link::after{ content:""; position:absolute; inset:0; z-index:0 }
.img-blur{ filter:blur(6px) saturate(1) contrast(1.02); transform:scale(1.02) }
.img-blur.is-loaded{ filter:none; transform:none; transition:filter .35s ease, transform .35s ease }

@media (prefers-reduced-motion: reduce){ .post-img{ transition:none } }