.btn {
  position: relative;
  font-size: inherit;
  padding: 0.65em 1.2em;
  background-color: var(--brand-900);
  text-decoration: none;
  border: none;
  border-radius: 0.6em;
  color: #ffffff;
  box-shadow: 0.4em 0.4em 0.5em rgba(0, 0, 0, 0.25);
  overflow: hidden;
}

.btn::before {
  position: absolute;
  content: '';
  height: 0;
  width: 0;
  top: 0;
  left: 0;
  background: linear-gradient(135deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0) 50%, rgba(168, 213, 168, 0.6) 50%, rgba(74, 124, 89, 0.8) 60%);
  border-radius: 0 0 0.5em 0;
  box-shadow: 0.2em 0.2em 0.2em rgba(0, 0, 0, 0.3);
  transition: 0.3s;
  z-index: 2;
}

.btn::after {
  position: absolute;
  content: '';
  height: 0;
  width: 0;
  top: 0;
  left: 0;
  background: linear-gradient(135deg, var(--surface-2) 50%, transparent 50.5%);
  transition: 0.3s;
  z-index: 1;
}

.btn:hover::before {
  width: 1.6em;
  height: 1.6em;
}

.btn:hover::after {
  width: 1.6em;
  height: 1.6em;
}

.btn:hover {
  background-color: var(--brand-900);
}

.btn:active {
  box-shadow: 0.2em 0.2em 0.3em rgba(0, 0, 0, 0.25);
  transform: translate(0.08em, 0.08em);
}

.btn.no-tear::before,
.btn.no-tear::after {
  display: none !important;
  content: none;
}
