
  .sfab { position: fixed; right: 2rem; bottom: 6.6rem; z-index: 998; width: 56px; height: 56px; }
  .sfab-main { position: absolute; inset: 0; border: 0; padding: 0; cursor: pointer; border-radius: 50%;
    background: #0F4040; box-shadow: 0 6px 22px rgba(15,64,64,.38); overflow: hidden;
    transition: transform .25s ease, background .25s ease; -webkit-tap-highlight-color: transparent; }
  .sfab-main:hover { transform: scale(1.06); }
  .sfab-main:focus-visible, .sfab-link:focus-visible { outline: 2px solid #C9A84C; outline-offset: 3px; }
  .sfab-orbit { position: absolute; inset: 0; animation: sfabSpin 7s linear infinite; transition: opacity .2s ease, transform .25s ease; }
  .sfab-dot { position: absolute; top: 17px; width: 22px; height: 22px; border-radius: 50%; display: flex;
    align-items: center; justify-content: center; animation: sfabSpin 7s linear infinite reverse; }
  .sfab-dot svg { width: 12px; height: 12px; }
  .sfab-dot.sfab-fb svg { width: 22px; height: 22px; }
  .sfab-orbit .sfab-ig { left: 5px; }
  .sfab-orbit .sfab-fb { right: 5px; }
  @keyframes sfabSpin { to { transform: rotate(360deg); } }
  .sfab-ig { background: radial-gradient(circle at 30% 107%, #FFD600 0%, #FF7A00 30%, #FF0069 58%, #D300C5 80%, #7638FA 100%); }
  .sfab-fb { background: #fff; }
  .sfab-x { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center;
    color: #F5E6B8; font: 300 30px/1 sans-serif; opacity: 0; transform: rotate(-90deg); transition: opacity .2s ease, transform .25s ease; }
  .sfab.open .sfab-orbit { opacity: 0; transform: scale(.4); }
  .sfab.open .sfab-x { opacity: 1; transform: rotate(0); }
  .sfab-link { position: absolute; top: 4px; right: 4px; width: 48px; height: 48px; border-radius: 50%;
    display: flex; align-items: center; justify-content: center; box-shadow: 0 6px 18px rgba(0,0,0,.22);
    opacity: 0; transform: translateX(0) scale(.3); pointer-events: none;
    transition: transform .32s cubic-bezier(.34,1.56,.64,1), opacity .2s ease; }
  .sfab-link svg { width: 26px; height: 26px; }
  .sfab-link.sfab-fb svg { width: 48px; height: 48px; }
  .sfab.open .sfab-link { opacity: 1; pointer-events: auto; }
  .sfab.open .sfab-link.sfab-ig { transform: translateX(-64px) scale(1); }
  .sfab.open .sfab-link.sfab-fb { transform: translateX(-124px) scale(1); transition-delay: .05s; }
  .sfab-link:hover { filter: brightness(1.06); }
  @media (prefers-reduced-motion: reduce) {
    .sfab-orbit, .sfab-dot { animation: none; }
    .sfab-main, .sfab-orbit, .sfab-x, .sfab-link { transition: none; }
  }
