.journal-article { max-width: 68rem; margin-inline: auto; }
.journal-copy { max-width: 42rem; margin: 2rem auto; }
.journal-copy h2 { font-size: clamp(1.7rem, 4vw, 3rem); }
.journal-byline { color: var(--dim); }
.journal-cover, .journal-frames figure, .journal-copy figure { margin: 0; }
.journal-article img, .journal-card img { display: block; width: 100%; height: auto; }
.journal-frames { display: grid; gap: 1rem; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.journal-card { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr); gap: 1.5rem; align-items: center; max-width: 54rem; padding: 1rem; background: var(--panel); }
.journal-card h3 { font-size: clamp(1.35rem, 3vw, 2rem); margin-block: .4em; }
@media (max-width: 600px) {
  .journal-frames, .journal-card { grid-template-columns: 1fr; }
}
.journal-snapshot { max-width: 25rem; }
.journal-food { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 42rem; margin-inline: auto; }
.journal-article figcaption { color: var(--dim); font-size: .9rem; margin-top: .5rem; }
@media (max-width: 600px) {
  .journal-food { grid-template-columns: 1fr; }
}

/* Reusable shoot log for event stories. */
.event-stats {
  margin-block: 3rem 1rem;
  padding: clamp(1rem, 4vw, 3rem);
  border: 1px solid var(--line);
  border-top: 4px solid var(--accent);
  background: var(--panel);
  font-variant-numeric: tabular-nums;
}
.event-stats .eyebrow { margin-top: 0; }
.event-stats h2 { margin: 0 0 1.5rem; font-size: clamp(2rem, 5vw, 4rem); line-height: 1; }
.event-stats dl, .event-stats dd { margin: 0; }
.event-stats-totals, .event-stats-day {
  display: grid;
  gap: 1px;
  background: var(--line);
  border: 1px solid var(--line);
}
.event-stats-totals { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.event-stats-day { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.event-stats-totals > div, .event-stats-day > div {
  display: flex;
  flex-direction: column-reverse;
  justify-content: flex-end;
  gap: .5rem;
  padding: clamp(.65rem, 3vw, 1.4rem);
  background: var(--bg);
}
.event-stats-totals dt, .event-stats-day dt { color: var(--dim); font-size: .875rem; }
.event-stats-totals dd, .event-stats-day dd {
  color: var(--accent);
  font-weight: 850;
  line-height: 1;
}
.event-stats-totals dd { font-size: clamp(2rem, 6vw, 4.75rem); }
.event-stats-day dd { font-size: clamp(1.65rem, 4vw, 3rem); }
.event-stats-lenses { margin-block: 1.75rem; }
.event-stats-lenses h3 { margin: 0 0 .75rem; font-size: 1rem; }
.event-stats-lenses dl { display: grid; gap: .85rem; }
.event-stats-lenses dl > div { position: relative; padding-bottom: .6rem; }
.event-stats-lenses dd { position: absolute; inset: 0 0 auto; text-align: right; font-weight: 750; }
.event-stats-lenses dt { padding-right: 3rem; }
.event-stats-bar {
  position: absolute;
  inset: auto 0 -.6rem;
  height: .3rem;
  background: linear-gradient(to right, var(--accent) var(--share), var(--line) var(--share));
}
