/* Raise2Shine support form (Questions section) — collapsed by default */
.person--support { display: grid; gap: 1rem; align-content: start; }
.person--support .support-toggle { justify-self: start; margin-top: .35rem; }
.support-panel[hidden] { display: none !important; }
.support-panel {
  margin-top: .25rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(255, 255, 255, .14);
}
.contact-people:has(.contact-form) { align-items: start; }
.contact-form { display: grid; gap: 1rem; }
.contact-form .field { display: grid; gap: .35rem; min-width: 0; }
.contact-form label {
  font-size: .8rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
  color: rgba(255, 255, 255, .75);
}
.contact-form .optional { font-weight: 600; letter-spacing: .04em; text-transform: none; color: rgba(255, 255, 255, .55); }
.contact-form input,
.contact-form textarea {
  width: 100%; box-sizing: border-box; min-height: 48px;
  padding: .7rem .9rem;
  font: inherit; font-size: 1.05rem; color: var(--ink);
  background: #fff; border: 2px solid transparent; border-radius: var(--radius);
}
.contact-form textarea { min-height: 8rem; resize: vertical; }
.contact-form input::placeholder { color: rgba(13, 33, 62, .45); }
.contact-form input:focus-visible,
.contact-form textarea:focus-visible { outline: 3px solid var(--gold); outline-offset: 2px; }
.contact-form [aria-invalid="true"] { border-color: #F2A7B1; }
.contact-form .field-error { margin: 0; font-size: .95rem; color: #F7C1C9; }
.contact-form .field-error:empty { display: none; }
.contact-form .hp { position: absolute !important; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.contact-form .form-actions { display: flex; flex-wrap: wrap; gap: .75rem; align-items: center; }
.contact-form .btn[disabled] { opacity: .7; cursor: wait; transform: none; }
.contact-form .form-status { margin: 0; padding: .8rem 1rem; border-radius: var(--radius); font-weight: 600; }
.contact-form .form-status:empty { display: none; }
.contact-form .form-status.is-success { background: rgba(179, 146, 86, .18); border: 1px solid var(--gold); color: #fff; }
.contact-form .form-status.is-error { background: rgba(162, 33, 53, .25); border: 1px solid #F2A7B1; color: #fff; }
@media (max-width: 639px) {
  .person--support .support-toggle { width: 100%; justify-self: stretch; }
  .contact-form .form-actions { flex-direction: column; align-items: stretch; }
  .contact-form .form-actions .btn { width: 100%; }
}

/* Turnstile widget spacing */
.contact-form .turnstile-field { margin-top: .25rem; }
.contact-form .turnstile-field .cf-turnstile,
.contact-form #cf-turnstile { max-width: 100%; overflow: auto; }

/* Cancel button: stronger contrast on dark */
.contact-form .support-cancel {
  border-color: #fff;
  color: #fff;
  background: rgba(255, 255, 255, .12);
}
.contact-form .support-cancel:hover,
.contact-form .support-cancel:focus-visible {
  background: #fff;
  color: var(--navy-deep);
  border-color: #fff;
}

/* Support block lives in the footer */
.footer-support-wrap { margin-top: 2rem; padding-top: 2rem; border-top: 1px solid rgba(255, 255, 255, .14); }
.footer-support { max-width: 40rem; }
.footer-support h3 { color: #fff; }
.footer-support .person-role { color: rgba(255, 255, 255, .75); }

/* Michelle: email behind a button */
.person-actions { margin-top: 1rem; }
.person-actions .btn { text-decoration: none; }
.person-line.person-actions a.btn,
.person-line.person-actions a.btn:hover { color: var(--navy-deep); }
#questions .contact-people { grid-template-columns: minmax(0, 34rem); }
.contact-lede a { color: var(--gold-soft); text-decoration: underline; }
.contact-lede a:hover { color: #fff; }
