/* Do not inherit styles intended for chapter labels or step numbers. */
body[class] main :is(.heading-phrase,.heading-line) {
  position:static; font:inherit; letter-spacing:inherit; color:inherit;
}
/* Phrase boundaries apply only on phones; desktop line breaks remain intact. */
@media (max-width:700px) {
  html[lang="ja"] body[class] main :is(h1,h2,h3,h4) {
    text-wrap:wrap;
    word-break:normal;
    overflow-wrap:normal;
    line-break:strict;
  }
  .heading-phrase {display:inline-block;white-space:nowrap}
  body[class] main .heading-planned > .heading-line {display:block}
  body[class] main .heading-planned > br {display:none}
  /* Long first lines fit normal phones; smaller phones wrap at phrase boundaries. */
  body[class] main .heading-making {font-size:clamp(20px,calc((100vw - 88px)/14.35),24px)}
  body[class] main .heading-process {font-size:clamp(20px,calc((100vw - 44px)/16.4),24px)}
  body[class] main .heading-ready {font-size:clamp(22px,6vw,25px)}
}
