/* A miniature personal contact card; non-modal, outside document flow. */
.scroll-contact-drawer{position:fixed;left:50%;right:auto;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:30;box-sizing:border-box;width:286px;max-width:calc(100vw - 32px);display:flex;align-items:center;gap:14px;padding:16px;background:#fff;border:1px solid rgba(70,87,112,.08);border-radius:22px;box-shadow:0 5px 24px rgba(45,47,56,.10);opacity:0;transform:translate(-50%,calc(100% + 24px));transition:opacity 240ms ease,transform 400ms cubic-bezier(.2,.8,.2,1);pointer-events:none}
.scroll-contact-drawer[hidden]{display:none}
.scroll-contact-drawer[data-visible=true]{opacity:1;transform:translate(-50%,0)}
.drawer-portrait{display:block;width:56px;height:68px;flex:none;border-radius:14px;object-fit:cover;object-position:50% 27%;background:#e7a348}
.drawer-invitation{min-width:0;flex:1}
.drawer-invitation strong{display:block;margin:0 0 8px;color:#293e59;font-size:15px;line-height:1.3;font-weight:650;letter-spacing:-.25px}
.scroll-contact-drawer .cta{margin:0;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:0 13px;min-height:44px;min-width:128px;max-width:100%;border-radius:12px;font-size:12px;line-height:1.2;white-space:nowrap;box-shadow:none;pointer-events:none}
.scroll-contact-drawer[data-visible=true] .cta{pointer-events:auto}
.scroll-contact-drawer .cta:focus-visible{outline:3px solid #4268af;outline-offset:4px}
@media(max-width:750px){.scroll-contact-drawer{bottom:calc(12px + env(safe-area-inset-bottom,0px));width:276px;padding:12px 14px 6px;gap:12px}.drawer-invitation strong{font-size:14px;margin-bottom:6px}}
@media(prefers-reduced-motion:reduce){.scroll-contact-drawer{transition:none;transform:translate(-50%,0)}}

/* Scroll clearance changes no document geometry; links can be brought above the panel. */
html{scroll-padding-bottom:calc(124px + env(safe-area-inset-bottom,0px))}
#explorer .path-card,#explorer a,.ending a{scroll-margin-bottom:calc(124px + env(safe-area-inset-bottom,0px))}
