.ft button.back-to-top {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    bottom: 30px;
    box-sizing: border-box;
    width: 52px;
    height: 52px;
    padding: 0;
    margin: -22px 24px 16px auto;
    appearance: none;
    border: 0;
    border-radius: 50%;
    background: linear-gradient(160deg, #F65A7E, #D8325A);
    box-shadow: 0 4px 12px rgba(216, 50, 90, .25);
    color: #fff;
    font-family: inherit;
    font-size: 0;
    line-height: 1;
    cursor: pointer;
    z-index: 1;
    transition: transform .18s ease, box-shadow .18s ease;
  }

  .ft button.back-to-top > span {
    display: block;
    color: #fff;
    background: none;
    font-size: 28px;
    font-weight: 700;
    line-height: 1;
  }

  .ft button.back-to-top:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(216, 50, 90, .35);
  }

  .ft button.back-to-top:focus-visible {
    outline: 3px solid #fff;
    outline-offset: 4px;
  }

  @media (max-width: 600px) {
    .ft button.back-to-top {
      width: 46px;
      height: 46px;
      margin: -20px 16px 12px auto;
    }

    .ft button.back-to-top > span {
      font-size: 25px;
    }
  }

  @media (prefers-reduced-motion: reduce) {
    .ft button.back-to-top {
      transition: none;
    }
  }
