/* Harnods — "Start a project" conversational form (see scripts/start-project.js).
 * Interaction modelled on snp.agency/contact: a flowing Mad-Libs sentence with
 * inline chips + free-text steps, in Harnods' own black/white/gray + coral. */

#start_project .modal-dialog { max-width: 760px; width: calc(100% - 2rem); margin-left: auto; margin-right: auto; }
#start_project .modal-content { border-radius: 14px; }
#start_project .modal-body { padding: 3rem 3rem 2rem; }
@media (max-width: 640px) { #start_project .modal-body { padding: 2.25rem 1.5rem 1.5rem; } }

.hn-convo { font-family: "Inter", -apple-system, BlinkMacSystemFont, sans-serif; color: #111; }

.hn-kicker { font-size: 0.75rem; letter-spacing: 0.14em; font-weight: 600; color: #9aa0a6; margin: 0 0 1.5rem; }

.hn-sentence { font-size: 1.65rem; line-height: 1.7; font-weight: 500; color: #111; }
@media (max-width: 640px) { .hn-sentence { font-size: 1.3rem; line-height: 1.65; } }

.hn-line { display: block; margin: 0.55rem 0; opacity: 0; transform: translateY(8px); transition: opacity .45s ease, transform .45s ease; }
.hn-line:first-child { margin-top: 0; }
.hn-line.hn-in { opacity: 1; transform: none; }

.hn-pre { color: #111; }

/* Honeypot — hidden from humans, present for bots to trip. */
.hn-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; opacity: 0; pointer-events: none; }

/* Free-text inline input */
.hn-input {
  font: inherit; color: #111; background: transparent;
  border: none; border-bottom: 2px solid #e3e3e3; outline: none;
  padding: 0 0.15rem; margin: 0 0.1rem; min-width: 4ch;
  caret-color: #111; transition: border-color .2s ease;
}
.hn-input::placeholder { color: #c2c7cc; }
.hn-input:focus { border-bottom-color: #111; }
.hn-input--wide { min-width: 12ch; }
.hn-hint { display: inline-block; margin-left: 0.35rem; font-size: 0.9rem; color: #c2c7cc; vertical-align: middle; }

/* Chips (choices) */
.hn-chips { display: inline; }
.hn-chip {
  display: inline-block; font: inherit; font-size: 0.92em; line-height: 1.2;
  color: #111; background: #f4f5f6; border: 1px solid #e6e8ea;
  border-radius: 999px; padding: 0.22em 0.75em; margin: 0.18em 0.25em;
  cursor: pointer; transition: all .18s ease; -webkit-appearance: none; appearance: none;
}
.hn-chip:hover { background: #111; border-color: #111; color: #fff; }
.hn-chip--on { background: #111; border-color: #111; color: #fff; }

/* Committed answer, woven into the sentence — click to edit again */
.hn-answer {
  display: inline-block; background: #f0f1f2; color: #111;
  border-radius: 6px; padding: 0.05em 0.45em; margin: 0 0.12em; font-weight: 600;
  cursor: pointer; transition: background .15s ease, box-shadow .15s ease; outline: none;
}
.hn-answer:hover { background: #e4e6e8; }
.hn-answer:focus-visible { box-shadow: 0 0 0 2px #111; }

/* Footer / send */
.hn-footer { display: flex; align-items: center; gap: 1rem; margin-top: 2.5rem; }
.hn-error { flex: 1; font-size: 0.9rem; color: #d13b2f; opacity: 0; transition: opacity .2s ease; }
.hn-error--on { opacity: 1; }
.hn-send {
  font: inherit; font-weight: 600; font-size: 1rem; color: #fff;
  background: #111; border: none; border-radius: 999px;
  padding: 0.85rem 2.25rem; cursor: pointer; transition: background .2s ease, opacity .2s ease;
  margin-left: auto;
}
.hn-send:hover { background: #333; }
.hn-send:disabled { opacity: 0.6; cursor: default; }

/* Success state */
.hn-done { padding: 1rem 0 2rem; }
.hn-done-title { font-size: 2rem; font-weight: 700; color: #111; margin-bottom: 0.75rem; }
.hn-done-text { font-size: 1.05rem; line-height: 1.6; color: #55595e; max-width: 34rem; }
