.recruitment { background:#080a0f; color:#f3f4f6; min-height:calc(100vh - 80px); padding:56px 24px 80px; }
.recruitment * { box-sizing:border-box; }
.recruitment-wrap { max-width:1180px; margin:auto; }
.recruitment-heading { max-width:800px; margin:20px 0 40px; }
.recruitment .eyebrow { color:#fb923c; text-transform:uppercase; letter-spacing:.14em; font-size:11px; font-weight:700; }
.recruitment h1 { font-size:clamp(30px,4vw,48px); font-weight:900; line-height:1.15; margin:14px 0 18px; overflow-wrap:anywhere; }
.recruitment p { color:#b7bdc9; line-height:1.8; font-size:14px; }
.recruitment-heading>p { font-size:16px; }
.recruitment-grid { display:grid; grid-template-columns:minmax(0,1fr) 330px; gap:28px; align-items:start; }
.section-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; margin:0 0 20px; }
.recruitment h2 { font-weight:700; font-size:19px; }
.section-heading span { color:#b7bdc9; font-size:12px; }
.recruitment-card { background:#11141c; border:1px solid #282d38; border-radius:16px; padding:30px; margin-bottom:20px; min-width:0; }
.recruitment-card h3 { font-size:26px; line-height:1.3; font-weight:700; margin:18px 0; overflow-wrap:anywhere; }
.role-badge { display:inline-flex; color:#a7f3d0; background:#16372e; border:1px solid #285244; border-radius:20px; padding:5px 10px; font-size:11px; font-weight:700; }
.role-description { color:#cbd0da; line-height:1.8; font-size:14px; overflow-wrap:anywhere; }
.role-description p { margin-bottom:14px; }
.role-description ul,.role-description ol { padding-left:22px; margin:14px 0; list-style:revert; }
.role-description h2,.role-description h3,.role-description h4 { color:#f3f4f6; font-size:17px; margin:20px 0 10px; }
.role-description a,.text-link { color:#fb923c; }
.role-description img { max-width:100%; height:auto; }
.role-description table { display:block; max-width:100%; overflow-x:auto; }
.recruitment-button { display:inline-flex; align-items:center; justify-content:center; gap:16px; background:#f15204; color:#fff; font-size:13px; font-weight:700; padding:13px 20px; border:0; border-radius:8px; text-decoration:none; cursor:pointer; }
.vacancy-role .recruitment-button { margin-top:24px; }
.recruitment-button:hover { background:#d84904; }
.recruitment a:focus-visible,.recruitment button:focus-visible { outline:2px solid #fb923c; outline-offset:4px; }
.recruitment-aside h2 { margin:14px 0 22px; line-height:1.5; }
.recruitment-aside ol { list-style:decimal; padding-left:22px; }
.recruitment-aside li { padding-left:6px; margin:0 0 24px; color:#fb923c; font-size:13px; }
.recruitment-aside li strong { color:#f3f4f6; }
.recruitment-aside li p { margin-top:6px; font-size:13px; }
.recruitment .recruitment-footnote { font-size:12px; color:#9ca3af; margin:22px 0 0; }
.recruitment-notice { padding:18px 22px; border:1px solid #80572e; border-radius:10px; background:#282016; color:#f8dcc0; margin-bottom:24px; font-size:14px; line-height:1.6; }
.recruitment-notice ul { list-style:disc; padding-left:22px; }
.form-field { margin-bottom:28px; }
.form-field label { display:block; font-size:15px; font-weight:700; }
.form-field p { font-size:12px; margin:8px 0 12px; }
.form-field textarea,.form-field input { display:block; width:100%; border:1px solid #414958; background:#090c12; border-radius:8px; padding:13px; color:#f3f4f6; font:inherit; font-size:14px; line-height:1.6; }
.form-field textarea { resize:vertical; }
.form-field input::placeholder { color:#939cab; }
.form-field textarea:focus,.form-field input:focus { outline:2px solid #fb923c; outline-offset:2px; }
.field-error { display:block; color:#fca5a5; font-size:12px; margin-top:8px; }
.form-actions { display:flex; align-items:center; gap:24px; margin-top:28px; }
.text-link { font-size:13px; text-decoration:none; }
.text-link:hover { text-decoration:underline; }
.recruitment hr { border-color:#282d38; margin:24px 0; }
@media(max-width:800px) { .recruitment-grid { grid-template-columns:minmax(0,1fr); } .recruitment { padding:28px 16px 48px; } .recruitment-card { padding:22px; } .recruitment-heading { margin-bottom:28px; } }
@media(max-width:420px) { .form-actions { flex-direction:column; align-items:stretch; text-align:center; gap:18px; } }
