@keyframes kcEq{0%,100%{transform:scaleY(.35)}50%{transform:scaleY(1)}}
@keyframes chatring{0%{transform:scale(1);opacity:.55}70%{transform:scale(1.55);opacity:0}100%{opacity:0}}
@keyframes chatfab{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@keyframes rzwave{0%,100%{transform:scaleY(.6)}50%{transform:scaleY(1)}}
.rzfab-wave{display:flex;align-items:center;justify-content:center;gap:2.5px;height:30px}
.rzfab-wave i{display:block;width:5px;border-radius:50%;background:rgba(255,255,255,.62);transform-origin:center}
.rzfab-wave i:nth-child(1){height:46%;animation:rzwave 2.8s ease-in-out infinite;animation-delay:-2.1s}
.rzfab-wave i:nth-child(2){height:80%;animation:rzwave 3.4s ease-in-out infinite;animation-delay:-1s}
.rzfab-wave i:nth-child(3){height:100%;animation:rzwave 2.6s ease-in-out infinite;animation-delay:-.4s}
.rzfab-wave i:nth-child(4){height:80%;animation:rzwave 3.2s ease-in-out infinite;animation-delay:-1.7s}
.rzfab-wave i:nth-child(5){height:46%;animation:rzwave 2.9s ease-in-out infinite;animation-delay:-2.4s}
.rzfab:hover .rzfab-wave i{animation-duration:1.6s}
.rzfab{transition:transform .35s,box-shadow .35s}
.rzfab:hover{transform:translateY(-3px) scale(1.04)}
.rzfab-mark{animation:chatmark 2.8s ease-in-out infinite;transform-origin:center}
.rzfab:hover .rzfab-mark{animation-duration:1.2s}
.btn-liquid{position:relative;color:#15140f;background:linear-gradient(160deg,rgba(255,255,255,.62),rgba(255,255,255,.32));border:1px solid rgba(255,255,255,.7);backdrop-filter:blur(16px) saturate(180%);-webkit-backdrop-filter:blur(16px) saturate(180%);box-shadow:inset 0 1px 0 rgba(255,255,255,.9),inset 0 -10px 20px rgba(255,255,255,.25),0 12px 30px -14px rgba(0,0,0,.4);transition:transform .25s,background .25s,box-shadow .25s}
.btn-liquid:hover{transform:scale(1.035);background:linear-gradient(160deg,rgba(255,255,255,.74),rgba(255,255,255,.44));box-shadow:inset 0 1px 0 rgba(255,255,255,1),inset 0 -10px 20px rgba(255,255,255,.3),0 16px 36px -14px rgba(0,0,0,.45)}
.rzchat{transition:opacity .34s cubic-bezier(.2,.8,.3,1),transform .34s cubic-bezier(.2,.8,.3,1),visibility .34s;transform-origin:bottom right}
.rzchat[data-chat="0"]{opacity:0;visibility:hidden;transform:translateY(14px) scale(.96);pointer-events:none}
.rzchat[data-chat="1"]{opacity:1;visibility:visible;transform:none;pointer-events:auto}
#rzchat-input::placeholder{color:rgba(255,255,255,.6)}
#rzchat-body::-webkit-scrollbar{width:6px}#rzchat-body::-webkit-scrollbar-thumb{background:rgba(255,255,255,.18);border-radius:3px}
@media(max-width:560px){.rzchat{right:10px;left:10px;width:auto;bottom:84px}}
/* ===== mobile polish pass ===== */
@media(max-width:560px){
  .nav-wrap{top:calc(8px + env(safe-area-inset-top,0px)) !important}
  .phones{height:auto !important;gap:0 !important}
  .phones > div:nth-child(2){display:none !important}
  .phones > div:first-child{align-self:center !important}
}
/* Mayo Clinic banner - phone type (approved 1a, slightly smaller) */
@media(max-width:560px){
  .mayo-card{min-height:auto !important;padding:22px 20px !important;gap:22px}
  .mayo-card h2{font-size:15px !important;line-height:1.3 !important;min-width:0}
  .mayo-card img[src*="mcp-lockup"]{height:48px !important;max-width:46% !important}
  .mayo-card p{font-size:12.5px !important;margin-top:0 !important}
}
