.corpeduff-jobs {
    --corpeduff-jobs-blue: #0d76a7;
    --corpeduff-jobs-text: #777777;
    --corpeduff-jobs-line: #aab2b5;
    --corpeduff-jobs-panel: #f1f9fd;
    --corpeduff-jobs-control: #e5f4f9;
    --corpeduff-jobs-max: 1006px;

    background: #ffffff;
    color: var(--corpeduff-jobs-text);
    font-family: var(--corpeduff-font-family);
    width: 100%;
}

.corpeduff-jobs__intro {
    box-sizing: border-box;
    display: grid;
    grid-template-columns: minmax(220px, 330px) 1fr;
    align-items: center;
    column-gap: 34px;
    width: min(100%, var(--corpeduff-jobs-max));
    min-height: 250px;
    margin: 0 auto;
    padding: 58px 100px 64px;
}

.corpeduff-jobs__title {
    color: var(--corpeduff-jobs-blue);
    font-size: clamp(2.35rem, 4vw, 3.15rem);
    font-weight: 700;
    line-height: 1.05;
    margin: 0;
    text-align: right;
}

.corpeduff-jobs__lead {
    font-size: clamp(1.25rem, 2.2vw, 1.75rem);
    font-weight: 300;
    line-height: 1.25;
    margin: 0;
}

.corpeduff-jobs__form-band {
    background: var(--corpeduff-jobs-panel);
    box-sizing: border-box;
    width: 100vw;
    margin-left: calc(50% - 50vw);
}

.corpeduff-jobs__form-inner {
    box-sizing: border-box;
    width: min(100%, var(--corpeduff-jobs-max));
    margin: 0 auto;
    padding: 24px 58px 42px;
}

.corpeduff-jobs__notice {
    border-left: 4px solid var(--corpeduff-jobs-blue);
    margin: 0 0 24px;
    padding: 12px 16px;
}

.corpeduff-jobs__notice--success {
    background: #e1f3e9;
    color: #28633f;
}

.corpeduff-jobs__notice--error {
    background: #fbe8e8;
    border-left-color: #a84242;
    color: #8a3030;
}

.corpeduff-jobs-form {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 18px 0;
}

.corpeduff-jobs-form__field {
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    grid-column: span 2;
    min-width: 0;
}

.corpeduff-jobs-form__field--wide {
    grid-column: span 3;
}

.corpeduff-jobs-form__field--wide + .corpeduff-jobs-form__field {
    grid-column: span 3;
}

.corpeduff-jobs-form__field--position {
    grid-column: span 3;
}

.corpeduff-jobs-form__field--position + .corpeduff-jobs-form__field {
    grid-column: span 3;
}

.corpeduff-jobs-form__field--cv {
    grid-column: span 3;
}

.corpeduff-jobs-form__field > span {
    border-bottom: 1px solid var(--corpeduff-jobs-line);
    color: #8e969a;
    font-size: 0.82rem;
    font-weight: 300;
    line-height: 1.2;
    min-height: 20px;
    padding: 0 8px 4px;
    text-transform: uppercase;
}

.corpeduff-jobs-form input,
.corpeduff-jobs-form select {
    appearance: none;
    background-color: transparent;
    border: 0;
    border-radius: 0;
    box-sizing: border-box;
    color: #626b6f;
    font: inherit;
    height: 40px;
    min-width: 0;
    outline: 0;
    padding: 7px 10px;
    width: 100%;
}

.corpeduff-jobs-form select {
    background-color: var(--corpeduff-jobs-control);
    background-image: linear-gradient(45deg, transparent 50%, var(--corpeduff-jobs-blue) 50%), linear-gradient(135deg, var(--corpeduff-jobs-blue) 50%, transparent 50%);
    background-position: calc(100% - 18px) 17px, calc(100% - 11px) 17px;
    background-repeat: no-repeat;
    background-size: 8px 8px, 8px 8px;
    padding-right: 34px;
}

.corpeduff-jobs-form input:focus-visible,
.corpeduff-jobs-form select:focus-visible {
    box-shadow: inset 0 0 0 2px var(--corpeduff-jobs-blue);
}

.corpeduff-jobs-form input[type="file"] {
    background: #aeb0b2;
    color: #ffffff;
    cursor: pointer;
    font-size: 0.8rem;
    padding: 8px;
}

.corpeduff-jobs-form input[type="file"]::file-selector-button {
    background: transparent;
    border: 0;
    color: #ffffff;
    cursor: pointer;
    font: inherit;
    margin-right: 12px;
    text-transform: uppercase;
}

.corpeduff-jobs-form__submit {
    align-self: end;
    background: var(--corpeduff-jobs-blue);
    border: 0;
    border-radius: 0;
    color: #ffffff;
    cursor: pointer;
    font-size: 1.35rem;
    font-weight: 300;
    grid-column: span 2;
    height: 40px;
    text-transform: uppercase;
}

.corpeduff-jobs-form__submit:hover,
.corpeduff-jobs-form__submit:focus-visible {
    background: #075d86;
}

@media (max-width: 780px) {
    .corpeduff-jobs__intro {
        grid-template-columns: 1fr;
        gap: 20px;
        min-height: 0;
        padding: 58px 28px;
    }

    .corpeduff-jobs__title {
        text-align: left;
    }

    .corpeduff-jobs__form-inner {
        padding: 30px 28px 40px;
    }

    .corpeduff-jobs-form {
        grid-template-columns: 1fr 1fr;
        gap: 20px 12px;
    }

    .corpeduff-jobs-form__field,
    .corpeduff-jobs-form__field--wide,
    .corpeduff-jobs-form__field--wide + .corpeduff-jobs-form__field,
    .corpeduff-jobs-form__field--position,
    .corpeduff-jobs-form__field--position + .corpeduff-jobs-form__field,
    .corpeduff-jobs-form__field--cv {
        grid-column: span 1;
    }

    .corpeduff-jobs-form__submit {
        grid-column: span 1;
    }
}

@media (max-width: 520px) {
    .corpeduff-jobs-form {
        grid-template-columns: 1fr;
    }

    .corpeduff-jobs-form__field,
    .corpeduff-jobs-form__field--wide,
    .corpeduff-jobs-form__field--wide + .corpeduff-jobs-form__field,
    .corpeduff-jobs-form__field--position,
    .corpeduff-jobs-form__field--position + .corpeduff-jobs-form__field,
    .corpeduff-jobs-form__field--cv,
    .corpeduff-jobs-form__submit {
        grid-column: 1;
    }
}
