.primary-button {
  position: relative;
  display: inline-block;
  overflow: hidden;
  padding: 1.05rem 2.5rem;
  border: 0;
  border-radius: 0;
  background: #009FE3;
  color: #fff;
  font-family: 'Outfit', system-ui, sans-serif;
  font-size: 1.05rem;
  font-weight: 700;
  line-height: normal;
  text-align: center;
  text-decoration: none;
  box-shadow: 0 4px 24px rgba(0, 0, 0, .22);
  transition: box-shadow .3s ease, transform .2s cubic-bezier(.16, 1, .3, 1);
  cursor: pointer;
}

.primary-button::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(120deg, transparent 20%, rgba(255, 255, 255, .18) 50%, transparent 80%);
  transform: translateX(-100%);
  transition: transform .5s ease;
}

.primary-button:hover::after,
.primary-button:focus-visible::after {
  transform: translateX(100%);
}

.primary-button:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 3px;
}

.primary-button--compact {
  padding: .7rem 1rem;
}

.primary-button--inverse {
  background: #fff;
  color: #009FE3;
}

.primary-button--inverse:hover,
.primary-button--inverse:focus-visible {
  background: #009FE3;
  color: #fff;
}

.primary-button--inverse:focus-visible {
  outline-color: #009FE3;
}
