/* A compact, opt-in contact disclosure. No overlay or automatic opening. */
.floating-contact{position:fixed;right:max(24px,env(safe-area-inset-right,0px));bottom:calc(22px + env(safe-area-inset-bottom,0px));z-index:25;display:flex;justify-content:flex-end;max-width:calc(100vw - 28px)}
.floating-contact[hidden],.contact-options[hidden]{display:none}
.contact-toggle{display:inline-flex;align-items:center;justify-content:center;gap:22px;min-height:48px;padding:12px 19px;background:var(--ink);color:#fff;border:var(--rule) solid var(--ink);border-radius:28px;font-family:var(--sans);font-size:11px;font-weight:400;line-height:1.4;white-space:nowrap;box-shadow:0 4px 15px #00000012;transition:background .2s}
.contact-toggle:hover{background:#343c30}
.contact-toggle:focus-visible{outline:2px solid #466e50;outline-offset:4px}
.contact-toggle-icon{width:15px;height:15px;display:flex;align-items:center;justify-content:center;font-size:20px;line-height:1;font-weight:400;transition:transform .2s}
.contact-toggle[aria-expanded=true] .contact-toggle-icon{transform:rotate(45deg)}
.contact-options{position:absolute;bottom:calc(100% + 10px);right:0;width:224px;max-width:calc(100vw - 28px);max-height:calc(100dvh - 100px - env(safe-area-inset-bottom,0px));overflow-y:auto;overscroll-behavior:contain;background:#fff;border:var(--rule) solid var(--line);border-radius:3px;padding:4px 16px;box-shadow:0 10px 30px #00000010}
.contact-options a{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:49px;padding:12px 2px;border-bottom:var(--rule) solid var(--line);font-family:var(--sans);font-size:12px;line-height:1.5;transition:color .2s}
.contact-options a:last-child{border-bottom:0}
.contact-options a:hover{color:#58634f}
.contact-options a>span[aria-hidden]{font-size:17px;line-height:1}
.contact-options a:focus-visible{outline:2px solid #466e50;outline-offset:1px}
body.modal-open .floating-contact{visibility:hidden}
.site-footer{padding-bottom:calc(86px + env(safe-area-inset-bottom,0px))}
@media(max-width:560px){.floating-contact{right:max(14px,env(safe-area-inset-right,0px));bottom:calc(14px + env(safe-area-inset-bottom,0px))}.contact-toggle{min-height:44px;padding:11px 16px;gap:19px;font-size:10px}.contact-options{width:212px}.contact-options a{font-size:11px;min-height:48px}}
@media(prefers-reduced-motion:reduce){.contact-toggle,.contact-toggle-icon,.contact-options a{transition:none}}
@media print{.floating-contact{display:none}}

/* One persistent contact dock: direct text first, alternatives one tap away. */
.floating-contact{gap:8px;align-items:center}.contact-text{display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:50px;padding:13px 21px;background:var(--ink);color:#fff;border-radius:28px;font-size:15px;line-height:1.4;box-shadow:0 4px 18px #00000016}.contact-text:hover{background:#343c30}.contact-toggle{font-size:13px;min-height:50px;background:#fff;color:var(--ink);gap:12px;padding:12px 16px}.contact-toggle:hover{background:#f3f4ef}.contact-options{width:280px}.contact-options a{font-size:15px}.contact-welcome{font-size:13px;line-height:1.6;padding:14px 2px;border-bottom:1px solid var(--line);color:#343a32}.contact-text:focus-visible{outline:2px solid #466e50;outline-offset:4px}
@media(max-width:560px){.floating-contact{gap:7px}.contact-text{font-size:14px;padding:12px 18px;min-height:48px}.contact-toggle{font-size:12px;min-height:48px;padding:11px 14px;gap:10px}.contact-options a{font-size:15px}.contact-options{width:270px}}

/* Visible number remains available even when a device has no SMS app. */
.contact-text-label{display:flex;align-items:center;gap:10px}.contact-number{font-size:14px;white-space:nowrap;font-variant-numeric:tabular-nums;user-select:text}.contact-number:before{content:'·';margin-right:10px}.contact-copy{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;min-height:49px;text-align:left;padding:12px 2px;border-bottom:var(--rule) solid var(--line);font-size:15px;line-height:1.5}.contact-copy[hidden]{display:none}.contact-copy:focus-visible{outline:2px solid #466e50;outline-offset:1px}.contact-copy-status{font-size:13px;line-height:1.6;user-select:text;color:#343a32}.contact-copy-status:not(:empty){padding:12px 2px;border-bottom:1px solid var(--line)}
@media(max-width:560px){.contact-text-label{flex-direction:column;align-items:flex-start;gap:2px}.contact-number{font-size:13px}.contact-number:before{content:none}.contact-text{padding:9px 15px;gap:13px}.floating-contact{max-width:calc(100vw - 28px)}.contact-toggle{padding:11px 12px;gap:8px}.site-footer{padding-bottom:calc(100px + env(safe-area-inset-bottom,0px))}}

/* Keep the explicit contact-options label readable on narrow phones. */
@media(max-width:560px){.contact-toggle>span:first-child{white-space:normal;max-width:86px;text-align:center}.contact-toggle{flex-shrink:0}.contact-text{min-width:0}}
@media(max-width:360px){.contact-text{padding-left:11px;padding-right:11px;gap:8px}.contact-toggle{padding-left:10px;padding-right:10px;gap:6px}.contact-toggle>span:first-child{max-width:76px}}
