.global-footer { color: #472c32; background: #f4e0e1; border-top: 1px solid #d7b5ba; scroll-margin-top: 84px; }
.footer-destinations { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.footer-destination { position: relative; aspect-ratio: 1; overflow: hidden; isolation: isolate; color: #fff6f3; border-right: 1px solid #f3d3ce55; }
.footer-destination:last-child { border-right: 0; }
.footer-destination > picture { display: contents; }
.footer-destination img { position: absolute; top: 0; left: 0; width: 300%; max-width: none; height: 100%; object-fit: cover; object-position: center top; }
.footer-china img { left: -100%; }
.footer-malaysia img { left: -200%; }
.footer-destination::after { content: ""; position: absolute; inset: 0; z-index: 0; background: #311b2452; }
.footer-destination > div { position: absolute; z-index: 1; inset: auto 32px 25px; }
.footer-destination h2 { margin: 0 0 9px; color: inherit; font: 400 25px/1.1 Georgia, serif; text-transform: uppercase; letter-spacing: 0; }
.footer-destination p { margin: 0; color: inherit; font: 500 11px/1.5 Arial, sans-serif; text-transform: uppercase; letter-spacing: 0; }
.footer-office-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)) minmax(0, 1.2fr); max-width: 1440px; margin: 0 auto; padding: 34px 38px; }
.footer-office, .footer-connect { min-width: 0; padding: 0 25px; border-right: 1px solid #d7b5ba; }
.footer-office:first-child { padding-left: 0; }
.footer-connect { border-right: 0; padding-right: 0; }
.footer-office-heading { display: flex; align-items: center; gap: 13px; margin-bottom: 17px; }
.footer-office-heading img { width: 34px; height: 23px; object-fit: contain; }
.global-footer h3 { margin: 0; color: #472c32; font: 600 12px/1.5 Arial, sans-serif; text-transform: uppercase; letter-spacing: 0; }
.footer-office > p { margin: 0 0 18px; font-size: 13px; line-height: 1.6; color: #705159; }
.footer-office address { margin: 0 0 18px; font: 400 12px/1.6 Arial, sans-serif; color: #705159; }
.footer-contact-link { display: flex; align-items: center; gap: 10px; width: fit-content; max-width: 100%; margin: 10px 0 0; padding: 0; color: #472c32; background: none; border: 0; cursor: pointer; font: 400 12px/1.6 Arial, sans-serif; text-align: left; overflow-wrap: anywhere; }
.footer-contact-link svg { width: 15px; height: 15px; flex-shrink: 0; color: #965562; stroke-width: 1.5; }
.global-footer a:hover, .footer-contact-link:hover { color: #a73c50; }
.global-footer a:focus-visible, .global-footer button:focus-visible { outline: 2px solid #a73c50; outline-offset: 4px; }
.footer-connect > h3 { margin-bottom: 14px; }
.footer-socials { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 7px; margin: 0 0 18px; }
.footer-social { display: flex; flex-direction: column; align-items: center; gap: 9px; min-width: 0; min-height: 82px; padding: 8px 0; border: 0; background: transparent; color: #472c32; font: 400 10px/1.4 Arial, sans-serif; cursor: pointer; text-align: center; border-radius: 4px; transition: background 160ms ease; }
.footer-social:hover { background: #eacbd0; }
.footer-social img { display: block; width: 28px; height: 28px; object-fit: contain; }
.footer-social small { margin-top: -5px; color: #705159; font-size: 9px; }
.footer-social-status { min-height: 16px; margin: 0; color: #743f4a; font: 400 11px/1.4 Arial, sans-serif; }
.footer-wechat > span { display: block; font-size: 11px; color: #705159; margin-bottom: 3px; }
.footer-wechat > div { display: flex; align-items: center; gap: 8px; }
.footer-wechat strong { font-size: 13px; font-weight: 500; }
.footer-wechat button { display: grid; place-items: center; width: 28px; height: 28px; padding: 0; border: 1px solid #c79da5; border-radius: 4px; background: transparent; color: #743f4a; cursor: pointer; }
.footer-wechat button:hover { background: #eacbd0; }
.footer-wechat button svg { width: 13px; height: 13px; }
.footer-wechat small { display: block; min-height: 14px; font-size: 10px; line-height: 1.4; color: #743f4a; }
.wechat-dialog { width: min(360px, calc(100% - 32px)); max-height: calc(100dvh - 32px); box-sizing: border-box; margin: auto; padding: 22px; border: 1px solid #d7b5ba; border-radius: 8px; background: #fff9fa; color: #472c32; box-shadow: 0 18px 65px #21101840; overflow: auto; }
.wechat-dialog::backdrop { background: #21101899; backdrop-filter: blur(5px); }
.wechat-dialog-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 16px; }
.wechat-dialog-heading h2 { display: flex; align-items: center; gap: 10px; margin: 0; font: 500 20px/1.4 Arial, sans-serif; }
.wechat-close { display: grid; place-items: center; width: 36px; height: 36px; padding: 0; border: 0; border-radius: 4px; background: transparent; color: #743f4a; cursor: pointer; }
.wechat-close:hover { background: #f4e0e1; }
.wechat-close svg { width: 20px; height: 20px; }
.wechat-dialog button:focus-visible { outline: 2px solid #a73c50; outline-offset: 3px; }
.wechat-qr { display: block; width: 100%; height: auto; background: #fff; }
.wechat-dialog-id { margin-top: 18px; text-align: center; }
.wechat-dialog-id > div { justify-content: center; }
.wechat-dialog-id strong { font: 500 16px/1.5 Arial, sans-serif; }
body.wechat-open { overflow: hidden; }
@media (prefers-reduced-motion: reduce) { .footer-social { transition: none; } }
.footer-base { display: grid; grid-template-columns: 1fr auto 1fr; gap: 30px; align-items: center; padding: 26px 38px; border-top: 1px solid #d7b5ba; }
.footer-wordmark { font: 400 18px/1.4 Georgia, serif; color: #472c32; }
.footer-wordmark .company-name { color: #472c32; }
.footer-wordmark .company-name > span { color: #9a651b; }
.footer-wordmark .company-name-en { color: #705159; }
.footer-base-links { display: flex; align-items: center; gap: 22px; font: 500 10px/1.4 Arial, sans-serif; text-transform: uppercase; }
.footer-base-links a { padding: 6px 0; }
.footer-closing { justify-self: end; margin: 0; padding-left: 30px; border-left: 1px solid #d7b5ba; font: 400 24px/1.1 Georgia, serif; color: #8d4c59; }
.footer-disclaimer { max-width: 1440px; margin: 0 auto; padding: 0 38px 22px; font: 400 11px/1.6 Arial, sans-serif; color: #705159; }
@media (min-width: 1450px) { .footer-base { padding-left: max(38px, calc((100% - 1364px) / 2)); padding-right: max(38px, calc((100% - 1364px) / 2)); } }
@media (max-width: 1050px) {
  .footer-office-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 0; padding: 30px; }
  .footer-office:nth-child(2) { border-right: 0; }
  .footer-office:nth-child(3) { padding-left: 0; }
  .footer-base { grid-template-columns: 1fr auto; padding: 24px 30px; gap: 22px; }
  .footer-base-links { grid-column: 1 / -1; grid-row: 2; flex-wrap: wrap; gap: 12px 24px; }
  .footer-destination > div { left: 22px; right: 16px; }
  .footer-disclaimer { padding-right: 30px; padding-left: 30px; }
}
@media (max-width: 600px) {
  .global-footer { scroll-margin-top: 78px; }
  .footer-destinations { grid-template-columns: 1fr; }
  .footer-destination { border-right: 0; border-bottom: 1px solid #f3d3ce55; }
  .footer-destination > div { left: 24px; bottom: 23px; }
  .footer-destination h2 { font-size: 25px; }
  .footer-office-grid { grid-template-columns: 1fr; padding: 28px 24px; gap: 24px; }
  .footer-office, .footer-connect { padding: 0 0 24px; border-right: 0; border-bottom: 1px solid #d7b5ba; }
  .footer-connect { padding-bottom: 0; border-bottom: 0; }
  .footer-office-heading { margin-bottom: 12px; }
  .footer-office > p { margin-bottom: 10px; }
  .footer-contact-link { font-size: 14px; }
  .global-footer h3 { font-size: 13px; }
  .footer-social { font-size: 11px; }
  .footer-base { padding: 22px 24px; grid-template-columns: 1fr; gap: 20px; }
  .footer-base-links { grid-row: auto; gap: 12px 22px; font-size: 11px; }
  .footer-closing { justify-self: start; padding-left: 0; border-left: 0; font-size: 24px; }
  .footer-disclaimer { padding-right: 24px; padding-left: 24px; }
}
