/* Shared international header, footer and contact controls. */
:root{--shell-blue:#3d63dd;--shell-hover:#3657c3;--shell-pale:#f7f9ff;--shell-deep:#1d2e5c;--shell-line:#e0e1e6;--shell-footer:#1d222e;--shell-green:#4ade80}
.site-header,.palette-ads .site-header{z-index:50;border-bottom:1px solid var(--shell-line);background:#fcfcfdf2;color:var(--shell-deep)}
.site-header .header-shell{width:min(1360px,calc(100% - 64px));min-height:78px;gap:24px}
.site-header .brand{display:grid;grid-template-columns:auto 1fr;column-gap:12px;align-items:center;color:inherit;font-size:21px;letter-spacing:.04em}
.site-header .brand-mark{grid-row:1/3;font-size:21px;font-weight:800;letter-spacing:.16em}
.site-header .brand-name{align-self:end;color:inherit}
.site-header .brand-name:after{content:none}
.site-header .brand small{grid-column:2;align-self:start;margin-top:4px;color:inherit;font-size:8px;font-weight:600}
.site-header .main-navigation{gap:clamp(10px,1.35vw,21px)}
.site-header .main-navigation summary,.site-header .main-navigation>.about-link{min-height:78px;color:inherit;font-size:clamp(12px,1.05vw,14px);font-weight:600}
.site-header .main-navigation a.active{color:var(--shell-blue)}
.site-header .header-contact{min-height:42px;padding:0 15px;border:1px solid var(--shell-blue);border-radius:6px;background:var(--shell-blue);color:#fff;font-size:13px;font-weight:700}
.site-header .header-contact:hover{border-color:var(--shell-hover);background:var(--shell-hover);color:#fff}
.blue-home-page .site-header,.blue-detail-page .site-header{position:absolute;top:0;left:0;width:100%;border:0;background:transparent;color:#fff}
.blue-home-page .site-header.is-scrolled,.blue-home-page .site-header.menu-open,.blue-detail-page .site-header.is-scrolled,.blue-detail-page .site-header.menu-open{position:fixed;background:rgba(252,252,253,.98);box-shadow:0 6px 22px rgba(10,29,75,.08);color:var(--shell-deep);backdrop-filter:blur(12px)}
.blue-home-page .site-header:not(.is-scrolled):not(.menu-open) .header-contact,.blue-detail-page .site-header:not(.is-scrolled):not(.menu-open) .header-contact{border-color:var(--shell-green);background:var(--shell-green);color:#fff}
.blue-home-page .site-header:not(.is-scrolled):not(.menu-open) .header-contact:hover,.blue-detail-page .site-header:not(.is-scrolled):not(.menu-open) .header-contact:hover{border-color:#fff;background:#fff;color:var(--shell-blue)}
.site-header .main-navigation .mega{color:var(--shell-deep)}
.site-header .main-navigation .mega a{color:var(--shell-deep)}
.site-header .main-navigation .mega a:hover{color:var(--shell-blue)}

.site-header .language-menu{position:relative;z-index:60;white-space:nowrap}
.site-header .language-menu summary{display:flex;min-width:114px;height:40px;padding:0 12px;align-items:center;justify-content:center;gap:7px;border:1px solid var(--shell-line);border-radius:6px;background:#fff;color:var(--shell-deep);cursor:pointer;list-style:none;font-size:12px;font-weight:600}
.site-header .language-menu summary::-webkit-details-marker{display:none}
.site-header .language-symbol{font-size:17px;line-height:1}
.site-header .language-chevron{margin-left:auto;font-size:16px;line-height:1;transition:transform .2s}
.site-header .language-menu[open] .language-chevron{transform:rotate(180deg)}
.site-header .language-short{display:none}
.site-header .language-list{position:absolute;top:calc(100% + 9px);right:0;display:grid;min-width:156px;padding:7px;border:1px solid rgba(224,225,230,.8);border-radius:9px;background:rgba(255,255,255,.92);backdrop-filter:blur(16px);box-shadow:0 14px 32px rgba(29,46,92,.15)}
.site-header .language-list a{display:block;padding:10px 12px;border-radius:6px;color:var(--shell-deep);font-size:13px;text-decoration:none}
.site-header .language-list a:hover{background:var(--shell-pale);color:var(--shell-blue)}
.blue-home-page .site-header:not(.is-scrolled):not(.menu-open) .language-menu summary,.blue-detail-page .site-header:not(.is-scrolled):not(.menu-open) .language-menu summary{border-color:rgba(255,255,255,.4);background:rgba(255,255,255,.13);color:#fff}
@media(min-width:981px){
  .site-header .main-navigation details{position:relative}
  .site-header .main-navigation .mega{top:calc(100% - 1px);left:0;right:auto;width:248px;max-width:none;margin:0;padding:12px;border:1px solid rgba(224,225,230,.75);border-radius:0 0 12px 12px;background:rgba(255,255,255,.92);backdrop-filter:blur(18px);box-shadow:0 16px 35px rgba(29,46,92,.15)}
  .site-header .main-navigation details[open] .mega{display:flex;flex-direction:column;gap:2px}
  .site-header .mega h3{display:none}
  .site-header .mega a{padding:9px 11px;border-radius:6px;font-size:14px;line-height:1.4}
  .site-header .mega a:hover{background:rgba(61,99,221,.1)}
}

.consultation-cta{position:relative;isolation:isolate;overflow:hidden;width:min(1280px,calc(100% - 96px));margin:96px auto;padding:54px 42px;border-radius:12px;background:var(--shell-blue);color:#fff}
.consultation-cta:before{content:'';position:absolute;z-index:-1;width:470px;height:470px;left:-220px;top:-270px;border-radius:50%;background:rgba(255,255,255,.05)}
.consultation-inner{display:flex;width:100%;align-items:center;justify-content:space-between;gap:48px}
.consultation-inner>div{max-width:780px}
.consultation-inner .footer-eyebrow{margin:0 0 10px;color:#d0dfff;font-size:12px;font-weight:700;letter-spacing:.16em}
.consultation-inner h2{margin:0;color:#fff;font:700 clamp(28px,3vw,38px)/1.2 Inter,'Noto Sans TC','Microsoft JhengHei',sans-serif}
.consultation-inner p:not(.footer-eyebrow){margin:13px 0 0;color:rgba(255,255,255,.87);font-size:16px}
.consultation-inner .footer-cta-button{display:inline-flex;min-height:48px;padding:10px 25px;align-items:center;gap:25px;border:1px solid var(--shell-green);border-radius:6px;background:var(--shell-green);color:#fff;font-weight:700;white-space:nowrap;text-decoration:none;transition:background .2s,color .2s,transform .2s}
.consultation-inner .footer-cta-button:hover{border-color:#fff;background:#fff;color:var(--shell-blue);transform:translateY(-2px)}
.site-footer,.palette-ads .site-footer{margin-top:0;border:0;background:var(--shell-footer);color:#fff}
.site-footer .footer-shell{width:min(1280px,calc(100% - 96px));padding-top:0}
.site-footer .footer-main{padding-top:62px}
.site-footer .footer-logo strong{color:#94b5ff}
.site-footer .footer-column a,.site-footer .footer-brand>p,.site-footer .footer-notice p{color:#aeb9cd}
.site-footer .footer-column a:hover,.site-footer .footer-brand a:hover{color:#fff}
.site-footer .footer-bottom{color:#8f9bb2}
.site-footer .footer-notice,.site-footer .footer-bottom{border-color:rgba(255,255,255,.12)}

.floating-contact .contact-toggle,.floating-contact .contact-options{border-color:var(--shell-line);box-shadow:0 12px 30px rgba(29,46,92,.15)}
.floating-contact .contact-toggle,.palette-ads .floating-contact .contact-toggle{background:#fff;color:#111}
.floating-contact .contact-options a,.floating-contact .contact-options button,.palette-ads .floating-contact .contact-options a,.palette-ads .floating-contact .contact-options button{border-color:var(--shell-line);background:#fff;color:#111;box-shadow:none}
.floating-contact .contact-options a:hover,.floating-contact .contact-options button:hover{background:#edf2fe}
.contact-qr-card h2{color:var(--shell-deep);font-family:Inter,'Noto Sans TC','Microsoft JhengHei',sans-serif}
.modal-kicker{color:var(--shell-blue)}
.copy-toast,.palette-ads .copy-toast{background:var(--shell-deep);color:#fff}

@media(max-width:980px){
  .site-header .header-shell{min-height:70px;grid-template-columns:minmax(0,1fr) auto}
  .site-header .header-actions{justify-self:end;justify-content:flex-end;margin-left:auto}
  .site-header .main-navigation{top:70px;right:0;left:0;gap:0;background:rgba(255,255,255,.96);color:var(--shell-deep)}
  .site-header .main-navigation summary,.site-header .main-navigation>.about-link{min-height:auto;font-size:15px}
  .site-header .main-navigation .mega{position:static;box-shadow:none;background:transparent}
  .site-header .menu-toggle{display:block}
  .site-header .header-contact{width:42px;min-width:42px;padding:0}
  .blue-home-page .site-header:not(.is-scrolled):not(.menu-open) .mobile-contact-icon,.blue-detail-page .site-header:not(.is-scrolled):not(.menu-open) .mobile-contact-icon{filter:brightness(0) invert(1)}
  .blue-home-page .site-header:not(.is-scrolled):not(.menu-open) .header-contact:hover .mobile-contact-icon,.blue-detail-page .site-header:not(.is-scrolled):not(.menu-open) .header-contact:hover .mobile-contact-icon{filter:none}
}
@media(max-width:680px){
  .site-header .header-shell{width:calc(100% - 28px);gap:7px}
  .site-header .brand{grid-template-columns:1fr;font-size:18px}
  .site-header .brand-mark{display:none}
  .site-header .brand small{grid-column:1;font-size:7px}
  .site-header .header-actions{gap:6px}
  .site-header .language-menu summary{min-width:72px;width:72px;padding:0 7px;gap:4px;font-size:11px}
  .site-header .language-symbol{font-size:14px}
  .site-header .language-long{display:none}
  .site-header .language-short{display:inline}
  .site-header .language-chevron{font-size:13px}
  .site-header .language-list{min-width:130px}
  .site-header .header-contact,.site-header .menu-toggle{width:40px;min-width:40px;height:40px}
  .consultation-cta{width:calc(100% - 40px);margin:60px auto;padding:38px 25px}
  .consultation-inner{align-items:stretch;flex-direction:column;gap:24px}
  .consultation-inner .footer-cta-button{justify-content:center}
  .site-footer .footer-shell{width:calc(100% - 40px)}
  .floating-contact .contact-options,.floating-contact .contact-options[hidden]{box-shadow:none}
}

/* Match the home header when a top-level menu is expanded. */
.site-header .main-navigation details[open]>summary{color:inherit;opacity:.72}
.contact-qr-card .qr-open-link{display:block;margin-top:20px;padding:11px 14px;border-radius:6px;background:var(--shell-blue);color:#fff;text-decoration:none;font-weight:600;font-size:14px}
.contact-qr-card .qr-open-link:hover{background:var(--shell-hover)}
.contact-qr-card .modal-kicker{color:var(--shell-blue)}

/* Traditional Chinese navigation needs a more legible type size. */
html[lang="zh-HK"] .site-header .main-navigation summary,
html[lang="zh-HK"] .site-header .main-navigation>.about-link{font-size:clamp(15px,1.12vw,16px)}
@media(max-width:980px){html[lang="zh-HK"] .site-header .main-navigation summary,html[lang="zh-HK"] .site-header .main-navigation>.about-link{font-size:16px}}

.blue-detail-page .site-header.is-scrolled{position:fixed!important;top:0}

/* Unified Chinese typography across Simplified and Traditional Chinese pages. */
html:lang(zh-CN) body,
html:lang(zh-HK) body,
html:lang(zh-CN) body *,
html:lang(zh-HK) body *{font-family:"Songti SC","SimSun","STSong","Noto Serif CJK SC","Noto Serif CJK TC",serif!important}

@media(max-width:980px){
  .contact-page .site-header .header-contact,
  .contact-page .site-header .header-contact:hover{border-color:#fff;background:#fff;color:var(--shell-deep)}
  .contact-page .site-header .mobile-contact-icon{filter:none}
}

@media(max-width:980px){.site-header .header-contact,.site-header .header-contact:hover{border-color:var(--shell-blue);background:var(--shell-blue);color:#fff}.site-header .mobile-contact-icon{filter:brightness(0) invert(1)}}

@media(max-width:980px){.contact-page .site-header .header-contact,.contact-page .site-header .header-contact:hover{border-color:var(--shell-blue);background:var(--shell-blue);color:#fff}.contact-page .site-header .mobile-contact-icon{filter:brightness(0) invert(1)}}
