/* Journal : page d'accueil du blog et archives ------------------------------ */
.journal-hero__inner {
  max-width: 1100px; margin: 0 auto;
  padding: clamp(80px, 10vw, 160px) var(--gutter);
  display: flex; flex-direction: column; align-items: center; gap: clamp(40px, 5vw, 64px);
}
.journal-hero__head { display: flex; flex-direction: column; align-items: center; gap: 20px; text-align: center; }
.journal-hero__smile { width: clamp(100px, 9vw, 140px); }
.journal-cards { width: 100%; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); gap: 16px; }
.journal-card {
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 22px; text-align: center;
  min-height: clamp(240px, 26vw, 340px); padding: clamp(32px, 4vw, 56px);
  border-radius: var(--radius-lg); background: var(--white);
}
.journal-card h2 { font-size: clamp(28px, 3vw, 42px); line-height: 1.08; font-weight: 600; letter-spacing: -.015em; }
.journal-card__count { font-size: 14px; font-weight: 600; }

.archive-hero__inner { padding-block: clamp(56px, 8vw, 112px) clamp(40px, 5vw, 64px); display: flex; flex-direction: column; gap: 20px; }
.archive-hero__back { align-self: flex-start; font-size: 14px; font-weight: 700; }
.archive-hero__intro { max-width: 760px; }
.cat-filters { display: flex; flex-wrap: wrap; gap: 10px; padding-top: 8px; }
.cat-filter {
  padding: 11px 18px; border-radius: var(--radius-pill); border: 1.5px solid var(--ink);
  font-size: 14px; font-weight: 700; transition: background .25s, color .25s;
}
.cat-filter:hover { opacity: 1; background: var(--ink); color: var(--white); }
.cat-filter.is-current { background: var(--ink); color: var(--white); }
