/* Public applicant experience, version 2. Visual changes only. */
body:has(#pathways) { background:#f6f7f3; }
.topbar { height:78px; background:#ffffffed; }
.topbar .brand img { width:44px; height:44px; }
.topbar nav .nav-apply { background:#174c3c; color:white; border-color:#174c3c; padding:11px 18px; }
body:not(.form-page) #pathways { display:block; width:min(1120px,90%); min-height:0; padding:50px 0 42px; }
.welcome-intro { text-align:center; }
.welcome-intro .eyebrow { justify-content:center; letter-spacing:2px; font-size:10px; margin-bottom:18px; }
#pathways .welcome-intro h1 { margin:0 0 18px; font-size:clamp(37px,4.5vw,61px); letter-spacing:-2.6px; line-height:1.12; font-weight:700; }
#pathways .welcome-intro h1 em { color:#667c54; font-family:Georgia,serif; font-weight:400; }
.mobile-break { display:none; }
.welcome-intro > p:not(.eyebrow) { font-size:15px; line-height:1.7; margin:0 auto; max-width:650px; }
.welcome-location { display:block; font-size:10px; margin:15px 0 0; color:#778174; letter-spacing:.6px; }
.welcome-steps { list-style:none; display:flex; justify-content:center; align-items:center; padding:0; margin:29px 0 34px; gap:0; }
.welcome-steps li { display:flex; align-items:center; gap:9px; font-size:11px; color:#65746a; font-weight:500; }
.welcome-steps li + li::before { content:""; width:38px; height:1px; background:#d4ded2; margin:0 16px; }
.welcome-steps li > span { display:grid; place-items:center; border-radius:50%; width:28px; height:28px; background:#e8ede4; color:#687b5e; font-size:9px; font-weight:700; }
.welcome-steps .current { color:#174c3c; font-weight:700; }
.welcome-steps .current > span { color:white; background:#174c3c; }
.welcome-choices { width:100%; max-width:1000px; margin:auto; }
.choices-heading { margin-bottom:14px; padding:0 2px; font-size:10px; }
.choices-heading > span:first-child { letter-spacing:1.35px; color:#516850; }
body:not(.form-page) #pathways .pathway-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; margin:0; }
body:not(.form-page) #pathways .pathway-card { border:1px solid #d6dfd3; border-radius:16px; min-height:340px; padding:28px 30px 20px; gap:12px; box-shadow:0 4px 15px #173b2806; background:linear-gradient(155deg,#f4f8f0 0,#fff 48%); }
body:not(.form-page) #pathways .pathway-card[data-pathway="general"] { background:linear-gradient(155deg,#faf4e9 0,#fff 48%); }
body:not(.form-page) #pathways .pathway-card:hover { border-color:#80977a; transform:translateY(-3px); box-shadow:0 14px 35px #173b2810; }
body:not(.form-page) #pathways .pathway-card[aria-pressed="true"] { background:linear-gradient(155deg,#e4eddf,#f9fcf5); border-color:#35694e; box-shadow:0 0 0 2px #35694e,0 12px 25px #173b2810; }
#pathways .card-number { right:24px; top:25px; }
#pathways .selection-mark { width:25px; height:25px; background:white; }
#pathways [aria-pressed="true"] .selection-mark { background:#174c3c; }
#pathways .pathway-art { position:static; width:58px; height:58px; max-height:none; object-fit:contain; margin-bottom:7px; }
#pathways .pathway-tag { max-width:100%; color:#5c7056; font-size:9px; letter-spacing:1.2px; line-height:1.5; }
#pathways .pathway-card strong { max-width:100%; font-size:27px; font-weight:700; letter-spacing:-.8px; }
#pathways .pathway-card > span:not(.card-number):not(.pathway-tag):not(.click-wave) { max-width:100%; font-size:13px; line-height:1.7; }
#pathways .pathway-card > .pathway-detail { font-size:10px !important; color:#637459; margin:3px 0 9px; }
#pathways .pathway-card b { margin-top:auto; font-size:12px; padding-top:14px; }
#pathways .pathway-card b > span:last-child { width:29px; height:29px; border-radius:7px; background:#e9efe3; }
#pathways [aria-pressed="true"] b > span:last-child { color:white; background:#174c3c; }
.pathway-next { max-width:620px; margin:24px auto 0; }
#pathways .requirements-check { width:100%; padding:16px 20px; border:1px solid #d5dfcf; background:#fff; gap:13px; font-size:12px; border-radius:9px; box-shadow:0 2px 5px #173b2803; }
#pathways .requirements-check:hover { background:#f0f4e9; border-color:#9caf91; }
#pathways .requirements-check .next-arrow { margin-left:auto; font-size:20px; }
#pathways #chooseHint { font-size:11px; margin:10px 0 0; min-height:18px; }
.programme-strip { background:#e9eee3; color:#214b39; border-top:1px solid #dbe3d5; border-bottom:1px solid #dbe3d5; padding:23px max(6vw,25px); }
.programme-strip small { color:#63755d; }
.programme-strip b { color:#6f855e; }
body:not(.form-page) #before { padding:60px 0; }
.requirements-modal { padding:34px; border:1px solid #d7e0d0; border-top:5px solid #9caa7d; }
.requirements-modal h2 { font-family:Manrope,Arial,sans-serif; font-size:27px; letter-spacing:-.7px; }
.requirements-modal ul { font-size:13px; }
.requirements-modal li { margin:13px 0; }
.modal-confirm { padding:15px 20px; font-size:13px; }
/* Original fields and controls, arranged with a more legible hierarchy. */
body.form-page #application { width:min(980px,92%); padding-top:30px; }
.back-to-options { color:#60715f; font-size:12px; margin:0 0 22px; }
.form-hero { position:relative; overflow:hidden; padding:38px 40px; margin-bottom:0; border-radius:16px; background:#174c3c; }
.form-hero::after { content:""; position:absolute; border:1px solid #ffffff12; width:240px; height:240px; border-radius:50%; right:-70px; top:-100px; pointer-events:none; box-shadow:0 0 0 30px #ffffff04,0 0 0 60px #ffffff04; }
.form-hero-kicker { letter-spacing:2px; font-size:10px; }
.form-hero h2 { font-size:32px; line-height:1.25; margin:12px 0 10px; max-width:740px; }
.form-hero p { font-size:13px; line-height:1.75; max-width:630px; color:#d7e5d6; }
.application-overview { display:flex; justify-content:space-between; gap:15px; align-items:center; padding:18px 2px 4px; }
.application-overview .notice { background:#e7eee0; color:#426039; border:0; border-radius:5px; font-size:11px; padding:7px 10px; margin:0; }
.application-overview > span { font-size:9px; color:#6f7e6a; font-weight:700; letter-spacing:1.1px; }
.application-overview > span span { padding:0 8px; color:#a0ab94; }
#application > .section-heading { margin:28px 0 34px; gap:0; }
#application > .section-heading > .section-number { display:none; }
#application > .section-heading h2 { font:700 22px/1.3 Manrope,Arial,sans-serif; margin:0 0 8px; letter-spacing:-.5px; }
#application > .section-heading p { font-size:12px; margin:0; color:#6c7867; }
#volunteerForm { gap:32px; counter-reset:form-section; }
#volunteerForm > fieldset { counter-increment:form-section; border:1px solid #d9e2d3; padding:28px 32px 32px; border-radius:13px; box-shadow:0 5px 18px #24442705; background:#fff; }
#volunteerForm > fieldset > legend { display:flex; align-items:center; gap:12px; padding:0 10px; margin-left:-10px; font:700 16px/1.45 Manrope,Arial,sans-serif; color:#254c37; }
#volunteerForm > fieldset > legend::before { content:counter(form-section,decimal-leading-zero); display:inline-grid; place-items:center; width:32px; height:32px; border:1px solid #d9e2d1; background:#edf2e6; color:#61794e; border-radius:8px; font-size:10px; letter-spacing:.5px; flex-shrink:0; }
#volunteerForm fieldset > p:not(.notice):not(.important-notice):not(.privacy-note):not(.label-text) { font-size:13px; line-height:1.75; color:#6a7865; }
#volunteerForm .form-grid { gap:24px; }
#volunteerForm label { font-size:12px; gap:9px; color:#3c5141; font-weight:600; }
#volunteerForm input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not(.date-picker-native),#volunteerForm select,#volunteerForm textarea { font-size:14px; padding:13px 14px; border-radius:7px; border-color:#ccd8c5; background:#fcfdfb; }
#volunteerForm input::placeholder,#volunteerForm textarea::placeholder { color:#8a9484; font-size:12px; }
#volunteerForm label small { font-size:10px; line-height:1.65; color:#77816f; }
#volunteerForm input:focus,#volunteerForm textarea:focus,#volunteerForm select:focus { background:white; border-color:#749264; outline:3px solid #dce8d480; }
#volunteerForm .check-grid { gap:10px; }
#volunteerForm .check-grid > label:not(.other-activity-detail) { border:1px solid #e0e6da; border-radius:7px; padding:12px; min-height:46px; background:#fbfcf9; font-size:11px; font-weight:500; line-height:1.6; }
#volunteerForm .check-grid label:has(input:checked) { border-color:#8ba17b; background:#edf3e6; color:#2a5138; }
#volunteerForm .check-grid input { flex-shrink:0; }
#volunteerForm .label-text { font-size:12px; }
#volunteerForm .notice,#volunteerForm .privacy-note { border-left:3px solid #8d9f74; background:#f0f4e9; color:#526448; font-size:12px; line-height:1.8; }
#volunteerForm .important-notice { font-size:12px; line-height:1.8; background:#fcf8ed; border-color:#e8ddbd; color:#726039; }
#volunteerForm .conditional { background:#f4f7ef; padding:25px; border:1px solid #e1e8d9; }
#volunteerForm .conditional h3 { font-size:15px; color:#365736; }
#volunteerForm .upload-box { background:white; border:1px dashed #a9bb97; padding:18px; }
#volunteerForm .choice-row { gap:14px; }
#volunteerForm .choice-row label { padding:10px 14px; border:1px solid #dbe4d3; border-radius:7px; background:#fcfdfb; }
#volunteerForm .choice-row label:has(input:checked) { border-color:#8fa17e; background:#edf2e7; }
#volunteerForm .declarations { gap:0; }
#volunteerForm .declarations label { padding:14px 0; border-bottom:1px solid #edf0e8; font-size:12px; font-weight:400; line-height:1.85; gap:12px; }
#volunteerForm .declarations input { width:16px; height:16px; flex-shrink:0; }
.signature-field { margin-top:24px; border:0; padding-top:6px; }
.signature-field h3 { font-size:15px; }
.signature-field p { font-size:12px; color:#6c7b65; }
#signaturePad { border:1px dashed #9daf8d; border-radius:9px; background:#fafcf7; }
.signature-actions button { padding:9px 12px; border-radius:6px; font-size:11px; }
.signature-actions span { font-size:11px; }
.date-picker-button { top:32px; }
.submit-area { border:1px solid #dae3d0; background:#eaf0e2; padding:26px; border-radius:12px; gap:24px; }
.submit-area p { max-width:440px; font-size:12px; line-height:1.8; }
.submit-area button { font-size:12px; padding:16px 20px; border-radius:7px; }
@media(max-width:800px) {
 .welcome-steps li + li::before { width:18px; margin:0 10px; }
 .welcome-steps li { font-size:10px; }
 #pathways .pathway-card strong { font-size:23px; }
 body:not(.form-page) #pathways .pathway-card { padding:25px; }
 #pathways .pathway-tag { font-size:8px; }
 .form-hero h2 { font-size:28px; }
}
@media(max-width:600px) {
 .topbar { height:70px; }
 .topbar .brand img { width:38px; height:38px; }
 body:not(.form-page) #pathways { width:90%; padding:34px 0 30px; }
 .welcome-intro .eyebrow { font-size:8px; letter-spacing:1.2px; margin-bottom:17px; }
 #pathways .welcome-intro h1 { font-size:39px; letter-spacing:-1.5px; line-height:1.14; margin-bottom:17px; }
 .mobile-break { display:block; }
 .desktop-break { display:none; }
 .welcome-intro > p:not(.eyebrow) { font-size:13px; line-height:1.8; max-width:340px; }
 .welcome-location { font-size:9px; margin-top:13px; }
 .welcome-steps { margin:25px 0 28px; gap:6px; align-items:flex-start; }
 .welcome-steps li { flex:1; flex-direction:column; text-align:center; font-size:9px; gap:7px; line-height:1.5; max-width:110px; }
 .welcome-steps li + li::before { display:none; }
 .welcome-steps li > span { width:26px; height:26px; }
 .choices-heading > span:first-child { font-size:9px; letter-spacing:1px; }
 .choices-heading > span:last-child { display:none; }
 body:not(.form-page) #pathways .pathway-grid { grid-template-columns:1fr; gap:17px; }
 body:not(.form-page) #pathways .pathway-card { min-height:310px; padding:25px; gap:10px; }
 #pathways .pathway-art { width:50px; height:50px; margin-bottom:5px; }
 #pathways .pathway-card strong { font-size:25px; }
 #pathways .pathway-card > span:not(.card-number):not(.pathway-tag):not(.click-wave) { font-size:12px; }
 #pathways .pathway-card > .pathway-detail { font-size:9px !important; }
 #pathways .pathway-tag { font-size:8px; }
 #pathways .requirements-check { padding:14px; font-size:11px; }
 #pathways #chooseHint { font-size:10px; }
 .programme-strip { padding:25px 5%; }
 .requirements-modal { padding:25px; }
 body.form-page #application { width:100%; padding-left:16px; padding-right:16px; }
 body.form-page .form-hero { padding:26px 24px; }
 .form-hero h2 { font-size:25px; }
 .application-overview { flex-wrap:wrap; gap:12px; padding-top:17px; }
 .application-overview > span { font-size:8px; }
 #application > .section-heading { margin:24px 0 28px; }
 #application > .section-heading h2 { font-size:21px; }
 #volunteerForm { gap:27px; }
 #volunteerForm > fieldset { padding:20px 18px 25px; }
 #volunteerForm > fieldset > legend { font-size:14px; max-width:100%; gap:8px; margin-left:-6px; padding:0 6px; }
 #volunteerForm > fieldset > legend::before { width:28px; height:28px; font-size:9px; }
 #volunteerForm .form-grid { gap:20px; }
 #volunteerForm .conditional { padding:17px; }
 #volunteerForm .choice-row { gap:9px; }
 #volunteerForm .choice-row label { padding:10px; font-size:11px; }
 #volunteerForm input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not(.date-picker-native),#volunteerForm select,#volunteerForm textarea { font-size:16px; }
 #volunteerForm .check-grid > label:not(.other-activity-detail) { font-size:12px; }
 .submit-area { padding:20px; gap:18px; }
 .submit-area button { font-size:12px; }
}
