:root {
  --serif: "Source Serif 4", "Noto Serif SC", "Songti SC", "Source Han Serif SC", serif;
  --serif-ja: "Shippori Mincho", "Yu Mincho", "Hiragino Mincho ProN", serif;
  --sans-ja: "Noto Sans JP", "Hiragino Kaku Gothic ProN", system-ui, sans-serif;
}

/* English and other Latin text naturally use Source Serif 4 first;
   Chinese glyphs fall through to Noto Serif SC. */
:lang(ja) {
  font-family: var(--serif-ja);
}

.article-content :lang(ja) {
  font-feature-settings: "palt" 1;
  letter-spacing: .015em;
}

.travel-kicker {
  font-family: var(--serif-ja);
}

/* Slightly restore visual weight after the serif update. */
.site-header nav a {
  font-size: .82rem;
}

/* Navigation-like taxonomy labels need clarity more than literary texture. */
.category-label-ja,
.tag-label-ja {
  font-family: var(--sans-ja);
  font-feature-settings: normal;
  font-weight: 500;
  letter-spacing: .015em;
}

/* Travel posts: H3 reads like a small notebook label. */
body.post-category-travel .article-content h3 {
  display: inline-block;
  margin: 2.8rem 0 1.2rem;
  padding: .28rem .6rem;
  border: 1px solid var(--line);
  border-radius: 4px;
  background: var(--soft);
  color: var(--muted);
  font-family: var(--sans);
  font-size: .76rem;
  font-weight: 500;
  line-height: 1.45;
  letter-spacing: .025em;
}

/* うたかたの日々: H3 becomes a light time-slice divider. */
body.post-category-utakata .article-content h3 {
  display: flex;
  align-items: center;
  gap: .8rem;
  margin: 3rem 0 1.2rem;
  color: var(--muted);
  font-family: var(--sans);
  font-size: .78rem;
  font-weight: 500;
  line-height: 1.45;
  letter-spacing: .025em;
}

body.post-category-utakata .article-content h3::after {
  content: "";
  flex: 1;
  height: 1px;
  background: var(--line);
}
