/* ZENITH SPA | KO MASTER | STEP 06 CONTACT : mobile-first precise polish
   Only page-local changes; contact layout and verified Grab routing. */
.page-contact .contact-v2{overflow:clip}
.page-contact .contact-v2-hero-meta{display:flex;align-items:center;gap:9px 18px;flex-wrap:wrap;margin-top:19px;color:#f3eade;font-size:12px;letter-spacing:.018em}
.page-contact .contact-v2-hero-meta span{display:inline-flex;align-items:center;gap:7px}
.page-contact .contact-v2-hero-meta span+span:before{content:'';display:block;width:3px;height:3px;border-radius:50%;background:#dbcba9;margin-right:3px}
.page-contact .contact-v2-channels{padding-top:67px;padding-bottom:42px}
.page-contact .contact-v2-section-head{margin-bottom:26px}
.page-contact .contact-v2-section-head h2{line-height:1.24;font-weight:600;letter-spacing:-.045em}
.page-contact .contact-v2-section-head p{font-size:15px;line-height:1.65}
.page-contact .contact-v2-channel{min-height:108px;border-radius:12px;gap:14px;background:#fffefa}
.page-contact .contact-v2-channel-name strong{font-size:16px}
.page-contact .contact-v2-channel-name small{font-size:12px}
.page-contact .contact-v2-channel-icon{height:50px;width:50px}
.page-contact .contact-v2-channel-unavailable{white-space:nowrap;margin-left:auto;font-size:11px;color:#aaa9a3;letter-spacing:-.035em}
.page-contact .contact-v2-channel.is-pending{background:#fdfbf7}
.page-contact .contact-v2-visit{padding-top:66px;padding-bottom:69px}
.page-contact .contact-v2-visit-grid{gap:18px}
.page-contact .contact-v2-details{padding:30px;display:flex;flex-direction:column;align-items:stretch}
.page-contact .contact-v2-details h3{font-size:22px;line-height:1.33}
.page-contact .contact-v2-details p{font-size:14px;line-height:1.7}
.page-contact .contact-v2-hours{font-size:32px;font-weight:600;letter-spacing:-.02em}
.page-contact .contact-v2-map-link{min-height:52px;touch-action:manipulation}
.page-contact .contact-v2-map-link.zenith-grab-button{margin-top:18px;min-height:69px;padding:11px 15px;background:#05a64e;color:#fff;border-color:#079a47;border-radius:10px}
.page-contact .contact-v2-map-link.zenith-grab-button .zenith-grab-copy strong{font-size:17px;color:#fff}
.page-contact .contact-v2-map-link.zenith-grab-button .zenith-grab-copy small{font-size:11px;color:#f0fff4}
.page-contact .contact-v2-map-link.zenith-grab-button .zenith-grab-arrow{font-size:22px;color:#fff}
.page-contact .contact-v2-map-link.zenith-grab-button:hover{background:#078d43}
.page-contact .contact-v2-map-link:not(.zenith-grab-button){margin-top:10px;background:#fcfaf6;border-color:#c8cfc3;border-radius:9px;color:#35483c}
.page-contact .contact-v2-map-fallback{min-height:44px;touch-action:manipulation}
.page-contact .contact-v2-crosslinks{padding-top:60px;padding-bottom:67px}
.page-contact .contact-v2-crosslinks .contact-v2-section-head{margin-bottom:22px}
.page-contact .contact-v2-service-choice-section{padding-bottom:0}
.page-contact .contact-v2-service-choice{min-height:136px;border-radius:12px;gap:14px}
.page-contact .contact-v2-service-choice img{height:112px;width:125px;object-fit:cover}
.page-contact .contact-v2-service-choice strong{font-size:20px}
.page-contact .contact-v2-service-choice em{font-size:13px}
.page-contact .contact-v2-hero-meta,.page-contact .contact-v2-channel,.page-contact .contact-v2-service-choice{word-break:keep-all}
@media(max-width:800px){
 .page-contact .contact-v2-channels{padding-top:52px;padding-bottom:35px}
 .page-contact .contact-v2-channel{min-height:98px;padding:13px;gap:10px}
 .page-contact .contact-v2-visit{padding-top:53px;padding-bottom:57px}
 .page-contact .contact-v2-details{padding:28px}
 .page-contact .contact-v2-crosslinks{padding-top:48px;padding-bottom:56px}
}
@media(max-width:600px){
 .page-contact .contact-v2-hero{min-height:256px}
 .page-contact .contact-v2-hero-copy{padding-block:48px 42px}
 .page-contact .contact-v2-hero h1{font-size:36px;line-height:1.19}
 .page-contact .contact-v2-hero p{font-size:14px;line-height:1.75}
 .page-contact .contact-v2-hero-meta{gap:5px 12px;margin-top:13px;font-size:10px}
 .page-contact .contact-v2-channels{padding-top:42px;padding-bottom:29px}
 .page-contact .contact-v2-section-head{margin-bottom:21px}
 .page-contact .contact-v2-section-head h2{font-size:30px;line-height:1.29}
 .page-contact .contact-v2-section-head p{font-size:13px;line-height:1.62}
 .page-contact .contact-v2-grid{gap:10px}
 .page-contact .contact-v2-channel{min-height:91px;gap:8px;padding:10px;border-radius:11px}
 .page-contact .contact-v2-channel-icon{height:42px;width:42px}
 .page-contact .contact-v2-channel-icon svg{height:24px;width:24px}
 .page-contact .contact-v2-channel-name{gap:4px}
 .page-contact .contact-v2-channel-name strong{font-size:13px}
 .page-contact .contact-v2-channel-name small{font-size:10px}
 .page-contact .contact-v2-channel-unavailable{position:absolute;right:10px;bottom:8px;font-size:9px;line-height:1}
 .page-contact .contact-v2-channel.is-pending{position:relative;padding-bottom:20px}
 .page-contact .contact-v2-visit{padding-top:46px;padding-bottom:48px}
 .page-contact .contact-v2-map{border-radius:11px;min-height:268px}
 .page-contact .contact-v2-map iframe{min-height:268px}
 .page-contact .contact-v2-map-fallback{bottom:11px;left:11px;font-size:12px}
 .page-contact .contact-v2-details{padding:23px 22px 22px;border-radius:11px}
 .page-contact .contact-v2-details h3{font-size:22px}
 .page-contact .contact-v2-details p{font-size:13px;line-height:1.7}
 .page-contact .contact-v2-hours{font-size:30px;margin-top:10px}
 .page-contact .contact-v2-detail-label{font-size:11px}
 .page-contact .contact-v2-map-link.zenith-grab-button{margin-top:18px;min-height:65px}
 .page-contact .contact-v2-map-link.zenith-grab-button .zenith-grab-copy strong{font-size:16px}
 .page-contact .contact-v2-crosslinks{padding-top:42px;padding-bottom:48px}
 .page-contact .contact-v2-service-choice-section{gap:11px}
 .page-contact .contact-v2-service-choice{min-height:0;padding:9px;gap:9px}
 .page-contact .contact-v2-service-choice img{width:100%;height:116px}
 .page-contact .contact-v2-service-choice strong{font-size:17px}
 .page-contact .contact-v2-service-choice small{font-size:10px}
 .page-contact .contact-v2-service-choice em{font-size:12px}
}
@media(max-width:359px){
 .page-contact .contact-v2-channel{padding:8px;gap:6px;min-height:86px}
 .page-contact .contact-v2-channel-icon{width:37px;height:37px}
 .page-contact .contact-v2-channel-name strong{font-size:12px}
 .page-contact .contact-v2-channel-name small{font-size:9px}
 .page-contact .contact-v2-service-choice img{height:98px}
 .page-contact .contact-v2-hero-meta{font-size:9px}
}
@media(prefers-reduced-motion:reduce){.page-contact .contact-v2-channel,.page-contact .contact-v2-service-choice{transition:none}}

/* STEP 09: Reuse the same vector channel icons in CONTACT as the floating rail. */
.page-contact .contact-v2-channel-icon {
  border-radius:12px; background:transparent!important; overflow:hidden;
  align-self:center; box-shadow:0 1px 6px rgba(25,37,27,.06);
}
.page-contact .contact-v2-channel-icon img {
  display:block; width:100%; height:100%; max-width:none; object-fit:contain;
  border-radius:inherit; aspect-ratio:1;
}
@media (max-width:600px){.page-contact .contact-v2-channel-icon{border-radius:10px}}

/* New WeChat icon receives the same restrained treatment as existing channels. */
.contact-v2-channel--wechat .contact-v2-channel-icon{background:#e5f6e7;color:#238d49}
