/* Keep short Japanese phrases together while allowing enlarged text to reflow. */
.phrase {
  display: inline-block;
  max-inline-size: 100%;
}

h1, h2, h3, p, figcaption, blockquote, .card, .chapters a {
  word-break: auto-phrase;
  line-break: strict;
}

h1, h2, h3, .card b {
  text-wrap: balance;
}

.sites-intro p {
  margin: 0;
}

.sites-intro p + p {
  margin-block-start: .6em;
}

/* The title shares its row with a photograph above the mobile breakpoint. */
.hero:has(.photo) > div:first-child {
  container-type: inline-size;
}

.hero:has(.photo):not(.hero-0) h1 {
  font-size: clamp(1.6rem, 9.4cqi, 4rem);
}
