/* ============================================================================
   Careers — vacancy listing, vacancy detail and the application flow
   ========================================================================== */

.jobs{display:grid;gap:clamp(26px,4vw,44px);align-items:start}
@media(min-width:940px){.jobs{grid-template-columns:280px 1fr}}
.jobs__filters{position:sticky;top:100px}
@media(max-width:939px){.jobs__filters{position:static}}
.jobs__head{display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between;margin-bottom:22px}
.jobs__list{display:grid;gap:18px}
@media(min-width:1200px){.jobs__list{grid-template-columns:1fr 1fr}}

.filter-group{margin-bottom:22px}
.filter-list{display:grid;gap:2px}
.filter-list label{
  display:flex;align-items:center;gap:9px;padding:7px 9px;border-radius:6px;
  font-size:14px;cursor:pointer;color:var(--ink-soft);transition:.15s;
}
.filter-list label:hover{background:var(--paper-2);color:var(--ink)}
.filter-list input{accent-color:var(--moss);margin:0}
.filter-list .count{margin-left:auto;font-size:12px;color:var(--ink-faint)}
.filter-list label:has(input:checked){color:var(--moss-deep);font-weight:500;background:var(--moss-tint)}

.job-empty{
  border:1px dashed var(--line);border-radius:12px;padding:40px 30px;text-align:center;
  grid-column:1/-1;
}
.job-empty h3{font-size:1.3rem;margin-bottom:10px}
.job-empty p{color:var(--ink-soft);margin:0 auto 20px;max-width:44ch;font-size:15px}

/* -------------------------------------------------------- vacancy page */
.vac-meta{display:grid;gap:1px;background:var(--line);border:1px solid var(--line);margin-top:30px}
@media(min-width:640px){.vac-meta{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1000px){.vac-meta{grid-template-columns:repeat(4,1fr)}}
.vac-meta__item{background:var(--paper);padding:20px 22px}
.vac-meta__item span{font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-faint);display:block;margin-bottom:8px}
.vac-meta__item b{font-family:var(--display);font-size:1.25rem;font-weight:300;letter-spacing:-.02em;line-height:1.2;display:block}
.vac-side{display:grid;gap:18px;align-content:start}
@media(min-width:980px){.vac-side{position:sticky;top:100px}}
.vac-apply{background:var(--moss-deep);color:var(--on-dark);border-radius:12px;padding:26px 24px}
.vac-apply .eyebrow{color:var(--amber)}
.vac-apply b{font-family:var(--display);font-size:1.9rem;font-weight:300;display:block;margin:10px 0 4px;letter-spacing:-.02em}
.vac-apply p{color:rgba(241,237,228,.76);font-size:13.5px;margin:0 0 18px}

/* ---------------------------------------------------- application flow */
.apply{display:grid;gap:clamp(26px,4vw,48px);align-items:start}
@media(min-width:980px){.apply{grid-template-columns:1fr 320px}}

.apply-steps{display:flex;gap:6px;margin-bottom:32px;flex-wrap:wrap}
.apply-steps__item{
  flex:1 1 120px;padding-top:12px;border-top:2px solid var(--line);
  font-size:12px;color:var(--ink-faint);transition:.25s;
}
.apply-steps__item b{display:block;font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:500;margin-bottom:3px}
.apply-steps__item.is-done{border-top-color:var(--moss);color:var(--moss)}
.apply-steps__item.is-current{border-top-color:var(--apricot);color:var(--ink)}
.apply-steps__item.is-current b{color:var(--apricot-deep)}

.apply-panel{display:none}
.apply-panel.is-active{display:block}
.apply-panel h2{font-size:clamp(1.5rem,3vw,2.1rem);margin-bottom:8px}
.apply-panel > p.intro{color:var(--ink-soft);margin:0 0 26px;font-size:15.5px;max-width:56ch}
.apply-nav{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px;padding-top:24px;border-top:1px solid var(--line)}
.apply-nav .btn{min-width:150px}

.apply-summary{background:var(--paper-2);border-radius:10px;padding:22px 20px}
.apply-summary h3{font-size:1.1rem;margin-bottom:14px}
.apply-summary dl{display:grid;gap:10px;margin:0;font-size:14px}
.apply-summary dt{color:var(--ink-faint);font-size:12px;letter-spacing:.12em;text-transform:uppercase}
.apply-summary dd{margin:2px 0 0;color:var(--ink)}

.filedrop{
  border:1px dashed var(--line);border-radius:10px;padding:26px 22px;text-align:center;
  background:var(--paper);cursor:pointer;transition:.2s;
}
.filedrop:hover,.filedrop.is-over{border-color:var(--moss);background:var(--moss-tint)}
.filedrop input{display:none}
.filedrop b{display:block;font-weight:500;margin-bottom:5px}
.filedrop small{color:var(--ink-faint);font-size:13px}
.filedrop.has-file{border-style:solid;border-color:var(--moss);background:var(--moss-tint);text-align:left}
.filedrop .filename{font-weight:500;color:var(--moss-deep);word-break:break-all}
