/* v1.9.4: Japanese wrapping on the two naked-eye 3D pages only.
 * wbr marks optional phrase boundaries, never a fixed line or visible space.
 */
html[data-kodo-bronze="1"] :is(h1,h2,h3,h4,p,li,dt,dd,label,figcaption,summary) {
  line-break: strict;
  word-break: normal !important;
  overflow-wrap: break-word;
}
html[data-kodo-bronze="1"] kodo-text[data-kodo-ja] {
  display: inline;
  min-width: 0;
  max-width: 100%;
  word-break: keep-all;
  overflow-wrap: break-word;
  line-break: strict;
  hyphens: none;
}
html[data-kodo-bronze="1"] kodo-phrase[data-kodo-preferred] {
  display: inline-block;
  max-inline-size: 100%;
  vertical-align: top;
  white-space: normal;
}
html[data-kodo-bronze="1"] :is(h1,h2,h3,h4) { text-wrap: balance; }
html[data-kodo-bronze="1"] :is(p,li,dd,figcaption) { text-wrap: pretty; }
html[data-kodo-bronze="1"] .hl { white-space: normal !important; }
/* Keep a preferred phrase together, but permit an emergency wrap if the user
 * enlarges text beyond the available width. Punctuation follows strict rules. */
html[data-kodo-bronze="1"] .kodo-necg-nowrap {
  white-space: normal;
  word-break: keep-all;
  overflow-wrap: break-word;
}
/* Phrase-aware wrapping and inter-character justification must not be combined:
 * short lines otherwise stretch drastically. Keep the original centred CTAs
 * and the deliberate tracking on English labels and buttons. */
html[data-kodo-bronze="1"] :is(.top-page,.naked-works-page) :is(p,li,dd,figcaption) {
  text-justify: none;
  text-align-last: auto;
}
html[data-kodo-bronze="1"] :is(.hero-copy-in p,.sp-intro p,.selected-cg-section p,.naked-project-description,.contact-desc-sub) {
  text-align: start;
  text-justify: none;
  text-align-last: auto;
}
/* Fit-content is used for the logo-colour gradient: centre the label's box,
 * not only the text inside it. Applies at every viewport width. */
html[data-kodo-bronze="1"] .kodo-works-contact > .kodo-section-label {
  margin-inline: auto;
  text-align: center;
}
html[data-kodo-bronze="1"] .naked-project-copy h2 { line-height: 1.7; }
/* A stable prefix column prevents Q. becoming an empty question line. */
html[data-kodo-bronze="1"] #kodo-naked-guide .kodo-necg-question {
  display: grid;
  grid-template-columns: max-content minmax(0,1fr);
  column-gap: .35em;
  align-items: baseline;
  text-align: start;
  text-wrap: pretty;
}
html[data-kodo-bronze="1"] .kodo-necg-q-label { white-space: nowrap; }
html[data-kodo-bronze="1"] .kodo-necg-q-text { min-width: 0; }
/* The base site's reset removes native list markers. Restore them only for
 * the two scope cards that are genuine unordered lists. */
html[data-kodo-bronze="1"] .kodo-service-grid .kodo-necg-card ul {
  list-style: disc outside;
  padding-inline-start: 1.3em;
}
html[data-kodo-bronze="1"] .kodo-service-grid .kodo-necg-card li {
  display: list-item;
  padding-inline-start: .1em;
}
html[data-kodo-bronze="1"] .kodo-service-grid .kodo-necg-card li::marker {
  color: currentColor;
  font-size: .75em;
}
@media (max-width: 900px) {
  html[data-kodo-bronze="1"] .v3-mobile-line { display: inline !important; }
}
