/* v1.0.129 — Japanese headings, edited at phrase boundaries.
   bdi avoids nested-span conflicts with the WordPress visual editor.
   Desktop retains its current explicit line breaks. The home hero is untouched. */
body.cecil-design-v128.cecil-design-v129 main#main :is(h1,h2,h3) bdi.cecil-phrase {
  display:inline;
  direction:inherit;
  unicode-bidi:normal;
  font:inherit!important;
  letter-spacing:inherit!important;
  color:inherit!important;
  text-shadow:inherit!important;
  text-decoration:inherit!important;
  background:none!important;
  border:0!important;
  margin:0!important;
  padding:0!important;
}
body.cecil-design-v128.cecil-design-v129 main#main :is(h1,h2,h3) wbr.cecil-phrase-break {
  display:none!important;
}
@media (max-width:760px) {
  body.cecil-design-v128.cecil-design-v129 main#main>section:not(.hero) :is(h1,h2,h3) {
    line-break:strict!important;
    word-break:normal!important;
    overflow-wrap:normal!important;
    text-wrap:balance!important;
    /* Old heading letter-spacing used up almost a full character per line. */
    letter-spacing:.02em!important;
  }
  body.cecil-design-v128.cecil-design-v129 main#main>section:not(.hero) :is(h1,h2,h3) bdi.cecil-phrase {
    display:inline-block!important;
    max-inline-size:100%;
    vertical-align:baseline;
    white-space:normal!important;
    line-break:strict!important;
    word-break:normal!important;
    overflow-wrap:normal!important;
    text-wrap:wrap!important;
  }
  body.cecil-design-v128.cecil-design-v129 main#main>section:not(.hero) :is(h1,h2,h3) wbr.cecil-phrase-break {
    display:inline!important;
  }
  /* Keep lead typography spacious but fit 9–10-character phrases at 320px. */
  body.cecil-design-v128.cecil-design-v129 main#main>section:not(.hero) h2 {
    font-size:clamp(23px,6.55vw,27px)!important;
    line-height:1.65!important;
  }
  body.cecil-design-v128.cecil-design-v129 main#main.cecil-home-v128 :is(.section-title,.small-title,.panel-title),
  body.cecil-design-v128.cecil-design-v129 main#main.cecil-home-v128 .home-history-copy h2 {
    font-size:clamp(23px,6.55vw,27px)!important;
    line-height:1.65!important;
    letter-spacing:.02em!important;
  }
  body.cecil-design-v128.cecil-design-v129 main#main .cecil-simple-hero .cecil-simple-title,
  body.cecil-design-v128.cecil-design-v129 main#main .cecil-simple-hero .cecil-simple-hero-copy h1 {
    font-size:clamp(25px,7.4vw,30px)!important;
    line-height:1.55!important;
    letter-spacing:.02em!important;
  }
  /* Card headings remain subordinate to section headings. */
  body.cecil-design-v128.cecil-design-v129 main#main.cecil-home-v128 .choice-body h3 {
    font-size:clamp(20px,5.65vw,23px)!important;
    line-height:1.65!important;
  }
  body.cecil-design-v128.cecil-design-v129 main#main>section:not(.hero) :is(h1,h2,h3) .cecil-edit-variant {
    font-size:inherit!important;
    line-height:inherit!important;
    letter-spacing:inherit!important;
    overflow-wrap:normal!important;
  }
  body.cecil-design-v128.cecil-design-v129 main#main>section:not(.hero) :is(h1,h2,h3) .cecil-edit-variant > br:not([class*="cecil-br-"]) {
    display:inline!important;
  }
}
