.identity-page{
  min-height:100%;
  color:#fff;
  background:
    radial-gradient(620px 360px at 18% 18%, rgba(150,78,255,.28), transparent 64%),
    radial-gradient(720px 420px at 82% 20%, rgba(255,112,139,.20), transparent 68%),
    linear-gradient(155deg,#030817 0%,#080923 50%,#13071f 100%);
  padding:0;
  overflow-x:hidden;
}

.identity-page *,
.identity-page *::before,
.identity-page *::after{
  box-sizing:border-box;
}

.identity-page::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  background-image:
    radial-gradient(circle at 20% 24%, rgba(255,255,255,.62) 0 1px, transparent 1.5px),
    radial-gradient(circle at 78% 16%, rgba(255,185,116,.62) 0 1px, transparent 1.5px),
    radial-gradient(circle at 54% 76%, rgba(218,110,255,.54) 0 1px, transparent 1.5px);
  background-size:260px 260px,330px 330px,390px 390px;
  opacity:.46;
}

.identity-shell{
  position:relative;
  z-index:1;
  width:calc(100% - 48px);
  max-width:1120px;
  min-height:100vh;
  margin:0 auto;
  padding:34px 0 54px;
  display:grid;
  grid-template-columns:minmax(0, 1fr) 360px;
  gap:28px;
  align-content:center;
}

.brand-link{
  grid-column:1 / -1;
  width:max-content;
  display:inline-flex;
  align-items:center;
  gap:12px;
  color:#fff;
  text-decoration:none;
  text-transform:uppercase;
  letter-spacing:.18em;
  font-weight:900;
}

.identity-shell > .language-switch{
  grid-column:1 / -1;
  justify-self:end;
}

.brand-link span{
  color:#ffd7ad;
  font-size:1.8rem;
  text-shadow:0 0 20px rgba(255,148,91,.75);
}

.identity-card,
.identity-side article{
  border:1px solid rgba(255,255,255,.13);
  background:linear-gradient(145deg,rgba(255,255,255,.115),rgba(255,255,255,.045));
  box-shadow:0 28px 82px rgba(0,0,0,.28);
  backdrop-filter:blur(18px);
}

.identity-card{
  grid-column:1;
  min-width:0;
  padding:34px;
  border-radius:30px;
}

.identity-copy h1{
  margin:0;
  color:#fff;
  font-size:clamp(2.3rem, 5vw, 4.6rem);
  line-height:.98;
  letter-spacing:0;
}

.identity-copy p:not(.kicker){
  max-width:640px;
  margin:16px 0 0;
  color:rgba(255,255,255,.78);
  font-size:1.08rem;
  line-height:1.55;
}

.identity-form{
  display:grid;
  gap:18px;
  margin-top:26px;
}

.grid{
  display:grid;
  grid-template-columns:1fr 150px 1fr;
  gap:14px;
}

.field__label{
  color:#fff;
}

.field__input{
  min-height:52px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.08);
  color:#fff;
}

.field__input::placeholder{
  color:rgba(255,255,255,.48);
}

.field__input:focus{
  border-color:rgba(255,109,199,.72);
  box-shadow:0 0 0 4px rgba(218,72,255,.16);
}

.code-input{
  text-align:center;
  font-size:1.4rem;
  letter-spacing:.18em;
  font-weight:900;
}

.identity-card .btn{
  min-height:56px;
  border-radius:18px;
  font-size:1rem;
}

.email-pill{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 14px;
  border:1px solid rgba(255,255,255,.13);
  border-radius:18px;
  background:rgba(255,255,255,.07);
  color:rgba(255,255,255,.82);
}

.email-pill--ok{
  margin-top:24px;
  border-color:rgba(255,143,84,.35);
}

.email-pill span{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
}

.email-pill button,
.link-button{
  border:0;
  background:transparent;
  color:#ff91dd;
  cursor:pointer;
  font:inherit;
  font-weight:900;
}

.resend-form{
  margin-top:12px;
  text-align:center;
}

.identity-side{
  grid-column:2;
  display:grid;
  gap:16px;
  align-self:stretch;
  align-content:center;
}

.identity-side article{
  padding:22px;
  border-radius:24px;
}

.identity-side strong{
  display:block;
  color:#fff;
  margin-bottom:8px;
  font-size:1.06rem;
}

.identity-side span{
  color:rgba(255,255,255,.72);
  line-height:1.45;
}

.flash{
  margin-top:20px;
  border-color:rgba(255,255,255,.14);
  background:rgba(255,255,255,.08);
}

.flash--success{
  color:#b6ffd0;
  background:rgba(18,197,103,.10);
}

.flash--error{
  color:#ffd0d0;
  background:rgba(255,75,107,.12);
}

@media (max-width: 920px){
  .identity-shell{
    grid-template-columns:1fr;
    align-content:start;
  }

  .identity-side{
    grid-column:1;
    grid-template-columns:repeat(3,1fr);
  }
}

@media (max-width: 720px){
  .identity-shell{
    width:calc(100% - 28px);
    padding:20px 0 42px;
  }

  .brand-link{
    gap:8px;
    font-size:.84rem;
    letter-spacing:.13em;
  }

  .identity-shell > .language-switch{
    justify-self:start;
  }

  .identity-shell > .language-switch .language-switch__menu{
    left:0;
    right:auto;
  }

  .identity-card{
    padding:24px;
    border-radius:24px;
  }

  .identity-copy h1{
    font-size:2.55rem;
  }

  .grid,
  .identity-side{
    grid-template-columns:1fr;
  }

  .email-pill{
    align-items:flex-start;
  }

  .identity-card .btn{
    width:100%;
  }
}
