html[lang="zh-Hans"] body { font-family: "Inter", "Noto Sans SC", "Microsoft YaHei", "PingFang SC", sans-serif; }
html[lang="ja"] body { font-family: "Noto Sans JP", "Yu Gothic", "Meiryo", sans-serif; line-break: strict; }
html[lang="vi"] body { font-family: "Inter", "Segoe UI", Arial, sans-serif; }
html:is([lang="ja"], [lang="vi"]) .header-inner { width: min(1500px, calc(100% - 64px)); gap: 12px; }
html:is([lang="ja"], [lang="vi"]) .header-cta { white-space: normal; width: 184px; flex-shrink: 0; text-align: left; }
html:is([lang="ja"], [lang="vi"]) .header-actions { flex-shrink: 0; }
html:is([lang="ja"], [lang="vi"]) .main-nav summary { font-size: .875rem; padding: 12px 5px; }
html:is([lang="ja"], [lang="vi"]) .competency-category-heading h3 span { white-space: normal; }
html:is([lang="ja"], [lang="vi"]) .concept-diagram { line-height: 1.6; }
html:is([lang="ja"], [lang="vi"]) .concept-diagram h3 { font-size: 1rem; }
html[lang="vi"] .diagram-label { overflow-wrap: anywhere; }
html:is([lang="ja"], [lang="vi"]) .personality-nickname { min-height: 2.8em; }
html:is([lang="ja"], [lang="vi"]) .audience-card, html:is([lang="ja"], [lang="vi"]) .feature, html:is([lang="ja"], [lang="vi"]) .journey-panel { overflow-wrap: break-word; }
@media (max-width: 1650px) {
  html:is([lang="ja"], [lang="vi"]) .personal-link { display: none; }
}
@media (max-width: 1440px) {
  html:is([lang="ja"], [lang="vi"]) .main-nav { position: absolute; left: 0; top: 100%; width: 100%; padding: 16px 32px 24px; background: white; border-bottom: 1px solid var(--border); display: none; max-height: calc(100dvh - 88px); overflow-y: auto; }
  html:is([lang="ja"], [lang="vi"]) .main-nav.is-open { display: block; }
  html:is([lang="ja"], [lang="vi"]) .main-nav .nav-group { border-bottom: 1px solid var(--border); }
  html:is([lang="ja"], [lang="vi"]) .nav-group > summary { padding: 16px 0; justify-content: space-between; }
  html:is([lang="ja"], [lang="vi"]) .mega-menu { position: static; width: 100%; border: 0; box-shadow: none; padding: 0 12px 16px; }
  html:is([lang="ja"], [lang="vi"]) .mega-overview { display: none; }
  html:is([lang="ja"], [lang="vi"]) .mega-menu ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  html:is([lang="ja"], [lang="vi"]) .header-actions { margin-left: auto; }
  html:is([lang="ja"], [lang="vi"]) .mobile-toggle { display: inline-flex; }
}
@media (max-width: 600px) {
  html:is([lang="ja"], [lang="vi"]) .coach-flow li { grid-template-columns: 28px minmax(0, 1fr) 100px; gap: 12px; }
  html[lang="vi"] .coach-flow strong { overflow-wrap: anywhere; }
  html:is([lang="ja"], [lang="vi"]) .home-hero { display: flex; flex-direction: column; min-height: 0; }
  html:is([lang="ja"], [lang="vi"]) .hero-inner { order: 1; min-height: 0; }
  html:is([lang="ja"], [lang="vi"]) .hero-copy { padding: 32px 0 24px; }
  html:is([lang="ja"], [lang="vi"]) .hero-photograph { order: 2; position: static; height: 245px; }
  html:is([lang="ja"], [lang="vi"]) .hero-wash, html:is([lang="ja"], [lang="vi"]) .hero-image-note { display: none; }
}
@media (max-width: 520px) {
  html:is([lang="ja"], [lang="vi"]) .header-inner { width: calc(100% - 40px); gap: 8px; }
  html:is([lang="ja"], [lang="vi"]) .main-nav { padding: 8px 20px 20px; max-height: calc(100dvh - 68px); }
  html:is([lang="ja"], [lang="vi"]) .mega-menu ul { grid-template-columns: 1fr; }
}
html[lang="en"] .header-inner { width: min(1500px, calc(100% - 64px)); gap: 16px; }
html[lang="en"] .header-cta { white-space: normal; width: 184px; flex-shrink: 0; text-align: left; }
html[lang="en"] .header-actions { flex-shrink: 0; }
html[lang="en"] .main-nav summary { font-size: .875rem; padding: 12px 5px; }
html[lang="en"] .personal-link { max-width: 5rem; line-height: 1.3; }
html[lang="en"] .concept-diagram { line-height: 1.45; }
html[lang="en"] .concept-diagram h3 { font-size: 1rem; }
html[lang="en"] .diagram-label { overflow-wrap: anywhere; }
html[lang="en"] .competency-category-heading h3 span { white-space: normal; }
html[lang="en"] .personality-nickname { min-height: 2.8em; }
html[lang="en"] .audience-card, html[lang="en"] .feature, html[lang="en"] .journey-panel { overflow-wrap: break-word; }
@media (max-width: 600px) {
  html[lang="en"] .coach-flow li { grid-template-columns: 28px minmax(0, 1fr) 116px; gap: 12px; }
  html[lang="en"] .coach-flow strong { overflow-wrap: anywhere; }
  html[lang="en"] .home-hero { display: flex; flex-direction: column; min-height: 0; }
  html[lang="en"] .hero-inner { order: 1; min-height: 0; }
  html[lang="en"] .hero-copy { padding: 32px 0 24px; }
  html[lang="en"] .hero-photograph { order: 2; position: static; height: 245px; }
  html[lang="en"] .hero-wash, html[lang="en"] .hero-image-note { display: none; }
}
@media (max-width: 1650px) {
  html[lang="en"] .personal-link { display: none; }
}
@media (max-width: 1440px) {
  html[lang="en"] .main-nav { position: absolute; left: 0; top: 100%; width: 100%; padding: 16px 32px 24px; background: white; border-bottom: 1px solid var(--border); display: none; max-height: calc(100dvh - 88px); overflow-y: auto; }
  html[lang="en"] .main-nav.is-open { display: block; }
  html[lang="en"] .main-nav .nav-group { border-bottom: 1px solid var(--border); }
  html[lang="en"] .nav-group > summary { padding: 16px 0; justify-content: space-between; }
  html[lang="en"] .mega-menu { position: static; width: 100%; border: 0; box-shadow: none; padding: 0 12px 16px; }
  html[lang="en"] .mega-overview { display: none; }
  html[lang="en"] .mega-menu ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  html[lang="en"] .header-actions { margin-left: auto; }
  html[lang="en"] .mobile-toggle { display: inline-flex; }
}
@media (max-width: 520px) {
  html[lang="en"] .header-inner { width: calc(100% - 40px); gap: 8px; }
  html[lang="en"] .main-nav { padding: 8px 20px 20px; max-height: calc(100dvh - 68px); }
  html[lang="en"] .mega-menu ul { grid-template-columns: 1fr; }
}
