.cp-cta-stack,.cp-cta-stack *,.cp-cta-stack *::before,.cp-cta-stack *::after{box-sizing:border-box}
.cp-cta-stack{position:fixed;left:40px;bottom:40px;z-index:9999;display:flex;flex-direction:column;align-items:center;gap:19px;isolation:isolate}
.cp-cta{--cp-size:70px;position:relative;display:grid;place-items:center;width:var(--cp-size);height:var(--cp-size);border-radius:50%;text-decoration:none!important;isolation:isolate;transition:transform .25s ease}
.cp-cta:hover{transform:scale(1.07)}
.cp-cta:focus-visible{outline:3px solid #123b81;outline-offset:9px}
.cp-cta__face{position:relative;z-index:2;width:calc(var(--cp-size) - 7px);height:calc(var(--cp-size) - 7px);display:grid;place-items:center;border-radius:50%;background:#123b81;color:#fff;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff33}
.cp-cta__icon{position:relative;z-index:2;width:27px;height:27px;fill:currentColor}
.cp-cta--1::before{content:"";position:absolute;inset:0;border-radius:50%;background:conic-gradient(#1eaeef,#3355c7,#ed257d,#ff8b1e,#1eaeef);animation:cp-cta-orbit 3s linear infinite;box-shadow:0 5px 15px #174b9b55}
.cp-cta--1::after{content:"";position:absolute;inset:-7px;border:2px solid #1988d8;border-radius:50%;animation:cp-cta-halo 1.5s ease-out infinite;pointer-events:none}
.cp-cta--1 .cp-cta__icon{animation:cp-cta-ring 3s ease-in-out infinite}
@keyframes cp-cta-orbit{to{transform:rotate(360deg)}}
@keyframes cp-cta-halo{0%{transform:scale(.88);opacity:.7}65%,100%{transform:scale(1.72);opacity:0}}
@keyframes cp-cta-ring{0%,4%,8%,12%,16%,100%{transform:rotate(0)}2%,10%{transform:rotate(-15deg)}6%,14%{transform:rotate(15deg)}}
/* Hover label: model 5 motion and neon, with model 1's exact blue background. */
.cp-cta__label{position:absolute;z-index:5;left:calc(100% + 15px);top:50%;display:block;width:max-content;max-width:calc(100vw - 120px);padding:9px 7px;border-radius:0;color:#fff;background:#123b81;font-size:12px;font-weight:800;line-height:1.4;letter-spacing:.03em;white-space:nowrap;pointer-events:none;opacity:0;visibility:hidden;box-shadow:0 4px 15px #28286d66;transform:translate(0,-25%);transition:opacity .32s ease,transform .4s ease,visibility .32s}
.cp-cta__label::after{content:"";position:absolute;left:0;right:0;bottom:3px;height:3px;background:linear-gradient(90deg,#46c4f0,#ba66f0,#ff6a88);transform:scaleX(0);transform-origin:left;transition:transform .3s ease .05s}
.cp-cta:hover .cp-cta__label,.cp-cta:focus-visible .cp-cta__label{opacity:1;visibility:visible;transform:translate(0,-50%)}
.cp-cta:hover .cp-cta__label::after,.cp-cta:focus-visible .cp-cta__label::after{transform:scaleX(1)}
@media(max-width:767px){.cp-cta-stack{left:30px;bottom:30px}.cp-cta{--cp-size:50px}.cp-cta__icon{width:23px;height:23px}}
@media(prefers-reduced-motion:reduce){.cp-cta,.cp-cta::before,.cp-cta::after,.cp-cta *,.cp-cta *::after{animation:none!important;transition:none!important}}
