/* Persistent contact actions, including space for device safe areas. */
body { padding-bottom:calc(104px + env(safe-area-inset-bottom,0px)); }
html { scroll-padding-bottom:calc(112px + env(safe-area-inset-bottom,0px)); }
.quick-contact { position:fixed; z-index:100; left:50%; bottom:calc(18px + env(safe-area-inset-bottom,0px)); transform:translateX(-50%); display:grid; grid-template-columns:1fr 1fr 1.35fr; gap:6px; width:min(480px,calc(100% - 28px)); padding:7px; border:1px solid #dce5df; border-radius:21px; background:#fbfcf8f5; box-shadow:0 8px 35px #082b3940; backdrop-filter:blur(14px); }
.quick-contact-link { display:flex; align-items:center; justify-content:center; gap:10px; min-height:52px; padding:11px 14px; color:#183f3d; font:600 14px/1.25 'DM Sans',Arial,sans-serif; border-radius:14px; text-decoration:none; background:#eaf0e9; transition:background .15s; }
.quick-contact-link svg { width:21px; height:21px; flex-shrink:0; }
.quick-contact .quick-schedule { background:#204f43; color:#fff; }
.quick-contact-link:hover { background:#dce8d5; }.quick-contact .quick-schedule:hover { background:#153d34; }
.quick-contact-link:focus-visible { outline:3px solid #287e9e; outline-offset:3px; }
@media(max-width:480px) { .quick-contact { bottom:calc(10px + env(safe-area-inset-bottom,0px)); gap:5px; padding:6px; border-radius:18px; }.quick-contact-link { gap:7px; font-size:12px; padding:10px 8px; min-height:51px; border-radius:12px; }.quick-contact-link svg { width:19px; height:19px; } }
@media(prefers-reduced-motion:reduce) { .quick-contact-link { transition:none; } }
