/* Language controls extend the original navigation; the original theme is unchanged. */
.language-selector{display:flex;align-items:center;gap:9px;white-space:nowrap;font-size:14px;line-height:1.5}
.language-selector>span{color:var(--muted)}
.language-selector a{display:inline-flex;align-items:center;min-height:32px}
.language-selector a[aria-current="true"]{color:var(--accent);text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}
.menu-toggle{display:none}
.menu-toggle:focus-visible{outline:3px solid var(--accent);outline-offset:5px}
@media(min-width:861px) and (max-width:1050px){
  #main-navigation{gap:20px}
  #main-navigation .nav-contact span{margin-left:10px}
}
@media(max-width:860px){
  .site-header{flex-wrap:wrap;gap:0 24px}
  .menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:6px;background:none;border:0;padding:10px;width:44px;height:44px;color:var(--text);cursor:pointer}
  .menu-toggle span{display:block;width:24px;height:1px;background:currentColor;transition:transform .2s}
  .menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(3.5px) rotate(45deg)}
  .menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
  #main-navigation{display:none;width:100%;flex-basis:100%;align-items:flex-start;flex-direction:column;gap:10px;padding:22px 0 4px;margin-top:20px;border-top:1px solid var(--line);font-size:15px}
  #main-navigation.is-open{display:flex}
  #main-navigation>a{display:inline-flex;align-items:center;min-height:44px}
  #main-navigation>.language-selector{margin-top:10px;gap:13px}
  .language-selector a{min-height:44px;min-width:35px;justify-content:center}
}
@media(prefers-reduced-motion:reduce){.menu-toggle span{transition:none}}

/* Japanese line lengths and spacing are local to /ja/. */
html:lang(ja) body{font-family:'DM Sans','Hiragino Kaku Gothic ProN','Hiragino Sans','Yu Gothic',Meiryo,sans-serif;line-height:1.85;line-break:strict;overflow-wrap:break-word}
html:lang(ja) h1,html:lang(ja) h2,html:lang(ja) h3{font-family:'Manrope','Hiragino Kaku Gothic ProN','Hiragino Sans','Yu Gothic',Meiryo,sans-serif;letter-spacing:0;font-feature-settings:'palt'}
html:lang(ja) h1{font-size:clamp(48px,7.6vw,116px);line-height:1.3;letter-spacing:-.02em}
html:lang(ja) h1 span{display:inline-block}
html:lang(ja) h2{font-size:clamp(34px,3.6vw,54px);line-height:1.5}
html:lang(ja) .hero-bottom>p{max-width:670px;line-height:1.9}
html:lang(ja) .hero-actions{min-width:245px}
html:lang(ja) .availability{font-size:14px}
html:lang(ja) .hero-foot{font-size:12px;letter-spacing:.04em}
html:lang(ja) .eyebrow{font-size:13px;letter-spacing:.08em}
html:lang(ja) .credits-strip .eyebrow{font-size:12px}
html:lang(ja) .section-heading{grid-template-columns:1.15fr 1fr;gap:0 9%}
html:lang(ja) .section-heading>p:last-child{max-width:470px}
html:lang(ja) .film-meta{font-size:13px;line-height:1.7}
html:lang(ja) .film-card h3{letter-spacing:-.03em}
html:lang(ja) .film-role{line-height:1.8}
html:lang(ja) .film-description{font-size:16px;line-height:1.9}
html:lang(ja) .play-label{font-size:12px;letter-spacing:.04em}
html:lang(ja) .service-list article{grid-template-columns:55px 1.15fr 1.3fr}
html:lang(ja) .service-list h3{font-size:23px;line-height:1.65}
html:lang(ja) .meta{font-size:14px;line-height:1.9}
html:lang(ja) .about-lead{font-size:27px;line-height:1.7;letter-spacing:0}
html:lang(ja) .about-copy p:first-child{font-size:20px}
html:lang(ja) .contact h2{font-size:clamp(36px,5.5vw,80px);line-height:1.45}
html:lang(ja) .contact>p:not(.eyebrow){max-width:650px}
html:lang(ja) .contact-note{line-height:1.9}
@media(max-width:800px){
  html:lang(ja) .section-heading{grid-template-columns:1fr;gap:20px}
  html:lang(ja) .section-heading>p:last-child{max-width:550px}
  html:lang(ja) .hero-bottom>p{font-size:18px}
  html:lang(ja) .hero-actions{min-width:0}
  html:lang(ja) .service-list article{grid-template-columns:25px 1fr;gap:15px}
}
@media(max-width:520px){
  html:lang(ja) .hero h1{font-size:clamp(33px,8.4vw,44px);line-height:1.45;margin-bottom:30px}
  html:lang(ja) h2{font-size:32px}
  html:lang(ja) .hero-foot{flex-direction:column;gap:8px}
  html:lang(ja) .hero-foot span:last-child{max-width:none;text-align:left}
  html:lang(ja) .service-list h3{font-size:22px}
  html:lang(ja) .about-lead{font-size:25px}
  html:lang(ja) .contact h2{font-size:clamp(29px,7.8vw,41px)}
}
