/* JJT Careers System */
.career-job-page{background:#f6f8fb;color:#0b1830}
.career-job-hero{position:relative;min-height:560px;padding:150px 0 80px;color:#fff;overflow:hidden;background:#030a18}
.career-job-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,9,22,.97) 0%,rgba(4,13,31,.9) 48%,rgba(4,12,29,.52) 100%),url('/assets/generated/jjt-cloud.webp') center/cover no-repeat;filter:saturate(.8)}
.career-job-hero:after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(86,114,183,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(86,114,183,.08) 1px,transparent 1px);background-size:58px 58px;mask-image:linear-gradient(to bottom,#000,transparent 95%)}
.career-job-hero .container{position:relative;z-index:2}
.career-job-breadcrumb{display:flex;gap:8px;align-items:center;margin-bottom:32px;color:#9db0cc;font:800 10px/1.2 Consolas,monospace;letter-spacing:.13em;text-transform:uppercase}
.career-job-breadcrumb a{color:#fff}
.career-job-kicker{display:flex;gap:10px;align-items:center;color:#b9c7dd;font-size:11px;font-weight:850;letter-spacing:.16em;text-transform:uppercase}
.career-job-kicker:before{content:"";width:34px;height:2px;background:linear-gradient(90deg,#ff1720,#315dff)}
.career-job-hero h1{max-width:950px;margin:18px 0 22px;font-size:clamp(46px,6vw,78px);line-height:.98;letter-spacing:-.055em;color:#fff}
.career-job-hero .career-job-purpose{max-width:830px;font-size:18px;line-height:1.7;color:#c9d5e6}
.career-job-meta{display:flex;flex-wrap:wrap;gap:10px;margin-top:32px}
.career-job-meta span{display:grid;gap:5px;min-width:150px;padding:13px 16px;border:1px solid rgba(255,255,255,.14);background:rgba(8,22,48,.55);backdrop-filter:blur(8px)}
.career-job-meta small{color:#8fa2c0;font:800 8px/1 Consolas,monospace;letter-spacing:.15em;text-transform:uppercase}
.career-job-meta strong{font-size:13px;color:#fff}
.career-job-body{padding:88px 0 110px;background:linear-gradient(180deg,#f7f9fc,#fff)}
.career-job-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,430px);gap:56px;align-items:start}
.career-job-content{display:grid;gap:42px}
.career-job-section{padding:34px 36px;background:#fff;border:1px solid #dde5ef;box-shadow:0 14px 40px rgba(15,35,72,.05)}
.career-job-section .section-kicker{margin-bottom:12px}
.career-job-section h2{margin:0 0 22px;font-size:clamp(30px,3vw,40px);letter-spacing:-.04em}
.career-responsibilities{list-style:none;margin:0;padding:0;display:grid;gap:0}
.career-responsibilities li{position:relative;padding:16px 4px 16px 38px;border-top:1px solid #e6ebf1;color:#41546d;font-size:15px;line-height:1.65}
.career-responsibilities li:first-child{border-top:0}
.career-responsibilities li:before{content:"";position:absolute;left:4px;top:23px;width:17px;height:2px;background:linear-gradient(90deg,#ff1720,#315dff)}
.career-qualifications{margin:0;color:#40536b;font-size:15.5px;line-height:1.8}
.career-apply-wrap{position:sticky;top:100px}
.career-apply-card{padding:28px;background:#07152e;color:#fff;border:1px solid rgba(115,144,211,.22);box-shadow:0 28px 70px rgba(7,21,46,.18);position:relative;overflow:hidden}
.career-apply-card:before{content:"";position:absolute;left:0;top:0;width:46%;height:3px;background:linear-gradient(90deg,#ff1720,#315dff)}
.career-apply-card h2{margin:8px 0 7px;font-size:27px;color:#fff}
.career-apply-card>p{margin:0 0 22px;color:#aebdd2;font-size:16px;line-height:1.65}
.career-apply-form{display:grid;gap:13px}
.career-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.career-field{display:grid;gap:6px}
.career-field.full{grid-column:1/-1}
.career-field label{color:#b8c6da;font-size:13px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.career-field input,.career-field select,.career-field textarea{width:100%;min-height:45px;padding:11px 12px;border:1px solid rgba(154,176,218,.22);background:#0b1d3d;color:#fff;border-radius:0;outline:none;font:inherit;font-size:13px}
.career-field textarea{min-height:100px;resize:vertical}
.career-field input:focus,.career-field select:focus,.career-field textarea:focus{border-color:#557cff;box-shadow:0 0 0 2px rgba(85,124,255,.12)}
.career-field input[type=file]{padding:9px;font-size:11px}
.career-field small{color:#8398b7;font-size:13px;line-height:1.4}
.career-consent{display:flex;gap:9px;align-items:flex-start;color:#9fb0c8;font-size:13px;line-height:1.45}
.career-consent input{margin-top:3px}
.career-submit{min-height:49px;border:0;background:linear-gradient(90deg,#ff1119,#fa2430);color:#fff;font-weight:850;cursor:pointer;box-shadow:0 12px 26px rgba(255,17,25,.2)}
.career-submit:hover{filter:brightness(1.05)}
.career-apply-status{display:none;margin-bottom:15px;padding:12px 14px;border:1px solid rgba(255,255,255,.15);font-size:12px;line-height:1.5}
.career-apply-status.success{display:block;background:rgba(30,157,103,.16);border-color:rgba(62,216,147,.3);color:#c8f4df}
.career-apply-status.error{display:block;background:rgba(216,52,67,.14);border-color:rgba(255,86,101,.28);color:#ffd3d6}
.career-back-roles{margin-top:30px;display:inline-flex;gap:8px;align-items:center;font-weight:800;color:#183b9d}
.p22-jobs .job-card .job-meta a{display:inline-flex;align-items:center;gap:5px;color:#0d2c84}
.p22-jobs .job-card .job-meta a:hover{color:#ff1720}
.p22-jobs .job-card{position:relative;overflow:hidden}
.p22-jobs .job-card:after{content:"";position:absolute;left:0;top:0;width:34%;height:2px;background:linear-gradient(90deg,#ff1720,#315dff);transform:scaleX(.25);transform-origin:left;transition:transform .3s ease}
.p22-jobs .job-card:hover:after{transform:scaleX(1)}
.career-role-count{display:inline-flex;align-items:center;gap:10px;margin-top:20px;color:#6a7b91;font-size:12px}
.career-role-count strong{font-size:18px;color:#0b1a31}
@media(max-width:1020px){.career-job-grid{grid-template-columns:1fr}.career-apply-wrap{position:static}.career-apply-card{max-width:720px}}
@media(max-width:680px){.career-job-hero{padding:118px 0 64px;min-height:auto}.career-job-hero h1{font-size:clamp(39px,12vw,52px)}.career-job-purpose{font-size:16px!important}.career-job-meta{display:grid;grid-template-columns:1fr 1fr}.career-job-meta span{min-width:0}.career-job-body{padding:62px 0 80px}.career-job-section{padding:26px 20px}.career-field-grid{grid-template-columns:1fr}.career-field.full{grid-column:auto}.career-apply-card{padding:23px 18px}}

/* ========================================================================
   CAREERS FORM VISIBILITY + CONTENT POLISH — 2026-09-02
   ======================================================================== */

/* Keep the approved dark application card, but make each control unmistakable. */
.career-apply-card{
  background:
    radial-gradient(circle at 92% 10%,rgba(49,93,255,.10),transparent 26%),
    linear-gradient(160deg,#07152e 0%,#081936 100%);
}
.career-apply-card .phase-kicker,
.career-apply-card .section-kicker{color:#9fb0c8!important}
.career-apply-card h2{color:#fff!important}
.career-apply-card>p{color:#c1ccdc!important}

.career-field{gap:7px}
.career-field label{
  color:#dbe5f2!important;
  font-size:13px;
  font-weight:850;
  letter-spacing:.09em;
}
.career-field input,
.career-field select,
.career-field textarea{
  min-height:48px;
  padding:12px 13px;
  border:1px solid #bcc9da!important;
  background:#f7f9fc!important;
  color:#101c31!important;
  caret-color:#1746d1;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.95),0 2px 7px rgba(0,0,0,.06);
  font-size:16px;
  line-height:1.45;
  transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;
}
.career-field input::placeholder,
.career-field textarea::placeholder{
  color:#75869c!important;
  opacity:1;
}
.career-field input:hover,
.career-field select:hover,
.career-field textarea:hover{
  border-color:#93a8c2!important;
  background:#fff!important;
}
.career-field input:focus,
.career-field select:focus,
.career-field textarea:focus{
  border-color:#315dff!important;
  background:#fff!important;
  box-shadow:0 0 0 3px rgba(49,93,255,.15),inset 3px 0 0 #ff1720!important;
}
.career-field textarea{min-height:112px}
.career-field small{
  color:#aebed2!important;
  font-size:13px;
}

/* Native file control: readable on Chromium/Safari/Firefox. */
.career-field input[type=file]{
  min-height:50px;
  padding:8px 10px!important;
  color:#33445a!important;
  background:#f7f9fc!important;
  overflow:hidden;
}
.career-field input[type=file]::file-selector-button{
  margin-right:10px;
  padding:8px 12px;
  border:0;
  border-right:1px solid #c9d4e2;
  background:#e9eef6;
  color:#0d1a30;
  font-weight:800;
  cursor:pointer;
}
.career-field input[type=file]::-webkit-file-upload-button{
  margin-right:10px;
  padding:8px 12px;
  border:0;
  border-right:1px solid #c9d4e2;
  background:#e9eef6;
  color:#0d1a30;
  font-weight:800;
}

.career-consent{
  color:#c9d5e5!important;
  font-size:13px!important;
  line-height:1.45!important;
}
.career-consent input{
  width:16px;
  height:16px;
  flex:0 0 16px;
  accent-color:#315dff;
}
.career-submit{
  min-height:52px;
  box-shadow:0 12px 28px rgba(255,23,32,.18);
}

/* Cleaner vertical rhythm after removing repetitive Careers-page sections. */
.p22-areas{border-top:1px solid rgba(40,71,113,.07)}
.p22-jobs{border-top:1px solid rgba(40,71,113,.07)}

@media(max-width:680px){
  .career-apply-card{padding:24px 20px!important}
  .career-field-grid{gap:12px!important}
  .career-field input,
  .career-field select,
  .career-field textarea{font-size:16px}
  .career-field input[type=file]{font-size:16px}
}


/* JOB CATEGORY TAB FILTER — replaces career-area dropdown */
.p22-jobs .career-tools{display:grid!important;grid-template-columns:1fr!important;gap:12px!important;padding:14px!important}
.career-search-row{display:block}.career-search-row #job-search{width:100%;height:52px;border:1px solid #d6e0eb;background:#fff;padding:0 17px;color:#172236;font-size:15px;outline:none}.career-search-row #job-search:focus{border-color:#315dff;box-shadow:0 0 0 3px rgba(49,93,255,.10)}
.career-category-tabs{display:flex;flex-wrap:wrap;gap:8px;padding-top:2px}.job-category-tab{position:relative;min-height:39px;padding:9px 14px;border:1px solid #dbe3ed;background:#fff;color:#354962;font-size:11.5px;font-weight:750;cursor:pointer;transition:.22s ease}.job-category-tab:hover{border-color:#aabbd0;color:#123a9c;transform:translateY(-1px)}.job-category-tab.is-active{background:#07152e;color:#fff;border-color:#07152e;box-shadow:0 9px 22px rgba(7,21,46,.12)}.job-category-tab.is-active:before{content:"";position:absolute;left:0;right:0;top:-1px;height:2px;background:linear-gradient(90deg,#ff1720 0 35%,#315dff 35% 68%,transparent 68%)}
@media(max-width:680px){.p22-jobs .career-tools{top:76px!important;padding:10px!important}.career-category-tabs{flex-wrap:nowrap;overflow-x:auto;padding:2px 0 6px;scrollbar-width:none;-webkit-overflow-scrolling:touch}.career-category-tabs::-webkit-scrollbar{display:none}.job-category-tab{flex:0 0 auto;white-space:nowrap}.career-search-row #job-search{height:48px;font-size:16px}}


/* CAREERS CATEGORY FILTER HARDENING — 2026-09-02 */
.p22-jobs .job-card.job-filter-hidden,
.p22-jobs .job-card[hidden]{
  display:none!important;
}
.p22-jobs .job-category-tab{cursor:pointer}
