.form-stage{min-height:420px}.form-hero{padding:70px 7% 85px;max-width:980px}.form-hero h1{font-size:clamp(3rem,7vw,6rem);line-height:.92;letter-spacing:-.06em;margin:0 0 22px}.form-hero>p:last-child{max-width:720px;color:#d2d5cf;font-size:1.15rem}
.form-page{max-width:1040px;margin:auto;padding:70px 35px 110px}.form-progress{display:flex;gap:8px;margin-bottom:35px}.form-progress span{height:7px;flex:1;background:#d5d6d0;border-radius:9px}.form-progress span.active{background:var(--yellow)}
.referral-form{background:#fff;border-radius:26px;padding:clamp(24px,5vw,60px);box-shadow:0 18px 55px rgba(0,0,0,.08)}.form-step[hidden],.conditional[hidden]{display:none}.form-step h2{font-size:clamp(2rem,4vw,3.5rem);line-height:1;letter-spacing:-.045em;margin:0 0 12px}.step-intro{color:#60635d;margin:0 0 38px;max-width:68ch}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.field,.field-full{display:flex;flex-direction:column;gap:8px}.field-full{grid-column:1/-1}.field label,.field-full>label,.question-label{font-weight:800;font-size:.92rem}.hint{font-size:.78rem;color:#64675f;margin:0}.form-time{display:inline-block;margin:0 0 10px;padding:9px 14px;border-radius:999px;background:#f1f1eb;color:#292b27;font-size:.84rem;font-weight:800}.required-note{color:#64675f;font-size:.8rem}.required-note strong{color:#111}
.referral-form input,.referral-form select,.referral-form textarea{width:100%;font:inherit;color:#171915;background:#f6f6f1;border:2px solid #d7d8d1;border-radius:12px;padding:13px 14px}.referral-form textarea{min-height:120px;resize:vertical}.referral-form input:focus,.referral-form select:focus,.referral-form textarea:focus{outline:3px solid rgba(213,200,0,.32);border-color:#7d7600}.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.choice{display:flex;align-items:flex-start;gap:10px;background:#f2f2ed;border:2px solid transparent;border-radius:12px;padding:13px;cursor:pointer}.choice:has(input:checked){border-color:#8d8500;background:#f5f1b8}.choice input{width:auto;margin-top:4px}.form-actions{display:flex;justify-content:space-between;gap:15px;margin-top:42px;padding-top:25px;border-top:1px solid #ddd}.form-actions button{border:0;cursor:pointer}.form-actions button[disabled]{opacity:.5;cursor:not-allowed}.form-error{color:#9d1c18;background:#fff0ef;border-left:4px solid #b72b24;padding:12px 15px;margin:20px 0 0}.form-status{margin-top:20px;font-weight:700}.form-status.success{color:#186536}.consent-box{background:#eeedce;border-radius:15px;padding:20px}.consent-box .choice{background:transparent;padding:0}.honeypot{position:absolute!important;left:-9999px!important}
.section-heading{font-size:1.35rem;margin:42px 0 18px;padding-top:30px;border-top:1px solid #deded8}.question-block{border:0;padding:0;margin:0}.inline-choices{display:flex;gap:10px;flex-wrap:wrap}.inline-choices .choice{min-width:110px}.panel{background:#f7f7f2;border:1px solid #deded6;border-radius:16px;padding:22px}.panel h3{font-size:1.25rem;margin:0 0 8px}.panel>.hint{margin-bottom:18px}.lookup-row{display:grid;grid-template-columns:1fr auto;gap:8px}.lookup-button{border:2px solid #171915;border-radius:12px;background:#171915;color:#fff;font-weight:800;padding:0 16px;cursor:pointer;white-space:nowrap}.choice-intro{margin:4px 0 12px}.referral-form input:user-invalid,.referral-form select:user-invalid,.referral-form textarea:user-invalid{border-color:#b72b24}.form-inline-message{margin-top:8px;color:#5e605b;font-size:.82rem}
.programme-summary{background:#171915;color:#fff;border-radius:16px;padding:22px;border-left:7px solid var(--yellow)}.programme-summary h3{margin:0 0 6px;font-size:1.35rem}.programme-summary p{margin:5px 0;color:#e5e6e1}.programme-summary .programme-meta{color:var(--yellow);font-weight:800}.choice-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}
.privacy-notice{padding:22px 24px;border-left:5px solid var(--yellow);background:#f5f5ef;border-radius:14px}.privacy-notice h3{margin:0 0 8px;font-size:1.15rem}.privacy-notice p{margin:0;color:#4f524c}.privacy-notice a{font-weight:800;text-decoration:underline}
.submission-success{padding:32px;border-left:7px solid var(--yellow);background:#f5f5ef;border-radius:16px}.submission-success h2{margin:0 0 10px}.submission-success p{margin:0;font-size:1.05rem;color:#4f524c}
@media(max-width:700px){.form-page{padding:45px 15px 80px}.referral-form{border-radius:18px}.field-grid,.choice-grid{grid-template-columns:1fr}.field-full{grid-column:auto}.form-actions{flex-direction:column-reverse}.form-actions .button{width:100%}.lookup-row{grid-template-columns:1fr}.lookup-button{padding:13px 16px}.panel{padding:17px}}
