/* ============================================================
   ALIFY — blog-archive.css · /blog (also reused on home teaser)
   ============================================================ */

.blog-hero { padding-top: calc(var(--header-h) + clamp(3rem, 8vw, 6rem)); }
.blog-hero__grid { display: grid; gap: 2rem; margin-top: clamp(2rem, 5vw, 3.5rem); }
@media (min-width: 1024px) {
  .blog-hero__grid { grid-template-columns: repeat(12, 1fr); align-items: end; }
  .blog-hero__lead { grid-column: 1 / 8; }
  .blog-hero__aside { grid-column: 9 / 13; justify-self: end; }
}

/* featured post — editorial split */
.feat-post { display: grid; gap: 2.5rem; align-items: center; text-decoration: none; }
@media (min-width: 1024px) {
  .feat-post { grid-template-columns: repeat(12, 1fr); }
  .feat-post__thumb { grid-column: 1 / 6; }
  .feat-post__body { grid-column: 7 / 13; }
}
.feat-post__title { font-family: var(--ff-display); font-weight: 600; font-size: clamp(1.7rem, 3.4vw, 2.6rem); line-height: 1.08; color: var(--off); margin-block: 1.25rem; transition: color .3s; letter-spacing: -.015em; }
.feat-post:hover .feat-post__title { color: var(--green); }
.feat-post__excerpt { color: var(--muted); max-width: 52ch; margin-bottom: 1.5rem; }

/* typographic square thumbs (editorial covers — no photo needed) */
.cover {
  aspect-ratio: 1;
  display: flex; flex-direction: column; justify-content: space-between;
  padding: clamp(1.25rem, 2.5vw, 1.75rem);
  border: 1px solid var(--line);
  border-radius: var(--r);
  overflow: hidden;
  position: relative;
  transition: transform .5s cubic-bezier(.22,.61,.36,1);
}
a:hover .cover, .post-card:hover .cover { transform: translateY(-4px); }
.cover--navy { background: linear-gradient(155deg, #384166, #232947 70%); }
.cover--teal { background: linear-gradient(155deg, #0C6B58, #0A3A30 75%); }
.cover--sand { background: linear-gradient(155deg, #E3DBA9, #CFC394 75%); }
.cover--ink { background: linear-gradient(155deg, #191B26, #101116 75%); }
.cover--green { background: linear-gradient(155deg, #0A8A1E, #075C15 75%); }
.cover--sand .cover__idx, .cover--sand .cover__word, .cover--sand .cover__cat { color: #17170E; }
.cover__idx { font-family: var(--ff-mono); font-size: .72rem; letter-spacing: .16em; color: var(--muted); }
.cover__word {
  font-family: var(--ff-display); font-weight: 700;
  font-size: clamp(1.6rem, 3vw, 2.4rem);
  line-height: 1.02; letter-spacing: -.02em;
  color: var(--off);
}
.cover__word em { font-family: var(--ff-accent); font-style: italic; font-weight: 500; }
.cover__cat { font-family: var(--ff-mono); font-size: .66rem; letter-spacing: .18em; text-transform: uppercase; color: var(--sage-2); margin-top: 1rem; }
.cover::after {
  content: "";
  position: absolute; inset: 0;
  background: linear-gradient(180deg, transparent 55%, rgba(0,0,0,.25));
  pointer-events: none;
}

/* post cards grid */
.posts-grid { display: grid; gap: 2.5rem 1.75rem; }
@media (min-width: 700px) { .posts-grid { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1100px) { .posts-grid { grid-template-columns: repeat(3, 1fr); } }

.post-card { display: flex; flex-direction: column; text-decoration: none; border-top: 2px solid var(--teal); padding-top: 1.5rem; }
.post-card:nth-child(3n+2) { border-top-color: var(--green); }
.post-card:nth-child(3n) { border-top-color: var(--sage); }
.post-card__thumb { margin-bottom: 1.4rem; }
.post-card__meta { display: flex; gap: 1rem; align-items: center; font-family: var(--ff-mono); font-size: .7rem; letter-spacing: .12em; text-transform: uppercase; color: var(--faint); margin-bottom: .9rem; }
.post-card__cat { color: var(--teal-2); }
.post-card__title { font-family: var(--ff-display); font-weight: 600; font-size: 1.35rem; line-height: 1.15; color: var(--off); margin-bottom: .75rem; transition: color .3s; }
.post-card:hover .post-card__title { color: var(--green); }
.post-card__excerpt { color: var(--muted); font-size: .93rem; line-height: 1.6; flex: 1; }
.post-card__more { margin-top: 1.25rem; }

/* category chips row */
.cat-row { display: flex; flex-wrap: wrap; gap: .6rem; }

/* pagination */
.pagination { display: flex; gap: .6rem; justify-content: center; margin-top: 4rem; }
.pagination a, .pagination span {
  min-width: 48px; height: 48px;
  display: inline-grid; place-items: center;
  border: 1px solid var(--line-2);
  border-radius: 50%;
  font-family: var(--ff-mono); font-size: .85rem;
  color: var(--muted); text-decoration: none;
  transition: all .3s;
}
.pagination a:hover { border-color: var(--green); color: var(--green); }
.pagination .is-current { background: var(--green); border-color: var(--green); color: var(--ink); }
.pagination .is-disabled { opacity: .35; pointer-events: none; }

/* anchor-wrapped cards (post-card is an <a>) */
a.post-card { color: inherit; text-decoration: none; }
.post-card__thumb, .post-card__excerpt, .post-card__more { display: block; }
.feat-post { color: inherit; }
.feat-post__thumb, .feat-post__title, .feat-post__excerpt { display: block; }

/* post card with real image cover */
.post-card__media {
  display: block;
  margin-top: calc(-1.5rem - 2px);
  margin-bottom: 1.35rem;
  border-top: 2px solid transparent;
}
.post-card__media img { transition: transform .6s cubic-bezier(.22,1,.36,1); }
.post-card:hover .post-card__media img { transform: scale(1.045); }
