/* Join the waitlist page. Sits on top of site.css and review.css; nothing here is used elsewhere. */
.join-main h1{margin-bottom:12px}
.join-form h2,.join-success h2{margin-top:0}
.role-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:0 0 22px}
.role-card{display:flex;gap:10px;align-items:flex-start;padding:14px 14px 12px;border:2px solid var(--line);border-radius:14px;background:var(--paper);cursor:pointer;transition:border-color .15s,box-shadow .15s}
.role-card:hover{border-color:#b9cbd2}
.role-card:has(input:checked){border-color:var(--blue);box-shadow:0 0 0 3px rgba(7,99,188,.12)}
.role-card input{margin:4px 0 0;accent-color:var(--blue);flex-shrink:0}
.role-card span{display:flex;flex-direction:column;gap:4px;line-height:1.3}
.role-card strong{font-size:15px}
.role-card small{color:var(--muted);font-size:13px}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:0 0 16px}
.field{display:flex;flex-direction:column;gap:6px;font-weight:650;font-size:14px}
.field em{font-weight:400;color:var(--muted);font-style:normal}
.field input[type=text],.field input[type=email]{width:100%;padding:12px 14px;border:2px solid var(--line);border-radius:12px;background:var(--paper);color:var(--text);font-weight:500;font-size:16px}
.field input:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(7,99,188,.12)}
.field input[aria-invalid=true]{border-color:#c2410c}
.languages{border:0;padding:0;margin:0 0 18px;display:flex;gap:18px;flex-wrap:wrap;align-items:center}
.languages legend{padding:0;margin:0 0 8px;width:100%}
.languages label{display:inline-flex;align-items:center;gap:8px;font-weight:500;font-size:16px}
.languages input{accent-color:var(--blue);width:18px;height:18px}
.trap{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.join-actions{margin:6px 0 10px}
#join-status{min-height:1.4em;font-weight:600}
#join-status.error{color:#c2410c}
#join-status.ok{color:#0f766e}
.join-success p:last-child{margin-bottom:0}
@media (max-width:720px){.role-grid{grid-template-columns:1fr}.field-row{grid-template-columns:1fr}}
