/**
 * Styles for behaviour the design export doesn't cover: the reach-out form's
 * submitting and error states, plus the honeypot field.
 *
 * Loaded last so it can layer on top of main.css. Uses the design tokens
 * declared in main.css :root rather than hardcoding colours, and reuses the
 * #D97B3A that main.css already uses for .has-error borders.
 */

/* --- Honeypot -------------------------------------------------------------
   Off-screen rather than display:none — some bots skip hidden inputs but will
   happily fill one that is technically rendered. Hidden from assistive tech and
   removed from the tab order so nobody real ever lands on it. */
.rc-hp {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

/* --- Submitting state ----------------------------------------------------- */
.rc-next.is-busy {
  opacity: 0.65;
  cursor: progress;
}
.rc-next.is-busy .arr {
  animation: rc-arr-pulse 900ms ease-in-out infinite;
}

@keyframes rc-arr-pulse {
  0%, 100% { opacity: 1; transform: translateX(0); }
  50%      { opacity: 0.35; transform: translateX(2px); }
}

@media (prefers-reduced-motion: reduce) {
  .rc-next.is-busy .arr { animation: none; }
}

/* --- Error state ----------------------------------------------------------
   Collapsed until .is-on so the card's height doesn't shift on load. */
.rc-error {
  display: none;
  margin-top: 12px;
  font-size: var(--t-ui);
  line-height: 1.45;
  color: #D97B3A;
}
.rc-error.is-on {
  display: block;
}
