/* ============================================================
   LAYOUT · FORMS
   The contact form. Scoped under .cform so these rules can
   never collide with the auth card's own fields in
   layout/account.css.
   ============================================================ */
.cform{margin:34px 0 0;max-width:520px}

.cform .field{display:flex;flex-direction:column;gap:7px;margin-bottom:16px}
.cform .field label{
  font-family:'Geist Mono',monospace;font-size:11px;letter-spacing:.11em;
  text-transform:uppercase;color:var(--ink500);
}
.cform .field input,
.cform .field textarea{
  font-family:Inter,sans-serif;font-size:15px;color:var(--ink900);
  padding:13px 14px;border:1.25px solid var(--line);border-radius:8px;
  background:var(--mist);transition:border-color .2s,background .2s;
  width:100%;
}
.cform .field textarea{resize:vertical;min-height:140px;line-height:1.6}
.cform .field input:focus,
.cform .field textarea:focus{outline:none;border-color:var(--b500);background:#fff}
.cform .field input::placeholder,
.cform .field textarea::placeholder{color:var(--ink300)}

/* The honeypot. Off-screen rather than display:none — some bots skip
   anything that is display:none, which would defeat the point. It is
   aria-hidden and tabindex="-1" in the markup, so nobody reaches it. */
.cform .hp{
  position:absolute;left:-9999px;width:1px;height:1px;
  overflow:hidden;opacity:0;pointer-events:none;
}

.cform .cf-turnstile{margin:4px 0 18px}

.cform button[type="submit"]{
  width:100%;justify-content:center;border:0;font-family:Inter,sans-serif;
  font-size:15px;font-weight:600;padding:14px;border-radius:8px;
  background:var(--navy);color:#fff;cursor:pointer;transition:background .25s;
}
.cform button[type="submit"]:hover{background:var(--b500)}
.cform button[type="submit"]:disabled{opacity:.6;cursor:progress}

.form-msg{
  display:none;margin-top:18px;padding:12px 14px;border-radius:8px;
  background:#FEF2F2;border:1px solid #FCA5A5;color:#7F1D1D;
  font-size:13.5px;line-height:1.55;
}
.form-msg.show{display:block}
.form-msg.ok{background:#ECFDF5;border-color:#6EE7B7;color:#065F46}
