.contact-fab{position:fixed;right:20px;bottom:20px;z-index:90;font-family:var(--sans,-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif)}
.contact-fab-button{display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:12px 20px;border:1px solid var(--forest,#18293b);border-radius:999px;background:var(--forest,#18293b);color:#fff;font-size:14px;font-weight:550;box-shadow:0 12px 32px rgba(21,44,69,.28);transition:transform .18s ease,box-shadow .18s ease}
.contact-fab-button:hover{transform:translateY(-2px);box-shadow:0 16px 40px rgba(21,44,69,.34)}
.contact-fab-button svg{width:18px;height:18px;flex:none}
.contact-panel{position:fixed;right:20px;bottom:84px;width:min(320px,calc(100vw - 32px));max-height:calc(100vh - 110px);overflow:auto;background:#fff;border:1px solid var(--line,#dde1e6);border-radius:var(--radius,14px);box-shadow:0 24px 64px rgba(21,44,69,.2);padding:22px;z-index:91}
.contact-panel[hidden]{display:none}
.contact-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.contact-panel-head .contact-eyebrow{font-size:10px;font-weight:600;letter-spacing:.18em;color:var(--muted,#6f7972);text-transform:uppercase;margin:0 0 6px}
.contact-panel-head h2{font-family:var(--serif,"Iowan Old Style","Palatino Linotype","Songti SC","STSong",serif);font-size:20px;line-height:1.4;margin:0}
.contact-close{border:0;background:none;color:var(--muted,#6f7972);font-size:22px;line-height:1;padding:2px 6px;border-radius:6px}
.contact-close:hover{color:var(--ink,#17222e)}
.contact-tabs{display:flex;gap:8px;margin:16px 0 14px}
.contact-tab{flex:1;padding:8px 0;border:1px solid var(--line,#dde1e6);border-radius:999px;background:#fff;color:var(--muted,#6f7972);font-size:13px;font-weight:550;transition:background .15s ease,color .15s ease,border-color .15s ease}
.contact-tab.is-active{background:var(--forest,#18293b);border-color:var(--forest,#18293b);color:#fff}
.contact-qr img{display:block;width:100%;height:auto;border:1px solid var(--line,#dde1e6);border-radius:10px;background:#fff}
.contact-qr p{margin:12px 0 0;font-size:13px;line-height:1.7;color:var(--muted,#6f7972);text-align:center}
@media (max-width:480px){.contact-fab{right:14px;bottom:14px}.contact-panel{right:14px;bottom:76px}}
@media print{.contact-fab{display:none}}
