.cta-button{display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:8px;font-weight:600;text-align:center;cursor:pointer;transition:all .3s cubic-bezier(.25,.8,.25,1);position:relative;overflow:hidden;box-shadow:0 2px 4px rgba(0,0,0,.1);text-decoration:none;outline:none;z-index:1;font-family:inherit}.cta-button--primary{background-color:#2f82a2db;color:#fff}.cta-button--primary:hover{background-color:#0c6f96db;color:#fff;transform:translateY(-2px);box-shadow:0 6px 16px rgba(47,130,162,.4)}.cta-button--primary:active{transform:translateY(0);color:#fff;box-shadow:0 2px 4px rgba(0,0,0,.1)}.cta-button--secondary{background-color:transparent;color:#2f82a2db;border:2px solid #2f82a2db}.cta-button--secondary:hover{background-color:#2f82a2db;color:#fff;transform:translateY(-2px);box-shadow:0 6px 16px rgba(47,130,162,.4)}.cta-button--secondary:active{background-color:#2f82a2db;color:#fff;transform:translateY(0);box-shadow:0 2px 4px rgba(0,0,0,.1)}.cta-button--small{padding:8px 16px;font-size:14px;min-height:36px}.cta-button--medium{padding:12px 24px;font-size:16px;min-height:48px}.cta-button--large{padding:16px 32px;font-size:18px;min-height:56px}.cta-button:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(120deg,hsla(0,0%,100%,.4),hsla(0,0%,100%,.1),hsla(0,0%,100%,.4));transform:translateX(-100%);transition:transform .6s cubic-bezier(.25,.8,.25,1);z-index:-1}.cta-button:hover:before{transform:translateX(100%)}.cta-button:focus{outline:2px solid #2f82a2db;outline-offset:2px;color:#fff}.cta-button:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.cta-button:disabled:hover{transform:none;box-shadow:0 2px 4px rgba(0,0,0,.1)}.cta-button:disabled:before{display:none}.cta-button.border{border:2px solid hsla(0,0%,100%,.7);color:#fff;background-color:transparent}.cta-button.border:active,.cta-button.border:hover{background-color:#2f82a2db;border-color:#2f82a2db;color:#fff}@media (hover:none){.cta-button:hover{transform:none;box-shadow:0 2px 4px rgba(0,0,0,.1)}.cta-button:hover:before{transform:none}}