.police-filing { display:inline-flex; align-items:center; gap:6px; }
.police-filing-icon { width:18px; height:20px; flex:none; object-fit:contain; }
.filing-links { align-items:center; }
.wecom-launcher { position:fixed; right:26px; bottom:94px; z-index:119; display:flex; align-items:center; justify-content:center; gap:9px; min-height:48px; padding:0 17px; border:1px solid var(--accent,#e9b66f); border-radius:4px; background:var(--base,#080c13); color:var(--accent,#e9b66f); font:600 13px/1.4 Arial,sans-serif; font-family:inherit; text-decoration:none; box-shadow:0 8px 30px #0005; transition:transform .2s; }
.wecom-launcher svg { width:20px; height:20px; flex:none; }
.wecom-launcher:hover { transform:translateY(-3px); }
.wecom-launcher:focus-visible,.wecom-dialog a:focus-visible,.wecom-dialog button:focus-visible,.wecom-contact-card:focus-visible { outline:2px solid currentColor; outline-offset:4px; }
.wecom-contact-card { display:flex; align-items:center; gap:14px; max-width:370px; margin-top:28px; padding:18px; border:1px solid #baaa91; border-radius:4px; color:#3e3324; text-decoration:none; transition:background .2s; }
.wecom-contact-card:hover { background:#fff5; }
.wecom-contact-card>svg { width:27px; height:27px; flex:none; }
.wecom-contact-card>span { flex:1; }
.wecom-contact-card strong { display:block; font-size:15px; font-weight:600; }
.wecom-contact-card small { display:block; margin-top:5px; color:#685841; font-size:11px; }
.wecom-contact-card>b { font-size:19px; font-weight:400; }
.wecom-contact-card+.contact-note { margin-top:32px; }
html.wecom-is-open { overflow:hidden; }
.wecom-dialog { width:min(400px,calc(100% - 28px)); max-height:calc(100dvh - 32px); margin:auto; padding:28px; overflow:auto; overscroll-behavior:contain; border:1px solid #d6dedf; border-radius:12px; background:#f8fafb; color:#172a37; color-scheme:light; box-shadow:0 30px 100px #0007; }
.wecom-dialog::backdrop { background:#020b15b8; backdrop-filter:blur(5px); }
.wecom-dialog-head { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; margin-bottom:20px; }
.wecom-dialog h2 { margin:0; color:#172a37; font-size:23px; font-weight:600; line-height:1.5; letter-spacing:0; }
.wecom-dialog-head p { margin:6px 0 0; color:#526572; font-size:12px; }
.wecom-close { display:grid; place-items:center; flex:none; width:40px; height:40px; margin:-7px -9px 0 0; padding:0; border:0; border-radius:50%; background:transparent; color:#526572; font-size:28px; cursor:pointer; }
.wecom-close:hover { background:#e7edef; }
.wecom-qr-frame { width:100%; max-width:312px; margin:0 auto; padding:16px; border:1px solid #e3e8eb; border-radius:8px; background:#fff; }
/* Present the QR area of the original 1008 x 1561 poster without changing its pixels. */
.wecom-qr-window { position:relative; aspect-ratio:1; overflow:hidden; background:#fff; }
.wecom-qr-window img { position:absolute; top:-68.627451%; left:-48.823529%; width:197.647059%; max-width:none; height:auto; display:block; }
.wecom-dialog .wecom-instruction { margin:18px 0 5px; color:#253b49; text-align:center; font-size:14px; line-height:1.6; }
.wecom-dialog .wecom-help { max-width:300px; margin:0 auto; color:#526572; text-align:center; font-size:12px; line-height:1.8; }
.wecom-dialog-actions { display:flex; gap:10px; margin-top:22px; }
.wecom-dialog-actions a { display:flex; align-items:center; justify-content:center; flex:1; min-height:44px; border:1px solid #c4d0d7; border-radius:4px; color:#294452; font-size:13px; text-decoration:none; }
.wecom-dialog-actions a:first-child { border-color:#126bc4; background:#126bc4; color:white; }
.wecom-dialog-actions a:hover { box-shadow:inset 0 0 0 1px currentColor; }
@media(min-width:801px) { .footer>.container { padding-right:160px; } }
@media(max-width:800px) { .footer { padding-bottom:152px; } }
@media(max-width:540px) {
  .filing-links { align-items:flex-start; }
  .wecom-launcher { right:16px; bottom:78px; min-height:42px; padding:0 12px; font-size:12px; gap:7px; }
  .wecom-launcher svg { width:18px; height:18px; }
  .wecom-dialog { padding:22px; }
  .wecom-dialog h2 { font-size:21px; }
  .wecom-contact-card { max-width:none; padding:16px; }
}
@media(prefers-reduced-motion:reduce) { .wecom-launcher { transition:none; } }
