/* Approved soap bubble: floating shell, glossy highlights, and touch ripples. */
.hb-bubble-wrap{--hb-size:28px;--hb-slot:34px;--hb-phase:0s;position:relative;display:inline-grid;place-items:center;width:var(--hb-slot);height:var(--hb-slot);flex:0 0 var(--hb-slot);vertical-align:middle;line-height:1;isolation:isolate;pointer-events:none}
.hb-float{display:grid;place-items:center;width:var(--hb-size);height:var(--hb-size);animation:hb-float 3.8s ease-in-out infinite;animation-delay:var(--hb-phase)}
.hb-bubble{display:block;position:relative;width:100%;height:100%;box-sizing:border-box;border-radius:50%;border:1px solid #bacddc;background:radial-gradient(ellipse at 29% 20%,#ffffffed 0%,#ffffff9c 5%,#ffffff00 23%),radial-gradient(ellipse at 73% 83%,#e7dcaa8c 0%,#d5e5e047 22%,transparent 45%),radial-gradient(ellipse at 82% 27%,#d5f2f78c 0%,transparent 46%),radial-gradient(circle at 45% 40%,#c5ddec16 37%,#dbefff70 75%,#ffffffda 95%);box-shadow:inset 2px 3px 5px #ffffff98,inset -2px -2px 7px #748e8e28,0 4px 8px #1522391c}
.hb-bubble::before{content:"";position:absolute;top:16%;left:18%;width:26%;height:12%;background:#ffffffed;border-radius:70% 30% 50% 40%;transform:rotate(-36deg);filter:blur(.3px);animation:hb-glint 4.6s ease-in-out infinite;animation-delay:var(--hb-phase)}
.hb-bubble::after{content:"";position:absolute;bottom:14%;right:16%;width:12%;height:7%;border-radius:50%;background:#ffffffc9;transform:rotate(-35deg)}
.hb-ring{position:absolute;width:var(--hb-size);height:var(--hb-size);border:1px solid currentColor;box-sizing:border-box;border-radius:50%;opacity:0;pointer-events:none}
.hb-play .hb-bubble{animation:hb-bounce 820ms cubic-bezier(.2,.7,.2,1)}
.hb-play .hb-ring{animation:hb-wave 1s ease-out}
.hb-play .hb-ring-two{animation-delay:150ms}
.button>.hb-bubble-wrap{--hb-size:30px;--hb-slot:34px;margin-block:-5px}
.header-cta>.hb-bubble-wrap{--hb-size:24px;--hb-slot:28px}
.circle-link{width:54px;height:54px;border-color:transparent;background:transparent}
.circle-link>.hb-bubble-wrap{--hb-size:42px;--hb-slot:50px}
.circle-link:hover,.card-three .circle-link:hover{background:transparent;color:inherit;border-color:transparent}
.text-link>.hb-bubble-wrap{--hb-size:24px;--hb-slot:28px}
.branch-top{align-items:center}
.branch-top>.hb-bubble-wrap{--hb-size:25px;--hb-slot:29px}
.branch-wa>.hb-bubble-wrap{--hb-size:28px;--hb-slot:34px;margin-top:-2px}
.proposal-bar button,.footer-actions button[data-proposal]{display:inline-flex;align-items:center;gap:8px}
.proposal-bar button>.hb-bubble-wrap{--hb-size:17px;--hb-slot:20px;margin-left:0}
.footer-actions button[data-proposal]>.hb-bubble-wrap{--hb-size:21px;--hb-slot:25px}
.button-dark .hb-bubble,.card-three .hb-bubble,.proposal-bar .hb-bubble,footer .hb-bubble{border-color:#ffffffb8;box-shadow:inset 2px 3px 5px #ffffff70,inset -2px -2px 7px #748e8e28,0 4px 8px #0002}
.hb-offscreen .hb-float,.hb-offscreen .hb-bubble::before{animation-play-state:paused}
@keyframes hb-float{0%,100%{transform:translate(0,1px) rotate(-4deg)}50%{transform:translate(1px,-4px) rotate(4deg)}}
@keyframes hb-glint{0%,100%{opacity:.8;transform:rotate(-36deg) scale(1)}50%{opacity:1;transform:translate(1px,1px) rotate(-22deg) scale(1.12)}}
@keyframes hb-bounce{0%,100%{transform:scale(1)}22%{transform:scale(.83,1.06)}50%{transform:scale(1.15,.91)}76%{transform:scale(.96,1.04)}}
@keyframes hb-wave{0%{opacity:.52;transform:scale(.85)}100%{opacity:0;transform:scale(1.95)}}
.motion-paused .hb-float,.motion-paused .hb-bubble,.motion-paused .hb-bubble::before,.motion-paused .hb-ring{animation:none!important}
@media(prefers-reduced-motion:reduce){.hb-float,.hb-bubble,.hb-bubble::before,.hb-ring{animation:none!important}}
