/* 7Code — careers module: /careers (culture, open roles, hiring steps, open application) + /careers/{slug} (job page + application form).
   Loaded via page_open css => ['mod-careers']. */

/* ---------- culture ---------- */
.cul{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1.5px solid var(--ink);margin-top:14px}
.cul li{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px 24px;align-content:start;padding:32px 0 36px;border-bottom:1.5px solid var(--ink)}
.cul li:nth-child(odd){border-inline-end:1.5px solid var(--ink);padding-inline-end:clamp(20px,3vw,44px)}
.cul li:nth-child(even){padding-inline-start:clamp(20px,3vw,44px)}
.cul .n{grid-row:span 2;font-weight:900;font-size:clamp(44px,5vw,76px);line-height:.8;letter-spacing:-.04em;color:transparent;-webkit-text-stroke:1.5px var(--red)}
.cul h3{font-weight:900;font-size:clamp(20px,2.1vw,30px);line-height:1;letter-spacing:-.02em;text-transform:uppercase;align-self:end}
.cul p{color:var(--ink70);font-size:16px;line-height:1.6;max-width:46ch}

/* ---------- open roles ---------- */
.jobs{border-top:1.5px solid var(--ink);margin-top:14px}
.job-row{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:26px 0;border-bottom:1.5px solid var(--ink);transition:background .25s,padding .25s,color .25s}
.job-main{display:flex;flex-direction:column;gap:12px;min-width:0}
.job-t{font-weight:900;font-size:clamp(22px,3vw,42px);line-height:.98;letter-spacing:-.03em;text-transform:uppercase;overflow-wrap:anywhere}
.job-tags{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center}
.job-type{font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:.04em;border:1.5px solid var(--red);color:var(--red);padding:5px 10px}
.job-loc{font-family:var(--mono);font-size:12.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--ink70)}
.job-go{flex:0 0 auto;font-family:var(--mono);font-size:12.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ink45);white-space:nowrap;transition:color .2s}
.job-row:hover{background:var(--red);color:#fff;padding-inline:16px}
.job-row:hover .job-type{border-color:#fff;color:#fff}
.job-row:hover .job-loc,.job-row:hover .job-go{color:#fff}
.job-row:focus-visible{outline:2px solid var(--red);outline-offset:3px}

.job-none{margin-top:14px;border:1.5px solid var(--ink);background:var(--panel);padding:clamp(24px,4vw,48px);display:flex;flex-direction:column;align-items:flex-start;gap:14px}
.job-none .k{font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--red)}
.job-none h3{font-weight:900;font-size:clamp(22px,2.8vw,40px);line-height:1;letter-spacing:-.02em;text-transform:uppercase;max-width:24ch}
.job-none p{color:var(--ink70);font-size:17px;line-height:1.6;max-width:60ch}
.job-none .btn{margin-top:6px;min-height:48px}

/* hiring steps: 3 columns of the shared .steps block */
.steps--3{grid-template-columns:repeat(3,1fr)}

/* ---------- application section ---------- */
.ap-sec{margin-top:clamp(64px,8vw,110px);border-top:1.5px solid var(--ink);padding-block:clamp(40px,6vw,84px) clamp(64px,8vw,110px);scroll-margin-top:62px}
.ap-grid{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(0,1.4fr);gap:clamp(32px,5vw,90px);align-items:start}
.ap-head{position:sticky;top:96px}
.ap-head .k{display:block;font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--red);margin-bottom:14px}
.ap-head h2{font-weight:900;font-size:clamp(30px,4.2vw,62px);line-height:.92;letter-spacing:-.03em;text-transform:uppercase}
.ap-head p{color:var(--ink70);font-size:17px;line-height:1.6;margin-top:18px;max-width:42ch}
.ap-head .ap-role{color:var(--ink);font-weight:700}
.ap-notes{list-style:none;margin-top:24px;border-top:1.5px solid var(--line)}
.ap-notes li{position:relative;padding:12px 0;padding-inline-start:24px;border-bottom:1.5px solid var(--line);font-size:15px;color:var(--ink70)}
.ap-notes li::before{content:"";position:absolute;inset-inline-start:0;top:22px;width:11px;height:2px;background:var(--red)}
.ap-body{min-width:0}

/* form */
.ap-form .formmsg{margin-bottom:24px}
.ap-row{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}
.ap-form .field{margin-bottom:22px}
.ap-form .field input{min-height:50px}
.ap-form .field textarea{min-height:150px;resize:vertical;line-height:1.55;display:block}
.ap-form .field input::placeholder,.ap-form .field textarea::placeholder{color:rgba(242,241,236,.4)}
.ap-form .req{color:var(--red)}
.ap-form .opt{text-transform:none;letter-spacing:0;color:var(--ink45);opacity:.85;margin-inline-start:4px}
.ap-form .opt::before{content:"("}.ap-form .opt::after{content:")"}
.ap-form .hint{display:block;margin-top:8px;font-size:13px;color:var(--ink45)}
.ap-cv input[type=file]{padding:9px;cursor:pointer;font-size:15px;color:var(--ink70);min-height:58px}
.ap-cv input[type=file]::file-selector-button{font-family:inherit;font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.02em;background:var(--ink);color:var(--paper);border:0;padding:11px 16px;margin-inline-end:14px;cursor:pointer;transition:background .2s,color .2s}
.ap-cv input[type=file]:hover::file-selector-button{background:var(--red);color:#fff}
.ap-ok{margin:4px 0 26px}
.ap-chk{display:flex;gap:14px;align-items:flex-start;cursor:pointer;font-size:15px;line-height:1.55;color:var(--ink70);padding:4px 0}
.ap-chk input{flex:0 0 auto;appearance:none;-webkit-appearance:none;width:24px;height:24px;margin-top:1px;border:1.5px solid var(--ink);background:rgba(255,255,255,.03);cursor:pointer;display:grid;place-items:center}
.ap-chk input::after{content:"";width:12px;height:12px;background:var(--red);transform:scale(0);transition:transform .15s}
.ap-chk input:checked{border-color:var(--red)}
.ap-chk input:checked::after{transform:scale(1)}
.ap-chk input:focus-visible{outline:2px solid var(--red);outline-offset:3px}
.ap-chk a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--red);text-underline-offset:3px;white-space:nowrap}
.ap-form .has-err input,.ap-form .has-err textarea{border-color:var(--red)}
.ap-ok.has-err .ap-chk input{border-color:var(--red)}
.ap-form .ferr{color:var(--red);font-size:14px;font-weight:600;margin-top:10px}
.ap-send{display:flex;flex-wrap:wrap;align-items:center;gap:14px 20px}
.ap-submit{padding:15px 30px;font-size:14px;min-height:52px;justify-content:center}
.ap-send .note{flex:1 1 220px;font-size:13px;color:var(--ink45);line-height:1.5}

/* thank-you box */
.ap-done{border:1.5px solid #3ad07a;background:var(--panel);padding:clamp(24px,3.5vw,44px);outline:none}
.ap-done-k{display:inline-block;font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#3ad07a;margin-bottom:14px}
.ap-done h3{font-weight:900;font-size:clamp(24px,2.8vw,40px);line-height:1;letter-spacing:-.02em;text-transform:uppercase}
.ap-done p{color:var(--ink70);font-size:17px;line-height:1.6;margin-top:14px;max-width:56ch}
.ap-done-acts{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.ap-done-acts .btn{min-height:48px}

/* ---------- job page ---------- */
.job .crumbs .cur{display:inline-block;max-width:min(40ch,50vw);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom}
.job-flag{display:inline-block;font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:.04em;border:1.5px solid var(--red);color:var(--red);padding:6px 10px;margin-bottom:18px}
.job-h{max-width:20ch;overflow-wrap:anywhere}
.job-sec{padding-top:clamp(44px,6vw,88px)}
.job-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,340px);gap:clamp(32px,5.5vw,96px);align-items:start}
.job-grid.no-body{grid-template-columns:minmax(0,520px)}
.job-side{position:sticky;top:90px}
.job-box{border:1.5px solid var(--ink);background:var(--panel);padding:24px}
.job-box .k{display:block;font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink45);margin-bottom:10px}
.job-box dl div{display:flex;flex-direction:column;gap:3px;padding:12px 0;border-bottom:1.5px solid var(--line)}
.job-box dt{font-family:var(--mono);font-size:11.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink45)}
.job-box dd{font-weight:700;font-size:16px;line-height:1.35}
.job-box .btn{display:flex;width:100%;justify-content:center;margin-top:20px;min-height:50px}
.job-note{font-size:13px;color:var(--ink45);margin-top:12px;line-height:1.5}

/* job description (md_lite output) */
.jprose{max-width:70ch;font-size:18px;line-height:1.75;color:rgba(242,241,236,.88);overflow-wrap:break-word}
.jprose>*+*{margin-top:1.15em}
.jprose h2{font-weight:900;font-size:clamp(22px,2.2vw,32px);line-height:1.05;letter-spacing:-.02em;text-transform:uppercase;color:var(--ink);margin-top:2em;padding-top:.8em;border-top:1.5px solid var(--ink)}
.jprose h2:first-child{margin-top:0}
.jprose h3{font-weight:800;font-size:clamp(19px,1.7vw,22px);line-height:1.25;color:var(--ink);margin-top:1.8em}
.jprose h2+*,.jprose h3+*{margin-top:.8em}
.jprose strong{color:var(--ink);font-weight:700}
.jprose a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--red);text-decoration-thickness:2px;text-underline-offset:4px}
.jprose a:hover{color:var(--red)}
.jprose ul,.jprose ol{list-style:none}
.jprose li{position:relative;padding-inline-start:32px}
.jprose li+li{margin-top:.6em}
.jprose ul>li::before{content:"";position:absolute;inset-inline-start:2px;top:.86em;width:13px;height:2px;background:var(--red)}
.jprose ol{counter-reset:li}
.jprose ol>li{counter-increment:li}
.jprose ol>li::before{content:counter(li,decimal-leading-zero);position:absolute;inset-inline-start:0;top:.3em;font-family:"JetBrains Mono",ui-monospace,monospace;font-weight:700;font-size:13px;color:var(--red)}
.jprose blockquote{padding-block:.3em;padding-inline-start:22px;border-inline-start:4px solid var(--red);font-weight:800;font-size:clamp(19px,1.9vw,24px);line-height:1.3;color:var(--ink)}

/* ---------- Arabic ---------- */
html[dir=rtl] .cul h3,html[dir=rtl] .job-t,html[dir=rtl] .job-none h3,html[dir=rtl] .ap-done h3{line-height:1.4}
html[dir=rtl] .ap-head h2{line-height:1.3}
html[dir=rtl] .cul .n{line-height:1}
html[dir=rtl] .job-type,html[dir=rtl] .job-loc,html[dir=rtl] .job-go,html[dir=rtl] .job-none .k,html[dir=rtl] .ap-head .k,html[dir=rtl] .ap-done-k,html[dir=rtl] .job-box .k,html[dir=rtl] .job-box dt,html[dir=rtl] .job-flag{font-size:14px}
html[dir=rtl] .jprose{font-size:18.5px;line-height:1.9}
html[dir=rtl] .jprose h2{line-height:1.45;padding-top:.7em}
html[dir=rtl] .jprose h3{line-height:1.55}
html[dir=rtl] .jprose blockquote{line-height:1.6}
html[dir=rtl] .jprose ul>li::before{top:.95em}
html[dir=rtl] .ap-form .hint{font-size:14px}

/* ---------- responsive ---------- */
@media(max-width:980px){
  .ap-grid,.job-grid{grid-template-columns:1fr}
  .ap-head,.job-side{position:static}
  .job-grid.no-body{grid-template-columns:1fr}
}
@media(max-width:900px){
  .cul{grid-template-columns:1fr}
  .cul li:nth-child(odd){border-inline-end:0;padding-inline-end:0}
  .cul li:nth-child(even){padding-inline-start:0}
  .steps--3{grid-template-columns:1fr}
  .steps--3 li{border-inline-end:0;border-bottom:1.5px solid var(--ink)}
  .steps--3 li:last-child{border-bottom:0}
  .job-row{align-items:flex-end}
}
@media(max-width:620px){
  .ap-row{grid-template-columns:1fr}
  .job-row{flex-direction:column;align-items:flex-start;gap:14px}
  .job-row:hover{padding-inline:10px}
  .ap-send .btn{flex:1 1 auto}
  .jprose{font-size:17px}
  html[dir=rtl] .jprose{font-size:17.5px}
  .jprose li{padding-inline-start:28px}
  .cul li{grid-template-columns:1fr}
  .cul .n{grid-row:auto;font-size:44px}
}
