.box-buttons {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    justify-content: center;
}
 
.button-black, .button-white {
    font-family: 'Inter', 'Inter Fallback', Arial, sans-serif;
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    height: 48px;
    padding: 0 8px 0 22px;
    border-radius: 999px;
    font-size: 16px;
    font-weight: 500;
    letter-spacing: -0.01em;
    text-decoration: none;
    overflow: hidden;
    isolation: isolate;
}
 
.button-black {
    border: 1px solid #111111;
    background: #111111;
    color: #ffffff;
}
  
.button-black .button-icon {
    background: #ffffff;
    color: #111111;
}
 
.button-white {
    border: 1px solid rgba(17,17,17,.12);
    background: #ffffff;
    color: #111111;
}
  
.button-white .button-icon {
    background: #111111;
    color: #ffffff;
}
 
.button-label {
    position: relative;
    display: block;
    height: 1.2em;
    line-height: 1.2em;
    overflow: hidden;
}

.button-label-text {
    display: block;
    transition: transform .45s cubic-bezier(.22,1,.36,1);
}

.button-label-clone {
    position: absolute;
    top: 100%;
    left: 0;
}

.button-black:hover .button-label-text, .button-white:hover .button-label-text {
    transform: translateY(-100%);
}
 
.button-icon {
    position: relative;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    overflow: hidden;
    transition: transform .45s cubic-bezier(.22,1,.36,1);
}

.button-arrow {
    width: 14px;
    height: 14px;
    position: absolute;
    transition: transform .45s cubic-bezier(.22,1,.36,1);
}

.button-arrow-clone { 
    transform: translateX(-200%); 
}
 
.button-black:hover .button-icon, .button-white:hover .button-icon { 
    transform: rotate(-45deg); 
}
 
.button-black:hover .button-arrow, .button-white:hover .button-arrow { 
    transform: translateX(200%); 
}
 
.button-black:hover .button-arrow-clone, .button-white:hover .button-arrow-clone {
    transform: translateX(0);
}
 
@media (max-width: 767px) {
    .box-buttons {
      width: 100%;
      gap: 6px
    }
 
    .button-black, .button-white {
      flex: 1 1 calc(50% - 6px);
      min-width: max-content;
      justify-content: space-between;
    }
 
    .button-label {
      white-space: nowrap;
    }
}
 
.button-black:focus-visible, .button-white:focus-visible {
    outline: 2px solid #111111;
    outline-offset: 3px;
}
  
@media (prefers-reduced-motion: reduce) {
    .button-black, .button-black *,
    .button-white, .button-white * { transition: none !important; }
}