/* ==========================================================================
   Journal — index cards and article pages
   Scoped styles only. Reuses the site's component classes; adds nothing new
   to the palette. Cream field, charcoal type, sage panels, yellow scarce.
   ========================================================================== */

/* --------------------------------------------------------------------------
   Index: card link wrapper (whole card is clickable, no nested anchors)
   -------------------------------------------------------------------------- */
.nj-cardlink {
  display: block;
  height: 100%;
  color: inherit;
  text-decoration: none;
}
.nj-cardlink .news-a_master { min-height: 40rem; }
.nj-cardlink:hover .nj-ph-fill { border-color: rgba(37, 37, 37, 0.48); }

/* Placeholder standing in for a per-article hero image */
.nj-ph-fill {
  height: 100%;
  aspect-ratio: auto;
  justify-content: flex-start;
  padding-top: 5.5rem;
  border-radius: var(--radius-general-default);
  transition: border-color .3s ease;
}

/* Short excerpt inside the glass tile */
.nj-excerpt {
  margin: .5rem 0 0;
  max-width: 46ch;
  font-family: var(--typography-font-body);
  font-size: .875rem;
  line-height: 1.5;
  color: rgba(37, 37, 37, 0.7);
}

/* Coming soon entries: same shell, no link, no excerpt */
.nj-soon { cursor: default; }
.nj-soon .news-a_tile { gap: 0; }

/* --------------------------------------------------------------------------
   Article pages
   -------------------------------------------------------------------------- */
.nj-article {
  padding-top: var(--section-padding--hero-to-navbar);
  padding-bottom: var(--section-padding--small);
}
.nj-article_col {
  width: 100%;
  max-width: 46rem;
  margin-left: auto;
  margin-right: auto;
}
.nj-article_head {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--spacing--16);
  margin-bottom: var(--spacing--32);
}
.nj-article_title {
  margin: 0;
  font-size: clamp(2.25rem, 4vw, 3.25rem);
  line-height: 1.08;
  letter-spacing: -0.02em;
}
.nj-article_meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--spacing--12);
}
.nj-article_byline {
  font-family: var(--typography-font-label);
  font-size: .8125rem;
  letter-spacing: .04em;
  color: rgba(37, 37, 37, 0.62);
}
.nj-article_media { margin-bottom: var(--spacing--32); }

.nj-article_body {
  display: flex;
  flex-direction: column;
  gap: 1.35rem;
}
.nj-article_body p {
  margin: 0;
  font-family: var(--typography-font-body);
  font-size: 1.125rem;
  line-height: 1.65;
  color: var(--color-base-base-dark-100);
}
.nj-article_body p.nj-standfirst {
  font-size: 1.375rem;
  line-height: 1.5;
  color: rgba(37, 37, 37, 0.78);
}

.nj-article_foot {
  display: flex;
  align-items: center;
  gap: var(--spacing--16);
  margin-top: var(--spacing--48);
  padding-top: var(--spacing--32);
  border-top: 1px solid rgba(37, 37, 37, 0.12);
}

/* Plain back link above the headline */
.nj-back {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  margin-bottom: var(--spacing--24);
  font-family: var(--typography-font-label);
  font-size: .75rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: rgba(37, 37, 37, 0.62);
  text-decoration: none;
}
.nj-back:hover { color: var(--color-base-base-dark-100); }
.nj-back svg { width: 12px; height: 12px; }

@media screen and (max-width: 991px) {
  .nj-cardlink .news-a_master { min-height: 34rem; }
}
@media screen and (max-width: 767px) {
  .nj-ph-fill { padding-top: 4.5rem; }
  .nj-article_body p { font-size: 1rem; }
  .nj-article_body p.nj-standfirst { font-size: 1.1875rem; }
}
@media screen and (max-width: 479px) {
  .nj-cardlink .news-a_master { min-height: 30rem; }
  .nj-excerpt { font-size: .8125rem; }
}
