.pm-contact {
  --pm-purple: #593691;
  --pm-deep: #3d2465;
  --pm-pink: #c768a5;
  font-family: "Comic Neue", "Comic Sans MS", cursive;
  color: var(--pm-deep);
  width: 100%;
  max-width: 52rem;
  margin: 2rem auto;
}
.pm-contact .pm-contact__field { margin-bottom: 1.5rem; }
.pm-contact label {
  display: block;
  margin-bottom: .45rem;
  font-size: 1.2rem;
  font-weight: 700;
}
.pm-contact label span { font-size: .9em; font-weight: 400; }
.pm-contact input:not([type="hidden"]), .pm-contact textarea {
  box-sizing: border-box;
  width: 100%;
  display: block;
  padding: .65rem .85rem;
  min-height: 48px;
  border: 2px solid var(--pm-purple);
  border-radius: 10px;
  background: #fff;
  color: var(--pm-deep);
  font: inherit;
  font-size: max(16px, 1rem);
}
.pm-contact textarea { resize: vertical; }
.pm-contact :is(input, textarea, button):focus-visible {
  outline: 3px solid var(--pm-pink);
  outline-offset: 3px;
}
.pm-contact .pm-contact__actions { text-align: center; }
.pm-contact button {
  min-height: 48px;
  padding: .65rem 1.75rem;
  border: 0;
  border-radius: 10px;
  background: var(--pm-purple);
  color: #fff;
  font: inherit;
  font-size: 1.2rem;
  font-weight: 700;
  cursor: pointer;
}
.pm-contact button:hover { background: var(--pm-deep); }
.pm-contact .pm-contact__notice {
  margin-bottom: 1.25rem;
  padding: .75rem 1rem;
  border-left: 4px solid var(--pm-pink);
  background: #f5f1fb;
}
