/* =========================================================
   Japanese typography — scoped to html[lang="ja"] only.
   No global rules are changed.
   ========================================================= */

html[lang="ja"] body {
  line-break: strict;
  word-break: normal;
}

html[lang="ja"] h1,
html[lang="ja"] h2,
html[lang="ja"] h3,
html[lang="ja"] p,
html[lang="ja"] li,
html[lang="ja"] .lead,
html[lang="ja"] .display,
html[lang="ja"] .section__sub,
html[lang="ja"] .svc-card__desc,
html[lang="ja"] .step__desc,
html[lang="ja"] .sec-card__desc,
html[lang="ja"] .scrolly__desc,
html[lang="ja"] .scrolly__note,
html[lang="ja"] .path-stage__desc,
html[lang="ja"] .path-stage__note,
html[lang="ja"] .cta__sub,
html[lang="ja"] .form__label,
html[lang="ja"] .form__input,
html[lang="ja"] .form__status,
html[lang="ja"] .modal__text,
html[lang="ja"] .footer__tag,
html[lang="ja"] .statement,
html[lang="ja"] .infra-chip,
html[lang="ja"] .net-node,
html[lang="ja"] .net-lbl,
html[lang="ja"] .viz-node,
html[lang="ja"] .viz-chip,
html[lang="ja"] .viz-labels .lb,
html[lang="ja"] .viz-captions .vc {
  line-break: strict;
  word-break: normal;
}

/* Emergency overflow safeguard — apply only to elements that may overflow at narrow widths. */
html[lang="ja"] .display,
html[lang="ja"] .net-lbl,
html[lang="ja"] .viz-labels .lb,
html[lang="ja"] .nav__links {
  overflow-wrap: anywhere;
}

html[lang="ja"] .display {
  text-wrap: balance;
}

@media (max-width: 768px) {
  html[lang="ja"] .display {
    font-size: clamp(1.75rem, 6vw, 2.5rem);
  }

  html[lang="ja"] .nav__links {
    gap: 0.75rem;
  }

  html[lang="ja"] .lang__opt {
    font-size: 0.75rem;
  }
}

/* Legal placeholder banner */
.legal-placeholder-banner {
  border-left: 4px solid var(--sage-bright);
  background: var(--sage);
  padding: 18px 24px;
  border-radius: 0 12px 12px 0;
  margin-bottom: 32px;
  color: var(--sage-deep);
}
.legal-placeholder-banner p {
  margin: 0 0 8px;
  line-height: 1.6;
}
.legal-placeholder-banner p:last-child {
  margin-bottom: 0;
}
.legal-placeholder-banner strong {
  color: var(--sage-deep);
  font-weight: 600;
}
