.job-hero{
    padding:104px 0 92px;
    background:
            radial-gradient(circle at 82% 18%, rgba(91,156,255,.18), transparent 26rem),
            linear-gradient(135deg, #ffffff, #f5f8fc);
    border-bottom:1px solid var(--line);
}

.job-hero-layout{
    display:grid;
    grid-template-columns:minmax(0, 1.1fr) minmax(360px, .55fr);
    gap:48px;
    align-items:center;
}

.job-hero-copy small,
.job-panel small,
.job-form-copy small{
    display:block;
    margin-bottom:18px;
    color:var(--blue);
    font-size:14px;
    font-weight:800;
    letter-spacing:.32em;
    text-transform:uppercase;
}

.job-hero-copy h1{
    margin:0 0 24px;
    max-width:850px;
    color:var(--navy-2);
    font-size:clamp(3rem, 5vw, 5.4rem);
    line-height:1;
    letter-spacing:-.06em;
    font-weight:900;
    text-wrap:balance;
}

.job-hero-copy p{
    margin:0 0 34px;
    max-width:760px;
    color:var(--muted);
    font-size:clamp(1.08rem, 1.35vw, 1.38rem);
    line-height:1.65;
}

.job-hero-actions{
    display:flex;
    gap:14px;
    flex-wrap:wrap;
}

.job-hero-actions .btn,
.form-submit{
    min-height:52px;
    padding:0 26px;
    font-size:15px;
    font-weight:800;
}

.btn-primary{
    background:var(--navy);
    color:#ffffff;
}

.btn-secondary{
    border-color:rgba(23,32,51,.18);
    background:#ffffff;
    color:var(--navy-2);
}

.job-hero-card{
    padding:30px;
    border-radius:28px;
    background:linear-gradient(135deg, var(--navy), #18315e);
    box-shadow:var(--shadow);
    color:#ffffff;
}

.job-hero-card h2{
    margin:0 0 24px;
    color:#ffffff;
    font-size:clamp(1.8rem, 2.2vw, 2.6rem);
    line-height:1.05;
    letter-spacing:-.045em;
}

.job-steps{
    display:grid;
    gap:16px;
}

.job-steps div{
    display:flex;
    gap:14px;
    align-items:flex-start;
    padding:18px;
    border:1px solid rgba(255,255,255,.14);
    border-radius:18px;
    background:rgba(255,255,255,.06);
}

.job-steps strong{
    color:var(--blue-soft);
    line-height:1;
}

.job-steps span{
    color:rgba(255,255,255,.78);
    line-height:1.55;
}

.job-section,
.job-form-section{
    padding:86px 0;
}

.section-head{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:40px;
    margin-bottom:34px;
}

.section-head h2{
    margin:0;
    max-width:760px;
    color:var(--navy-2);
    font-size:clamp(2.25rem, 3.2vw, 3.6rem);
    line-height:1.02;
    letter-spacing:-.05em;
    font-weight:900;
}

.section-head p{
    margin:0;
    max-width:54ch;
    color:var(--muted);
    font-size:17px;
    line-height:1.65;
}

.job-grid{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:22px;
}

.job-card,
.job-panel,
.job-form{
    background:#ffffff;
    border:1px solid var(--line);
    border-radius:24px;
    box-shadow:var(--shadow);
}

.job-card{
    min-height:290px;
    padding:30px;
    transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.job-card:hover{
    transform:translateY(-4px);
    border-color:#d3dae5;
    box-shadow:0 22px 55px rgba(14,27,45,.11);
}

.card-number{
    width:48px;
    height:48px;
    display:grid;
    place-items:center;
    margin-bottom:20px;
    border-radius:14px;
    color:var(--navy-2);
    background:linear-gradient(135deg, rgba(47,128,237,.12), rgba(47,128,237,.04));
    border:1px solid rgba(47,128,237,.12);
    font-weight:800;
}

.job-card h3,
.job-panel h3{
    margin:0 0 12px;
    color:var(--navy-2);
    font-size:24px;
    line-height:1.12;
    letter-spacing:-.035em;
    font-weight:850;
}

.job-card p,
.job-panel p{
    margin:0;
    color:var(--muted);
    line-height:1.65;
}

.job-split-section{
    padding:90px 0;
    background:#ffffff;
}

.job-split{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:22px;
}

.job-panel{
    padding:36px;
}

.job-panel.dark{
    color:#ffffff;
    background:
            radial-gradient(circle at 86% 22%, rgba(91,156,255,.18), transparent 20rem),
            linear-gradient(135deg, var(--navy), #18315e);
}

.job-panel.dark h2{
    margin:0 0 18px;
    color:#ffffff;
    font-size:clamp(2rem, 3.2vw, 3.5rem);
    line-height:1.04;
    letter-spacing:-.05em;
}

.job-panel.dark p{
    color:rgba(255,255,255,.78);
}

.job-checklist{
    display:grid;
    gap:13px;
    color:#304150;
    line-height:1.65;
}

.job-checklist div{
    display:flex;
    gap:10px;
}

.job-checklist span:first-child{
    color:var(--blue);
    font-weight:900;
}

.job-form-layout{
    display:grid;
    grid-template-columns:minmax(0, .75fr) minmax(520px, 1fr);
    gap:42px;
    align-items:start;
}

.job-form-copy h2{
    margin:0 0 18px;
    color:var(--navy-2);
    font-size:clamp(2.4rem, 3.8vw, 4.25rem);
    line-height:1.02;
    letter-spacing:-.055em;
    font-weight:900;
}

.job-form-copy p{
    margin:0;
    color:var(--muted);
    font-size:18px;
    line-height:1.65;
}

.job-form{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:18px;
    padding:30px;
}

.job-form label{
    display:grid;
    gap:8px;
    color:var(--navy-2);
    font-weight:800;
    font-size:14px;
}

.job-form label.full{
    grid-column:1 / -1;
}

.job-form input,
.job-form textarea{
    width:100%;
    border:1px solid var(--line);
    border-radius:14px;
    padding:14px 16px;
    color:var(--text);
    background:#ffffff;
    font:inherit;
    outline:none;
    transition:border-color .2s ease, box-shadow .2s ease;
}

.job-form textarea{
    resize:vertical;
}

.job-form input:focus,
.job-form textarea:focus{
    border-color:rgba(47,128,237,.55);
    box-shadow:0 0 0 4px rgba(47,128,237,.12);
}

.form-submit{
    grid-column:1 / -1;
    width:max-content;
    border:0;
    background:var(--navy);
    color:#ffffff;
    cursor:pointer;
}

@media (max-width:980px){
    .job-hero-layout,
    .job-grid,
    .job-split,
    .job-form-layout{
        grid-template-columns:1fr;
    }

    .job-form-layout{
        gap:28px;
    }
}

@media (max-width:640px){
    .job-hero{
        padding:82px 0 64px;
    }

    .job-form{
        grid-template-columns:1fr;
        padding:24px;
    }

    .form-submit{
        width:100%;
    }
}