/* Zala Springs MAIN — Careers / Jobs component */
.zs-careers {
    --zsc-deep: var(--zs-brand-midnight, #26352c);
    --zsc-forest: var(--zs-brand-forest, #394a40);
    --zsc-gold: var(--zs-brand-gold, #c2a22f);
    --zsc-bg: var(--zs-bg, #f5f3ed);
    --zsc-surface: var(--zs-surface, #fbfaf7);
    --zsc-white: var(--zs-surface-2, #fff);
    --zsc-text: var(--zs-text, #26312b);
    --zsc-muted: var(--zs-text-soft, #68716c);
    --zsc-line: var(--zs-line, rgba(38,53,44,.12));
    --zsc-shadow: var(--zs-shadow-sm, 0 10px 28px rgba(38,53,44,.09));
    background: var(--zsc-bg);
    color: var(--zsc-text);
    font-family: "Brandon book", Arial, Helvetica, sans-serif !important;
    padding: clamp(72px, 8vw, 120px) 0;
}
.zs-careers *, .zs-careers *::before, .zs-careers *::after { box-sizing:border-box; font-family:"Brandon book",Arial,Helvetica,sans-serif !important; }
.zs-careers__inner { width:calc(100% - 64px); max-width:1440px; margin:0 auto; }
.zs-careers__header { max-width:850px; margin:0 auto clamp(46px,6vw,72px); text-align:center; }
.zs-careers__eyebrow { display:inline-flex; align-items:center; gap:12px; color:#8e7520; font-size:12px; font-weight:700; letter-spacing:.15em; text-transform:uppercase; }
.zs-careers__eyebrow::before,.zs-careers__eyebrow::after { content:""; width:34px; height:1px; background:var(--zsc-gold); }
.zs-careers__title { margin:14px 0 0; color:var(--zsc-deep); font-size:clamp(42px,5vw,68px); font-weight:400; line-height:1.02; letter-spacing:-.025em; }
.zs-careers__lead { max-width:760px; margin:20px auto 0; color:var(--zsc-muted); font-size:clamp(17px,1.5vw,20px); line-height:1.65; }
.zs-careers__legend { display:flex; justify-content:center; flex-wrap:wrap; gap:18px 28px; margin-top:24px; color:var(--zsc-muted); font-size:14px; }
.zs-careers__legend span { display:inline-flex; align-items:center; gap:8px; }
.zs-careers__legend-dot { width:9px; height:9px; border-radius:50%; border:1px solid rgba(38,53,44,.25); background:transparent; }
.zs-careers__legend-dot.is-active { border-color:var(--zsc-gold); background:var(--zsc-gold); box-shadow:0 0 0 4px rgba(194,162,47,.12); }
.zs-careers__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; align-items:start; }
.zs-careers__group { overflow:hidden; border:1px solid var(--zsc-line); border-radius:24px; background:rgba(255,255,255,.66); box-shadow:0 8px 28px rgba(38,53,44,.06); backdrop-filter:blur(8px); }
.zs-careers__group-head { display:flex; align-items:flex-start; gap:14px; padding:24px 24px 20px; border-bottom:1px solid var(--zsc-line); background:linear-gradient(180deg,rgba(255,255,255,.82),rgba(251,250,247,.64)); }
.zs-careers__group-index { width:34px; height:2px; margin-top:13px; flex:0 0 auto; border-radius:99px; background:var(--zsc-gold); }
.zs-careers__group-head h3 { margin:0; color:var(--zsc-deep); font-size:clamp(20px,1.5vw,25px); font-weight:500; line-height:1.18; letter-spacing:-.012em; }
.zs-careers__group-head span:not(.zs-careers__group-index) { display:block; margin-top:6px; color:var(--zsc-muted); font-size:13px; }
.zs-careers__jobs { padding:10px; }
.zs-careers__job { position:relative; width:100%; display:grid; grid-template-columns:auto minmax(0,1fr) auto auto; gap:12px; align-items:center; min-height:74px; margin:0; padding:14px 14px; border:1px solid transparent; border-radius:16px; background:transparent; color:var(--zsc-text); text-align:left; cursor:pointer; transition:background .22s ease,border-color .22s ease,transform .16s ease,box-shadow .22s ease; }
.zs-careers__job + .zs-careers__job { margin-top:4px; }
.zs-careers__job:hover,.zs-careers__job:focus-visible { z-index:1; border-color:rgba(38,53,44,.10); background:#fff; box-shadow:0 10px 26px rgba(38,53,44,.08); transform:translateY(-1px); outline:none; }
.zs-careers__job:focus-visible { box-shadow:0 0 0 3px rgba(194,162,47,.24),0 10px 26px rgba(38,53,44,.08); }
.zs-careers__job.is-active { border-color:rgba(194,162,47,.24); background:linear-gradient(90deg,rgba(194,162,47,.11),rgba(255,255,255,.72)); }
.zs-careers__job-mark { width:10px; height:10px; border-radius:50%; border:1px solid rgba(38,53,44,.22); background:rgba(38,53,44,.04); }
.zs-careers__job.is-active .zs-careers__job-mark { border-color:var(--zsc-gold); background:var(--zsc-gold); box-shadow:0 0 0 4px rgba(194,162,47,.12); }
.zs-careers__job-copy { min-width:0; }
.zs-careers__job-copy strong { display:block; color:var(--zsc-deep); font-size:16px; font-weight:500; line-height:1.25; }
.zs-careers__job-copy small { display:block; margin-top:4px; color:var(--zsc-muted); font-size:12px; line-height:1.25; }
.zs-careers__job.is-active .zs-careers__job-copy small { color:#8e7520; }
.zs-careers__job-badge { align-self:start; padding:5px 8px 4px; border-radius:999px; background:var(--zsc-gold); color:#26312b; font-size:10px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.zs-careers__job-arrow { color:var(--zsc-muted); font-size:17px; transition:transform .18s ease,color .18s ease; }
.zs-careers__job:hover .zs-careers__job-arrow { color:var(--zsc-gold); transform:translate(2px,-2px); }

html.zs-career-modal-open, body.zs-career-modal-open { overflow:hidden !important; }
.zs-career-modal[hidden] { display:none !important; }
.zs-career-modal { position:fixed; z-index:999999; inset:0; display:grid; place-items:center; padding:28px; opacity:0; visibility:hidden; transition:opacity .22s ease,visibility .22s ease; }
.zs-career-modal.is-open { opacity:1; visibility:visible; }
.zs-career-modal__backdrop { position:absolute; inset:0; width:100%; height:100%; border:0; background:rgba(19,29,23,.72); backdrop-filter:blur(8px); cursor:pointer; }
.zs-career-modal__dialog { position:relative; width:min(1120px,100%); max-height:calc(100vh - 56px); overflow:auto; overscroll-behavior:contain; border:1px solid rgba(255,255,255,.32); border-radius:28px; background:var(--zsc-bg); box-shadow:0 36px 100px rgba(15,24,19,.32); transform:translateY(18px) scale(.985); transition:transform .22s ease; outline:none; }
.zs-career-modal.is-open .zs-career-modal__dialog { transform:translateY(0) scale(1); }
.zs-career-modal__header { position:sticky; z-index:5; top:0; display:flex; align-items:center; justify-content:space-between; gap:24px; padding:24px 28px; border-bottom:1px solid var(--zsc-line); background:rgba(245,243,237,.93); backdrop-filter:blur(14px); }
.zs-career-modal__eyebrow { display:block; margin-bottom:5px; color:#8e7520; font-size:11px; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }
.zs-career-modal__header h2 { margin:0; color:var(--zsc-deep); font-size:clamp(28px,3vw,40px); font-weight:400; line-height:1.05; }
.zs-career-modal__close { flex:0 0 auto; width:46px; height:46px; display:grid; place-items:center; border:1px solid var(--zsc-line); border-radius:50%; background:#fff; color:var(--zsc-deep); cursor:pointer; font-size:29px; line-height:1; transition:transform .18s ease,background .18s ease; }
.zs-career-modal__close:hover { background:var(--zsc-deep); color:#fff; transform:rotate(4deg); }

/* Optional career-position description rendered above the lazy-loaded form. */
.zs-career-modal__description {
    width:min(calc(100% - 56px),960px);
    margin:30px auto 0;
    padding:24px 28px;
    border:1px solid var(--zsc-line);
    border-left:3px solid var(--zsc-gold);
    border-radius:18px;
    background:rgba(255,255,255,.72);
    color:var(--zsc-deep);
    box-shadow:0 10px 28px rgba(38,53,44,.055);
    font-family:"Brandon book",Arial,Helvetica,sans-serif;
}
.zs-career-modal__description-inner { max-width:780px; font-size:17px; line-height:1.68; color:var(--zsc-muted); }
.zs-career-modal__description-inner > *:first-child { margin-top:0; }
.zs-career-modal__description-inner > *:last-child { margin-bottom:0; }
.zs-career-modal__description-inner p { margin:0 0 .9em; }
.zs-career-modal__description-inner h2,.zs-career-modal__description-inner h3,.zs-career-modal__description-inner h4 { margin:1.35em 0 .55em; color:var(--zsc-deep); font-weight:500; line-height:1.2; }
.zs-career-modal__description-inner ul,.zs-career-modal__description-inner ol { margin:.75em 0 1em; padding-left:1.25em; }
.zs-career-modal__description-inner a { color:var(--zsc-deep); text-decoration-color:var(--zsc-gold); text-underline-offset:.18em; }

.zs-career-modal__body { min-height:260px; }
.zs-career-modal__loader,.zs-career-modal__error { min-height:260px; display:grid; place-items:center; padding:50px; color:var(--zsc-muted); text-align:center; font-size:17px; }
.zs-career-modal__loader::before { content:""; width:34px; height:34px; margin-bottom:16px; border:2px solid rgba(38,53,44,.14); border-top-color:var(--zsc-gold); border-radius:50%; animation:zsc-spin .8s linear infinite; }
.zs-career-modal__loader { grid-template-rows:auto auto; }
.zs-career-modal .zs-managed-form-stage { padding:26px 28px 34px !important; background:transparent !important; }
.zs-career-modal .zs-managed-form { margin:0 auto !important; box-shadow:none !important; }
@keyframes zsc-spin { to { transform:rotate(360deg); } }

@media (max-width:1366px){ .zs-careers__inner{width:calc(100% - 56px)} .zs-careers__grid{gap:20px} }
@media (max-width:1200px){ .zs-careers__grid{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (max-width:1024px){ .zs-careers{padding:72px 0} .zs-careers__inner{width:calc(100% - 44px)} }
@media (max-width:880px){ .zs-careers__grid{grid-template-columns:1fr} .zs-careers__group{border-radius:20px} .zs-career-modal{padding:18px} .zs-career-modal__dialog{max-height:calc(100vh - 36px)} }
@media (max-width:767px){
    .zs-careers{padding:58px 0}.zs-careers__inner{width:calc(100% - 28px)}.zs-careers__header{margin-bottom:38px}.zs-careers__title{font-size:clamp(38px,12vw,52px)}
    .zs-careers__legend{justify-content:flex-start;text-align:left}.zs-careers__group-head{padding:20px}.zs-careers__jobs{padding:8px}.zs-careers__job{grid-template-columns:auto minmax(0,1fr) auto;padding:13px 11px}.zs-careers__job-badge{display:none}.zs-careers__job-copy strong{font-size:15px}
    .zs-career-modal{padding:0;place-items:stretch}.zs-career-modal__dialog{width:100%;height:100dvh;max-height:none;border-radius:0;border:0}.zs-career-modal__header{padding:18px 16px}.zs-career-modal__close{width:42px;height:42px}.zs-career-modal .zs-managed-form-stage{padding:18px 12px 28px !important}.zs-career-modal .zs-managed-form{border-radius:20px !important;padding:24px 18px !important}
    .zs-career-modal__description{width:calc(100% - 24px);margin:18px auto 0;padding:18px 18px 18px 20px;border-radius:14px}.zs-career-modal__description-inner{font-size:16px;line-height:1.58}
}
@media (prefers-reduced-motion:reduce){ .zs-careers *,.zs-careers *::before,.zs-careers *::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important} }
