/* Direct contact: the visitor chooses phone or WeChat; no fake submission. */
dialog{width:min(640px,calc(100% - 32px));max-width:640px;max-height:calc(100dvh - 32px);overflow:auto;padding:38px;border:1px solid var(--line);border-radius:12px;color:var(--navy);background:#fff;box-shadow:0 24px 100px #071d3c33}dialog::backdrop{background:#0b203b99;backdrop-filter:blur(5px)}.dialog-close{position:absolute;top:12px;right:12px;width:44px;height:44px;background:#f2f5f8;border-radius:50%;font-size:26px;line-height:1;padding:0}dialog h2{font-size:30px;margin:20px 0 12px}#dialog-intro{font-size:15px;color:var(--muted);max-width:470px}.contact-layout{display:grid;grid-template-columns:1fr 190px;gap:30px;margin:30px 0 20px}.contact-direct{display:flex;flex-direction:column;align-items:stretch}.contact-direct>span{font-size:12px;color:var(--muted)}.contact-direct>strong{font-size:22px;margin-top:3px}.contact-number{font-size:24px;letter-spacing:.5px;margin:4px 0 20px;min-height:44px}.contact-direct .button+.button{margin-top:10px}#contact-feedback{min-height:24px;margin-top:10px;font-size:12px;color:var(--blue);overflow-wrap:anywhere}.contact-qr{margin:0;text-align:center}.contact-qr img{width:136px;height:auto;margin:0 auto 10px;border:1px solid var(--line);border-radius:6px}.contact-qr figcaption{font-size:13px}.contact-qr figcaption span{display:block;margin-top:5px;font-size:12px;color:var(--muted)}.contact-qr .text-link{font-size:12px}.contact-prep{border-top:1px solid var(--line);padding-top:12px}.contact-prep summary{cursor:pointer;padding:10px 0;font-size:13px}.contact-prep p{font-size:13px;color:var(--muted);padding:8px 0}.contact-expectation{color:var(--muted);font-size:12px;margin-top:10px}
@media(max-width:700px){dialog{padding:28px 22px}dialog>.eyebrow{font-size:10px;margin-top:6px}dialog h2{font-size:25px;padding-right:10px}#dialog-intro{font-size:14px}.contact-layout{grid-template-columns:1fr;gap:20px;margin-top:20px}.contact-direct>strong{font-size:20px}.contact-number{margin-bottom:12px}.contact-qr{border-top:1px solid var(--line);padding-top:20px}.contact-qr img{width:150px}.contact-qr figcaption span{max-width:240px;margin-inline:auto}}
/* Keep the close control reachable while a small-screen dialog scrolls. */
.dialog-close{position:sticky;float:right;top:0;right:auto;z-index:2;margin:-18px -18px -26px 0}
@media(max-width:700px){.dialog-close{margin:-12px -8px -28px 0}}
@media(min-width:701px) and (max-width:800px){.header-inner{gap:12px}nav{gap:14px}.header-action{padding-inline:10px}}
