/* contact.css — contact form styling (loaded only by contact.html; reuses the
   landing.css design tokens). Dark, rounded, coral-focus — matches the site. */
.contact{padding:clamp(56px,9vh,120px) 0 clamp(40px,6vh,80px)}
.contact-head{max-width:640px;margin:0 0 clamp(26px,4vh,42px)}
.contact-form{max-width:640px;display:flex;flex-direction:column;gap:18px}
.cf-row{display:flex;gap:18px;flex-wrap:wrap}
.cf-row .cf-field{flex:1 1 240px}
.cf-field{display:flex;flex-direction:column;gap:8px}
.cf-label{font-size:12.5px;font-weight:600;color:var(--ink-dim);letter-spacing:.01em}
.cf-opt{color:var(--ink-faint);font-weight:500;text-transform:none}
.cf-input{width:100%;border:1px solid var(--line-2);background:var(--surface-2);color:var(--ink);
  border-radius:12px;padding:12px 15px;font-family:inherit;font-size:14.5px;outline:0;
  transition:border-color .25s,box-shadow .25s}
.cf-input::placeholder{color:var(--ink-faint)}
.cf-input:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}
.cf-textarea{resize:vertical;min-height:150px;line-height:1.55}
/* honeypot — visually + interactively gone for humans, present in the DOM for bots */
.cf-hp{position:absolute;left:-9999px;top:auto;width:1px;height:1px;opacity:0;pointer-events:none}
.cf-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:4px}
.cf-status{font-size:13px;font-weight:600;margin:0;color:var(--ink-dim)}
.cf-status.is-ok{color:#46d18a}
.cf-status.is-err{color:var(--accent)}
.cf-fallback{font-size:12.5px;color:var(--ink-faint);margin:6px 0 0}
.cf-fallback a{color:var(--ink-dim);text-decoration:underline;text-underline-offset:2px}
.cf-fallback a:hover{color:var(--ink)}
/* the account email is pre-filled + locked (read-only) for signed-in members */
.cf-input[readonly]{opacity:.72;cursor:default;border-style:dashed}
.cf-input[readonly]:focus{border-color:var(--line-2);box-shadow:none}
/* signed-out gate — the form is registered-only */
.cf-gate{max-width:560px;display:flex;flex-direction:column;align-items:flex-start;gap:18px;
  padding:clamp(24px,4vw,32px);border:1px solid var(--line-2);background:var(--surface-2);border-radius:18px}
.cf-gate[hidden]{display:none}
.cf-gate-msg{margin:0;color:var(--ink-dim);font-size:15px;line-height:1.6}
@media(max-width:560px){ .cf-row{flex-direction:column;gap:18px} }
