/* Language controls share the existing menu, without changing its background. */
.menu-dialog .menu-inner {
  grid-template-rows: auto minmax(0, 1fr) auto;
  padding-top: max(24px, env(safe-area-inset-top));
}
.menu-dialog .menu-topbar {
  display: flex; align-items: center; justify-content: flex-end;
  gap: 20px; min-width: 0;
}
.language-switch { display: flex; align-items: center; gap: 4px; }
.language-switch a {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 44px; min-height: 44px; padding: 8px 10px;
  font-size: 16px; font-weight: 600; line-height: 1.2;
  letter-spacing: 0; white-space: nowrap;
}
.language-switch a[aria-current] {
  text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 5px;
}
.menu-dialog .menu-topbar .language-switch {
  display: flex; flex: 0 0 auto; flex-direction: row; align-items: center;
  gap: 4px; overflow: visible; grid-template: none;
}
.menu-dialog .menu-topbar .language-switch a {
  display: inline-flex; width: auto; min-width: 44px; min-height: 44px;
  padding: 8px 10px; grid-template-columns: none; gap: 0;
  font-size: 16px; line-height: 1.2; white-space: nowrap;
}
.menu-dialog .menu-topbar .menu-close {
  position: static; flex: 0 0 auto; margin: 0; min-height: 44px;
  padding: 9px 16px; font-size: 15px; line-height: 1.4;
}
.menu-dialog .menu-inner > .menu-links {
  min-width: 0; min-height: 0; overflow: auto;
  overscroll-behavior: contain; scroll-padding-block: 8px;
}
.nojs-nav .language-switch { flex-wrap: wrap; }

@media (max-width: 600px) {
  .menu-dialog .menu-inner { padding-top: max(20px, env(safe-area-inset-top)); gap: 18px; }
  .menu-dialog .menu-topbar { gap: 12px; justify-content: space-between; }
}
@media (max-height: 600px) {
  .menu-dialog .menu-inner { padding-top: max(12px, env(safe-area-inset-top)); gap: 10px; }
}
@media (max-width: 360px) {
  .menu-dialog .menu-topbar { gap: 8px; }
  .menu-dialog .menu-topbar .language-switch { gap: 0; }
  .menu-dialog .menu-topbar .language-switch a { padding-inline: 8px; }
  .menu-dialog .menu-topbar .menu-close { padding-inline: 12px; }
}

@media (min-width: 1100px) and (min-height: 480px) {
  .page-index .site-header .desktop-nav .desktop-language-switch {
    display: flex; align-items: center; align-self: end;
    min-height: 44px; gap: 4px;
  }
  .page-index .site-header .desktop-nav .desktop-language-switch a {
    display: inline-flex; flex-direction: row; align-items: center; justify-content: center;
    min-width: 44px; min-height: 44px; padding: 4px 6px;
    font-size: 15px; font-weight: 600; line-height: 1.2;
    letter-spacing: 0; white-space: nowrap;
  }
}

/* English uses the existing Barlow family, with space for natural word wrapping. */
html[lang="en"] body { letter-spacing: 0; }
html[lang="en"] main :is(.body-copy, .lp-body, .lp-philosophy-text, .founder-message-copy, .message-copy, .story-chapter-description) {
  font-size: 18px; line-height: 1.65; letter-spacing: 0;
  word-break: normal; overflow-wrap: break-word; text-wrap: pretty;
}
html[lang="en"] main :is(.lp-pillars, .mission-points, .belief-points) dd {
  font-size: 18px; line-height: 1.6; letter-spacing: 0;
}
html[lang="en"] main :is(h1, h2, h3) {
  min-width: 0; max-width: 100%; word-break: normal;
  overflow-wrap: break-word; text-wrap: balance;
}
html[lang="en"] :is(.ja-heading, .detail-ja-title, .audience-ja-title, .message-ja-title) {
  letter-spacing: 0; line-height: 1.3;
}
html[lang="en"] .keep-phrase { white-space: normal; }
html[lang="en"] .page-index .cinema-copy h1.hero-statement {
  font-size: clamp(34px, 4.8vw, 70px); line-height: 1.12; letter-spacing: 0;
  max-width: 19ch;
}
html[lang="en"] main :is(.press-button, .text-link) { white-space: normal; max-width: 100%; }
html[lang="en"] .menu-dialog .menu-inner .menu-links a { grid-template-columns: minmax(0, 1fr); }

@media (max-width: 520px) {
  html[lang="en"] .page-index .lp-founder-copy .lp-body { font-size: 17px; }
  html[lang="en"] .page-index .lp-founder-copy .lp-cta { padding-inline: 12px; }
}
