/* Five-part application, progressively enhanced from a complete HTML form. */
.joy-application-form{scroll-margin-top:2rem;--joy-form-progress:20%}
.joy-form-progress{margin-bottom:1.75rem}
.joy-form-progress-copy{display:flex;justify-content:space-between;gap:.75rem;align-items:center;margin-bottom:.75rem;color:#6b4b80;font-size:.8125rem;font-weight:600}
.joy-form-progress-copy>span:last-child{white-space:nowrap;color:#75657f;font-weight:500}
.joy-form-progress-track{height:5px;border-radius:999px;background:#e8dfee;overflow:hidden}
.joy-form-progress-track>span{display:block;width:var(--joy-form-progress);height:100%;border-radius:inherit;background:var(--joy-button-gradient);transition:width .2s ease}
.joy-form-step{border:0;padding:0;margin:0;min-width:0;width:100%}
.joy-form-step+.joy-form-step{margin-top:2.5rem}
.joy-wizard .joy-form-step{margin-top:0}
.joy-application-form .joy-form-step legend{padding:0;margin:0 0 .75rem;width:100%;float:none;color:#21132c;font-size:1.625rem;font-weight:750;letter-spacing:-.035em;line-height:1.22;text-align:left}
.joy-form-step [data-joy-step-heading]:focus{outline:none}
.joy-application-form .joy-step-description{color:#74677c;font-size:.9375rem;line-height:1.65;margin:0 0 1.75rem}
.joy-application-form .joy-field{margin-top:1.25rem}
.joy-application-form .joy-fields .joy-field{margin-top:0}
.joy-application-form .joy-field input,.joy-application-form .joy-field textarea{min-width:0;width:100%;font-size:1rem;background:#fff;border:1px solid #e2d9e9}
.joy-application-form .joy-field textarea{min-height:0}
.joy-application-form .joy-phone-fields{display:grid;grid-template-columns:5.25rem minmax(0,1fr);gap:.5rem}
.joy-application-form #joy-phone-prefix{text-align:center;padding-left:.5rem;padding-right:.5rem;color:#613d78;font-weight:600;background:#f1eaf6}
.joy-application-form .joy-field-help{margin:.5rem 0 0;color:#7b6b84;font-size:.75rem;line-height:1.5}
.joy-choice-list{display:grid;gap:.75rem}
.joy-choice{display:flex;align-items:center;gap:.875rem;min-height:4.5rem;width:100%;padding:1rem 1.1rem;border:1px solid #e2d9e9;border-radius:.875rem;background:#fff;cursor:pointer;transition:border-color .15s,background .15s,box-shadow .15s}
.joy-choice:hover{border-color:#af8ac4;background:#faf6fd}
.joy-choice:has(input:checked){border-color:#775096;background:#f1e7f7;box-shadow:0 0 0 1px #775096}
.joy-choice:has(input:focus-visible),.joy-privacy-choice:has(input:focus-visible){outline:2px solid #775096;outline-offset:3px}
.joy-choice input,.joy-privacy-choice input{flex:0 0 1.125rem;width:1.125rem;height:1.125rem;margin:0;padding:0;accent-color:#775096;cursor:pointer}
.joy-choice-copy{display:block;min-width:0}
.joy-choice-title{display:block;color:#251630;font-size:1rem;font-weight:650;line-height:1.45}
.joy-choice-description{display:block;margin-top:.2rem;color:#796b82;font-size:.8125rem;line-height:1.5}
.joy-privacy-choice{display:flex;align-items:flex-start;gap:.75rem;margin-top:1.5rem;padding:1rem;border:1px solid #e2d9e9;border-radius:.875rem;background:#f6f0fa;color:#52425e;font-size:.8125rem;line-height:1.65;cursor:pointer}
.joy-privacy-choice input{margin-top:.125rem}
.joy-privacy-choice:has(input:checked){border-color:#ad88c4;background:#eee2f6}
.joy-privacy-choice a{color:#633c7d;text-decoration:underline;text-underline-offset:3px;font-weight:600}
.joy-application-form .joy-form-privacy{margin:1rem 0 0;text-align:left;color:#75697c!important;font-size:.75rem!important;line-height:1.65}
.joy-form-navigation{display:flex;align-items:center;gap:1rem;margin-top:1.75rem}
.joy-application-form .joy-form-navigation .joy-cta{margin:0;flex:1;min-width:0;min-height:3.5rem;padding:.875rem 1.25rem;font-size:1rem;line-height:1.4}
.joy-form-back{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;min-height:3.5rem;padding:.5rem .25rem;border:0;background:transparent;color:#684580;font-size:.875rem;font-weight:600;white-space:nowrap}
.joy-form-back:hover{text-decoration:underline;text-underline-offset:4px}
.joy-application-form .joy-note{font-size:.75rem!important;line-height:1.6;color:#81708c!important}
@media(max-width:639px){
    .joy-application-form{padding:1.25rem;scroll-margin-top:1rem}
    .joy-application-form .joy-form-step legend{font-size:1.375rem}
    .joy-form-progress{margin-bottom:1.5rem}
    .joy-application-form .joy-fields{gap:1rem}
    .joy-choice{gap:.75rem;padding:.875rem;min-height:4.25rem}
    .joy-choice-title{font-size:.9375rem}
    .joy-choice-description{font-size:.8125rem}
    .joy-application-form .joy-step-description{font-size:.875rem;margin-bottom:1.5rem}
    .joy-form-navigation{gap:.75rem}
    .joy-application-form .joy-form-navigation .joy-cta{font-size:.9375rem;padding:.8rem .75rem}
    .joy-application-form .joy-phone-fields{grid-template-columns:4.25rem minmax(0,1fr)}
}
@media(prefers-reduced-motion:reduce){.joy-form-progress-track>span,.joy-choice{transition:none}}
