.qq-language-switcher{position:fixed!important;top:12px!important;right:14px!important;z-index:2147483003!important;display:flex!important;align-items:center;gap:6px;padding:6px;background:#fff;border:1px solid #cfd9ea;border-radius:12px;box-shadow:0 8px 28px rgba(8,38,83,.2);font:600 13px/1.2 system-ui,-apple-system,"Noto Sans TC","Noto Sans JP",sans-serif}.qq-language-switcher label{color:#193E82}.qq-language-switcher select{min-height:38px;padding:6px 30px 6px 10px;border:1px solid #7486ad;border-radius:8px;background:#fff;color:#193E82;font:inherit}.qq-language-switcher select:focus-visible{outline:3px solid #193E82;outline-offset:2px}@media(max-width:720px){html,body{max-width:100%;overflow-x:hidden}.qq-language-switcher{top:8px!important;right:8px!important;padding:4px}.qq-language-switcher label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}header nav,.main-nav,.nav-links{flex-wrap:wrap!important;overflow:visible!important}header nav a,.main-nav a,.nav-links a{white-space:normal!important}}
.nav-cta .btn{min-width:max-content!important;white-space:nowrap!important;writing-mode:horizontal-tb!important}.nav-cta{flex:0 0 auto!important}@media(max-width:1400px){.nav-cta .btn{padding-inline:12px!important}.desktop-nav .nav-link{padding-inline:9px!important;font-size:.88rem!important}}

/* R58 mobile header containment for long localized brand names on all landing templates. */
@media(max-width:430px){
  .nav-wrap{gap:10px}
  .brand{flex:1 1 auto!important;min-width:0!important;max-width:calc(100% - 54px)!important}
  .brand-copy{min-width:0!important;max-width:100%!important}
  .brand-copy b{max-width:100%!important;white-space:normal!important;overflow-wrap:anywhere!important;line-height:1.05!important}
  html[lang="en"] .brand-copy b{font-size:.82rem!important;letter-spacing:0!important}
  .menu-toggle{margin-left:auto!important;flex:0 0 44px}
}

/* R59 shared mobile resilience: keep media, grids and long localized content inside the viewport. */
@media(max-width:720px){
  body,main,header,footer,nav,section,article,aside,figure,form,fieldset,div{min-width:0}
  img,video,canvas{max-width:100%;height:auto}
  svg{max-width:100%}
  h1,h2,h3,h4,p,li,dt,dd,a,button,label,legend,figcaption{overflow-wrap:anywhere}
  pre{max-width:100%;overflow:auto;white-space:pre-wrap}
  code{overflow-wrap:anywhere}
  input,select,textarea,button{max-width:100%}
  .qq-language-switcher{max-width:calc(100vw - 16px)}
  .mobile-sticky,.qq-app-bar{max-width:100vw}
  [class*="grid"]>*{min-width:0}
  [class*="table-wrap"],[class*="table-scroll"]{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}
}

/* R100: mobile language control and content cards remain readable and clear of fixed actions. */
@media(max-width:720px){
  .qq-language-switcher{top:calc(env(safe-area-inset-top) + 2px)!important;right:8px!important;height:30px!important;padding:2px!important;font-size:12px!important}
  .qq-language-switcher select{min-height:26px!important;height:26px!important;padding:2px 26px 2px 8px!important}
  .qa-assist{right:10px!important;bottom:calc(104px + env(safe-area-inset-bottom))!important}
  .mobile-sticky a{min-width:0!important;white-space:normal!important;line-height:1.15!important;text-align:center!important;overflow-wrap:anywhere!important}
  body:has(.mobile-sticky) .qq-app-bar{bottom:calc(96px + env(safe-area-inset-bottom))!important}
}
@media(max-width:600px){
  .knowledge-hub .knowledge-compact{flex-direction:column!important}
  .knowledge-hub .knowledge-compact .knowledge-card-figure{width:100%!important;min-width:0!important;border-right:0!important;border-bottom:1px solid #dfe7ee!important}
  .knowledge-hub .knowledge-compact .knowledge-card-image{width:100%!important;height:clamp(150px,46vw,210px)!important;object-fit:contain!important}
  .knowledge-hub .knowledge-card .article-body{width:100%!important;padding:18px!important}
}
@media(max-width:430px){
  .brand-copy b{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;font-size:.82rem!important}
  html[lang="ja"] .brand-copy b{font-size:.9rem!important}
  body:not(:has(.menu-toggle)){padding-top:38px!important}
  .filter-row{display:flex!important;flex-wrap:nowrap!important;overflow-x:auto!important;scroll-snap-type:x proximity;padding-bottom:8px!important}
  .filter-row>*{flex:0 0 auto!important;scroll-snap-align:start}
}
