
/* ===== Openings + Apply two-column (vjx-) ===== */
.vjx-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:clamp(28px,3.5vw,56px);align-items:start}
@media(max-width:1020px){.vjx-grid{grid-template-columns:1fr}}
.vjx-left .vpg-jobs{margin-top:34px}
.vjx-right{position:sticky;top:110px}
@media(max-width:1020px){.vjx-right{position:static}}
.vjx .vpg-job{border-radius:4px;transition:box-shadow .25s,border-color .25s}
.vjx .vpg-job:hover{border-color:var(--line-2)}
.vjx .vpg-job>button{padding:20px 24px;transition:background .25s,color .25s}
.vjx .vpg-job>button h3{font-size:16.5px;transition:color .25s}
.vjx .vpg-job.open>button{background:var(--dark)}
.vjx .vpg-job.open>button h3,.vjx .vpg-job.open>button .meta,.vjx .vpg-job.open>button .ic{color:#fff}
.vjx .vpg-job.open{box-shadow:0 14px 34px rgba(16,76,141,.14)}
.vjx .vpg-job .ic{transition:transform .3s ease}
.vjx .vpg-job.open .ic{transform:rotate(180deg)}
.vjx .vpg-job .body-in{animation:vjxFade .45s ease}
@keyframes vjxFade{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.vjx .vaf-card{margin-top:34px}
@media(prefers-reduced-motion:reduce){.vjx .vpg-job .body-in{animation:none}}

@media(max-width:560px){
    .vjx-grid {
        grid-template-columns: 1fr;
        display: block;
    }
}