/* Careers page — listing, job details and the application form, in the exhibition's voice. */
main:focus{outline:none}
.loadmsg{padding-top:60px;padding-bottom:60px;color:var(--grey)}
.chero{padding-top:clamp(70px,12vh,140px);padding-bottom:clamp(40px,7vh,80px)}
.chero h1,.missing h1{font-weight:400;font-size:clamp(46px,7vw,112px);line-height:.96;letter-spacing:-.045em;margin:18px 0 26px;max-width:12ch}
.chero h1 em{font-style:italic;color:var(--grey)}
.lead{font-size:clamp(17px,1.35vw,20px);line-height:1.55;color:var(--ink-soft);max-width:56ch}
.lead a,.cnote a,.missing a{border-bottom:1px solid var(--red)}
.lhead{display:flex;justify-content:space-between;align-items:baseline;gap:16px;flex-wrap:wrap;border-top:1px solid var(--ink);padding-top:22px;margin-bottom:18px}
.lhead h2{font-weight:400;font-size:clamp(26px,2.6vw,38px);letter-spacing:-.025em}
.count{font-size:14px;color:var(--grey)}
.cfilters{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end;margin-bottom:26px}
.f{display:flex;flex-direction:column;gap:5px;font-size:12.5px;color:var(--grey)}
.f.grow{flex:1 1 260px}
.f input,.f select{height:44px;padding:0 12px;border:1px solid rgba(18,18,20,.22);background:var(--white);color:var(--ink);font-size:15px;border-radius:0;min-width:170px}
.f input:focus,.f select:focus{border-color:var(--red);outline:none}
.jobs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
@media(max-width:860px){.jobs{grid-template-columns:1fr}}
.job{position:relative;background:var(--white);border:1px solid var(--rule);padding:26px 26px 22px;display:flex;flex-direction:column;gap:12px;transition:box-shadow .5s var(--ease),transform .5s var(--ease)}
.job::before{content:"";position:absolute;left:-1px;top:-1px;bottom:-1px;width:3px;background:var(--red);transform:scaleY(0);transform-origin:top;transition:transform .5s var(--ease)}
.job:hover{box-shadow:0 30px 50px -40px rgba(18,18,20,.5);transform:translateY(-2px)}
.job:hover::before,.job:focus-within::before{transform:scaleY(1)}
.code{font-size:12px;letter-spacing:.06em;color:var(--grey);font-variant-numeric:tabular-nums}
.job h3{font-weight:400;font-size:clamp(22px,2vw,28px);letter-spacing:-.022em;line-height:1.15}
.job h3 a:hover{color:var(--red)}
.facts{list-style:none;display:flex;flex-wrap:wrap;gap:6px 18px;font-size:14px;color:var(--ink-soft)}
.facts .k{display:block;font-size:11.5px;color:var(--grey)}
.sum{font-size:15px;color:var(--ink-soft);line-height:1.55}
.dl{font-size:13px;color:var(--red)}
.acts{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:auto;padding-top:8px}
.cnote{background:var(--white);border:1px solid var(--rule);border-left:3px solid var(--red);padding:18px 20px;color:var(--ink-soft);font-size:15px;grid-column:1/-1}
.cnote.closed{margin:6px 0 10px}
.general{margin-top:clamp(50px,8vh,90px)}
.gbox{display:flex;justify-content:space-between;align-items:center;gap:28px;flex-wrap:wrap;background:var(--ink);color:#EEECE6;padding:clamp(26px,3vw,40px)}
.gbox h2{font-weight:400;font-size:clamp(24px,2.4vw,34px);letter-spacing:-.022em;margin:10px 0 8px}
.gbox p{color:#B9B6AE;max-width:52ch}
.gbox .room{color:#8D8A83}
.gbox .btn{background:#EEECE6;color:var(--ink);border-color:#EEECE6}
.gbox .btn:hover{background:var(--red);color:#fff;border-color:var(--red)}

/* job details */
.crumbs{padding-top:34px;font-size:13.5px;color:var(--grey)}
.crumbs a{border-bottom:1px solid var(--grey-2)}
.crumbs a:hover{border-color:var(--red)}
.jgrid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:clamp(30px,5vw,80px);align-items:start;padding-top:clamp(30px,5vh,60px)}
@media(max-width:960px){.jgrid{grid-template-columns:1fr}.jside{order:-1}}
.jt{font-weight:400;font-size:clamp(38px,5vw,72px);line-height:1;letter-spacing:-.04em;margin:12px 0 18px}
.jmain .lead{margin-bottom:10px}
.jsec{margin-top:38px;padding-top:22px;border-top:1px solid var(--rule)}
.jsec h2{font-weight:400;font-size:clamp(21px,1.8vw,26px);letter-spacing:-.02em;margin-bottom:12px}
.jsec p{color:var(--ink-soft);max-width:70ch;margin-bottom:12px;line-height:1.7}
/* formatted text written in the admin editor */
.rich{color:var(--ink-soft);max-width:70ch;line-height:1.7}
.rich>*+*{margin-top:12px}
.rich p{margin-bottom:0}
.rich h3{font-weight:500;font-size:18px;color:var(--ink);letter-spacing:-.01em;margin-top:22px}
.rich h4{font-weight:500;font-size:16px;color:var(--ink);margin-top:18px}
.rich strong{font-weight:500;color:var(--ink)}
.rich a{color:var(--ink);border-bottom:1px solid var(--red)}
.rich a:hover{color:var(--red)}
.rich blockquote{border-left:2px solid var(--grey-2);padding-left:16px;color:var(--grey)}
.rich ul{list-style:none;display:flex;flex-direction:column;gap:8px}
.rich ul li{position:relative;padding-left:18px}
.rich ul li::before{content:"";position:absolute;left:0;top:.72em;width:6px;height:6px;background:var(--red)}
.rich ol{padding-left:22px;display:flex;flex-direction:column;gap:8px}
.rich ol li::marker{color:var(--red);font-variant-numeric:tabular-nums}
.rich li>ul,.rich li>ol{margin-top:8px}
.jside{position:sticky;top:100px;background:var(--white);border:1px solid var(--rule);padding:22px;display:flex;flex-direction:column;gap:16px}
.jside dl{display:grid;grid-template-columns:auto 1fr;gap:8px 16px;font-size:14px}
.jside dt{color:var(--grey);font-size:13px}
.jside dd{color:var(--ink)}
.btn.wide{justify-content:center}
.share{align-self:flex-start}
.missing{padding-top:clamp(70px,12vh,140px)}

/* application form */
.applyband{margin-top:clamp(50px,8vh,90px);background:var(--paper-2);padding-top:clamp(50px,8vh,90px);padding-bottom:clamp(50px,8vh,90px)}
.general-form{margin-top:20px}
.fwrap{max-width:900px}
.fintro h2,.success h2{font-weight:400;font-size:clamp(28px,3vw,44px);letter-spacing:-.03em;line-height:1.08;margin:12px 0 10px}
.fintro p{color:var(--ink-soft);margin-bottom:26px}
.fgrid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 20px}
@media(max-width:700px){.fgrid2{grid-template-columns:1fr}}
.fld{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--grey)}
.fld.wide{grid-column:1/-1}
.fld span i{font-style:normal;color:var(--grey-2)}
.req{color:var(--red)}
.fld input:not([type=checkbox]):not([type=file]),.fld select,.fld textarea{height:46px;padding:0 13px;border:1px solid rgba(18,18,20,.24);background:var(--white);color:var(--ink);font-size:16px;border-radius:0;width:100%}
.fld textarea{height:auto;min-height:170px;padding:12px 13px;line-height:1.55;resize:vertical}
.fld input:focus,.fld select:focus,.fld textarea:focus{border-color:var(--red);outline:none}
.fld [aria-invalid=true]{border-color:var(--red)!important;background:#FDF5F5}
.fld.ro output{height:46px;display:flex;align-items:center;padding:0 13px;background:transparent;border:1px dashed rgba(18,18,20,.24);color:var(--ink);font-size:16px}
.drop{position:relative;display:flex;align-items:center;height:46px;border:1px dashed rgba(18,18,20,.35);background:var(--white);cursor:pointer}
.drop input{position:absolute;inset:0;opacity:0;cursor:pointer}
.drop:focus-within{outline:1.5px solid var(--red);outline-offset:2px}
.dz{padding:0 13px;color:var(--ink);font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dz::before{content:"↑";color:var(--red);margin-right:10px}
.hint{font-style:normal;font-size:12.5px;color:var(--grey)}
.ferr{font-style:normal;font-size:13px;color:var(--red);min-height:0}
.ferr:empty{display:none}
.chk{display:flex;gap:12px;align-items:flex-start;font-size:14.5px;color:var(--ink-soft);line-height:1.5;cursor:pointer}
.chk input{width:20px;height:20px;flex:none;margin-top:2px;accent-color:var(--ink)}
.chk a{border-bottom:1px solid var(--red);color:var(--ink)}
.hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.err-sum{grid-column:1/-1;background:var(--white);border:1px solid rgba(190,30,45,.45);border-left:3px solid var(--red);padding:14px 18px;margin-bottom:20px;font-size:14.5px;color:var(--ink)}
.err-sum:focus{outline:none}
.err-sum ul{margin:8px 0 0 18px}
.err-sum a{color:var(--red);border-bottom:1px solid currentColor}
.fsubmit{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:26px}
.fstatus{font-size:14px;color:var(--ink-soft)}
.success{background:var(--white);border:1px solid var(--rule);border-left:3px solid var(--red);padding:clamp(24px,3vw,40px)}
.success:focus{outline:none}
.success p{color:var(--ink-soft);max-width:60ch;margin-top:14px}
.refbox{display:grid;grid-template-columns:auto 1fr;gap:8px 20px;margin:20px 0 6px;padding:16px 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.refbox dt{color:var(--grey);font-size:13px}
.refbox dd{color:var(--ink)}
.refbox .ref{font-size:22px;letter-spacing:.04em;font-variant-numeric:tabular-nums}
#apply,.success,.err-sum,.fld{scroll-margin-top:96px}
