/* Careers (/careers/) — NIGHTSHIFT page rules. The instructor recruitment page
   for the AI-Native Cloud Programme: hero, the programme in brief, the role,
   who fits, the application form with two file inputs. Prefixed cr-. */
.hero{position:relative;min-height:clamp(680px,92svh,1000px);overflow:hidden;display:flex;flex-direction:column;justify-content:center;padding:150px 0 clamp(60px,7vw,110px)}
.hero-bg{position:absolute;inset:0}
.hero-bg img{width:100%;height:100%;object-fit:cover;object-position:62% 50%}
.hero-scrim{position:absolute;inset:0;background:linear-gradient(90deg,#05070C 26%,rgba(5,7,12,.9) 44%,rgba(5,7,12,.35) 68%,rgba(5,7,12,.12) 82%),linear-gradient(180deg,rgba(5,7,12,.72) 0%,rgba(5,7,12,0) 26%,rgba(5,7,12,0) 62%,#05070C 100%)}
.sweep{position:absolute;top:0;bottom:0;left:0;width:260px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.07),transparent);animation:sweep 5.5s var(--ease) 1.4s 1 both;pointer-events:none}
.w{display:inline-block}
.cr-h1{font-size:clamp(42px,6.2vw,92px);max-width:12ch;margin:26px 0 30px}
.cr-lead{max-width:62ch}
.cr-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:34px 0 0;max-width:680px;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--line)}
.cr-fact{padding:16px 20px;background:rgba(10,14,26,.82);backdrop-filter:blur(6px)}
.cr-fact dt{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink3)}
.cr-fact dd{margin:6px 0 0;font-size:16px;font-weight:600;line-height:1.35;color:var(--ink)}
.cr-hero-btns{margin-top:32px}
/* ---------- headings ---------- */
.cr-h2{margin:18px 0 22px;max-width:16ch}
.cr-h2-sm{font-size:clamp(32px,4vw,54px);margin:16px 0 18px;max-width:16ch}
.lbl{display:block;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink3);font-weight:600;margin-bottom:14px}
/* ---------- the programme ---------- */
.cr-prog-sec{padding-top:clamp(60px,7vw,100px)}
.cr-prog{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(32px,5vw,80px);align-items:start}
.cr-prog .body+.body{margin-top:16px}
.cr-prog-link{margin-top:26px}
.cr-weeks{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.cr-weeks li{display:grid;grid-template-columns:48px minmax(0,1fr);gap:16px;align-items:baseline;padding:18px 0;border-bottom:1px solid var(--line);font-size:17px;color:var(--ink)}
.cr-weeks .n{color:var(--blue-text)}
/* ---------- role, fit ---------- */
.cr-role-sec{background:var(--bg2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.cr-cols{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:clamp(28px,4vw,48px)}
.cr-col{padding:clamp(26px,3vw,40px)}
.cr-col ul{display:grid;gap:12px;color:var(--ink2);font-size:16px;list-style:none;margin:0;padding:0}
.cr-col li{display:flex;gap:12px;align-items:flex-start}
.cr-col li svg{width:16px;height:16px;flex:none;margin-top:6px;color:var(--blue-text)}
.cr-col li strong{color:var(--ink)}
.cr-col-sat{background:linear-gradient(160deg,#0E1633,#0A0E1A 60%)}
.cr-col-must{border-color:rgba(79,107,255,.5);background:rgba(23,54,255,.08)}
.cr-process{margin-top:30px;padding-top:24px;border-top:1px solid var(--line)}
.cr-process ol{margin:0;padding-left:22px;display:grid;gap:10px;color:var(--ink2);font-size:15px}
.cr-process li::marker{color:var(--blue-text);font-weight:600}
/* ---------- apply ---------- */
.cr-apply-sec{background:var(--bg2);border-top:1px solid var(--line)}
.cr-apply{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(32px,5vw,80px);align-items:start}
.cr-apply-copy{position:sticky;top:110px}
.cr-points{list-style:none;margin:26px 0 0;padding:0;display:flex;flex-direction:column;gap:12px}
.cr-points li{position:relative;padding-left:30px;font-size:15px;color:var(--ink2)}
.cr-points li::before{content:"";position:absolute;left:0;top:2px;width:18px;height:18px;border-radius:50%;border:1px solid var(--blue-text);background:linear-gradient(180deg,rgba(23,54,255,.35),rgba(23,54,255,.12))}
.cr-points .link{font-size:15px}
.cr-form{padding:clamp(24px,3vw,40px);display:grid;gap:22px;background:var(--bg)}
.cr-form .grid2{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.cr-form .field{min-width:0}
.cr-form .lbl{font-size:14px;letter-spacing:0;text-transform:none;color:var(--ink2);margin-bottom:8px;font-weight:600}
.cr-form .sel{position:relative}
.cr-form .sel svg{position:absolute;right:16px;top:50%;width:18px;height:18px;transform:translateY(-50%);pointer-events:none;color:var(--ink3)}
.cr-form .select{appearance:none;-webkit-appearance:none;padding-right:44px;cursor:pointer}
.cr-form .select option{background:#0A0E1A;color:var(--ink)}
.cr-form .help{font-size:13px;color:var(--ink3);margin-top:8px;line-height:1.5}
/* file inputs: the native control, dressed as the rest of the form */
.cr-form .file{padding:8px 10px;display:flex;align-items:center;gap:12px;font-size:16px;color:var(--ink2);cursor:pointer;line-height:1.3}
.cr-form .file::file-selector-button{font:inherit;font-weight:600;font-size:14px;color:var(--ink);background:var(--bg3);border:1px solid var(--line2);border-radius:5px;padding:9px 14px;margin:0;cursor:pointer;transition:border-color .2s,background .2s}
.cr-form .file:hover::file-selector-button{border-color:#fff}
.cr-form .file[aria-invalid="true"]{border-color:#FF8A8A}
.cr-form .input[aria-invalid="true"],.cr-form .select[aria-invalid="true"]{border-color:#FF8A8A}
.cr-submit{justify-self:start}
.cr-form-note{font-size:13px;line-height:1.6;color:var(--ink3);max-width:60ch}
.cr-form-note a{color:var(--ink2);text-decoration:underline;text-underline-offset:3px}
.cr-form-note a:hover{color:#fff}
/* ---------- faq ---------- */
.faq-grid{display:grid;grid-template-columns:minmax(320px,1fr) minmax(0,760px);gap:clamp(40px,6vw,80px);align-items:start}
.faq-grid h2{position:sticky;top:120px}
/* ---------- responsive ---------- */
@media (max-width:980px){
  .cr-prog,.cr-cols,.cr-apply{grid-template-columns:1fr}
  .cr-apply-copy{position:static}
  .faq-grid{grid-template-columns:1fr;gap:40px}
  .faq-grid h2{position:static}
}
@media (max-width:760px){
  .hero{padding-top:120px}
  .cr-form .grid2{grid-template-columns:1fr}
  .cr-form .file{flex-direction:column;align-items:flex-start;min-height:0;padding:12px}
}
@media (max-width:520px){
  .cr-facts{grid-template-columns:1fr;max-width:none}
}
