.contact-form-open {
  position: absolute;
  inset: calc(100% + 12px) 106px auto auto;
  min-height: 44px;
  padding: 8px 13px;
  border: 1px solid var(--acid);
  border-radius: 999px;
  color: var(--acid);
  white-space: nowrap;
  cursor: pointer;
  font-size: 12px;
  font-weight: 800;
}
.contact-dialog {
  position: fixed;
  inset: 0;
  margin: auto;
  width: min(490px, calc(100vw - 24px));
  max-height: calc(100dvh - 24px);
  overflow: auto;
  padding: clamp(18px, 5vw, 30px);
  border: 1px solid #f6f3ec60;
  border-radius: 14px;
  background: #171719;
  color: var(--white);
}
.contact-dialog::backdrop { background: #0b0b0dba; }
.contact-dialog h3 { font-size: 28px; font-weight: 900; }
.contact-form-close { float: right; min-height: 44px; cursor: pointer; }
.contact-dialog form { clear: both; display: grid; gap: 12px; margin-top: 16px; }
.contact-dialog label { display: grid; gap: 5px; font-weight: 750; }
.contact-dialog small { display: contents; font-weight: 400; }
.contact-dialog input,
.contact-dialog textarea {
  width: 100%;
  min-height: 44px;
  padding: 8px 10px;
  border: 1px solid #f6f3ec70;
  border-radius: 6px;
  background: #0b0b0d;
  font-size: 16px;
  font-weight: 400;
}
.contact-form-privacy { font-size: 13px; }
.contact-form-privacy a { text-decoration: underline; }
.contact-form-send {
  justify-self: start;
  min-height: 44px;
  padding: 0 15px;
  border-radius: 999px;
  background: var(--acid);
  color: var(--black);
  font-weight: 800;
  cursor: pointer;
}
.contact-form-send:disabled { opacity: .6; cursor: wait; }
.contact-form-status:empty { margin: 0; height: 0; }
@media (width <= 760px) {
  .contact-form-open { left: 106px; right: auto; }
}
