/* Careers page styles — page-specific; tokens in variables.css, fonts in fonts.css. */
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:var(--font);font-weight:300;background:radial-gradient(120% 90% at 70% 110%,rgba(220,168,92,.16),transparent 55%),linear-gradient(180deg,var(--ink-2),var(--ink) 75%);color:var(--sand);min-height:100vh;line-height:1.55;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
/* nav */
.nav{display:flex;align-items:center;justify-content:space-between;padding:clamp(1rem,2.4vh,1.6rem) var(--gutter)}
.brand{display:inline-flex;align-items:center;color:#fff}
.brand__logo{display:block;height:clamp(15px,1.7vw,21px);width:auto;color:var(--sand)}
.nav__links{display:flex;gap:clamp(1rem,3vw,2.5rem);align-items:center;font-weight:500;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase}
.nav__links a{position:relative;padding-block:.3rem}
.nav__links a::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background:var(--sand);transform:scaleX(0);transform-origin:100% 50%;transition:transform .5s var(--ease-out)}
.nav__links a:hover::after{transform:scaleX(1);transform-origin:0 50%}
.nav__links .talk{font-weight:700}
.wrap{max-width:1100px;margin-inline:auto;padding-inline:var(--gutter)}
.hero{padding-block:clamp(6rem,16vh,11rem) clamp(2rem,6vh,4rem)}
.eyebrow{font-size:.7rem;letter-spacing:.24em;text-transform:uppercase;color:var(--muted);font-weight:500;opacity:0;animation:fadeUp .8s var(--ease-out) .1s forwards}
/* animated title */
h1{font-weight:300;font-size:clamp(2.6rem,8vw,6rem);line-height:1;letter-spacing:-.03em;margin:1.2rem 0 1.4rem}
h1 .l{display:block;opacity:0;filter:blur(14px);transform:translateY(24px);animation:titleIn 1.1s var(--ease-out) forwards}
h1 .l:nth-child(1){animation-delay:.2s}
h1 .l:nth-child(2){animation-delay:.36s}
h1 b{color:var(--amber-soft);font-weight:700}
@keyframes titleIn{to{opacity:1;filter:blur(0);transform:none}}
@keyframes fadeUp{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.lede{max-width:50ch;font-size:clamp(1.05rem,1.6vw,1.35rem);color:var(--sand-dim);opacity:0;animation:fadeUp .9s var(--ease-out) .55s forwards}
/* filter bar */
.filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:clamp(1.2rem,3vw,2.6rem);padding-block:clamp(1.4rem,4vh,2.4rem) 0;opacity:0;animation:fadeUp .9s var(--ease-out) .7s forwards}
.filter{display:flex;flex-direction:column;gap:.4rem}
.filter--search{flex:1 1 240px;min-width:200px}
.filter--locked{opacity:.4;pointer-events:none}
.filter>span{font-weight:500;font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.filter input,.filter select{font-family:inherit;font-size:.98rem;color:var(--sand);background:transparent;border:0;border-bottom:1px solid var(--line);padding:.5rem 0;outline:none;transition:border-color .35s}
.filter select{cursor:pointer}.filter select option{background:var(--ink-2);color:var(--sand)}
.filter input::placeholder{color:var(--muted);opacity:.7}
.filter input:focus,.filter select:focus{border-color:var(--amber-soft)}
.results-count{margin-top:1rem;font-weight:500;font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);opacity:0;animation:fadeUp .9s var(--ease-out) .8s forwards}
.roles__empty{padding:clamp(2rem,6vh,3.5rem) 0;color:var(--sand-dim);font-size:1rem;border-bottom:1px solid var(--line)}
/* roles */
.roles{border-top:1px solid var(--line)}
.role{display:grid;grid-template-columns:1fr auto;gap:1rem 2rem;align-items:center;border-bottom:1px solid var(--line);padding:clamp(1.4rem,3.5vh,2.2rem) 0;transition:padding .4s var(--ease)}
.role:hover{padding-inline:1rem}
.role__info h2{font-weight:300;font-size:clamp(1.4rem,3.4vw,2.4rem);line-height:1;letter-spacing:-.03em}
.role__meta{margin-top:.5rem;font-weight:500;font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.role__meta span{color:var(--amber-soft)}
.apply{flex:0 0 auto;display:inline-flex;align-items:center;gap:.6rem;font-weight:500;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;
  background:none;color:var(--sand);border:1px solid var(--line);border-radius:100px;padding:.8rem 1.4rem;white-space:nowrap;transition:background .4s var(--ease),color .4s var(--ease),border-color .4s var(--ease)}
.apply:hover{background:var(--amber);border-color:var(--amber);color:var(--ink)}
/* no-vacancy state */
.vacancies{border-top:1px solid var(--line);padding-block:clamp(3.5rem,10vh,6.5rem);text-align:center;
  opacity:0;animation:fadeUp .9s var(--ease-out) .6s forwards}
.vacancies__eyebrow{display:inline-block;font-weight:500;font-size:.66rem;letter-spacing:.22em;text-transform:uppercase;color:var(--amber-soft);margin-bottom:1.2rem}
.vacancies__msg{font-family:var(--font);font-weight:300;font-size:clamp(1.5rem,3.4vw,2.6rem);line-height:1.25;letter-spacing:-.02em;color:var(--sand);max-width:22ch;margin-inline:auto}
.open{display:flex;align-items:flex-start;justify-content:space-between;gap:2rem;flex-wrap:wrap;border-top:1px solid var(--line);padding-block:clamp(3rem,8vh,5rem)}
.open h3{font-weight:300;font-size:clamp(1.6rem,4vw,2.6rem);letter-spacing:-.03em;max-width:18ch}
.open p{color:var(--sand-dim);max-width:42ch;margin-top:.8rem}
.btn{display:inline-flex;align-items:center;gap:.6rem;font-weight:500;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;border:0;
  background:var(--sand);color:var(--ink);border-radius:100px;padding:1rem 1.6rem;transition:background .4s var(--ease)}
.btn::before{display:none} /* the shared .btn sliding overlay (components.css) covers this page's bare-text button */
.btn:hover{background:var(--amber);color:var(--ink)}
.foot{border-top:1px solid var(--line);padding-block:2.5rem;display:flex;gap:1rem;justify-content:space-between;flex-wrap:wrap;font-size:.8rem;color:var(--muted)}
.back{display:inline-flex;gap:.5rem;font-weight:500;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase}
.back:hover{color:var(--amber-soft)}
.note{font-size:.7rem;color:var(--muted)}
@media(max-width:620px){.role{grid-template-columns:1fr}}

/* ===== apply modal ===== */
.amodal{position:fixed;inset:0;z-index:9700;display:flex;align-items:center;justify-content:center;padding:clamp(1rem,4vw,3rem);
  background:rgba(12,9,4,.9);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);opacity:0;visibility:hidden;transition:opacity .5s var(--ease),visibility .5s}
.amodal.is-open{opacity:1;visibility:visible}
.amodal__panel{position:relative;width:min(1150px,100%);max-height:90vh;overflow:hidden;display:grid;grid-template-columns:1fr 1fr;
  background:linear-gradient(160deg,var(--ink-2),var(--ink));border:1px solid var(--line);border-radius:12px;transform:scale(.96) translateY(14px);transition:transform .55s var(--ease-out)}
.amodal.is-open .amodal__panel{transform:none}
.amodal__close{position:absolute;top:clamp(1rem,2vw,1.4rem);right:clamp(1rem,2vw,1.4rem);z-index:5;width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:rgba(20,15,7,.4);color:var(--sand);font-size:1rem;cursor:pointer;display:grid;place-items:center;transition:background .4s,color .4s,border-color .4s}
.amodal__close:hover{background:var(--amber);border-color:var(--amber);color:var(--ink)}
.amodal__col{padding:clamp(1.8rem,3.4vw,3rem);overflow-y:auto;max-height:90vh;scrollbar-width:thin;scrollbar-color:var(--bronze) transparent}
.amodal__col::-webkit-scrollbar{width:5px}.amodal__col::-webkit-scrollbar-thumb{background:var(--bronze);border-radius:4px}
.amodal__left{border-right:1px solid var(--line)}
.amodal__logo{height:24px;width:auto;color:var(--sand-dim);margin-bottom:1.6rem}
.amodal__role{font-weight:300;font-size:clamp(1.8rem,3.4vw,2.8rem);line-height:1;letter-spacing:-.03em;color:var(--sand)}
.amodal__loc{margin-top:.5rem;font-weight:500;font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.amodal__loc span{color:var(--amber-soft)}
.asec{margin-top:1.6rem}
.asec h4{font-weight:500;font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:var(--amber-soft);margin-bottom:.5rem}
.asec p{color:var(--sand-dim);font-size:.95rem;line-height:1.6}
.asec ul{list-style:none;display:flex;flex-direction:column;gap:.4rem;margin-top:.2rem}
.asec li{position:relative;padding-left:1.1rem;color:var(--sand-dim);font-size:.95rem}
.asec li::before{content:"";position:absolute;left:0;top:.6em;width:6px;height:1px;background:var(--bronze)}
.asec--eq p{font-size:.82rem;color:var(--muted)}
/* form */
.aform{display:flex;flex-direction:column;gap:1.1rem}
.aform__row{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem}
.afield{display:flex;flex-direction:column;gap:.4rem}
.afield>span{font-weight:500;font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.afield>span .opt{color:var(--bronze);letter-spacing:.04em}
.afield input,.afield select{font-family:inherit;font-size:.98rem;color:var(--sand);background:transparent;border:0;border-bottom:1px solid var(--line);padding:.5rem 0;outline:none;transition:border-color .35s}
.afield select{cursor:pointer}.afield select option{background:var(--ink-2);color:var(--sand)}
.afield input:focus,.afield select:focus{border-color:var(--amber-soft)}
.afield.invalid>span{color:var(--warn)}
.afield.invalid input,.afield.invalid select,.afield.invalid .afile{border-color:var(--warn)}
.afile{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;border-bottom:1px solid var(--line);padding-bottom:.6rem;transition:border-color .35s}
.afile__btn{display:inline-flex;align-items:center;gap:.4rem;font-size:.72rem;letter-spacing:.06em;color:var(--ink);background:var(--sand-dim);border-radius:100px;padding:.45rem .9rem;cursor:pointer;transition:background .35s}
.afile__btn:hover{background:var(--sand)}
.afile__btn input{display:none}
.afile__or{font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.afile__link{flex:1 1 160px;min-width:140px;font-family:inherit;font-size:.92rem;color:var(--sand);background:transparent;border:0;outline:none}
.afile__name{flex-basis:100%;display:inline-flex;align-items:center;gap:.5rem;font-size:.78rem;color:var(--amber-soft)}
.afile__clear{flex:0 0 auto;width:18px;height:18px;display:inline-grid;place-items:center;border:0;border-radius:50%;background:transparent;color:var(--muted);font-size:.7rem;line-height:1;cursor:pointer;transition:color .3s,background .3s}
.afile__clear:hover{color:var(--warn)}
.afile__clear:focus-visible{outline:1px solid var(--sand);outline-offset:1px}
.afile__note{display:block;margin-top:.4rem;font-size:.62rem;letter-spacing:.02em;color:var(--muted);opacity:.4}
.aform__title{font-weight:300;font-size:clamp(1.3rem,2.4vw,1.9rem);line-height:1;letter-spacing:-.02em;color:var(--sand);margin-top:clamp(.6rem,2vw,1.4rem);margin-bottom:clamp(2rem,4vw,3rem);padding-bottom:1.2rem;border-bottom:1px solid var(--line)}
.asubmit{align-self:flex-start;margin-top:.4rem;display:inline-flex;align-items:center;gap:.6rem;font-weight:500;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;
  background:var(--sand);color:var(--ink);border:1px solid var(--sand);border-radius:100px;padding:1rem 1.7rem;transition:background .4s,opacity .4s}
.asubmit:hover{background:var(--amber);border-color:var(--amber)}
.asubmit.is-dim{opacity:.5}
.asubmit__dot{width:6px;height:6px;border-radius:50%;background:var(--amber)}
.asubmit:hover .asubmit__dot{background:var(--ink)}
/* elements with display:flex/grid ignore the hidden attribute unless forced */
[hidden]{display:none!important}
/* persistent "application sent" confirmation (replaces the form after a successful submit) */
.asent{display:flex;flex-direction:column;align-items:flex-start;gap:.8rem;padding-block:clamp(2rem,5vh,3.5rem);animation:fadeUp .7s var(--ease-out) both}
.asent__check{width:52px;height:52px;display:grid;place-items:center;border-radius:50%;background:var(--amber);color:var(--ink);font-size:1.4rem;font-weight:700}
.asent h3{font-weight:300;font-size:clamp(1.5rem,2.8vw,2.2rem);line-height:1.1;letter-spacing:-.02em;color:var(--sand)}
.asent p{color:var(--sand-dim);font-size:.95rem;line-height:1.6;max-width:44ch}
@media(max-width:820px){.amodal__panel{grid-template-columns:1fr;max-height:92vh;overflow-y:auto}.amodal__col{max-height:none;overflow:visible}.amodal__left{border-right:0;border-bottom:1px solid var(--line)}.aform__row{grid-template-columns:1fr}}
.using-cursor .amodal,.using-cursor .amodal *{cursor:auto!important}
.using-cursor .amodal a,.using-cursor .amodal button,.using-cursor .amodal select,.using-cursor .amodal label{cursor:pointer!important}
.using-cursor .amodal input{cursor:text!important}
