/* Ally contact form — translucent fields and compact, even alignment. */
.contact-form-card {
  width: min(100%, 60rem);
  max-width: 60rem;
  margin: 0 auto;
  padding: 0 !important;
  color: #fff !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}
.contact-form-card > h3,
.contact-form-card > p:first-of-type {
  display: none !important;
}
.contact-form-card > p:last-child {
  color: rgba(255,255,255,.84) !important;
}
.contact-form-card > p:last-child a {
  color: #77ece4 !important;
}
form.contact-form,
form[action="/contact.php"] {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.15rem 1.5rem !important;
  width: 100%;
  max-width: 60rem;
  margin: 0 auto !important;
  text-align: left;
}
form.contact-form > label,
form[action="/contact.php"] > label {
  display: grid !important;
  grid-column: auto;
  align-content: start;
  gap: 0;
  width: 100%;
  min-width: 0;
  margin: 0 !important;
  color: transparent !important;
  font-family: Montserrat, Arial, sans-serif;
  font-size: 0;
  font-weight: 500;
  line-height: 0;
}
form.contact-form > .contact-field--message,
form[action="/contact.php"] > .contact-field--message,
form.contact-form > #contact-form-disclaimer,
form[action="/contact.php"] > #contact-form-disclaimer,
form.contact-form > .contact-form-status,
form[action="/contact.php"] > .contact-form-status,
form.contact-form > button[type="submit"],
form[action="/contact.php"] > button[type="submit"] {
  grid-column: 1 / -1;
}
form.contact-form input:not([type="hidden"]):not([name="website"]),
form.contact-form textarea,
form.contact-form select,
form[action="/contact.php"] input:not([type="hidden"]):not([name="website"]),
form[action="/contact.php"] textarea,
form[action="/contact.php"] select {
  display: block;
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  min-height: 3.5rem;
  margin: 0 !important;
  padding: .85rem 1rem !important;
  border: 1px solid rgba(255,255,255,.38) !important;
  border-radius: .7rem !important;
  background: rgba(255,255,255,.18) !important;
  box-shadow: none;
  color: #fff !important;
  font-family: Montserrat, Arial, sans-serif;
  font-size: .95rem;
  font-weight: 400;
  line-height: 1.45;
  outline: none;
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  transition: background-color .18s ease, border-color .18s ease, box-shadow .18s ease;
}
form.contact-form textarea,
form[action="/contact.php"] textarea {
  min-height: 11rem;
  resize: vertical;
}
form.contact-form input::placeholder,
form.contact-form textarea::placeholder,
form[action="/contact.php"] input::placeholder,
form[action="/contact.php"] textarea::placeholder {
  color: rgba(255,255,255,.82) !important;
  opacity: 1;
}
form.contact-form input:focus,
form.contact-form textarea:focus,
form.contact-form select:focus,
form[action="/contact.php"] input:focus,
form[action="/contact.php"] textarea:focus,
form[action="/contact.php"] select:focus {
  border-color: #42ddd3 !important;
  background: rgba(255,255,255,.24) !important;
  box-shadow: 0 0 0 3px rgba(32,201,195,.25);
}
form.contact-form button[type="submit"],
form[action="/contact.php"] button[type="submit"] {
  justify-self: end;
  min-width: 10rem;
  min-height: 3.5rem;
  margin: 0 !important;
  padding: .9rem 2rem !important;
  border: 1px solid rgba(255,255,255,.24);
  border-radius: .7rem !important;
  background: #20c9c3;
  color: #fff;
  font-family: Montserrat, Arial, sans-serif;
  font-size: .9rem;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
  box-shadow: 0 8px 22px rgba(0,0,0,.18);
  transition: background-color .2s ease, transform .2s ease, box-shadow .2s ease;
}
form.contact-form button[type="submit"]:hover:not(:disabled),
form[action="/contact.php"] button[type="submit"]:hover:not(:disabled) {
  background: #19b7b1;
  transform: translateY(-1px);
  box-shadow: 0 11px 26px rgba(0,0,0,.24);
}
form.contact-form button[type="submit"]:focus-visible,
form[action="/contact.php"] button[type="submit"]:focus-visible {
  outline: 3px solid #fff;
  outline-offset: 3px;
}
#contact-form-disclaimer {
  margin: 0 !important;
  color: rgba(255,255,255,.84) !important;
  font-size: .82rem;
  line-height: 1.55;
}
.contact-form-status {
  margin: 0 !important;
  border: 1px solid rgba(255,255,255,.35);
  border-radius: .7rem;
  padding: .9rem 1rem;
  color: #fff;
  background: rgba(116,42,39,.72);
  line-height: 1.55;
}
.contact-form-status.is-success {
  color: #f2fffa;
  background: rgba(22,112,94,.72);
  border-color: rgba(167,244,218,.58);
}
@media (max-width: 700px) {
  form.contact-form,
  form[action="/contact.php"] {
    grid-template-columns: minmax(0, 1fr);
    gap: .85rem !important;
  }
  form.contact-form > .contact-field--message,
  form[action="/contact.php"] > .contact-field--message,
  form.contact-form > #contact-form-disclaimer,
  form[action="/contact.php"] > #contact-form-disclaimer,
  form.contact-form > .contact-form-status,
  form[action="/contact.php"] > .contact-form-status,
  form.contact-form > button[type="submit"],
  form[action="/contact.php"] > button[type="submit"] {
    grid-column: 1;
  }
}
@media (prefers-reduced-motion: reduce) {
  form.contact-form input,
  form.contact-form textarea,
  form.contact-form button,
  form[action="/contact.php"] input,
  form[action="/contact.php"] textarea,
  form[action="/contact.php"] button {
    transition: none;
  }
}
