.post-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.post-card{min-width:0;display:flex;flex-direction:column;height:auto;border:1px solid var(--line);border-radius:18px;background:#fff;overflow:hidden;box-shadow:0 12px 34px #0b16240a;transition:transform .22s,box-shadow .22s,border-color .22s}
.post-card:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:color-mix(in srgb,var(--primary) 22%,var(--line))}
.post-card__image{display:block;min-width:0;overflow:hidden;background:var(--soft)}
.post-card__image img{display:block;width:100%;height:220px;object-fit:cover;transition:transform .38s}
.post-card:hover .post-card__image img{transform:scale(1.035)}
.post-card__body{display:flex;min-width:0;flex-direction:column;flex:1;padding:20px}
.post-card h3{max-width:100%;font-size:20px;line-height:1.35;margin:7px 0 10px;white-space:normal;overflow-wrap:anywhere}
.post-card h3 a{display:block;max-width:100%}.post-card h3 a:hover{color:var(--primary)}
.post-card p{max-width:100%;font-size:13px;line-height:1.65;margin-bottom:16px;white-space:normal;overflow-wrap:anywhere}
.post-card .story-meta{max-width:100%;margin-top:auto;padding-top:7px;overflow-wrap:anywhere}
.post-card--compact{display:grid;grid-template-columns:110px minmax(0,1fr);align-items:start;height:auto;border:0;border-radius:0;box-shadow:none;padding-bottom:18px;border-bottom:1px solid var(--line);background:transparent}
.post-card--compact:hover{transform:none;box-shadow:none}
.post-card--compact .post-card__image{border-radius:12px}
.post-card--compact .post-card__image img{height:110px;aspect-ratio:1;object-fit:cover}
.post-card--compact .post-card__body{min-width:0;padding:4px 0 0 15px}
.post-card--compact h3{font-size:15px;line-height:1.4}.post-card--compact .story-meta{font-size:10px}
@media(max-width:900px){.post-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.post-grid{grid-template-columns:1fr}.post-card__image img{height:190px}.post-card h3{font-size:18px}.post-card--compact{grid-template-columns:92px minmax(0,1fr)}.post-card--compact .post-card__image img{height:92px}}
