/* Contact form — matches marketing look via design tokens. BEM. */

.contact-form__wrap { width: 100%; max-width: 760px; margin: 0 auto; }
.contact-form { display: flex; flex-direction: column; gap: var(--space-4, 1rem); }
.contact-form__group { display: flex; flex-direction: column; gap: var(--space-1, 0.25rem); }
.contact-form__label { font-weight: var(--font-weight-semibold, 600); color: var(--color-text, #171625); }
.contact-form__input {
  padding: 0.75rem 1rem;
  border: 1px solid var(--color-border, #C2C2C2);
  border-radius: var(--radius-md, 0.625rem);
  font: inherit;
  background: var(--color-surface, #FFFFFF);
}
.contact-form__input:focus-visible { outline: 2px solid var(--color-primary, #D40000); outline-offset: 1px; }
.contact-form__textarea { resize: vertical; min-height: 8rem; }
.contact-form__error { color: var(--color-error, #FC5A5A); font-size: var(--font-size-sm, 0.75rem); }
.contact-form__error--form { font-weight: var(--font-weight-semibold, 600); }
.contact-form__submit {
  align-self: flex-start;
  padding: 0.85rem 1.75rem;
  background: var(--color-brand-red);
  color: #fff;
  border: none;
  border-radius: var(--radius-md, 0.625rem);
  font-weight: var(--font-weight-bold, 700);
  cursor: pointer;
  transition: opacity 0.15s ease, transform 0.15s ease;
}
.contact-form__submit:hover { opacity: 0.88; transform: translateY(-1px); }
.contact-form__success {
  padding: 1.25rem 1.5rem;
  background: var(--color-accent-bg, #E8EDF4);
  border-radius: var(--radius-md, 0.625rem);
  color: var(--color-success, #16A34A);
  text-align: center;
}
/* Honeypot: off-screen, not display:none (some bots skip hidden inputs). */
.contact-form__hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
