/* September employee review: clear routes and phrase-aware Japanese headings. */
.phrase { display: inline-block; max-width: 100%; overflow-wrap: break-word; }
.inside-page :is(h1, h2, h3), .journal-list h3 { word-break: normal; line-break: strict; }
.inside-page p { overflow-wrap: break-word; line-break: strict; }
.sub-cta .wrap > div { min-width: 0; }
.sub-cta h2 { line-height: 1.6; }
.sub-cta .button-row { margin-top: 0; }
.sku-photo { margin: 0 0 24px; padding: 22px; background: #fff; border: 1px solid var(--line); text-align: center; }
.sku-photo img { width: 100%; height: 230px; object-fit: contain; }
.sku-photo figcaption { margin-top: 14px; font-size: 12px; line-height: 1.7; color: var(--muted); }
@media (max-width: 760px) {
  .sub-cta .wrap > div + div, .sub-cta .wrap > .sub-button { margin-top: 28px; }
}
.article-mast h1, .journal-feature h2, .news-item h2, .journal-list h3 { text-wrap: pretty; }
.article-body h2 .heading-index { display: block; margin-bottom: 8px; font: 13px/1.4 Arial, sans-serif; letter-spacing: .1em; color: var(--muted); }
.site-footer nav a { line-height: 1.8; }
@media (min-width: 1101px) and (max-width: 1280px) {
  .site-header, .inside-page .site-header { gap: 18px; padding-inline: 30px; }
  .site-header .brand img { width: 178px; }
  .site-header .desktop-nav { gap: 17px; }
  .site-header .desktop-nav a { font-size: 12px; letter-spacing: 0; }
  .site-header .header-contact { font-size: 12px; padding: 14px 17px; }
}
@media (max-width: 600px) {
  .sub-cta h2 { font-size: clamp(26px, 7.7vw, 32px); }
  .sub-heading h2.phrase-heading { font-size: clamp(25px, 7.2vw, 30px); line-height: 1.75; }
  .article-mast h1 { font-size: clamp(25px, 6.7vw, 29px); line-height: 1.8; }
  .journal-feature h2 { font-size: clamp(23px, 6.2vw, 26px); line-height: 1.8; }
  .article-body h2 { font-size: clamp(23px, 6.2vw, 26px); line-height: 1.75; }
}
