/* Shared language control and Japanese typesetting. */
.language-switch{display:flex;align-items:center;gap:3px;min-height:48px;padding:5px 8px;background:var(--header);border:1px solid rgb(95 120 158 / .25);border-radius:100px;box-shadow:0 5px 20px rgb(26 52 97 / .08);white-space:nowrap;font-size:.75rem;font-family:Manrope,'Hiragino Kaku Gothic ProN','Yu Gothic',sans-serif}
.language-switch a{display:inline-flex;align-items:center;justify-content:center;min-height:34px;min-width:30px;padding:5px 6px;border-radius:50px;color:var(--muted)}
.language-switch a[aria-current=true]{background:var(--accent-soft);color:var(--accent);font-weight:700}.language-switch>span{color:var(--muted);font-size:.65rem}.language-switch a:hover{color:var(--accent)}
.language-reminder{position:fixed;z-index:40;bottom:20px;right:20px;display:flex;gap:20px;align-items:center;max-width:calc(100vw - 40px);padding:12px 18px;background:var(--surface);border:1px solid var(--line);border-radius:15px;box-shadow:0 8px 30px rgb(16 35 68 / .16);font-size:.875rem}.language-reminder a{color:var(--accent);text-decoration:underline;text-underline-offset:4px}.language-reminder button{background:none;border:0;color:var(--ink);font-size:1.5rem;min-width:28px;min-height:28px}.archive-language-note{font-size:.875rem;margin-block:20px;color:var(--muted)}
html:lang(ja) body{font-family:Manrope,'Hiragino Kaku Gothic ProN','Yu Gothic','Meiryo',sans-serif;line-break:strict;word-break:normal;overflow-wrap:anywhere}
html:lang(ja) h1,html:lang(ja) h2,html:lang(ja) h3{letter-spacing:-.025em;line-height:1.4}html:lang(ja) p{line-height:1.95}html:lang(ja) .hero h1,html:lang(ja) .kinetic-hero h1{font-size:clamp(2.15rem,6.3vw,6.2rem);line-height:1.4;letter-spacing:-.04em}html:lang(ja) .page-intro h1,html:lang(ja) .case-hero h1{font-size:clamp(2rem,4.7vw,4.8rem);line-height:1.4}html:lang(ja) .deep-hero h1{font-size:clamp(2rem,3.9vw,3.9rem)}
html:lang(ja) .section-heading h2,html:lang(ja) .page-cta h2,html:lang(ja) .contact h2{font-size:clamp(2rem,3.8vw,3.8rem);line-height:1.5}html:lang(ja) .deep-body h2{font-size:clamp(1.6rem,2.4vw,2.4rem);line-height:1.5}html:lang(ja) .case-body .brief-statement{font-size:clamp(1.15rem,1.8vw,1.65rem);line-height:1.8}html:lang(ja) .contribution-grid h2{font-size:1.2rem}
html:lang(ja) .impact strong{font-size:clamp(1.15rem,2vw,2rem);line-height:1.5;letter-spacing:-.02em}html:lang(ja) .case-impact strong{font-size:clamp(2.2rem,4.3vw,4.4rem);line-height:1.3}html:lang(ja) .case-results strong{font-size:clamp(1.5rem,2.3vw,2.5rem);line-height:1.5;letter-spacing:-.02em}html:lang(ja) .metric-preview strong,html:lang(ja) .work-leadership strong{font-size:clamp(1.8rem,2.5vw,3rem);line-height:1.4;letter-spacing:-.02em}
html:lang(ja) .eyebrow,html:lang(ja) .work-type,html:lang(ja) .chapter-menu,html:lang(ja) .case-meta,html:lang(ja) .site-header nav{font-family:inherit}html:lang(ja) .feature-copy h3,html:lang(ja) .work-item h2{font-size:1.55rem;line-height:1.5}html:lang(ja) .feature-copy .work-type{font-size:.75rem}html:lang(ja) .next-project>a:not(.text-link){font-size:clamp(1.5rem,2.7vw,2.6rem);line-height:1.5}html:lang(ja) .documented-result>strong{font-size:clamp(2.6rem,4.5vw,4.8rem)}
@media(max-width:1100px){.site-header nav{order:3;width:max-content;margin:0;position:absolute;top:62px;left:50%;transform:translateX(-50%)}.interior-page main{padding-top:130px}}
@media(max-width:767px){.site-header{gap:8px}.brand{font-size:.875rem;padding:9px 13px;min-height:44px}.display-controls{gap:4px}.language-switch{min-height:44px;padding:4px;gap:0;font-size:.6875rem}.language-switch a{min-height:32px;padding:5px;min-width:26px}.theme{min-height:44px;padding:9px;font-size:.6875rem}.motion-toggle{min-height:44px;padding:9px}.motion-toggle>span:first-child,.motion-state{display:none}.site-header nav{top:54px;padding:5px;font-size:.6875rem}.site-header nav a{padding:9px 8px}html{scroll-padding-top:145px}html:lang(ja) .kinetic-hero{min-height:650px;padding-top:170px}html:lang(ja) .hero-line{white-space:normal}html:lang(ja) .case-body h2{font-size:1.65rem}html:lang(ja) .contribution-grid h2{font-size:1.2rem}html:lang(ja) .chapter-menu>nav{grid-template-columns:1fr 1fr}html:lang(ja) .booking-option .button{font-size:.75rem;white-space:normal}html:lang(ja) .brief-statement{line-height:1.85}html:lang(ja) .feature-case:first-child>a{grid-template-columns:1fr}html:lang(ja) .feature-case:first-child .case-preview{height:240px;min-height:0;border-right:0;border-bottom:1px solid var(--ink)}html:lang(ja) .featured-grid{grid-template-columns:1fr}html:lang(ja) .feature-case:first-child{grid-column:auto}html:lang(ja) .feature-copy{padding:24px}html:lang(ja) .metric-preview strong{font-size:2rem}html:lang(ja) .booking-options{grid-template-columns:1fr}html:lang(ja) .case-meta{grid-template-columns:1fr 1fr}html:lang(ja) .case-results strong{font-size:1.6rem}html:lang(ja) .impact>div{min-width:0}html:lang(ja) .impact span{font-size:.75rem;line-height:1.8}}
@media(max-width:380px){.brand{font-size:.75rem;padding-inline:10px}.theme{padding-inline:7px}.motion-toggle{padding-inline:6px}.language-switch a{padding-inline:4px}.display-controls{gap:3px}.site-header nav a{padding-inline:6px}.site-header nav{font-size:.625rem}}

@media(max-width:767px){html:lang(ja) .schedule-section h2{font-size:2rem;line-height:1.6}}
