/* Language navigation uses real page links and the existing visual system */
.tg-header>.e-con-inner{display:grid!important;grid-template-columns:170px minmax(0,1fr) auto;column-gap:24px!important;row-gap:0!important;padding-top:0!important;padding-bottom:12px!important}
.tg-language-widget{grid-column:1/-1;grid-row:1;width:100%!important;padding:6px 0 4px!important;border-bottom:1px solid #d5e1ed;margin-bottom:10px!important}
.tg-logo{grid-column:1;grid-row:2}
.tg-nav{grid-column:2;grid-row:2;width:100%!important;min-width:0}
.tg-header-cta{grid-column:3;grid-row:2}
.tg-language-switcher{display:flex;justify-content:flex-end;align-items:center;gap:4px;font-family:Arial,sans-serif;font-size:14px;font-weight:700;line-height:1.3}
.tg-language-switcher a{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:32px;padding:4px 10px;color:#123a64!important;border-radius:3px;text-decoration:none!important}
.tg-language-switcher a[aria-current=page]{background:#123a64;color:#fff!important}
.tg-language-switcher a:hover,.tg-language-switcher a:focus-visible{background:#fff1b8;color:#123a64!important;outline:2px solid #175a96;outline-offset:2px}
.tg-language-en .tg-nav .elementor-item{font-size:20px!important;padding-left:9px!important;padding-right:9px!important}
.tg-language-zh{font-family:'Microsoft YaHei','PingFang SC','Noto Sans CJK SC',Arial,sans-serif}
.tg-language-zh .elementor-heading-title,.tg-language-zh .tg-text,.tg-language-zh .tg-button,.tg-language-zh .elementor-button,.tg-language-zh .tg-nav a,.tg-language-zh .tg-archive,.tg-language-zh .tg-footer-contacts,.tg-language-zh .tg-rich-content,.tg-language-zh .tg-popup,.tg-language-zh .elementor-field{font-family:'Microsoft YaHei','PingFang SC','Noto Sans CJK SC',Arial,sans-serif!important}
.tg-language-zh .tg-heading .elementor-heading-title{line-height:1.3!important}
.tg-language-zh .tg-hero-title .elementor-heading-title{line-height:1.18!important}
.tg-language-zh .tg-text,.tg-language-zh .tg-archive{line-height:1.85!important}
.tg-language-zh .tg-nav .elementor-item{font-size:19px!important}
.tg-language-en .tg-hero-title .elementor-heading-title{overflow-wrap:normal;word-break:normal;hyphens:none}
.tg-language-en .tg-hero-content{max-width:730px}
.tg-language-en .tg-card-copy .tg-heading .elementor-heading-title{font-size:34px!important;line-height:1.15!important}
.tg-language-zh .tg-card-copy .tg-heading .elementor-heading-title{font-size:31px!important}
.tg-language-en .tg-footer-contacts{overflow-wrap:anywhere}
.tg-profile-downloads .tg-document-gallery{grid-template-columns:minmax(0,1fr)!important}
.tg-profile-downloads .tg-photo-card{width:100%;grid-column:1/-1}
.tg-profile-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px!important;width:100%}
.tg-profile-grid>.tg-resource-card{width:100%!important;min-width:0;padding:24px;background:#fff;border:1px solid #d5e1ed;border-radius:4px}
.tg-profile-grid .tg-image img{width:100%;height:auto;object-fit:contain}
.tg-profile-grid .tg-heading .elementor-heading-title{font-size:30px!important}
@media(max-width:767px){.tg-profile-grid{grid-template-columns:minmax(0,1fr);gap:24px!important}.tg-profile-grid>.tg-resource-card{padding:20px}.tg-profile-grid .tg-heading .elementor-heading-title{font-size:26px!important}}
.elementor-popup-modal:has(.tg-popup) .dialog-close-button{display:flex;align-items:center;justify-content:center;width:44px;height:44px;right:8px;top:8px;font-size:20px;color:#123a64}
.elementor-popup-modal:has(.tg-popup) .dialog-widget-content{max-width:calc(100vw - 24px);max-height:calc(100svh - 24px);overflow:auto}
@media(max-width:1200px){.tg-header>.e-con-inner{grid-template-columns:150px minmax(0,1fr) auto;column-gap:14px!important}.tg-header-cta .elementor-button{font-size:18px!important;padding-left:16px!important;padding-right:16px!important}}
@media(max-width:1024px){.tg-header>.e-con-inner{grid-template-columns:150px minmax(0,1fr);min-height:95px}.tg-nav{grid-column:2}.tg-language-widget{margin-bottom:3px!important}.tg-language-en .tg-hero-title .elementor-heading-title{font-size:51px!important}}
@media(max-width:767px){.tg-header>.e-con-inner{grid-template-columns:117px minmax(0,1fr);column-gap:16px!important;min-height:92px;padding-bottom:5px!important}.tg-language-switcher{font-size:13px}.tg-language-switcher a{min-height:32px;padding:4px 9px}.tg-language-widget{padding-top:3px!important}.tg-language-en .tg-hero-title .elementor-heading-title{font-size:37px!important;line-height:1.12!important}.tg-language-en .tg-hero-subtitle{font-size:23px!important}.tg-language-en .tg-card-copy .tg-heading .elementor-heading-title{font-size:27px!important}.tg-language-zh .tg-hero-title .elementor-heading-title{font-size:36px!important}.tg-language-zh .tg-card-copy .tg-heading .elementor-heading-title{font-size:27px!important}.tg-language-en .tg-nav .elementor-item,.tg-language-zh .tg-nav .elementor-item{font-size:20px!important}.tg-nav .elementor-nav-menu--dropdown{max-height:calc(100svh - 130px)}.tg-language-en .tg-stat-label{font-size:12px}.tg-language-zh .tg-stat-label{font-size:13px}.tg-language-en .tg-stat-value .elementor-heading-title{font-size:21px!important}.elementor-popup-modal:has(.tg-popup) .dialog-widget-content{max-height:calc(100svh - 20px)}.tg-profile-downloads .tg-document-gallery{gap:24px!important}}

/* One scrolling surface: Elementor's viewport width must fit its dialog. */
.elementor-popup-modal:has(.tg-popup) .dialog-widget-content{overflow:hidden}
.elementor-popup-modal:has(.tg-popup) .dialog-message{width:100%!important;max-width:100%;max-height:calc(100svh - 24px)!important;overflow-y:auto;overflow-x:hidden}
.elementor-popup-modal:has(.tg-popup) .tg-popup{width:100%;min-width:0}
@media(max-width:767px){.elementor-popup-modal:has(.tg-popup) .tg-popup{padding:28px 22px!important}}
/* Elementor's select wrapper is a layout box, not a padded input. */
.tg-popup .elementor-field-type-select .elementor-select-wrapper{padding:0!important;min-height:0;border:0;background:transparent}
.tg-popup select.elementor-field-textual{width:100%;min-height:48px!important;padding:12px!important;font-size:18px!important;font-family:inherit!important;border:1px solid #d5e1ed;color:#22344c}
