/* Language control shares the existing header. English text is reflowed, not scaled wholesale. */
header .language-link { min-width:44px; min-height:44px; display:inline-flex; align-items:center; justify-content:center; font-size:12px; font-weight:650; text-decoration:none; border-bottom:1px solid transparent; }
header .language-link:hover { border-color:currentColor; }
header .language-link:focus-visible { outline:2px solid currentColor; outline-offset:2px; }
html[lang="en"] .hero-copy h1 { font-size:clamp(40px,4.8vw,84px); letter-spacing:-.055em; line-height:1.06; }
html[lang="en"] .hero-copy { max-width:59%; }
html[lang="en"] .hero-intro { max-width:570px; line-height:1.55; }
html[lang="en"] .approach-intro { line-height:1.5; }
html[lang="en"] .approach-intro .entry-line { white-space:normal; }
html[lang="en"] #geo-title { font-size:clamp(48px,6vw,104px); }
html[lang="en"] .geo-proof-title { overflow-wrap:normal; }
html[lang="en"] .stage-controls button { white-space:normal; }
html[lang="en"] .service-title { font-size:clamp(20px,2.1vw,36px); }
html[lang="en"] .source-list dd { overflow-wrap:anywhere; }
html[lang="en"] .case-actions { flex-wrap:wrap; }
html[lang="en"] .paper-head { flex-wrap:wrap; gap:8px 16px; }
html[lang="en"] .source-sheet>div { display:grid; grid-template-columns:1fr 1fr; gap:8%; }
html[lang="en"] .source-sheet small { display:block; margin-top:3%; }
html[lang="en"] .information-rule { margin-top:10%; }
@media (min-width:701px) and (max-width:1100px) {
  header .chapter-nav { display:none; }
  html[lang="en"] .hero-copy { max-width:64%; }
  html[lang="en"] .hero-intro { font-size:14px; }
}
@media (max-width:700px) {
  header .nav-actions { gap:2px; }
  header .language-link { min-width:44px; font-size:11px; }
  header .contact-link { padding-inline:12px; }
  header .contact-link>span { display:none; }
  html[lang="en"] .hero-copy { max-width:none; width:calc(100% - 40px); }
  html[lang="en"] .hero-copy h1 { font-size:clamp(35px,8.9vw,57px); }
  html[lang="en"] .hero-intro { font-size:13px; max-width:340px; }
  html[lang="en"] .hero-intro br { display:none; }
  html[lang="en"] #approach-title { font-size:clamp(54px,12.8vw,88px); }
  html[lang="en"] #geo-title { font-size:clamp(38px,9vw,58px); }
  html[lang="en"] .operation-copy h2 { font-size:clamp(38px,8.6vw,60px); }
  html[lang="en"] #workflow-title { font-size:36px; line-height:1.1; }
  html[lang="en"] .stage-controls button { font-size:11px; line-height:1.3; }
  html[lang="en"] .workflow-header span:last-child { max-width:45%; }
  html[lang="en"] .service-index strong { font-size:15px; }
  html[lang="en"] .service-index a { gap:8px; }
  html[lang="en"] .service-tag { max-width:48%; }
  html[lang="en"] .inquiry-body h2 { font-size:40px; }
  html[lang="en"] .source-sheet { top:40%; height:45%; }
  html[lang="en"] .source-sheet>div { padding:3% 0; }
  html[lang="en"] .information-sheet { height:50%; }
  html[lang="en"] .information-sheet p { margin-top:14%; font-size:3.5cqw; }
  html[lang="en"] .information-sheet small { margin-top:4%; font-size:1.5cqw; line-height:1.3; }
  html[lang="en"] .geo-poster .film-bottomline { bottom:3%; }
  html[lang="en"] .geo-proof-heading h3 { font-size:38px; }
}
@media (max-width:380px) {
  header .wordmark { font-size:17px; }
  header .contact-link { padding-inline:6px; font-size:10px; min-height:44px; align-items:center; white-space:nowrap; }
  header .nav-actions #motion-toggle { width:44px; min-width:44px; }
  header #menu-toggle { width:44px; min-width:44px; }
  html[lang="en"] .hero-copy { width:calc(100% - 32px); }
}
