.button{position:relative;text-transform:uppercase;text-decoration:none;color:#000;display:flex;align-items:center;gap:.5rem}.button .button-label{position:relative;display:inline-block;width:max-content;transform:translateY(.1rem);color:#000;font-family:Cantarell;font-size:1rem;font-weight:700;-webkit-font-smoothing:antialiased;letter-spacing:-.025rem}.button .button-label:after{content:"";position:absolute;width:100%;height:.1rem;bottom:-.35rem;left:0;background:#000;transform:scaleX(0);transform-origin:bottom right;transition:transform .25s ease-out;will-change:transform}.button:hover .button-label:after{transform:scaleX(1);transform-origin:bottom left}.button-label{font-size:1.25rem!important}.button .button-icon{transition:transform .6s ease-out;transform-style:preserve-3d;perspective:1000px;will-change:transform}.button .button-icon,.button .button-icon-inner{display:flex;justify-content:center;align-items:center}.button .button-icon-inner{width:100%;height:100%;width:2rem;height:2rem;background-color:#000;color:#fff;border-radius:10rem}.button .button-icon .button-icon-inner svg{width:16px!important;height:16px!important}.button:hover .button-icon{animation:flipTwice .8s ease-out forwards}.button:not(:hover) .button-icon{animation:flipBack .8s ease-out forwards}@keyframes flipTwice{0%{transform:rotateY(0deg)}to{transform:rotateY(2turn)}}@keyframes flipBack{0%{transform:rotateY(2turn)}to{transform:rotateY(0deg)}}.button--light{color:#fff}.button--light .button-label{font-size:1rem;font-weight:700;color:#fff}.button--light .button-label:after{background:#fff}.button--light .button-icon-inner{background-color:#fff;color:#000}@media (max-width:1040px){.button .button-label:after{display:none}.button:hover .button-icon,.button:not(:hover) .button-icon{animation:none}}.button .line{position:relative;transform:translateY(100%);will-change:transform;padding-bottom:.2em;margin-bottom:-.2em}