/* Ksamata careers pages (loaded after site.css, reuses its tokens) */

/* ----- Hero ----- */
.page-hero.ph-compact{min-height:min(82dvh,760px)}
.hero-chips{margin-top:1.5rem}
.roles-card,.facts{justify-self:end;width:100%;max-width:420px;padding:clamp(1.5rem,3vw,2.25rem);border-radius:var(--radius-lg);
  background:linear-gradient(160deg,rgba(32,27,82,.9),rgba(17,14,48,.92));border:1px solid rgba(243,244,255,.1);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 40px 80px -40px rgba(8,6,26,.9);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.rc-num{display:block;font-size:clamp(4rem,8vw,6.5rem);font-weight:500;letter-spacing:-.06em;line-height:.9;
  background:linear-gradient(135deg,#C9CCFF,#8D93FF 45%,#535AFA);-webkit-background-clip:text;background-clip:text;color:transparent}
.rc-lbl{display:block;margin:.6rem 0 1.5rem;font-size:.75rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--on-dark-3)}
.roles-card p{color:var(--on-dark-2);font-size:.95rem}
.facts{display:grid;grid-template-columns:1fr 1fr;gap:0}
.facts div{padding:1rem 0;border-bottom:1px solid var(--line-dark)}
.facts div:nth-child(odd):not(.wide){padding-right:1rem}
.facts .wide{grid-column:1/-1;border-bottom:0;padding-bottom:0}
.facts dt{font-size:.68rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--on-dark-3);margin-bottom:.3rem}
.facts dd{font-weight:500;color:var(--on-dark);line-height:1.35}
.facts .closed{color:#FF9AAE;font-weight:600}

/* ----- Role list ----- */
.roles-head{grid-template-columns:minmax(0,1fr) auto;align-items:end}
.dept-filter{display:flex;flex-wrap:wrap;gap:.4rem;justify-content:flex-end}
.dept-filter button{padding:.55rem 1rem;border-radius:999px;border:1px solid var(--line);font-size:.85rem;color:var(--ink-2);transition:all .3s var(--ease)}
.dept-filter button:hover{border-color:rgba(26,0,255,.35);color:var(--primary)}
.dept-filter button.on{background:var(--deep);border-color:var(--deep);color:#fff}
.job-list{list-style:none;border-top:1px solid var(--line)}
.role{position:relative;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) 3rem;gap:1.5rem 2rem;align-items:center;padding:2rem 0;border-bottom:1px solid var(--line);isolation:isolate}
.role[hidden]{display:none}
.role::before{content:"";position:absolute;inset:0 -1.5rem;z-index:-1;border-radius:1.25rem;background:var(--surface);opacity:0;transform:scaleY(.8);transition:opacity .4s var(--ease),transform .6s var(--ease)}
.role:hover::before,.role:focus-within::before{opacity:1;transform:none}
.role-dept{display:inline-block;font-size:.7rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--primary);margin-bottom:.6rem}
.role h3{font-size:clamp(1.4rem,2.6vw,2.1rem);letter-spacing:-.035em;transition:transform .6s var(--ease),color .4s var(--ease)}
.role:hover h3{transform:translateX(8px);color:var(--primary)}
.role-main p{color:var(--ink-2);margin-top:.6rem;max-width:56ch;font-size:.97rem}
.role-meta{list-style:none;display:flex;flex-wrap:wrap;gap:.4rem}
.role-meta li{display:inline-flex;align-items:center;gap:.35rem;padding:.42rem .8rem;border-radius:999px;background:var(--surface);border:1px solid var(--line);font-size:.8rem;line-height:1.3;color:var(--ink-2)}
.role:hover .role-meta li{background:var(--white)}
.role-meta svg{width:14px;height:14px;color:var(--primary)}
.role .go{width:44px;height:44px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;transition:all .5s var(--ease)}
.role .go svg{width:16px;height:16px}
.role:hover .go{background:var(--primary);border-color:var(--primary);color:#fff;transform:rotate(-45deg)}
.roles-empty{padding:clamp(2rem,5vw,3.5rem);border-radius:var(--radius-lg);background:var(--surface);border:1px dashed rgba(14,11,42,.15)}
.roles-empty h3{font-size:clamp(1.3rem,2vw,1.6rem);letter-spacing:-.03em}
.roles-empty p{color:var(--ink-2);margin-top:.6rem;max-width:60ch}
.roles-empty a{color:var(--primary);font-weight:600;text-decoration:underline;text-underline-offset:3px}

/* ----- Hiring steps ----- */
.hire-steps{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
.hire-steps li{padding:1.75rem 1.5rem;border-radius:1.5rem;background:var(--white);border:1px solid var(--line)}
.hire-steps span{font-size:.8rem;font-weight:600;color:var(--primary);letter-spacing:.08em}
.hire-steps h3{font-size:1.2rem;letter-spacing:-.025em;margin:1.5rem 0 .5rem}
.hire-steps p{color:var(--ink-2);font-size:.93rem}

/* ----- Job description ----- */
.jd-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,360px);gap:clamp(2rem,6vw,6rem);align-items:start}
.jd{max-width:74ch}
.jd h3{font-size:clamp(1.25rem,1.8vw,1.5rem);letter-spacing:-.03em;line-height:1.2;margin:2.5rem 0 1rem;padding-top:2rem;border-top:1px solid var(--line)}
.jd h3:first-child{margin-top:0;padding-top:0;border-top:0}
.jd p{color:var(--ink-2);font-size:1.03rem;line-height:1.75}
.jd p+p{margin-top:.9rem}
.jd strong{color:var(--ink);font-weight:600}
.jd ul:not(.chips){list-style:none;display:grid;gap:.7rem;margin:1rem 0}
.jd ul:not(.chips) li{position:relative;padding-left:1.6rem;color:var(--ink-2);line-height:1.65}
.jd ul:not(.chips) li::before{content:"";position:absolute;left:.15rem;top:.62em;width:7px;height:7px;border-radius:50%;background:var(--primary);box-shadow:0 0 0 4px rgba(26,0,255,.1)}
.jd-skills{margin-top:.5rem}
.jd-aside{position:sticky;top:110px}
.jd-card{display:grid;gap:1.1rem;padding:1.75rem;border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--line)}
.jd-card p{color:var(--ink-2);font-size:.95rem}
.jd-card .btn{justify-content:space-between}
.share{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;padding-top:1.1rem;border-top:1px solid var(--line)}
.share span{width:100%;font-size:.7rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin-bottom:.2rem}
.share a,.share button{padding:.45rem .85rem;border-radius:999px;border:1px solid var(--line);background:var(--white);font-size:.82rem;transition:all .3s var(--ease)}
.share a:hover,.share button:hover{border-color:rgba(26,0,255,.35);color:var(--primary)}

/* ----- Application form (extends the Clarity Call form styles) ----- */
.apply-sec{position:relative;overflow:hidden;isolation:isolate}
.apply-sec canvas.ribbon{position:absolute;inset:0;width:100%;height:100%;z-index:-1;opacity:.6}
.apply-set{border:0;min-width:0}
.apply-set+.apply-set{margin-top:1.75rem;padding-top:1.75rem;border-top:1px solid var(--line-dark)}
.apply-set legend{display:block;float:left;width:100%;margin-bottom:1.1rem;font-size:.7rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--soft)}
.apply-set legend+*{clear:both}
.span-2{grid-column:1/-1}
.cond[hidden]{display:none}
.cond label [data-for]{display:none}
.cond label [data-for].on{display:inline}

.money{position:relative;display:flex;align-items:center}
.money span{position:absolute;left:1rem;color:var(--on-dark-2);pointer-events:none}
.money em{position:absolute;right:1rem;font-style:normal;font-size:.8rem;color:var(--on-dark-3);pointer-events:none}
.f .money input{padding-left:2.1rem;padding-right:4.6rem;font-variant-numeric:tabular-nums}

.flabel{font-size:.9rem;font-weight:500;color:var(--on-dark);line-height:1.35}
.drop{position:relative;display:flex;align-items:center;gap:.9rem;min-height:84px;padding:1rem;border-radius:.9rem;border:1.5px dashed rgba(243,244,255,.2);background:rgba(8,6,26,.4);
  transition:border-color .25s var(--ease),background-color .25s var(--ease),box-shadow .25s var(--ease)}
.drop input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.drop:hover,.drop.over{border-color:var(--soft);background:rgba(125,107,255,.08)}
.drop:focus-within{border-color:var(--soft);box-shadow:0 0 0 4px rgba(125,107,255,.18)}
.drop-ico{flex:none;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:rgba(125,107,255,.14);color:var(--soft);transition:all .3s var(--ease)}
.drop-ico svg{width:20px;height:20px}
.drop-txt{min-width:0;display:grid;gap:.2rem}
.drop-txt b{font-weight:500;font-size:.92rem;color:var(--on-dark);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.drop-txt small{font-size:.78rem;color:var(--on-dark-3)}
.drop.has-file{border-style:solid;border-color:rgba(91,227,168,.45);background:rgba(91,227,168,.06)}
.drop.has-file .drop-ico{background:rgba(91,227,168,.16);color:#5BE3A8}
.f.invalid .drop{border-color:#FF6B86;box-shadow:0 0 0 4px rgba(255,107,134,.12)}
.turnstile-wrap{margin-top:1.5rem}
#applyForm .form-nav .btn{margin-left:auto}

/* ----- Responsive ----- */
@media (max-width:1024px){
  .roles-card,.facts{justify-self:start}
  .role{grid-template-columns:minmax(0,1fr) 3rem}
  .role-meta{grid-column:1;grid-row:2}
  .role .go{grid-column:2;grid-row:1/3}
  .hire-steps{grid-template-columns:1fr 1fr}
  .jd-grid{grid-template-columns:1fr}
  .jd-aside{position:static}
  .roles-head{grid-template-columns:1fr}
  .dept-filter{justify-content:flex-start}
}
@media (max-width:767px){
  .page-hero.ph-compact{min-height:0}
  .role{grid-template-columns:1fr;padding:1.5rem 0}
  .role .go{display:none}
  .role-meta{grid-row:auto}
  .role::before{inset:0 -.75rem}
  .hire-steps{grid-template-columns:1fr}
  .facts{grid-template-columns:1fr 1fr}
  #applyForm .form-nav .btn{width:100%;justify-content:space-between;margin-left:0}
}
