/* Candidate entry: the same blue palette and type hierarchy as onboarding. */
:root{--canvas:#f7f9fc;--surface-soft:#fff;--ink:#101828;--muted:#607087;--line:#dce3ed;--accent:#1267f4;--accent-dark:#095be0;--accent-soft:#eaf2ff;--danger:#bb3042;--control-radius:12px}
body{background:var(--canvas);font-family:Arial,"Segoe UI",sans-serif}
.skip-link{position:absolute;top:-80px;left:20px;z-index:10;padding:12px 16px;background:#fff;color:var(--accent)}.skip-link:focus{top:12px}
.public-header{width:min(100% - 64px,1120px);height:88px;border-bottom:1px solid #e6ebf3}
.form-brand{display:inline-flex;align-items:center;gap:10px;font-size:23px;letter-spacing:-.7px}.form-brand img{display:block}
.header-journey{min-height:44px;padding:10px 0 10px 12px;font-family:inherit;font-size:14px;color:var(--muted)}
.application-layout{display:grid;grid-template-columns:minmax(0,720px) minmax(0,320px);gap:64px;max-width:1120px;margin:48px auto 64px;padding:0}
#candidate-flow{width:100%;min-width:0;margin:0;padding:40px;border:1px solid #e5eaf2;border-radius:24px;box-shadow:0 4px 24px rgba(25,47,83,.035);animation:none}
#form-heading h1{font-size:clamp(32px,3.1vw,44px);line-height:1.12;letter-spacing:-1.5px;margin-bottom:16px}
#form-heading .step-caption{display:flex;align-items:center;flex-wrap:wrap;gap:10px;justify-content:space-between;font-size:11px;letter-spacing:.08em;margin-bottom:20px}
#form-heading .step-caption span{padding:4px 9px;background:#f2f5fa;color:var(--muted);border-radius:6px;font-size:11px;font-weight:400;text-transform:none;letter-spacing:0}
.intro{font-size:16px;line-height:1.6;margin-bottom:18px;max-width:510px}.required-note{font-size:12px;color:var(--muted);margin:0 0 32px}
#lead-form .form-section{border:0;border-top:1px solid #e8edf4;border-radius:0;margin:0 0 30px;padding:22px 0 0;min-width:0}
#lead-form legend{float:left;display:flex;align-items:center;gap:10px;width:100%;padding:0;margin:0 0 22px;font-size:17px;line-height:1.4;letter-spacing:-.2px}
.section-number{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;flex-shrink:0;border-radius:8px;background:var(--accent-soft);color:var(--accent);font-size:11px;font-weight:700}
#lead-form .grid{clear:both;gap:20px 22px}
#lead-form .grid>label{font-size:13px;line-height:1.45;font-weight:600;gap:8px}
#lead-form label em{font-style:normal;font-weight:400;color:var(--muted);font-size:11px;margin-left:5px}
#lead-form .grid input,#lead-form .grid select,#lead-form .grid textarea{font-family:inherit;font-size:16px;line-height:1.4;font-weight:400;background:#fff;padding:13px 14px;box-shadow:0 1px 2px rgba(16,24,40,.025)}
#lead-form .grid input,#lead-form .grid select{height:50px;min-height:50px}
#lead-form .grid textarea{min-height:104px;resize:vertical;max-height:320px}
#lead-form .grid select{padding-right:34px;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%23607087' stroke-width='1.5'%3E%3Cpath d='m5 8 5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:18px}
#lead-form .grid select:has(option:checked[value=""]){color:#788599}
#lead-form input::placeholder,#lead-form textarea::placeholder{color:#8390a2;opacity:1}
#lead-form .grid small{font-size:12px;line-height:1.5}
#lead-form input:user-invalid{border-color:var(--line)}
#lead-form [aria-invalid="true"]{border-color:var(--danger)!important;background-color:#fffafb!important}
#lead-form .field-error{color:var(--danger);font-weight:400;font-size:12px;line-height:1.5;margin:0}
#lead-form :is(input,select,textarea):focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(18,103,244,.12);outline:0}
#lead-form input[type=checkbox]:focus-visible{outline:3px solid rgba(18,103,244,.3);outline-offset:3px}
.form-footer{border-top:1px solid #e8edf4;padding-top:22px}
#lead-form .consent{margin:0;align-items:flex-start;min-height:44px;cursor:pointer;font-size:12px;line-height:1.65;color:#526176;gap:10px}
#lead-form .consent input{appearance:auto;width:19px;min-width:19px;height:19px;min-height:19px;margin:1px 0 0;border-radius:4px}
#lead-form button[type=submit]{margin-top:18px;min-height:52px;background:var(--accent);border-color:var(--accent);box-shadow:0 3px 8px rgba(18,103,244,.16);font-size:15px;gap:16px}
#lead-form button[type=submit]:hover:not(:disabled){background:var(--accent-dark);transform:none}
#lead-form button[type=submit]:active:not(:disabled){transform:scale(.96)}
#lead-form button[type=submit]:disabled{cursor:progress}
#result:empty{display:none}#result:not(:empty){min-height:0;text-align:left;padding:12px 14px;border-radius:10px;background:#fff1f3;color:var(--danger);font-size:13px;line-height:1.5;margin:12px 0 0}
.submit-hint{text-align:center;color:var(--muted);font-size:12px;line-height:1.55;margin:14px 0 0}
.back{margin:24px 0 0;text-align:center;color:var(--muted);font-size:12px}.back a{font-size:12px;color:var(--accent);text-underline-offset:3px}
.candidate-aside{align-self:start;position:sticky;top:32px;padding-top:14px;outline:none}.aside-symbol{display:flex;width:48px;height:48px;align-items:center;justify-content:center;background:var(--accent-soft);color:var(--accent);border-radius:14px;font-size:28px;margin-bottom:26px}
.candidate-aside .step-caption{font-size:10px;letter-spacing:.09em;margin-bottom:12px}.candidate-aside h2{font-size:27px;line-height:1.2;letter-spacing:-.7px;margin-bottom:14px}.candidate-aside p{font-size:13px;line-height:1.7;color:var(--muted);text-wrap:pretty}
.candidate-steps{list-style:none;padding:0;margin:30px 0}.candidate-steps li{display:flex;gap:14px;position:relative;padding-bottom:26px}.candidate-steps li:not(:last-child):before{content:"";position:absolute;left:15px;top:36px;bottom:6px;width:1px;background:#dbe4f1}.candidate-steps li>span{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:32px;height:32px;border:1px solid #dce4ef;border-radius:50%;font-size:12px;color:var(--muted);background:var(--canvas)}.candidate-steps li.current>span{background:var(--accent);border-color:var(--accent);color:white}.candidate-steps h3{font-size:14px;margin:4px 0 4px;letter-spacing:-.1px}.candidate-steps p{font-size:12px;margin:0;line-height:1.6}.candidate-steps small{display:inline-block;margin-top:8px;padding:2px 7px;border-radius:5px;background:var(--accent-soft);color:var(--accent);font-size:10px}.aside-note{padding:18px;background:#edf3fc;border-radius:14px}.aside-note strong{font-size:12px}.aside-note p{font-size:12px;margin:7px 0 0}
body.flow-active .application-layout{display:block;max-width:720px}body.flow-active .candidate-aside{display:none}body.flow-active #candidate-flow{max-width:none}body.flow-active .success-mark{background:var(--accent);box-shadow:0 8px 20px rgba(18,103,244,.16)}
#selection button{font-family:inherit;font-weight:600}#selection button:not(.text-button):not(.quick-link):not(.secondary){box-shadow:0 3px 8px rgba(18,103,244,.16)}#selection input{font-family:inherit}#selection :is(input,select,textarea):focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(18,103,244,.12)}
@media(max-width:1184px){.application-layout{margin-inline:32px;gap:36px;grid-template-columns:minmax(0,1fr) 280px}body.flow-active .application-layout{margin-inline:auto}}
@media(max-width:900px){.application-layout{display:flex;flex-direction:column;max-width:680px;margin:28px auto 40px;padding:0 20px;gap:32px}.candidate-aside{position:static;width:100%;padding:0 16px}.aside-top br{display:none}.aside-symbol{display:none}.candidate-aside h2{font-size:23px}.candidate-steps{margin:20px 0}.aside-note{margin-bottom:0}#candidate-flow{padding:32px}.public-header{height:72px;width:calc(100% - 40px)}}
@media(max-width:480px){.application-layout{padding:0 12px;margin-top:20px}#candidate-flow{padding:25px 20px;border-radius:18px}#form-heading h1{font-size:32px;letter-spacing:-1px}.form-brand{font-size:19px;gap:8px}.form-brand img{width:26px;height:26px}.header-journey{font-size:12px}.public-header{width:calc(100% - 32px)}#lead-form .grid{grid-template-columns:minmax(0,1fr);gap:18px}#lead-form legend{font-size:16px}.intro{font-size:14px}.desktop-break{display:none}.candidate-aside{padding-inline:8px}}

/* Candidate form layout: centered form and journey as one composition. */
:root{--candidate-shell:1180px}
.public-header{width:min(calc(100% - 48px),var(--candidate-shell));margin-inline:auto}
.form-brand{gap:10px;letter-spacing:.12em;font-size:11px;font-weight:700;line-height:1.05}
.form-brand__orb{width:36px;height:36px;flex:0 0 36px;object-fit:contain}
.form-brand__wordmark{display:grid;gap:2px}
.form-brand__wordmark span{display:block}
.application-layout{width:min(calc(100% - 48px),var(--candidate-shell));max-width:none;margin:34px auto 64px;padding:0;grid-template-columns:minmax(0,720px) minmax(280px,320px);gap:clamp(28px,4vw,56px);align-items:start;justify-content:center}
#candidate-flow{width:100%;max-width:720px;margin:0}
.candidate-aside{width:100%;max-width:320px;padding-top:14px}
.aside-symbol{display:grid;width:50px;height:50px;margin-bottom:24px;place-items:center;border:1px solid #cfe0fb;border-radius:15px;color:var(--accent);background:#eef5ff}
.aside-symbol svg{width:25px;height:25px;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:1100px){.application-layout{width:min(calc(100% - 48px),1040px);grid-template-columns:minmax(0,680px) minmax(270px,300px);gap:clamp(24px,3vw,40px)}}
@media(max-width:980px){.public-header{width:min(calc(100% - 40px),720px)}.application-layout{width:min(calc(100% - 40px),720px);margin:28px auto 40px;grid-template-columns:minmax(0,720px);gap:32px}.candidate-aside{position:static;max-width:720px;padding:0}.aside-top br{display:none}}
@media(max-width:600px){.public-header{width:calc(100% - 32px);height:68px}.form-brand{font-size:10px}.form-brand__orb{width:32px;height:32px;flex-basis:32px}.application-layout{width:calc(100% - 32px);margin:18px auto 32px;gap:28px}#candidate-flow{padding:clamp(22px,6vw,32px);border-radius:20px}.candidate-aside{padding:0}.aside-symbol{width:48px;height:48px;margin-bottom:20px}.candidate-steps{margin:22px 0}.aside-note{padding:16px}}
@media(max-width:390px){.application-layout{width:calc(100% - 24px)}#candidate-flow{padding:22px 16px}.public-header{width:calc(100% - 24px)}}

/* Candidate form: balanced desktop composition. */
:root{--candidate-shell:1180px}
.public-header{width:min(calc(100% - 48px),var(--candidate-shell));margin-inline:auto}
.application-layout{width:min(calc(100% - 48px),var(--candidate-shell));max-width:none;margin:34px auto 64px;padding:0;grid-template-columns:minmax(0,720px) minmax(300px,320px);gap:clamp(32px,4vw,56px);align-items:start;justify-content:center}
#candidate-flow{width:100%;max-width:720px;margin:0}
.candidate-aside{box-sizing:border-box;width:100%;max-width:320px;padding:26px 24px 22px;position:sticky;top:32px;border:1px solid #e1e9f5;border-radius:20px;background:rgba(255,255,255,.72)}
.aside-symbol{display:grid;width:50px;height:50px;margin:0 0 24px;place-items:center;border:1px solid #cfe0fb;border-radius:15px;color:var(--accent);background:#eef5ff}
.aside-symbol svg{width:24px;height:24px;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.candidate-aside .step-caption{margin-bottom:12px}.candidate-aside h2{margin-bottom:14px}.candidate-steps{margin:30px 0 22px}.aside-note{padding:16px 0 0;border-top:1px solid #e7edf6;border-radius:0;background:transparent}
@media(max-width:1100px){.application-layout{width:min(calc(100% - 48px),1040px);grid-template-columns:minmax(0,680px) minmax(280px,300px);gap:clamp(24px,3vw,40px)}.candidate-aside{max-width:300px;padding:24px 20px 20px}}
@media(max-width:980px){.public-header{width:min(calc(100% - 40px),720px)}.application-layout{width:min(calc(100% - 40px),720px);margin:28px auto 40px;grid-template-columns:minmax(0,720px);gap:32px}.candidate-aside{position:static;max-width:720px;padding:0;border:0;border-radius:0;background:transparent}.aside-top br{display:none}.aside-symbol{margin-bottom:20px}.aside-note{padding:16px;background:#edf3fc;border:0;border-radius:14px}}
@media(max-width:600px){.public-header{width:calc(100% - 32px);height:68px}.application-layout{width:calc(100% - 32px);margin:18px auto 32px;gap:28px}#candidate-flow{padding:clamp(22px,6vw,32px);border-radius:20px}.candidate-aside{padding:0}.candidate-steps{margin:22px 0}}
@media(max-width:390px){.application-layout{width:calc(100% - 24px)}#candidate-flow{padding:22px 16px}.public-header{width:calc(100% - 24px)}}

/* Candidate form: form card owns the viewport center. */
.application-layout{position:relative;width:min(calc(100% - 48px),var(--candidate-shell));grid-template-columns:minmax(0,720px);justify-content:center;gap:32px}
#candidate-flow{justify-self:center}
.candidate-aside{position:static;max-width:720px;justify-self:center}
@media(min-width:1500px){.application-layout{grid-template-columns:minmax(0,720px);min-height:0}.candidate-aside{position:absolute;top:0;left:calc(50% + 400px);width:300px;max-width:300px}}
@media(max-width:980px){.application-layout{grid-template-columns:minmax(0,720px)}.candidate-aside{width:100%;max-width:720px}}

/* Keep the form centered while the journey stays on its right. */
@media (min-width:1200px){
  .application-layout{grid-template-columns:minmax(0,720px);justify-content:center}
  #candidate-flow{justify-self:center}
  .candidate-aside{
    position:absolute;
    top:0;
    left:calc(50% + 384px);
    width:min(360px,calc(50vw - 408px));
    max-width:none;
    padding:30px 28px 26px;
  }
  .candidate-aside h2{font-size:30px;line-height:1.14;letter-spacing:-.8px;text-wrap:balance}
  .candidate-aside p{text-wrap:pretty}
}
@media (min-width:1200px) and (max-width:1439px){
  .application-layout{position:static;width:min(calc(100% - 48px),1100px);grid-template-columns:minmax(0,720px) minmax(300px,348px);gap:32px}
  .candidate-aside{position:sticky;top:32px;left:auto;width:100%;max-width:348px;padding:28px 26px 24px}
  .candidate-aside h2{font-size:28px}
}
