.back-home {
  font-size:13px;
  color:#667995;
}

.back-home span {
  color:#8c98aa;
  margin-left:10px;
}

.invite-page {
  min-height:100svh;
  background:#f6f8fd;
  isolation:isolate;
}

.invite-page:before {
  content:"";
  position:fixed;
  inset:0;
  z-index:-2;
  background:radial-gradient(ellipse at 20% 25%,#dde9ff 0,transparent 55%),radial-gradient(ellipse at 80% 75%,#eee6fc 0,transparent 55%);
}

#invite-universe {
  position:fixed;
  inset:0;
  width:100%;
  height:100%;
  z-index:-1;
  pointer-events:none;
}

.invite-header {
  height:94px;
  display:flex;
  align-items:center;
  justify-content:space-between;
}

.invite-header .brand img {
  width:108px;
}

.invite-main {
  max-width:700px;
  margin:0 auto;
  padding:28px 24px 38px;
  text-align:center;
}

.invite-main h1 {
  font-size:clamp(36px,4vw,55px);
  font-weight:300;
  line-height:1.5;
  margin:22px 0 10px;
  letter-spacing:0;
}

.invite-main h1 span {
  color:#3f6ed0;
}

.invite-card {
  width:min(430px,100%);
  margin:auto;
  text-align:left;
  border:1px solid #fff;
  border-radius:24px;
  background:#ffffffb8;
  backdrop-filter:blur(20px);
  box-shadow:0 18px 65px #738cb214;
  padding:30px 32px;
}

.invite-card h2 {
  font-size:20px;
  font-weight:450;
  letter-spacing:0;
}

.invite-card label {
  display:block;
  font-size:12px;
  color:#667b9b;
  margin-bottom:9px;
}

.invite-card input {
  width:100%;
  height:51px;
  padding:0 16px;
  border:1px solid #d9e1ee;
  border-radius:10px;
  background:#ffffffcf;
  color:#263953;
  font:inherit;
  letter-spacing:1px;
  outline:none;
  transition:border .2s,box-shadow .2s;
}

.invite-card input:focus {
  border-color:#7295de;
  box-shadow:0 0 0 3px #406acf12;
}

.invite-card input::placeholder {
  letter-spacing:0;
  color:#a1aec0;
  font-size:13px;
}

.invite-card .button {
  margin-top:16px;
  width:100%;
  border-radius:10px;
  justify-content:space-between;
  cursor:pointer;
  font-family:inherit;
}

.invite-card .button:disabled {
  opacity:.6;
  cursor:wait;
}

#invite-message {
  font-size:12px;
  color:#9d605b;
  line-height:1.8;
  margin:10px 0 0;
}

#invite-message:empty {
  display:none;
}

.invite-contact {
  margin-top:26px;
  padding-top:20px;
  border-top:1px solid #e2e8f1;
  text-align:center;
}

.invite-contact p {
  font-size:12px;
  color:#92a0b4;
  margin:0 0 5px;
}

.contact-link {
  border:0;
  background:none;
  color:#597fc1;
  font:inherit;
  font-size:13px;
  padding:3px;
  cursor:pointer;
}

.contact-dialog {
  width:min(440px,calc(100% - 32px));
  border:1px solid white;
  border-radius:24px;
  background:#f8faff;
  padding:40px;
  color:var(--ink);
  box-shadow:0 30px 100px #60759730;
}

.contact-dialog::backdrop {
  background:#273b5940;
  backdrop-filter:blur(5px);
}

.contact-dialog p {
  font-size:14px;
  color:#72829b;
  line-height:1.9;
}

.contact-dialog .eyebrow {
  font-size:10px;
}

.contact-dialog h2 {
  font-size:25px;
  font-weight:400;
}

.dialog-close {
  position:absolute;
  right:17px;
  top:12px;
  border:0;
  background:none;
  font-size:25px;
  color:#7b8ba6;
  cursor:pointer;
}

.contact-note {
  padding-top:18px;
  border-top:1px solid #e2e7ef;
  margin-top:23px;
}

.contact-dialog [hidden] {
  display:none;
}

button:focus-visible,
input:focus-visible {
  outline:2px solid #668ddd;
  outline-offset:3px;
}

@media(max-width:650px) {
.invite-header {
  height:78px;
}

.invite-main {
  padding-top:20px;
}

.invite-main h1 {
  font-size:36px;
}

.invite-card {
  padding:26px 24px;
}

.invite-card h2 {
  font-size:18px;
}
}

.invite-main h1 {
  margin:22px 0 32px;
}

.invite-main h1 {
  text-align:center;
}

.invite-card .button {
  justify-content:center;
}

.invite-card .invite-form-title {
  margin:0 0 24px;
  text-align:center;
}

.invite-card .invite-form-title label {
  margin:0;
  color:var(--ink);
  font-size:26px;
  font-weight:400;
  line-height:1.5;
}
