/* ==========================================================================
   Japan journal page — normal scrolling page, same palette/type as the CV
   ========================================================================== */

html.journal, body.journal{ height: auto; overflow: visible; }
@media (min-width: 768px){
  html.journal, body.journal{ height: auto; overflow: visible; }
}

.journal-header{
  max-width: 640px; margin: 0 auto; padding: 64px 24px 40px;
}
.back-link{
  display: inline-block; font-size: 13px; color: var(--text-muted);
  border-bottom: 1px solid var(--text-subtle); margin-bottom: 40px;
  transition: color 0.2s ease, border-color 0.2s ease;
}
.back-link:hover{ color: var(--text-primary); border-color: var(--text-primary); }

.journal-header h1{
  font-size: clamp(32px, 6vw, 44px); font-weight: 700; letter-spacing: -0.02em;
  margin: 0 0 12px; line-height: 1.1;
}
.journal-header .subtitle{
  font-size: 14px; color: var(--text-muted); letter-spacing: 0.03em; margin: 0 0 24px;
}
.journal-header p.intro{
  font-size: 15px; color: var(--text-desc); line-height: 1.6; max-width: 52ch; margin: 0;
}

.journal-entries{
  max-width: 640px; margin: 0 auto; padding: 0 24px 100px;
  display: flex; flex-direction: column; gap: 56px;
}

.entry{ border-top: 1px solid var(--border); padding-top: 32px; }
.entry .date{
  font-size: 12px; color: var(--text-muted); letter-spacing: 0.06em;
  text-transform: uppercase; margin-bottom: 10px; display: block;
}
.entry h2{ font-size: 22px; font-weight: 600; letter-spacing: -0.01em; margin: 0 0 14px; }
.entry .body-text{ font-size: 15px; color: var(--text-desc); line-height: 1.7; max-width: 56ch; margin: 0; }

.entry .photo-grid{
  display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  gap: 8px; margin-top: 22px;
}
.entry .photo-grid img,
.entry .photo-grid video{
  width: 100%; height: 220px; object-fit: cover; border-radius: 10px;
  background: var(--frame);
}

.journal-footer{
  max-width: 640px; margin: 0 auto; padding: 0 24px 80px;
  font-size: 12px; color: var(--text-subtle); letter-spacing: 0.04em;
}
