.job-submission-form-block {
    --jsf-ink: #111827;
    --jsf-muted: #667085;
    --jsf-green: #02542d;
    --jsf-blue: #2d4f83;
    --jsf-border: #d7dae0;
    --jsf-surface: #f7f8fa;
    --jsf-error: #b42318;
    --jsf-font: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    padding: 88px 0;
    color: var(--jsf-ink);
    background: #f4f5f7;
    font-family: var(--jsf-font);
}

.job-submission-form-block *,
.job-submission-form-block *::before,
.job-submission-form-block *::after { box-sizing: border-box; }

/*
 * Component typography boundary.
 * The site has legacy Additional CSS that targets every native button with
 * !important declarations. Keep those rules from changing this standalone
 * form without altering the client's global styles.
 */
.job-submission-form-block .job-submission-form__select-trigger,
.job-submission-form-block .job-submission-form__select-option,
.job-submission-form-block .job-submission-form__choose-file,
.job-submission-form-block .job-submission-form__file-actions button,
.job-submission-form-block .job-submission-form__submit {
    font-family: var(--jsf-font) !important;
    letter-spacing: normal !important;
    text-transform: none !important;
    font-synthesis: auto !important;
}

.job-submission-form-block .job-submission-form__select-trigger,
.job-submission-form-block .job-submission-form__select-option {
    font-size: 14px !important;
    font-weight: 400 !important;
}

.job-submission-form-block .job-submission-form__select-option.is-selected {
    font-weight: 600 !important;
}

.job-submission-form-block .job-submission-form__choose-file {
    font-size: 13px !important;
    font-weight: 600 !important;
}

.job-submission-form-block .job-submission-form__file-actions button {
    font-size: 12px !important;
    font-weight: 600 !important;
}

.job-submission-form-block .job-submission-form__submit {
    font-size: 16px !important;
    font-weight: 600 !important;
}

.job-submission-form-block .job-submission-form__description-text .mce-btn button {
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif !important;
    font-size: 14px !important;
    font-weight: normal !important;
    letter-spacing: normal !important;
    text-transform: none !important;
    font-synthesis: auto !important;
}

.job-submission-form-block--editor-preview {
    padding: 24px;
    background: #f4f5f7;
}

.job-submission-form-block__editor-card {
    max-width: 760px;
    margin: 0 auto;
    padding: 28px 32px;
    border: 1px solid #d7dae0;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 8px 24px rgba(16, 24, 40, .06);
}

.job-submission-form-block__editor-label {
    margin: 0 0 12px;
    color: var(--jsf-green);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.job-submission-form-block__editor-heading {
    margin: 0;
    color: var(--jsf-ink);
    font-size: 28px;
    line-height: 1.2;
}

.job-submission-form-block__editor-heading.is-empty {
    color: var(--jsf-muted);
    font-style: italic;
    font-weight: 500;
}

.job-submission-form-block__editor-note {
    margin: 18px 0 0;
    padding-top: 16px;
    border-top: 1px solid #e5e7eb;
    color: var(--jsf-muted);
    font-size: 13px;
}

.job-submission-form-block__shell {
    max-width: 1040px;
    margin: 0 auto;
    padding: 56px 64px 64px;
    border: 1px solid #e4e6ea;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 16px 50px rgba(16, 24, 40, .07);
}

.job-submission-form-block__header { max-width: 760px; margin-bottom: 48px; }
.job-submission-form-block__header h2 { margin: 0 0 14px; font-size: clamp(32px, 4vw, 48px); line-height: 1.1; letter-spacing: -.03em; }
.job-submission-form-block__header p { margin: 0; color: var(--jsf-muted); font-size: 18px; line-height: 1.6; }

.job-submission-form__section { margin: 0; padding: 0 0 46px; border: 0; }
.job-submission-form__section + .job-submission-form__section { padding-top: 42px; border-top: 1px solid #e5e7eb; }
.job-submission-form__section h3 { margin: 0 0 26px; color: var(--jsf-green); font-size: 17px; font-weight: 600; letter-spacing: .01em; }
.job-submission-form__section-introduction { margin: -14px 0 26px; color: var(--jsf-muted); font-size: 14px; line-height: 1.55; }
.job-submission-form__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 28px; }
.job-submission-form__field { position: relative; min-width: 0; }
.job-submission-form__field--full { grid-column: 1 / -1; }
.job-submission-form__field label { display: block; margin-bottom: 9px; color: #344054; font-size: 15px; font-weight: 500; line-height: 1.4; }
.job-submission-form__field label > span[aria-hidden="true"],
.job-submission-form__optional { color: #98a2b3; font-weight: 400; }

.job-submission-form__field input,
.job-submission-form__field textarea {
    width: 100%;
    margin: 0;
    border: 1px solid var(--jsf-border);
    border-radius: 6px;
    background: #fff;
    color: var(--jsf-ink);
    font: inherit;
    font-size: 16px;
    outline: none;
    transition: border-color .2s ease, box-shadow .2s ease, background-color .2s ease;
}
.job-submission-form__field input,
.job-submission-form__field input { height: 38px; padding: 0 13px; }
.job-submission-form__field textarea { min-height: 168px; padding: 15px 16px; line-height: 1.55; resize: vertical; }
.job-submission-form__field input::placeholder,
.job-submission-form__field textarea::placeholder { color: #98a2b3; }
.job-submission-form__field input:focus,
.job-submission-form__field textarea:focus { border-color: var(--jsf-blue); box-shadow: 0 0 0 3px rgba(45, 79, 131, .13); }
.job-submission-form__field input:disabled { cursor: not-allowed; background: #f2f4f7; }
.job-submission-form__field.has-error input,
.job-submission-form__field.has-error textarea,
.job-submission-form__field.has-error .job-submission-form__select-trigger,
.job-submission-form__field.has-error .job-submission-form__upload { border-color: var(--jsf-error); }
.job-submission-form__error { display: block; min-height: 18px; padding-top: 5px; color: var(--jsf-error); font-size: 13px; line-height: 1.3; }

.job-submission-form__description-group {
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0;
}
.job-submission-form__description-group legend {
    margin: 0 0 7px;
    padding: 0;
    color: #344054;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.4;
}
.job-submission-form__description-group legend span { color: #98a2b3; font-weight: 400; }
.job-submission-form__description-help { margin: 0 0 14px; color: var(--jsf-muted); font-size: 13px; line-height: 1.55; }
.job-submission-form__rich-text-source { min-height: 300px !important; }
.job-submission-form__description-text .wp-editor-wrap { width: 100%; }
/*
 * Keep editor controls independent from site-wide button/font overrides.
 * WordPress's legacy TinyMCE icons use private-use font glyphs, so render the
 * eight controls used by this component as local SVGs instead.
 */
.job-submission-form__description-text .mce-toolbar .mce-ico,
.job-submission-form__description-text .mce-toolbar .mce-ico::before {
    font-family: tinymce, Arial !important;
    font-style: normal !important;
    font-weight: normal !important;
    font-variant: normal !important;
    text-transform: none !important;
    -webkit-text-fill-color: currentColor !important;
}
.job-submission-form-block .job-submission-form__description-text .mce-toolbar .mce-ico::before {
    display: block !important;
    width: 20px;
    height: 20px;
    background-position: center;
    background-repeat: no-repeat;
    background-size: 16px 16px;
    content: "" !important;
}
.job-submission-form-block .job-submission-form__description-text .mce-i-bold::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='%2350575e' d='M5 3h5.4c3 0 4.6 1.3 4.6 3.6 0 1.5-.8 2.5-2 3 1.7.5 2.7 1.7 2.7 3.5 0 2.5-1.8 3.9-5 3.9H5V3Zm3 2.5v3h2.1c1.3 0 1.9-.5 1.9-1.5s-.7-1.5-2-1.5H8Zm0 5.4v3.6h2.5c1.4 0 2.1-.6 2.1-1.8s-.7-1.8-2.2-1.8H8Z'/%3E%3C/svg%3E");
}
.job-submission-form-block .job-submission-form__description-text .mce-i-italic::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='%2350575e' d='M8 3h8v2h-2.6L9.6 15H12v2H4v-2h2.6l3.8-10H8V3Z'/%3E%3C/svg%3E");
}
.job-submission-form-block .job-submission-form__description-text .mce-i-bullist::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='%2350575e' d='M3.5 4.5a1.5 1.5 0 1 1 0 3 1.5 1.5 0 0 1 0-3Zm4 .5H17v2H7.5V5Zm-4 4a1.5 1.5 0 1 1 0 3 1.5 1.5 0 0 1 0-3Zm4 .5H17v2H7.5v-2Zm-4 4a1.5 1.5 0 1 1 0 3 1.5 1.5 0 0 1 0-3Zm4 .5H17v2H7.5v-2Z'/%3E%3C/svg%3E");
}
.job-submission-form-block .job-submission-form__description-text .mce-i-numlist::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='%2350575e' d='M3 4h2v4H3.5V5.5H3V4Zm4.5 1H17v2H7.5V5ZM3 9.5h1.5c1.2 0 2 .7 2 1.7 0 .8-.5 1.3-1.2 1.9l-.8.7h2v1.5H3v-1.2l1.4-1.3c.5-.5.7-.8.7-1.1 0-.4-.3-.6-.8-.6H3V9.5Zm4.5 1H17v2H7.5v-2Zm0 4.5H17v2H7.5v-2Z'/%3E%3C/svg%3E");
}
.job-submission-form-block .job-submission-form__description-text .mce-i-link::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%2350575e' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M8.2 12.8 6.8 14.2a3 3 0 0 1-4.2-4.2l3-3a3 3 0 0 1 4.2 0'/%3E%3Cpath d='m11.8 7.2 1.4-1.4a3 3 0 0 1 4.2 4.2l-3 3a3 3 0 0 1-4.2 0M7 10h6'/%3E%3C/svg%3E");
}
.job-submission-form-block .job-submission-form__description-text .mce-i-unlink::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%2350575e' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='m7.8 13-1 1.1a3 3 0 0 1-4.2-4.2l2.2-2.2M12.2 7l1-1.1a3 3 0 0 1 4.2 4.2l-2.2 2.2M7 10h6M3 3l14 14'/%3E%3C/svg%3E");
}
.job-submission-form-block .job-submission-form__description-text .mce-i-undo::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%2350575e' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 5 3 9l4 4'/%3E%3Cpath d='M4 9h7a5 5 0 0 1 5 5v1'/%3E%3C/svg%3E");
}
.job-submission-form-block .job-submission-form__description-text .mce-i-redo::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%2350575e' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m13 5 4 4-4 4'/%3E%3Cpath d='M16 9H9a5 5 0 0 0-5 5v1'/%3E%3C/svg%3E");
}
.job-submission-form__description-text .mce-tinymce,
.job-submission-form__description-text .tox-tinymce {
    overflow: hidden;
    border: 1px solid var(--jsf-border) !important;
    border-radius: 6px;
    box-shadow: none !important;
}
.job-submission-form__description-text .wp-editor-wrap:focus-within .mce-tinymce,
.job-submission-form__description-text .wp-editor-wrap:focus-within .tox-tinymce {
    border-color: var(--jsf-blue) !important;
    box-shadow: 0 0 0 3px rgba(45, 79, 131, .13) !important;
}
.job-submission-form__description-text .mce-toolbar-grp,
.job-submission-form__description-text .tox-editor-header { background: #f8fafc; }
.job-submission-form__description-text .mce-toolbar-grp { border-bottom: 1px solid #e5e7eb; }
.job-submission-form__description-text .mce-btn button { min-height: 30px; }
.job-submission-form__description-text .mce-btn button:focus { outline: 2px solid var(--jsf-blue); outline-offset: -2px; }
.job-submission-form__description-group.has-error .job-submission-form__description-text .mce-tinymce,
.job-submission-form__description-group.has-error .job-submission-form__description-text .tox-tinymce { border-color: var(--jsf-error) !important; }
.job-submission-form__description-divider { display: flex; align-items: center; gap: 14px; margin: 16px 0; color: var(--jsf-muted); font-size: 12px; font-weight: 600; }
.job-submission-form__description-divider::before,
.job-submission-form__description-divider::after { height: 1px; flex: 1; background: #e5e7eb; content: ''; }
.job-submission-form__description-error { display: block; min-height: 18px; padding-top: 6px; color: var(--jsf-error); font-size: 13px; line-height: 1.3; }
.job-submission-form__description-group.has-error .job-submission-form__description-text textarea,
.job-submission-form__description-group.has-error .job-submission-form__upload { border-color: var(--jsf-error); }

.job-submission-form__phone {
    position: relative;
    display: flex;
    width: 100%;
    height: 38px;
    border: 1px solid var(--jsf-border);
    border-radius: 6px;
    background: #fff;
    transition: border-color .2s ease, box-shadow .2s ease;
}
.job-submission-form__phone:focus-within { border-color: var(--jsf-blue); box-shadow: 0 0 0 3px rgba(45, 79, 131, .13); }
.job-submission-form__field.has-error .job-submission-form__phone { border-color: var(--jsf-error); }
.job-submission-form__phone > input[name="phone_number"] {
    min-width: 0;
    height: 36px;
    flex: 1;
    border: 0;
    border-radius: 0 6px 6px 0;
    box-shadow: none;
}
.job-submission-form__phone > input[name="phone_number"]:focus { border: 0; box-shadow: none; }

.job-submission-form__remote-location {
    min-width: 0;
    margin: 0;
    padding: 4px 0 0;
    border: 0;
}
.job-submission-form__remote-location[hidden] { display: none; }
.job-submission-form__remote-location-layout { display: grid; grid-template-columns: minmax(220px, 320px) minmax(0, 1fr); gap: 24px 32px; align-items: start; }
.job-submission-form__remote-location-prompt { margin: 0; color: #344054; font-size: 15px; font-weight: 500; line-height: 1.5; }
.job-submission-form__remote-location-prompt span { margin-left: 2px; color: var(--jsf-error); }
.job-submission-form__radio-options { display: flex; flex-direction: column; gap: 14px; }
.job-submission-form__radio-option { position: relative; display: block !important; margin: 0 !important; cursor: pointer; }
.job-submission-form__radio-option input {
    position: absolute;
    width: 1px !important;
    height: 1px !important;
    margin: -1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    opacity: 0;
}
.job-submission-form__radio-option input + span {
    position: relative;
    display: block;
    min-height: 20px;
    margin: 0;
    padding: 0 0 0 36px;
    color: #101828;
    font: inherit;
    font-size: 15px;
    line-height: 20px;
    cursor: pointer;
}
.job-submission-form__radio-option input + span::before {
    position: absolute;
    top: 0;
    left: 0;
    width: 20px;
    height: 20px;
    border: 1px solid #d0d5dd;
    border-radius: 50%;
    background: #fff;
    content: '';
    transition: border-color .2s ease, box-shadow .2s ease;
}
.job-submission-form__radio-option input + span::after {
    position: absolute;
    top: 6px;
    left: 6px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #fff;
    content: '';
    opacity: 0;
    transition: opacity .2s ease;
}
.job-submission-form__radio-option:hover input + span::before { border-color: var(--jsf-green); }
.job-submission-form__radio-option input:focus-visible + span::before { border-color: var(--jsf-green); box-shadow: 0 0 0 3px rgba(2, 84, 45, .16); }
.job-submission-form__radio-option input:checked + span::before { border: 6px solid var(--jsf-green); }
.job-submission-form__radio-option input:checked + span::after { opacity: 1; }
.job-submission-form__remote-location.has-error .job-submission-form__radio-option input + span::before { border-color: var(--jsf-error); }
.job-submission-form__remote-location > .job-submission-form__error { padding-left: 352px; }

.job-submission-form__custom-select { position: relative; width: 100%; }
.job-submission-form__custom-select.is-open { z-index: 50; }
.job-submission-form__select-trigger {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    min-height: 38px;
    margin: 0;
    padding: 9px 13px;
    border: 1px solid var(--jsf-border);
    border-radius: 6px;
    color: #333;
    background: #fff;
    appearance: none;
    font: inherit;
    font-size: 14px;
    line-height: 18px;
    text-align: left;
    cursor: pointer;
    transition: border-color .2s ease, box-shadow .2s ease;
}
.job-submission-form__select-trigger:hover { border-color: #bbb; }
.job-submission-form__select-trigger:focus,
.job-submission-form__custom-select.is-open .job-submission-form__select-trigger {
    border-color: var(--jsf-blue);
    outline: none;
    box-shadow: 0 0 0 1px var(--jsf-blue);
}
.job-submission-form__select-trigger[aria-invalid="true"] { border-color: var(--jsf-error); }
.job-submission-form__select-value { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.job-submission-form__select-chevron {
    width: 8px;
    height: 8px;
    margin: -4px 2px 0 12px;
    flex: 0 0 8px;
    border-right: 1.5px solid #667085;
    border-bottom: 1.5px solid #667085;
    transform: rotate(45deg);
    transition: transform .2s ease, margin .2s ease;
}
.job-submission-form__custom-select.is-open .job-submission-form__select-chevron { margin-top: 4px; transform: rotate(225deg); }
.job-submission-form__select-menu {
    position: absolute;
    z-index: 60;
    top: calc(100% + 4px);
    right: 0;
    left: 0;
    max-height: 240px;
    margin: 0;
    padding: 4px;
    overflow-y: auto;
    border: 1px solid var(--jsf-border);
    border-radius: 6px;
    background: #fff;
    box-shadow: 0 4px 12px rgba(0, 0, 0, .15);
}
.job-submission-form__select-menu[hidden] { display: none; }
.job-submission-form__select-option {
    display: block;
    width: 100%;
    padding: 10px 12px;
    border: 0;
    border-radius: 4px;
    color: #333;
    background: transparent;
    appearance: none;
    font: inherit;
    font-size: 14px;
    text-align: left;
    cursor: pointer;
}
.job-submission-form__select-option:hover,
.job-submission-form__select-option.is-active { background: #f5f5f5; }
.job-submission-form__select-option.is-selected { color: #fff; background: var(--jsf-blue); font-weight: 600; }
.job-submission-form__select-option.is-selected.is-active { background: #233f69; }
.job-submission-form__custom-select--compact { width: 82px; flex: 0 0 82px; }
.job-submission-form__custom-select--compact .job-submission-form__select-trigger {
    min-height: 36px;
    height: 36px;
    padding: 0 11px;
    border: 0;
    border-right: 1px solid var(--jsf-border);
    border-radius: 6px 0 0 6px;
    box-shadow: none;
}
.job-submission-form__custom-select--compact.is-open .job-submission-form__select-trigger,
.job-submission-form__custom-select--compact .job-submission-form__select-trigger:focus { border-color: var(--jsf-border); box-shadow: none; }
.job-submission-form__custom-select--compact .job-submission-form__select-menu { min-width: 82px; }
.job-submission-form__money { position: relative; }
.job-submission-form__money > span { position: absolute; z-index: 1; top: 50%; left: 16px; color: #667085; transform: translateY(-50%); }
.job-submission-form__money input { padding-left: 34px; }
.job-submission-form__money input[name="compensation_min"],
.job-submission-form__money input[name="compensation_max"] {
    appearance: textfield;
    -moz-appearance: textfield;
}
.job-submission-form__money input[name="compensation_min"]::-webkit-inner-spin-button,
.job-submission-form__money input[name="compensation_min"]::-webkit-outer-spin-button,
.job-submission-form__money input[name="compensation_max"]::-webkit-inner-spin-button,
.job-submission-form__money input[name="compensation_max"]::-webkit-outer-spin-button {
    margin: 0;
    -webkit-appearance: none;
}
.job-submission-form__compensation-help {
    margin: -8px 0 0;
    color: var(--jsf-muted);
    font-size: 13px;
    line-height: 1.45;
}
.job-submission-form__field.has-error .job-submission-form__compensation-help { margin-top: 6px; }

.job-submission-form__autocomplete { z-index: 3; }
.job-submission-form__autocomplete.is-open { z-index: 70; }
.job-submission-form__suggestions {
    position: absolute;
    z-index: 20;
    top: calc(100% - 18px);
    right: 0;
    left: 0;
    max-height: 280px;
    overflow-y: auto;
    border: 1px solid var(--jsf-border);
    border-radius: 7px;
    background: #fff;
    box-shadow: 0 12px 30px rgba(16, 24, 40, .14);
}
.job-submission-form__suggestion {
    display: block;
    width: 100%;
    padding: 12px 16px;
    border: 0;
    border-bottom: 1px solid #eef0f3;
    background: #fff;
    color: var(--jsf-ink);
    font: inherit;
    text-align: left;
    cursor: pointer;
}
.job-submission-form__suggestion:last-child { border-bottom: 0; }
.job-submission-form__suggestion:hover,
.job-submission-form__suggestion.is-active { background: #e3edff; }
.job-submission-form__suggestion-status { padding: 14px 16px; color: var(--jsf-muted); font-size: 14px; }
.job-submission-form__suggestion-status--more { border-top: 1px solid #eef0f3; text-align: center; }
.job-submission-form__suggestion-status.is-loading::before {
    display: inline-block;
    width: 12px;
    height: 12px;
    margin: 0 8px -2px 0;
    border: 2px solid #d7dae0;
    border-top-color: var(--jsf-blue);
    border-radius: 50%;
    content: '';
    animation: job-form-spin .7s linear infinite;
}
@keyframes job-form-spin { to { transform: rotate(360deg); } }

.job-submission-form__file-input {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
}
.job-submission-form__upload-control { position: relative; }
.job-submission-form__upload {
    display: flex !important;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 7px;
    min-height: 190px;
    margin: 0 !important;
    padding: 24px 20px;
    border: 1px dashed #aeb4bf;
    border-radius: 6px;
    background: var(--jsf-surface);
    text-align: center;
    cursor: pointer;
    transition: border-color .2s ease, background-color .2s ease;
}
.job-submission-form__upload[hidden] { display: none !important; }
.job-submission-form__upload:hover,
.job-submission-form__upload:focus-visible,
.job-submission-form__upload.is-dragging { border-color: var(--jsf-blue); background: #f1f5fb; outline: none; }
.job-submission-form__upload:focus-visible { box-shadow: 0 0 0 3px rgba(45, 79, 131, .16); }
.job-submission-form__upload.is-dragging { border-style: solid; }
.job-submission-form__upload-icon { display: grid; width: 46px; height: 46px; margin-bottom: 2px; place-items: center; border-radius: 50%; background: #e3edff; color: var(--jsf-blue); font-size: 24px; }
.job-submission-form__upload strong { color: #1d2939; font-size: 15px; }
.job-submission-form__upload > span:not(.job-submission-form__upload-icon) { color: var(--jsf-muted); font-size: 13px; }
.job-submission-form__upload small { color: var(--jsf-muted); font-size: 12px; font-weight: 400; }
.job-submission-form__choose-file {
    min-height: 36px;
    margin: 3px 0;
    padding: 8px 16px;
    border: 1px solid var(--jsf-blue);
    border-radius: 6px;
    color: #fff;
    background: var(--jsf-blue);
    font: inherit;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
}
.job-submission-form__choose-file:hover { background: #203f70; }
.job-submission-form__choose-file:focus-visible { outline: 3px solid rgba(45, 79, 131, .24); outline-offset: 2px; }
.job-submission-form__file-card {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 14px;
    min-height: 84px;
    padding: 16px;
    border: 1px solid var(--jsf-border);
    border-radius: 6px;
    background: #fff;
}
.job-submission-form__file-card[hidden] { display: none; }
.job-submission-form__file-icon { display: grid; width: 44px; height: 48px; place-items: center; border-radius: 5px; color: var(--jsf-blue); background: #e3edff; font-size: 11px; font-weight: 700; }
.job-submission-form__file-details { min-width: 0; }
.job-submission-form__file-name { display: block; overflow: hidden; color: #1d2939; font-size: 14px; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.job-submission-form__file-meta { display: block; margin-top: 4px; color: var(--jsf-muted); font-size: 12px; }
.job-submission-form__file-actions { display: flex; align-items: center; gap: 8px; }
.job-submission-form__file-actions button { min-height: 34px; padding: 7px 11px; border: 1px solid var(--jsf-border); border-radius: 6px; background: #fff; font: inherit; font-size: 12px; font-weight: 600; cursor: pointer; }
.job-submission-form__file-actions button:hover { border-color: var(--jsf-blue); color: var(--jsf-blue); }
.job-submission-form__file-actions button:focus-visible { outline: 3px solid rgba(45, 79, 131, .2); outline-offset: 1px; }
.job-submission-form__file-actions .job-submission-form__file-remove { color: var(--jsf-error); }

.job-submission-form__agreement { margin: 0 0 24px; }
.job-submission-form__agreement-label {
    display: flex !important;
    align-items: flex-start;
    margin: 0 !important;
    color: #344054;
    font-size: 14px;
    font-weight: 400 !important;
    line-height: 1.55;
    cursor: pointer;
}
.job-submission-form__agreement-label input {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
}
.job-submission-form__agreement-label .job-submission-form__agreement-copy {
    position: relative;
    display: block;
    margin: 0;
    padding: 0 0 0 28px;
    color: #344054;
    font: inherit;
    line-height: 1.55;
}
.job-submission-form__agreement-label .job-submission-form__agreement-copy::before {
    position: absolute;
    top: 2px;
    left: 0;
    display: block;
    width: 16px;
    height: 16px;
    border: 1px solid #d1d5db;
    border-radius: 4px;
    background: #fff;
    content: '';
    transition: border-color .2s ease, background-color .2s ease, box-shadow .2s ease;
}
.job-submission-form__agreement-label .job-submission-form__agreement-copy::after {
    position: absolute;
    top: 4px;
    left: 6px;
    display: block;
    width: 5px;
    height: 9px;
    border: solid #fff;
    border-width: 0 2px 2px 0;
    background: none;
    content: '';
    opacity: 0;
    transform: rotate(45deg);
    transition: opacity .2s ease;
}
.job-submission-form__agreement-label:hover .job-submission-form__agreement-copy::before { border-color: var(--jsf-blue); }
.job-submission-form__agreement-label input:focus-visible + .job-submission-form__agreement-copy::before { border-color: var(--jsf-blue); box-shadow: 0 0 0 3px rgba(45, 79, 131, .2); }
.job-submission-form__agreement-label input:checked + .job-submission-form__agreement-copy::before { border-color: var(--jsf-blue); background: var(--jsf-blue); }
.job-submission-form__agreement-label input:checked + .job-submission-form__agreement-copy::after { opacity: 1; }
.job-submission-form__agreement-label input:disabled + .job-submission-form__agreement-copy { color: #98a2b3; cursor: not-allowed; }
.job-submission-form__agreement-label input:disabled + .job-submission-form__agreement-copy::before { border-color: #d0d5dd; background: #f2f4f7; }
.job-submission-form__agreement-label a { color: var(--jsf-blue); text-decoration: underline; text-underline-offset: 2px; }
.job-submission-form__agreement-label a:hover { text-decoration-thickness: 2px; }
.job-submission-form__agreement-label a:focus-visible { border-radius: 2px; outline: 2px solid var(--jsf-blue); outline-offset: 2px; }
.job-submission-form__agreement.has-error .job-submission-form__agreement-copy::before { border-color: var(--jsf-error); }

.job-submission-form__form-error { margin: 0 0 24px; padding: 14px 16px; border: 1px solid #fda29b; border-radius: 7px; background: #fef3f2; color: var(--jsf-error); font-size: 14px; }
.job-submission-form__actions { display: flex; align-items: center; justify-content: flex-end; gap: 24px; padding-top: 8px; }
.job-submission-form__submit {
    min-width: 230px;
    min-height: 54px;
    padding: 14px 28px;
    border: 1px solid var(--jsf-blue);
    border-radius: 7px;
    background: var(--jsf-blue);
    color: #fff;
    font: inherit;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    transition: background-color .2s ease, transform .2s ease, opacity .2s ease;
}
.job-submission-form__submit:hover { background: #203f70; transform: translateY(-1px); }
.job-submission-form__submit:focus-visible { outline: 3px solid rgba(45, 79, 131, .28); outline-offset: 3px; }
.job-submission-form__submit:disabled { cursor: wait; opacity: .7; transform: none; }

.job-submission-form-block__success {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: -24px 0 24px;
    padding: 14px 16px;
    border: 1px solid #a6d9bd;
    border-radius: 6px;
    background: #effaf4;
    outline: none;
}
.job-submission-form-block__success[hidden] { display: none; }
.job-submission-form-block__success:focus-visible { box-shadow: 0 0 0 3px rgba(2, 84, 45, .16); }
.job-submission-form-block__success-icon { display: grid; width: 30px; height: 30px; flex: 0 0 30px; place-items: center; border-radius: 50%; background: var(--jsf-green); color: #fff; font-size: 16px; font-weight: 700; }
.job-submission-form-block__success p { margin: 0; color: var(--jsf-green); font-size: 14px; font-weight: 600; line-height: 1.45; }

@media (max-width: 900px) {
    .job-submission-form-block { padding: 64px 0; }
    .job-submission-form-block__shell { padding: 44px 36px 50px; }
}

@media (max-width: 680px) {
    .job-submission-form-block { padding: 42px 0; }
    .job-submission-form-block__shell { padding: 34px 20px 38px; border-radius: 10px; }
    .job-submission-form-block__header { margin-bottom: 36px; }
    .job-submission-form-block__header p { font-size: 16px; }
    .job-submission-form__grid { grid-template-columns: minmax(0, 1fr); gap: 18px; }
    .job-submission-form__remote-location-layout { grid-template-columns: minmax(0, 1fr); gap: 16px; }
    .job-submission-form__remote-location > .job-submission-form__error { padding-left: 0; }
    .job-submission-form__field--full { grid-column: auto; }
    .job-submission-form__section { padding-bottom: 34px; }
    .job-submission-form__section + .job-submission-form__section { padding-top: 32px; }
    .job-submission-form__upload { min-height: 175px; }
    .job-submission-form__file-card { grid-template-columns: auto minmax(0, 1fr); }
    .job-submission-form__file-actions { grid-column: 1 / -1; justify-content: flex-end; }
    .job-submission-form__actions { align-items: stretch; flex-direction: column-reverse; }
    .job-submission-form__submit { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
    .job-submission-form-block * { scroll-behavior: auto !important; transition: none !important; }
    .job-submission-form__suggestion-status.is-loading::before { animation: none; }
}