
.pearl-button{
  --white:#ffe7ff;
  --bg:#080808;
  --radius:100px;
  display:inline-block;
  outline:none;
  cursor:pointer;
  border:0;
  position:relative;
  border-radius:var(--radius);
  background-color:var(--bg);
  text-decoration:none;
  transition:transform .2s ease,box-shadow .2s ease;
  box-shadow:
    inset 0 3px 9px rgba(255,255,255,.3),
    inset 0 -1px 3px rgba(0,0,0,.7),
    inset 0 -4px 9px rgba(255,255,255,.5),
    0 28px 28px rgba(0,0,0,.3),
    0 9px 9px -6px rgba(0,0,0,.8);
}
.pearl-button .wrap{
  display:block;
  font-size:15px;
  font-weight:500;
  line-height:1.2;
  color:rgba(255,255,255,.7);
  padding:18px 27px;
  border-radius:inherit;
  position:relative;
  overflow:hidden;
}
.pearl-button .lbl{
  display:flex;
  align-items:center;
  gap:7px;
  margin:0;
  white-space:nowrap;
  font-family:system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  transition:transform .2s ease;
  transform:translateY(2%);
  -webkit-mask-image:linear-gradient(to bottom,white 40%,transparent);
          mask-image:linear-gradient(to bottom,white 40%,transparent);
}
.pearl-button .lbl span:nth-child(2){ display:none }
.pearl-button:hover .lbl span:nth-child(1){ display:none }
.pearl-button:hover .lbl span:nth-child(2){ display:inline-block }

.pearl-button .wrap::before,
.pearl-button .wrap::after{
  content:"";
  position:absolute;
  transition:transform .3s ease,opacity .3s ease;
  pointer-events:none;
}
.pearl-button .wrap::before{
  left:-15%;
  right:-15%;
  bottom:25%;
  top:-100%;
  border-radius:50%;
  background-color:rgba(255,255,255,.12);
}
.pearl-button .wrap::after{
  left:6%;
  right:6%;
  top:12%;
  bottom:40%;
  border-radius:13px 13px 0 0;
  box-shadow:inset 0 6px 5px -6px rgba(255,255,255,.8);
  background:linear-gradient(180deg,rgba(255,255,255,.3) 0%,rgba(0,0,0,0) 50%,rgba(0,0,0,0) 100%);
}
.pearl-button:hover{
  box-shadow:
    inset 0 3px 5px rgba(255,255,255,.4),
    inset 0 -1px 3px rgba(0,0,0,.7),
    inset 0 -4px 9px rgba(255,255,255,.7),
    0 28px 28px rgba(0,0,0,.3),
    0 9px 9px -6px rgba(0,0,0,.8);
}
.pearl-button:hover .wrap::before{ transform:translateY(-5%) }
.pearl-button:hover .wrap::after{ opacity:.4; transform:translateY(5%) }
.pearl-button:hover .lbl{ transform:translateY(-4%) }
.pearl-button:active{
  transform:translateY(2px);
  box-shadow:
    inset 0 3px 5px rgba(255,255,255,.5),
    inset 0 -1px 3px rgba(0,0,0,.8),
    inset 0 -4px 9px rgba(255,255,255,.4),
    0 28px 28px rgba(0,0,0,.3),
    0 9px 9px -6px rgba(0,0,0,.8);
}
.pearl-button:focus-visible{ outline:2px solid rgba(255,231,255,.7); outline-offset:3px }
