.button{text-transform:uppercase;text-decoration:none;display:flex;align-items:center;gap:.5rem}.button,.button .button-label{position:relative;color:var(--base-400)}.button .button-label{display:inline-block;width:max-content;transform:translateY(.1rem);font-family:PP Pangram Sans;font-size:1rem;font-weight:900;-webkit-font-smoothing:antialiased;letter-spacing:-.025rem}.button .button-label:after{content:"";position:absolute;width:100%;height:.1rem;bottom:-.35rem;left:0;background:var(--base-400);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 .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:1.5rem;height:1.5rem;background-color:var(--base-400);color:var(--base-100);border-radius:10rem}.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,.button--light .button-label{color:var(--base-100)}.button--light .button-label:after{background:var(--base-100)}.button--light .button-icon-inner{background-color:var(--base-100);color:var(--base-400)}@media (max-width:1000px){.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}