.founder-fab {
  position: fixed;
  right: 22px;
  bottom: 22px;
  z-index: 90;
  width: min(312px, calc(100vw - 28px));
  background: var(--bg-2, #fff);
  border: 1px solid var(--line-2, #d8d6cf);
  border-radius: 20px;
  box-shadow: 0 26px 54px -20px rgba(40,28,15,0.42), 0 8px 22px rgba(40,28,15,0.1);
  overflow: hidden;
  transition: transform 260ms cubic-bezier(.2,.75,.2,1), opacity 220ms ease;
}
.founder-fab.hidden { transform: translateY(22px) scale(.96); opacity: 0; pointer-events: none; }
.founder-fab .fab-head { display: flex; align-items: center; gap: 12px; padding: 14px 15px 10px; position: relative; }
.founder-fab .fab-close { position: absolute; right: 10px; top: 8px; width: 24px; height: 24px; border: 0; border-radius: 50%; background: var(--bg-3, #efede7); color: var(--ink-3, #8a8a92); cursor: pointer; font-size: 12px; line-height: 1; }
.founder-fab .fav { width: 46px; height: 46px; border-radius: 50%; position: relative; flex-shrink: 0; }
.founder-fab .fav img { width: 100%; height: 100%; border-radius: 50%; object-fit: cover; border: 2px solid var(--bg-2, #fff); box-shadow: 0 0 0 1px var(--line-2, #d8d6cf); }
.founder-fab .fav .on { position: absolute; right: 1px; bottom: 2px; width: 12px; height: 12px; border-radius: 50%; background: #2c8a4f; border: 2px solid var(--bg-2, #fff); }
.founder-fab .fwho .nm { font-weight: 700; color: var(--ink-0, #0b0b0c); line-height: 1.1; }
.founder-fab .fwho .loc { font-family: "JetBrains Mono", monospace; font-size: 11px; color: var(--ink-3, #8a8a92); margin-top: 3px; display: flex; align-items: center; gap: 6px; }
.founder-fab .fwho .pin { width: 6px; height: 6px; border-radius: 50%; background: var(--accent, #ff6a3d); }
.founder-fab .fab-line { margin: 0; padding: 0 15px 14px; color: var(--ink-2, #3d3d44); font-size: 14px; line-height: 1.35; }
.founder-fab .fab-cta { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line, #e3e1d9); }
.founder-fab .fab-cta a { display: flex; align-items: center; justify-content: center; gap: 7px; padding: 13px 6px; font-weight: 700; font-size: 13px; color: var(--ink-0, #0b0b0c); text-decoration: none; }
.founder-fab .fab-cta a + a { border-left: 1px solid var(--line, #e3e1d9); }
.founder-fab .fab-cta a.call { color: var(--accent, #ff6a3d); }
.founder-fab .fab-cta .ic { width: 15px; height: 15px; }
.fab-bubble {
  position: fixed;
  right: 22px;
  bottom: 22px;
  z-index: 89;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  border: 2px solid var(--bg-2, #fff);
  padding: 0;
  overflow: visible;
  background: var(--bg-2, #fff);
  box-shadow: 0 16px 34px -12px rgba(40,28,15,0.5);
  cursor: pointer;
  transform: scale(0);
  transition: transform 260ms cubic-bezier(.2,.75,.2,1);
}
.fab-bubble.show { transform: scale(1); }
.fab-bubble img { width: 100%; height: 100%; border-radius: 50%; object-fit: cover; display: block; }
.fab-bubble .ring { position: absolute; inset: -2px; border-radius: 50%; box-shadow: 0 0 0 0 rgba(255,106,61,0.45); animation: fabPulse 2.6s ease-out infinite; pointer-events: none; }
@keyframes fabPulse {
  0% { box-shadow: 0 0 0 0 rgba(255,106,61,0.45); }
  80%, 100% { box-shadow: 0 0 0 14px rgba(255,106,61,0); }
}
@media (max-width: 640px) {
  .founder-fab { right: 14px; bottom: 14px; }
  .fab-bubble { right: 14px; bottom: 14px; }
}
