/* ngciglobal.com careers: job board, job pages and apply form (loaded on /careers/ pages only).
   Built on the navy/teal tokens of ngci-ds.css and navy-teal.css. */
.jb-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.4rem 1.5rem;margin-bottom:1rem}
.jb-head h2{margin:0}
.jb-count{margin:0;font:600 16px/1.4 var(--ds-body);color:var(--ds-text)}
.jb-count b{font-family:var(--ds-display);font-size:20px;color:var(--ds-ink)}

/* filters */
.jb-filters{display:grid;gap:12px;align-items:end;
  background:var(--ds-surface-2);border:1px solid var(--ds-line);border-radius:var(--ds-r-lg);padding:16px;margin:0 0 20px}
.jb-filters[hidden]{display:none}
.jb-f{display:flex;flex-direction:column;gap:6px;min-width:0}
.jb-f label{font:600 13.5px/1.2 var(--ds-body);color:var(--ds-ink)}
.jb-f input,.jb-f select{min-height:48px;width:100%;padding:0 12px;border:1.5px solid #8FA4AA;border-radius:10px;background:#fff;color:var(--ds-ink);font:400 16px/1.2 var(--ds-body)}
.jb-f input:focus,.jb-f select:focus{outline:none;border-color:var(--ds-teal-deep);box-shadow:0 0 0 3px rgba(11,116,101,.25)}
.jb-f--btn .btn{min-height:48px;white-space:nowrap;padding:0 18px}
/* row 1: keyword + clear; row 2: the five selects */
.jb-filters{grid-template-columns:repeat(5,minmax(0,1fr))}
.jb-f--q{grid-column:span 4}
.jb-f--btn .btn{width:100%}
@media (max-width:1000px){.jb-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.jb-f--q{grid-column:span 2}}
@media (max-width:640px){.jb-filters{grid-template-columns:minmax(0,1fr) minmax(0,1fr);padding:14px;gap:10px}.jb-f--q{grid-column:1/-1}.jb-f--btn{grid-column:1/-1}}

/* results */
.jb-list{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.jb-item[hidden]{display:none}
.jb-card{display:flex;align-items:center;gap:16px 24px;background:#fff;border:1px solid var(--ds-line);border-radius:var(--ds-r-lg);padding:20px 22px;transition:border-color .18s,box-shadow .18s}
.jb-card:hover{border-color:#9DCFC6;box-shadow:0 8px 24px rgba(16,28,52,.08)}
.jb-card-main{flex:1;min-width:0}
.jb-title{margin:0 0 6px;font:700 clamp(18px,1.6vw,21px)/1.25 var(--ds-display);letter-spacing:-.01em}
.jb-title a{color:var(--ds-ink);text-decoration:none}
.jb-title a:hover{color:var(--ds-teal-deeper);text-decoration:underline;text-underline-offset:3px}
.jb-meta{display:flex;flex-wrap:wrap;gap:4px 18px;margin:8px 0 0;font-size:15px;color:var(--ds-text)}
.jb-meta div{display:flex;gap:6px;min-width:0}
.jb-meta dt{font:600 12px/1.6 var(--ds-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--ds-muted)}
.jb-meta dd{margin:0;line-height:1.45}
.jb-view{flex:none;min-height:44px;padding:0 18px}
.jb-badges{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 2px}
.jb-badge{display:inline-flex;align-items:center;font:600 12px/1 var(--ds-mono);letter-spacing:.04em;text-transform:uppercase;padding:6px 9px;border-radius:6px;
  background:var(--ds-surface);color:var(--ds-teal-deeper);border:1px solid #BFE3DD}
.jb-badge--award{background:#FFF7E0;color:#5C4300;border-color:#EAD38A}
@media (max-width:720px){.jb-card{flex-direction:column;align-items:stretch;padding:18px}.jb-view{justify-content:center}}

.jb-empty{border:1.5px dashed #9DB3B8;border-radius:var(--ds-r-lg);padding:28px 22px;text-align:center;background:var(--ds-surface-2)}
.jb-empty[hidden]{display:none}
.jb-empty h3{margin:0 0 6px}
.jb-empty p{margin:0 auto 16px;max-width:52ch;color:var(--ds-text)}
.jb-empty .btn-row{justify-content:center}
.jb-general{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px;margin-top:20px;padding:20px 22px;
  border-radius:var(--ds-r-lg);background:var(--ds-navy);color:#fff}
.jb-general[hidden]{display:none}
.jb-general h3{margin:0 0 4px;color:#fff}
.jb-general p{margin:0;color:var(--ds-on-navy-muted)}
.jb-general .btn-primary{background:#7DE3CF;color:#101C34}
.jb-general .btn-primary:hover{background:#A6EEDF}
.jb-general a:focus-visible{box-shadow:var(--ds-focus-dark)}

/* job page */
.jb-detail{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:start}
.jb-detail-side{display:grid;gap:16px}
.jb-detail-side .note{margin:0}
.jb-glance dl{margin:.4rem 0 0;display:grid;gap:10px}
.jb-glance dt{font:600 12px/1.4 var(--ds-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--ds-muted)}
.jb-glance dd{margin:2px 0 0;color:var(--ds-ink);font-size:15.5px}
.jb-award{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:0 0 1.6rem;padding:14px 16px;border-radius:12px;background:#FFFBEF;border:1px solid #EAD38A;color:#3D2E00;font-size:15px}
@media (max-width:900px){.jb-detail{grid-template-columns:minmax(0,1fr)}}

/* apply */
.jb-apply-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:start;margin-top:1.4rem}
.jb-side{display:grid;gap:16px}
.jb-side .note{margin:0}
@media (max-width:900px){.jb-apply-grid{grid-template-columns:minmax(0,1fr)}}
.jb-form{max-width:none}
.jb-form[hidden]{display:none}
.jb-applying{margin:0;padding:12px 14px;border-radius:10px;background:var(--ds-surface);color:var(--ds-ink);font-size:15.5px}
.jb-req{font:600 12.5px/1 var(--ds-mono);color:var(--ds-teal-deeper);margin-left:6px;white-space:nowrap}
.jb-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.jb-err{margin:0;min-height:0;font-size:14px;font-weight:600;color:#B3261E}
.jb-err:empty{display:none}
.field [aria-invalid=true]{border-color:#B3261E!important}
.field input[type=file]{padding:10px;min-height:52px;background:#fff;cursor:pointer}
.jb-resume-note,.jb-privacy{padding:12px 14px;border-radius:10px;font-size:14.5px;line-height:1.5;color:var(--ds-text);background:#fff;border:1px solid var(--ds-line)}
.jb-resume-note{border-left:4px solid var(--ds-teal-deep)}
.consent{font-size:15px;color:var(--ds-text)}
.jb-result{border-radius:var(--ds-r-lg);padding:24px;border:1px solid var(--ds-line);background:#fff}
.jb-result[hidden]{display:none}
.jb-result:focus{outline:none;box-shadow:var(--ds-focus)}
.jb-result h3{margin:0 0 8px}
.jb-result p{margin:0 0 12px;color:var(--ds-text)}
.jb-result.ok{border-color:#8FD3C5;background:#F1FBF8}
.jb-result.err{border-color:#E3A29C;background:#FFF5F4}
.jb-result.err h3{color:#8C1D18}
