/* Post card — shared by the homepage "From the Blog" section and the blog archive. */

.post-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; }

.post-card {
  background: var(--black); color: var(--white); border-radius: 6px; overflow: hidden;
  display: flex; flex-direction: column;
  position: relative; text-decoration: none;
  transition: transform 0.3s;
}
.post-card:hover { transform: translateY(-6px); }
.post-card::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 2px; background: var(--accent); transform: scaleX(0); transform-origin: left; transition: transform 0.35s ease; z-index: 1; }
.post-card:hover::before { transform: scaleX(1); }

.post-card-image { aspect-ratio: 16 / 10; background: var(--mid); overflow: hidden; }
.post-card-image img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.5s ease; }
.post-card:hover .post-card-image img { transform: scale(1.04); }

.post-card-body { padding: 1.75rem 1.75rem 2rem; display: flex; flex-direction: column; gap: 0.8rem; flex: 1; }
.post-card h3 { font-family: 'Bebas Neue', sans-serif; font-size: 1.9rem; letter-spacing: 0.05em; line-height: 1; color: var(--white); }
.post-excerpt { font-size: 0.88rem; font-weight: 300; color: var(--gray); line-height: 1.75; }
.post-card .card-arrow { margin-top: auto; padding-top: 0.5rem; font-size: 0.85rem; font-weight: 500; letter-spacing: 0.12em; text-transform: uppercase; color: var(--accent); }

.post-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 0.75rem; font-size: 0.72rem; font-weight: 500; letter-spacing: 0.14em; text-transform: uppercase; color: var(--gray); }
.post-category { color: var(--accent); }

@media (max-width: 900px) { .post-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px) { .post-grid { grid-template-columns: 1fr; } }
