/* ============================================================
   BITBRAINS® — DISPATCH (intake / verification)
   Archivo headers · JetBrains Mono labels · Paper on Ink · one red bit
   ============================================================ */

.dispatch-body{background:var(--ink);min-height:100vh}
.dispatch-main{max-width:900px;margin:0 auto;padding:clamp(110px,16vh,180px) var(--pad) 60px}

/* header */
.dispatch-head{margin-bottom:clamp(48px,8vh,88px)}
.dispatch-head .display{font-size:clamp(70px,17vw,210px);margin-top:10px}
/* deck-exact DISPATCH lockup (condensed display type is now the site-wide .display default) */
.display--dispatch{line-height:.8}
.display .red{color:var(--truth)}
.dispatch-lede{
  margin-top:26px;max-width:560px;color:var(--stone);
  font-size:clamp(15px,1.4vw,18px);line-height:1.6;
}

/* ── form ── */
.dispatch-form{display:flex;flex-direction:column}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

.form-q{border:0;border-top:1px solid var(--iron);margin:0;padding:34px 0 8px}
.form-q legend{display:flex;align-items:baseline;gap:16px;padding:0;margin-bottom:26px;width:100%}
.q-n{color:var(--truth);font-size:13px}
.q-t{font-family:'Archivo',sans-serif;font-weight:800;letter-spacing:-.02em;font-size:clamp(20px,2.4vw,30px);color:var(--paper)}

.q-fields{display:grid;grid-template-columns:1fr 1fr;gap:28px 40px}
.field{display:flex;flex-direction:column;gap:9px}
.field[hidden]{display:none}
.field--wide{grid-column:1 / -1}
.f-lab{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--smoke)}
.f-hint{font-size:11px;letter-spacing:.02em;color:var(--iron);margin-top:2px}

/* inputs — minimal, underline that ignites red on focus (a 1px line, never a field) */
.dispatch-form input,
.dispatch-form select,
.dispatch-form textarea{
  width:100%;background:transparent;border:0;border-bottom:1px solid var(--iron);
  color:var(--paper);font-family:'Archivo',sans-serif;font-weight:500;font-size:17px;
  letter-spacing:-.01em;padding:10px 0;transition:border-color .3s var(--ease);
  border-radius:0;-webkit-appearance:none;appearance:none;
}
.dispatch-form textarea{resize:vertical;min-height:96px;line-height:1.5}
.dispatch-form input::placeholder,
.dispatch-form textarea::placeholder{color:var(--iron)}
.dispatch-form input:focus,
.dispatch-form select:focus,
.dispatch-form textarea:focus{outline:none;border-bottom-color:var(--truth)}
.dispatch-form input.bad,
.dispatch-form select.bad,
.dispatch-form textarea.bad{border-bottom-color:var(--truth);animation:shake .3s}
@keyframes shake{25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}

/* select chevron */
.field select{
  background-image:linear-gradient(45deg,transparent 50%,var(--slate) 50%),linear-gradient(135deg,var(--slate) 50%,transparent 50%);
  background-position:calc(100% - 12px) center,calc(100% - 7px) center;
  background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:26px;cursor:pointer;
}
.field select option{background:var(--carbon);color:var(--paper)}

/* submit */
.form-foot{display:flex;align-items:center;gap:22px;margin-top:44px;flex-wrap:wrap}
.form-note{font-size:12px;color:var(--smoke);letter-spacing:.03em}

/* ── confirmation ── */
.dispatch-done{display:none;padding:clamp(90px,14vh,150px) 0}
.dispatch-done[aria-hidden="false"]{display:block;animation:rise .8s var(--ease) both}
@keyframes rise{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
.dispatch-done .display{font-size:clamp(52px,11vw,120px);margin-top:8px}
.done-tele{display:flex;flex-wrap:wrap;gap:20px;margin-top:34px;font-size:12px;color:var(--slate)}
.done-tele span{color:var(--slate)}
.done-back{display:inline-block;margin-top:44px;font-size:12px;letter-spacing:.06em;color:var(--stone);border-bottom:1px solid var(--iron);padding-bottom:3px;transition:border-color .3s}
.done-back:hover{border-color:var(--truth)}

/* ── footer ── */
.dispatch-footer{
  max-width:900px;margin:0 auto;padding:40px var(--pad);
  border-top:1px solid var(--iron);display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;
}
.dispatch-footer .foot-brand{display:flex;align-items:center;gap:10px}
.dispatch-footer .brand-word{font-size:18px}
.dispatch-footer .foot-meta{font-size:11px;color:var(--smoke)}

@media(max-width:680px){
  .q-fields{grid-template-columns:1fr;gap:24px}
  .field--wide{grid-column:auto}
}
