/* Careers: the job board (/careers/) and the role pages (/careers/<slug>.html).
   Built on the shared dark shell in subpages.css; pages are generated by
   scripts/build-careers.py. */
.cr-board .mx-title em,.cr-title em{font-style:normal;background:linear-gradient(90deg,#a855f7,#4A8FC2);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.cr-hero .mx-lead{max-width:820px}

/* ---- Board: program facts ---- */
.cr-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:44px;border-top:1px solid var(--mx-line);border-bottom:1px solid var(--mx-line)}
.cr-facts div{display:flex;flex-direction:column;gap:8px;padding:24px 22px 24px 0}
.cr-facts div+div{padding-left:22px;border-left:1px solid var(--mx-soft)}
.cr-facts b{font-size:clamp(1.3rem,2.2vw,1.75rem);font-weight:500;letter-spacing:-.03em}
.cr-facts span{color:var(--mx-dim);font-size:.86rem;line-height:1.45}

/* ---- Board: positions ---- */
.cr-count{color:var(--mx-dim)}
.cr-dept{margin:0 0 6px;color:var(--mx-blue);font:500 .7rem var(--mx-mono);letter-spacing:.14em;text-transform:uppercase}
.cr-jobs{margin:0;padding:0;list-style:none}
.cr-jobs+.cr-dept{margin-top:40px}
.cr-job{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"title go" "meta go" "focus go" "pay go";column-gap:24px;row-gap:6px;padding:24px 4px;border-bottom:1px solid var(--mx-soft);color:var(--mx-ink);text-decoration:none}
.cr-jobs li:first-child .cr-job{border-top:1px solid var(--mx-soft)}
.cr-job-title{grid-area:title;font-size:clamp(1.12rem,1.8vw,1.35rem);font-weight:500;letter-spacing:-.02em;transition:color .2s}
.cr-job-meta{grid-area:meta;color:var(--mx-dim);font-size:.9rem}
.cr-job-focus{grid-area:focus;color:#cfd4d9;font-size:.9rem}
.cr-job-pay{grid-area:pay;color:var(--mx-dim);font:500 .74rem var(--mx-mono);letter-spacing:.04em}
.cr-job-go{grid-area:go;align-self:center;display:inline-flex;align-items:center;gap:8px;color:var(--mx-blue);font-size:.86rem;font-weight:500;white-space:nowrap}
.cr-job-go svg,.cr-ask-mail svg,.cr-apply svg{width:15px;height:15px;transition:transform .2s}
.cr-job:hover .cr-job-title{color:var(--mx-blue)}
.cr-job:hover .cr-job-go svg{transform:translateX(4px)}
.cr-job:focus-visible{outline:2px solid var(--mx-blue);outline-offset:2px;border-radius:6px}

/* ---- Board: perks + questions ---- */
.cr-perks{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.cr-perk{padding:24px;border:1px solid var(--mx-soft);border-radius:13px;background:var(--mx-panel)}
.cr-perk h3{margin:0 0 10px;font-size:1.05rem;letter-spacing:-.01em}
.cr-perk p{margin:0;color:var(--mx-dim);font-size:.92rem;line-height:1.6}
.cr-ask{display:flex;justify-content:space-between;align-items:end;gap:28px;flex-wrap:wrap;padding:clamp(28px,4vw,48px);border:1px solid var(--mx-line);border-radius:16px;background:linear-gradient(135deg,rgba(74,143,194,.09),var(--mx-panel) 52%,rgba(112,78,162,.05))}
.cr-ask h2{margin:12px 0 10px;font-size:clamp(1.5rem,2.6vw,2.1rem);letter-spacing:-.03em}
.cr-ask p{margin:0;color:var(--mx-dim);line-height:1.6}
.cr-ask-mail{display:inline-flex;align-items:center;gap:12px;color:#fff;font-size:clamp(1.25rem,2.4vw,1.9rem);font-weight:500;letter-spacing:-.03em;text-decoration:none}
.cr-ask-mail:hover{color:var(--mx-blue)}
.cr-ask-mail:hover svg{transform:translateX(4px)}

/* ---- Role page ---- */
.cr-role{padding-top:clamp(40px,6vw,72px)}
.cr-back{display:inline-flex;align-items:center;gap:8px;color:var(--mx-dim);font:500 .74rem var(--mx-mono);letter-spacing:.06em;text-decoration:none;text-transform:uppercase}
.cr-back svg{width:15px;height:15px}
.cr-back:hover{color:var(--mx-blue)}
.cr-title{max-width:900px;margin:22px 0 clamp(34px,5vw,56px);font-size:clamp(2rem,4.2vw,3.2rem);line-height:1.08;letter-spacing:-.04em;text-wrap:balance}
.cr-layout{display:grid;grid-template-columns:minmax(240px,300px) minmax(0,1fr);gap:clamp(36px,6vw,80px);align-items:start}
.cr-layout aside{position:sticky;top:96px}
.cr-side{margin:0}
.cr-side div{padding:16px 0;border-bottom:1px solid var(--mx-soft)}
.cr-side div:first-child{padding-top:0}
.cr-side dt{color:var(--mx-blue);font:500 .62rem var(--mx-mono);letter-spacing:.12em;text-transform:uppercase}
.cr-side dd{margin:7px 0 0;font-size:.93rem;line-height:1.5}
.cr-side small{display:block;margin-top:2px;color:var(--mx-dim);font-size:.86rem}
.cr-side ul{margin:10px 0 0;padding-left:17px;color:var(--mx-dim);font-size:.86rem;line-height:1.55}
.cr-side li+li{margin-top:4px}

.cr-main{min-width:0;max-width:780px}
.cr-tabs{display:flex;gap:4px;border-bottom:1px solid var(--mx-line);scroll-margin-top:90px}
.cr-tabs button{flex:0 1 200px;padding:12px 6px 13px;border:0;background:none;color:var(--mx-dim);font:500 .95rem var(--mx-disp);cursor:pointer;box-shadow:inset 0 -2px 0 transparent;transition:color .2s,box-shadow .2s}
.cr-tabs button:hover{color:var(--mx-ink)}
.cr-tabs button[aria-selected="true"]{color:var(--mx-ink);box-shadow:inset 0 -2px 0 var(--mx-blue)}
.cr-tabs button:focus-visible{outline:2px solid var(--mx-blue);outline-offset:-2px;border-radius:6px}
.cr-panel{padding-top:clamp(26px,4vw,40px)}
.cr-panel[hidden]{display:none}

.cr-prose{color:#d3d7db;font-size:1rem;line-height:1.75}
.cr-prose h2{margin:40px 0 12px;color:var(--mx-ink);font-size:1.2rem;letter-spacing:-.015em}
.cr-prose h2:first-child{margin-top:0}
.cr-prose p{margin:0 0 14px}
.cr-prose ul{margin:0;padding-left:20px}
.cr-prose li{margin:7px 0;padding-left:4px}
.cr-prose li::marker{color:var(--mx-blue)}
.cr-prose ul+p{margin-top:18px}
.cr-prose b{color:var(--mx-ink);font-weight:600}
.cr-prose a:not(.cr-apply){color:var(--mx-blue);text-decoration:underline;text-decoration-color:rgba(74,143,194,.4);text-underline-offset:3px}
.cr-apply,.cr-submit{display:inline-flex;align-items:center;justify-content:center;gap:10px;margin-top:30px;padding:14px 22px;border:1px solid rgba(74,143,194,.5);border-radius:10px;color:#fff;background:linear-gradient(135deg,#245d88,#347eae);font:600 .95rem var(--mx-disp);text-decoration:none;cursor:pointer;transition:filter .2s}
.cr-apply:hover,.cr-submit:hover{filter:brightness(1.12)}
.cr-apply:hover svg{transform:translateX(4px)}
.cr-apply:focus-visible,.cr-submit:focus-visible{outline:2px solid var(--mx-blue);outline-offset:3px}
.cr-submit[disabled]{opacity:.6;cursor:progress}

/* ---- Application form ---- */
.cr-form-intro{margin:0 0 22px;color:var(--mx-dim);line-height:1.6}
.cr-form-intro b{color:var(--mx-ink);font-weight:600}
.cr-req{color:var(--mx-amber)}
.cr-form fieldset{margin:0 0 18px;padding:22px 24px 6px;border:1px solid var(--mx-soft);border-radius:13px;background:var(--mx-panel)}
.cr-form legend{padding:0 8px;margin-left:-8px;color:var(--mx-blue);font:500 .64rem var(--mx-mono);letter-spacing:.14em;text-transform:uppercase}
.cr-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:16px}
.cr-field{margin-bottom:20px}
.cr-label{display:block;margin-bottom:9px;color:var(--mx-ink);font-size:.92rem;font-weight:500;line-height:1.45}
.cr-form input:not([type="radio"]):not([type="checkbox"]):not([type="file"]),.cr-form textarea{display:block;width:100%;padding:11px 13px;border:1px solid rgba(255,255,255,.12);border-radius:9px;background:#0d0f11;color:var(--mx-ink);font:400 .95rem/1.5 var(--mx-disp);transition:border-color .2s,box-shadow .2s}
.cr-form textarea{resize:vertical;min-height:52px}
.cr-form input::placeholder,.cr-form textarea::placeholder{color:#6f767d}
.cr-form input:focus,.cr-form textarea:focus{outline:none;border-color:var(--mx-blue);box-shadow:0 0 0 3px rgba(74,143,194,.22)}
.cr-choices{display:flex;flex-wrap:wrap;gap:8px}
.cr-choice{position:relative;display:inline-flex}
.cr-choice input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.cr-choice span{padding:9px 15px;border:1px solid rgba(255,255,255,.12);border-radius:999px;background:#0d0f11;color:#cfd4d9;font-size:.9rem;transition:border-color .2s,background .2s,color .2s}
.cr-choice:hover span{border-color:var(--mx-line)}
.cr-choice input:checked+span{border-color:var(--mx-blue);background:rgba(74,143,194,.16);color:#fff}
.cr-choice input:focus-visible+span{outline:2px solid var(--mx-blue);outline-offset:2px}
.cr-hint{margin:10px 0 0;color:var(--mx-dim);font-size:.84rem}
.cr-file{position:relative;display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:14px;border:1px dashed rgba(74,143,194,.4);border-radius:10px;background:#0d0f11;cursor:pointer;transition:border-color .2s,background .2s}
.cr-file:hover,.cr-file.is-drag{border-color:var(--mx-blue);background:rgba(74,143,194,.07)}
.cr-file input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.cr-file:has(input:focus-visible){outline:2px solid var(--mx-blue);outline-offset:2px}
.cr-file-cta{padding:8px 14px;border:1px solid var(--mx-line);border-radius:8px;color:#fff;background:var(--mx-panel-2);font-size:.86rem;font-weight:500}
.cr-file-name{min-width:0;color:var(--mx-dim);font-size:.88rem;overflow-wrap:anywhere}
.cr-file.has-file .cr-file-name{color:var(--mx-ink)}
.cr-check{display:flex;align-items:flex-start;gap:12px;cursor:pointer}
.cr-check input{flex:none;width:18px;height:18px;margin:2px 0 0;accent-color:var(--mx-blue)}
.cr-check .cr-label{margin:0;font-weight:400;color:#d3d7db}
.cr-error{margin:8px 0 0;color:#ff8f8f;font-size:.84rem}
.cr-invalid input:not([type="radio"]):not([type="checkbox"]):not([type="file"]),.cr-invalid textarea,.cr-invalid .cr-file,.cr-invalid .cr-choice span{border-color:#d9534f}
.cr-status{min-height:1.4em;margin:6px 0 0;color:var(--mx-dim);font-size:.9rem;line-height:1.5}
.cr-status.is-error{color:#ff8f8f}
.cr-status a{color:inherit}
.cr-submit{margin-top:10px}
.cr-done{padding:clamp(26px,4vw,40px);border:1px solid var(--mx-line);border-radius:16px;background:linear-gradient(135deg,rgba(74,143,194,.09),var(--mx-panel) 52%,rgba(112,78,162,.05));outline:none}
.cr-done h2{margin:12px 0 10px;font-size:clamp(1.5rem,2.6vw,2rem);letter-spacing:-.03em}
.cr-done p{margin:0 0 22px;color:#d3d7db;line-height:1.7}
.cr-done b{color:var(--mx-ink);font-weight:600}

@media(max-width:1100px){.cr-perks{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:850px){
.cr-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
.cr-facts div:nth-child(3){padding-left:0;border-left:0}
.cr-facts div:nth-child(n+3){border-top:1px solid var(--mx-soft)}
.cr-layout{grid-template-columns:1fr}
.cr-layout aside{position:static}
.cr-side{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:20px}
.cr-side div:nth-child(2){padding-top:0}
.cr-tabs{position:sticky;top:64px;z-index:5;background:rgba(10,10,10,.94);backdrop-filter:blur(12px)}
}
@media(max-width:560px){
.cr-job{grid-template-columns:1fr;grid-template-areas:"title" "meta" "focus" "pay" "go"}
.cr-job-go{margin-top:6px}
.cr-perks,.cr-row,.cr-side{grid-template-columns:1fr}
.cr-side div:nth-child(2){padding-top:16px}
.cr-form fieldset{padding:18px 16px 4px}
.cr-tabs button{flex:1 1 0}
}
