/* =========================================================
   Indus Climate Fund — Media & Publications (page-specific)
   Relies on styles.css for tokens, header, footer, buttons,
   eyebrow, reveal, currents, river-thread, page-hero, cta-band.
   ========================================================= */

.pubs { background: var(--paper); }

.pub-list { list-style: none; margin: 0; padding: 0; display: grid; gap: clamp(2.5rem, 5vw, 4rem); }

.pub {
  display: grid; grid-template-columns: 0.85fr 1.45fr;
  gap: clamp(1.8rem, 4vw, 3.5rem); align-items: start;
}
.pub__cover {
  margin: 0; border-radius: var(--radius); overflow: hidden;
  border: 1px solid var(--stone); background: var(--paper-2);
  position: sticky; top: 110px;
}
.pub__cover img { width: 100%; height: auto; display: block; transition: transform 0.8s var(--ease); }
.pub__cover:hover img { transform: scale(1.03); }

.pub__kicker {
  font-family: var(--font-mono); font-size: 0.72rem; letter-spacing: 0.18em;
  text-transform: uppercase; color: var(--silt); margin: 0 0 0.5rem;
}
.pub__author {
  font-family: var(--font-mono); font-size: 0.8rem; letter-spacing: 0.04em;
  color: var(--river); margin: 0 0 1.2rem;
}
.pub__title {
  font-family: var(--font-display); font-weight: 400;
  font-size: clamp(1.5rem, 2.8vw, 2.25rem); line-height: 1.18; letter-spacing: -0.015em;
  color: var(--ink); margin: 0 0 1.6rem;
}
.pub__abstract {
  border-left: 2px solid var(--river);
  padding-left: clamp(1rem, 2vw, 1.5rem); margin: 0 0 1.9rem;
}
.pub__abstract p { color: var(--ink-soft); font-size: 0.98rem; line-height: 1.7; margin: 0; }
.pub__abstract sub, .pub__abstract sup { font-family: var(--font-mono); font-size: 0.72em; }

.pub__cta { margin-top: 0.2rem; }

/* note under the closing CTA band */
.cta-band__note {
  font-family: var(--font-mono); font-size: 0.74rem; letter-spacing: 0.08em;
  color: var(--paper-soft); margin: 0.5rem 0 0;
}

/* ---------- responsive ---------- */
@media (max-width: 820px) {
  .pub { grid-template-columns: 1fr; }
  .pub__cover { position: static; max-width: 380px; }
}
