/* 1.5.1: unified applicant questionnaire, scoped to /join/ */
.cv151-join-groups{border-top:1px solid #dbe5ed;padding-top:15px;margin-top:22px}
.cv151-join-intro{color:#52697a;font-size:14px;line-height:1.6;margin:0 0 16px}
.cv151-join-group{border:1px solid #dbe5ec;border-radius:4px;margin:0 0 16px;padding:16px 19px 20px;min-width:0;background:#fff}
.cv151-join-group legend{font-weight:730;color:#0d3757;font-size:16px;padding:0 8px}
.cv151-join-group legend span{color:#1e78aa;font-size:12px;margin-right:6px}
.cv151-join-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 20px}
.cv151-join-field{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600;color:#243c50;min-width:0}
.cv151-join-field small{color:#778999;font-weight:400}
.cv151-join-field input,.cv151-join-field textarea{width:100%;max-width:100%;border:1px solid #bfcdd9;background:#fff;border-radius:3px;padding:10px 11px;font-size:14px;font-weight:400;line-height:1.4;color:#193e59}
.cv151-join-field input:focus,.cv151-join-field textarea:focus{outline:2px solid #91c9e8;outline-offset:0;border-color:#2e84b6}
.cv151-join-field.cv151-wide{grid-column:1/-1}
@media (max-width:720px){.cv151-join-fields{grid-template-columns:1fr}.cv151-join-group{padding:12px 12px 16px}.cv151-join-field.cv151-wide{grid-column:1}}

/* 1.5.2: aligned questionnaire headings and controls */
.cv12-form .cv151-join-group{display:block;box-sizing:border-box;min-width:0;padding:23px clamp(14px,2.3vw,30px) 25px;margin:0 0 17px;background:#fff;border:1px solid #d9e5ed;border-radius:3px}
.cv12-form .cv151-join-title{font-size:17px;line-height:1.45;font-weight:750;color:#103957;display:flex;align-items:baseline;gap:12px;margin:0 0 22px;padding:0 0 13px;border-bottom:1px solid #e1eaf1}
.cv12-form .cv151-join-title span{font-size:13px;font-weight:800;color:#197eaf;flex:none}
.cv12-form .cv151-join-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px 22px;align-items:start}
.cv12-form .cv151-join-field{display:flex;min-width:0;flex-direction:column;align-items:stretch;gap:7px;color:#243f55;font-size:13px;font-weight:650;line-height:1.45;margin:0}
.cv12-form .cv151-join-field.cv151-wide{grid-column:1 / -1}
.cv12-form .cv151-join-field small{display:inline;color:#748a9b;font-size:11px;font-weight:400}
.cv12-form .cv151-join-field input,.cv12-form .cv151-join-field textarea{display:block;box-sizing:border-box;min-width:0;width:100%;max-width:100%;min-height:46px;height:auto;line-height:1.45;font-size:14px;font-weight:400;border:1px solid #c2d1dd;border-radius:2px;padding:12px 13px;color:#1b4059;background:#fff}
.cv12-form .cv151-join-field textarea{min-height:92px;resize:vertical}
@media(max-width:760px){.cv12-form .cv151-join-fields{grid-template-columns:1fr}.cv12-form .cv151-join-field.cv151-wide{grid-column:1}.cv12-form .cv151-join-group{padding:18px 14px}}

/* 1.5.4: place optional notes on the same label line and align controls by row. */
.cv12-form .cv151-join-fields{align-items:stretch}
.cv12-form .cv151-join-field{display:flex;flex-direction:column;align-items:stretch}
.cv12-form .cv151-join-field .cv151-field-label{display:block;line-height:1.45;min-height:19px}
.cv12-form .cv151-join-field .cv151-field-label small{display:inline;font-size:11px;font-weight:400;color:#718699;white-space:nowrap;margin-left:5px}
.cv12-form .cv151-join-field > input,.cv12-form .cv151-join-field > textarea{margin-top:auto;flex:none}
