/* --------------------------------------------------
   JOURNAL BENTO GRID
-------------------------------------------------- */
.journal-grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr;
  grid-template-areas:
    "feature small1 small2"
    "feature small3 small4"
    "list list list";
  gap: 1rem;
}

@media (max-width: 900px) {
  .journal-grid {
    grid-template-columns: 1fr;
    grid-template-areas:
      "feature"
      "small1"
      "small2"
      "small3"
      "small4"
      "list";
  }
}

.journal-feature,
.journal-small {
  background: rgba(255, 255, 255, 0.6);
  border: 1px solid var(--border);
  border-radius: 14px;
  padding: 1rem;
}

.journal-feature {
  grid-area: feature;
}

.journal-small:nth-child(2) {
  grid-area: small1;
}
.journal-small:nth-child(3) {
  grid-area: small2;
}
.journal-small:nth-child(4) {
  grid-area: small3;
}
.journal-small:nth-child(5) {
  grid-area: small4;
}

.journal-image { width: 100%; aspect-ratio: 1 / 1; border-radius: 12px; margin-bottom: 0.6rem; /* NEW */ background-size: cover; background-position: center; background-repeat: no-repeat; position: relative; overflow: hidden; }

.journal-tags {
  position: absolute;
  top: 8px;
  left: 8px;
  display: flex;
  gap: 0.35rem;
  flex-wrap: wrap;
  z-index: 2;
}

.journal-tag {
  padding: 0.2rem 0.55rem;
  font-size: 0.7rem;
  font-weight: 600;
  border-radius: var(--pill);
  color: white;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  backdrop-filter: blur(4px);
}

.journal-small,
.journal-feature {
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.journal-small:hover,
.journal-feature:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 20px rgba(0,0,0,0.15);
}



.journal-title {
  margin: 0;
  font-size: 1.1rem;
  font-weight: 600;
}

.journal-excerpt {
  font-size: 0.9rem;
  color: var(--muted);
  margin: 0.4rem 0;
}

.journal-read {
  font-size: 0.85rem;
  text-decoration: none;
  color: var(--text);
  font-weight: 500;
}

.journal-list {
  grid-area: list;
  background: rgba(255, 255, 255, 0.55);
  border: 1px solid var(--border);
  border-radius: 14px;
  padding: 1rem;
}