body.candidate-journey { background:#f5f4f0; color:#292d2a; font-family:"DM Sans",sans-serif; line-height:1.6; }
.candidate-journey > .container,.candidate-journey > form > .container { max-width:1000px; padding:30px 24px 48px; }
.candidate-journey .journey-logo { display:block; width:100px; height:auto; margin:0 auto 24px; }
.candidate-journey h1 { font-size:clamp(1.8rem,4vw,2.5rem); font-weight:600; letter-spacing:-.04em; line-height:1.2; margin:12px 0 16px!important; }
.candidate-journey h2 { font-size:1.2rem; font-weight:600; letter-spacing:-.02em; color:#292d2a; margin:0 0 20px; }
.candidate-journey h4,.candidate-journey h5 { font-size:1rem; font-weight:500; line-height:1.7; }
.candidate-journey a { color:#6d5b2a; text-underline-offset:3px; overflow-wrap:anywhere; }
.candidate-journey .journey-eyebrow { font-size:.75rem; text-transform:uppercase; letter-spacing:.14em; font-weight:700; color:#776738; margin-bottom:6px; }
.candidate-journey .journey-intro { max-width:680px; margin:0 auto; color:#666d64; }
.candidate-journey .journey-section { margin:22px 0; background:white; border:1px solid #e5e5df; border-radius:16px; padding:28px 32px; }
.candidate-journey form > .container { counter-reset:application-section; }
.candidate-journey .journey-section > h2 { display:flex; align-items:center; gap:12px; }
.candidate-journey .journey-section > h2::before { counter-increment:application-section; content:counter(application-section,decimal-leading-zero); display:inline-grid; place-items:center; flex:0 0 32px; height:32px; border-radius:50%; background:#f3f0e6; color:#82703c; font-size:.75rem; }
.candidate-journey form .row { --bs-gutter-x:24px; --bs-gutter-y:16px; margin-top:0; }
.candidate-journey .form-floating { display:flex; flex-direction:column; }
.candidate-journey .form-floating > label { position:static; order:-1; transform:none!important; opacity:1!important; height:auto; padding:0; margin:0 0 6px; color:#454c43; font-size:.85rem; font-weight:500; white-space:normal; text-transform:none; }
.candidate-journey .form-floating > label::after { display:none; }
.candidate-journey .form-control,.candidate-journey .form-select { min-height:48px; padding:11px 14px; border:1px solid #d8ddd4; border-radius:8px; font-size:1rem; }
.candidate-journey .form-floating > .form-control { height:auto; padding:11px 14px; }
.candidate-journey textarea.form-control { min-height:140px; }
.candidate-journey .form-control:focus,.candidate-journey .form-select:focus { border-color:#9a864c; box-shadow:0 0 0 3px #b5a06224; }
.candidate-journey .form-label { font-size:.85rem; font-weight:500; text-transform:none; }
.candidate-journey .form-check { margin:0 0 12px; }
.candidate-journey .form-check-label { cursor:pointer; }
.candidate-journey .form-check-input:checked { background-color:#897640; border-color:#897640; }
.candidate-journey .form-check-input:focus { border-color:#897640; box-shadow:0 0 0 3px #b5a06224; }
.candidate-journey .btn { padding:11px 20px; border-radius:8px; font-weight:600; }
.candidate-journey .btn-primary,.candidate-journey .btn-warning { background:#87733e; border-color:#87733e; color:white; }
.candidate-journey .btn-primary:hover,.candidate-journey .btn-warning:hover { background:#6b592d; border-color:#6b592d; color:white; }
.candidate-journey .btn-secondary { color:#4c5348; background:#f2f3ef; border-color:#d8ddd4; }
.candidate-journey .journey-section p { color:#666d64; font-size:.9rem; }
.candidate-journey .card { border:1px solid #e5e5df; border-radius:14px; overflow:hidden; box-shadow:none!important; margin-bottom:20px!important; }
.candidate-journey .card-header { background:#f2efe5; border:0; color:#65562e; font-weight:600; padding:16px 20px; }
.candidate-journey .card-body { padding:22px 20px; display:flex; flex-direction:column; gap:12px; }
.candidate-journey .card-body > .btn { float:none!important; width:100%; margin:0!important; }
.candidate-journey .card-body > .btn-confirm { order:1; }
.candidate-journey .card-body > .btn-cancel { order:2; }
.candidate-journey .blockquote { font-size:.95rem; }
.candidate-journey .blockquote-footer { margin-top:8px; color:#747b6e; }
.candidate-journey .journey-empty { flex:0 0 100%; width:100%; padding:28px; background:white; border:1px solid #e5e5df; border-radius:14px; }
.candidate-journey.candidate-result > .container { max-width:760px; margin:48px auto; background:white; border:1px solid #e5e5df; border-radius:18px; padding:38px 32px; }
.candidate-result h1 { font-size:2rem; }
.candidate-result h2 { font-size:1rem; font-weight:400; line-height:1.7; color:#666d64; }
@media(max-width:600px) {
    .candidate-journey > .container,.candidate-journey > form > .container { padding:20px 16px 36px; }
    .candidate-journey .journey-section { padding:22px 18px; border-radius:12px; }
    .candidate-journey .journey-logo { width:80px; }
    .candidate-result.candidate-journey > .container { width:calc(100% - 24px); margin:24px 12px; padding:28px 20px; }
    .candidate-journey button[type="submit"] { max-width:100%; }
}
