.page-lattice { min-width: 0; }
.language-switcher {
  position: fixed; z-index: 90; left: 1.5rem; bottom: max(1.3rem,env(safe-area-inset-bottom));
  display: flex; align-items: center; gap: 3px; padding: 6px;
  border: 1px solid #cfe1e9; border-radius: 999px;
  background: rgba(249,253,255,.95); box-shadow: 0 6px 24px rgba(28,81,104,.10);
  backdrop-filter: blur(12px); font-family: Arial,"Microsoft YaHei",sans-serif;
  font-size: 12px; font-weight: 600; letter-spacing: normal;
}
.language-switcher a { padding: 8px 12px; color: #486a7d; border-radius: 999px; text-decoration: none; }
.language-switcher a[aria-current="page"] { background: #0b7294; color: #fff; }
.language-switcher a:hover { background: #e0f0f5; color: #174a61; }
.language-switcher a:focus-visible { outline: 2px solid #0b7294; outline-offset: 2px; }
html[lang="en"] { --font-sans: Arial,"Helvetica Neue",sans-serif; }
html[lang="zh-Hans"] { --font-sans: "Microsoft YaHei","PingFang SC","Noto Sans SC",sans-serif; }
html[lang="en"] .page-lattice .hero h1 { font-size: clamp(2.1rem,3.7vw,3.8rem); line-height: 1.18; letter-spacing: -.035em; }
html:not([lang="ja"]) .page-lattice .hero h1 > span { white-space: normal; }
html[lang="en"] .page-lattice .hero h1 > span + span { margin-top: .65em; }
html[lang="en"] .page-lattice .hero .eyebrow { font-size: clamp(1rem,1.8vw,1.5rem); letter-spacing: .07em; }
html[lang="en"] .page-lattice .hero-lead { font-size: 1rem; line-height: 1.8; }
html[lang="en"] .page-lattice .difference-copy h2 { font-size: clamp(1.9rem,3vw,2.9rem); line-height: 1.4; }
html:not([lang="ja"]) .page-lattice .contact-copy h2 > span { white-space: normal; }
html[lang="en"] .page-lattice .contact-copy h2 { font-size: clamp(1.5rem,5.4cqw,2.6rem); line-height: 1.5; letter-spacing: -.02em; }
html[lang="en"] .page-lattice .service-card h3 { white-space: normal; font-size: clamp(1.1rem,1.5vw,1.45rem); line-height: 1.5; }
html[lang="en"] .page-lattice .flow-card h3 { font-size: 1rem; line-height: 1.55; }
html[lang="en"] .page-lattice .case-card h3 { font-size: .95rem; line-height: 1.55; }
html[lang="en"] .page-lattice .services .section-heading h2,
html[lang="en"] .page-lattice .cases .section-heading h2 { letter-spacing: .05em; }
html[lang="en"] .page-concept-i .hero-opening-title { font-size: clamp(1.05rem,2vw,1.85rem); letter-spacing: .06em; white-space: normal; }
html[lang="zh-Hans"] .page-lattice .hero h1 { line-height: 1.4; letter-spacing: .01em; }
html[lang="zh-Hans"] .page-lattice .contact-copy h2 { line-height: 1.7; }
@media(max-width:700px){
  .language-switcher { left: 12px; bottom: max(16px,env(safe-area-inset-bottom)); padding: 5px; font-size: 11px; }
  .language-switcher a { padding: 7px 9px; }
  html[lang="en"] .page-lattice .hero h1 { font-size: clamp(1.8rem,7.8vw,2.5rem); line-height: 1.16; }
  html[lang="en"] .page-lattice .hero .eyebrow { font-size: 1rem; letter-spacing: .04em; }
  html[lang="en"] .page-lattice .hero-lead { font-size: .88rem; line-height: 1.8; }
  html[lang="en"] .page-lattice .difference-copy h2 { font-size: 1.9rem; }
  html[lang="en"] .page-lattice .contact-copy h2 { font-size: 1.55rem; }
  html[lang="en"] .page-lattice .section-heading h2 { font-size: clamp(1.6rem,7vw,2.7rem); }
  html[lang="zh-Hans"] .page-lattice .hero h1 { font-size: clamp(1.7rem,7.5vw,2.8rem); }
}
@media(max-width:360px){
  .language-switcher a { padding-inline: 7px; }
}
