/* Keep Korean words intact across every detail page. */
body {
  word-break: keep-all;
  overflow-wrap: break-word;
  line-break: strict;
}

h1, h2, h3, h4 {
  word-break: keep-all;
  overflow-wrap: normal;
  text-wrap: balance;
}

p, li, dd, figcaption, .tagline, .ghost-title > span {
  text-wrap: pretty;
}

/* Let text columns shrink with the layout, rather than widen the page. */
:is(.ghost-intro, .detail-intro, .detail-content, .mechanism-head,
    .video-title, .pushpull-detail-head, .pushpull-video-head,
    .triple-detail-head, .triple-use-heading, .section-heading,
    .points-head, .advantages, .benefits, .ghost-key) > * {
  min-width: 0;
}

/* Intro headlines sit in narrower columns than full-width section titles. */
.ghost-intro h2, .detail-intro h2, .detail-content h2 {
  font-size: clamp(32px, 3vw, 52px);
  line-height: 1.4;
}

@media (max-width: 900px) {
  .ghost-intro h2, .detail-intro h2, .detail-content h2 {
    font-size: clamp(32px, 4.8vw, 42px);
  }
}

@media (max-width: 600px) {
  .ghost-intro h2, .detail-intro h2, .detail-content h2 {
    font-size: clamp(30px, 8.2vw, 35px);
  }

  .text-detail-page .text-hero h1 {
    font-size: clamp(32px, 8.4vw, 48px);
    line-height: 1.24;
  }
}
