/* =====================================================================
   OVERSTAND JOBS : Careers page, job pages and the application form.
   Loaded after the theme. Every colour, font and gutter comes from the
   theme's tokens (Overstand -> Site settings), so a change there shows
   here too. Every class starts with "osj-", so nothing here can touch the
   rest of the site.
   ===================================================================== */

:root{
  /* the one colour the theme does not have: form errors (7.4:1 on cream) */
  --osj-error:#9A3412;
  --osj-ease:cubic-bezier(.2,.7,.2,1);
}

/* the three backgrounds used here, with what they mean for text */
.osj-page .bone,.osj-apply,.osj-hiring-sec,.osj-band-sec{--acc:var(--bronze);--rule:var(--stone)}
.osj-page section[id],.osj-page header[id]{scroll-margin-top:96px}

/* shared type sizes, as in the approved mockup */
.osj-chero .h1{font-size:clamp(44px,4.6vw,66px);text-wrap:balance}
.osj-jhero .h1{font-size:clamp(40px,4vw,56px);text-wrap:balance}
:is(.osj-roles-sec,.osj-why,.osj-hiring-sec,.osj-how,.osj-band,.osj-apply) .h2{font-size:clamp(32px,3vw,42px);text-wrap:balance}
.osj-mono,.osj-day-k,.osj-showing,.osj-vk,.osj-hint,.osj-back,.osj-facts-top,.osj-factgrid dt,.osj-fhead p{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase}
.osj-inl{color:inherit;border-bottom:1px solid var(--acc)}
.osj-inl:hover{color:var(--acc)}

/* split heading: heading left, text right */
.osj-head2{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(440px,100%),1fr));gap:28px 96px;align-items:end}
.osj-head2 .label{margin-bottom:22px}

/* ---------- "Hiring now" pill and the live dot ---------- */
.osj-hiring{display:inline-flex;align-items:center;gap:10px;min-height:32px;padding:6px 14px 6px 12px;border-radius:999px;border:1px solid rgb(var(--cream-rgb) / .14);background:rgb(var(--cream-rgb) / .04);font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--stone)}
.light .osj-hiring{border-color:var(--stone);background:var(--cream);color:var(--slate)}
.osj-live{display:inline-block;flex:none;width:7px;height:7px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 4px rgb(var(--gold-rgb) / .18),0 0 10px var(--gold);animation:osj-pulse 3.4s ease-in-out 1}
.osj-live--off{background:var(--ash);box-shadow:none;animation:none}
@keyframes osj-pulse{0%,100%{box-shadow:0 0 0 4px rgb(var(--gold-rgb) / .18),0 0 10px var(--gold)}50%{box-shadow:0 0 0 7px rgb(var(--gold-rgb) / .05),0 0 3px var(--gold)}}

/* =========================================================
   CAREERS PAGE
   ========================================================= */

/* ---------- hero ---------- */
.osj-chero{position:relative;overflow:hidden;padding:88px 0 96px}
.osj-chero-in{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,600px);gap:40px 64px;align-items:center}
.osj-chero .label{margin:30px 0 20px}
.osj-chero .lede{margin-top:28px;color:var(--stone);max-width:540px}
.osj-chero .btns{margin-top:38px}
.osj-day{margin-top:44px;padding-top:22px;border-top:1px solid rgb(var(--cream-rgb) / .1);max-width:540px}
.osj-day-k{color:var(--quiet-d)}
.osj-rot{margin-top:8px;list-style:none}
.osj-rot li{font-family:var(--serif);font-style:italic;font-weight:420;font-size:19px;line-height:30px;letter-spacing:-.01em;color:var(--cream);font-variation-settings:"opsz" 36}
/* with the script: one line at a time, rolling up */
.osj-rot.is-on{height:30px;overflow:hidden}
.osj-rot.is-on li{height:30px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transform:translateY(calc(var(--osj-i,0) * -100%));transition:transform .7s var(--osj-ease)}
.osj-rot.is-on.is-snap li{transition:none}

/* the animation */
.osj-stage{position:relative;width:100%;max-width:600px;justify-self:end;aspect-ratio:720/640;margin:0 0 28px}
.osj-svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.osj-glow{position:absolute;left:50%;top:50%;width:70%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,rgb(var(--gold-rgb) / .16),rgb(var(--gold-rgb) / 0) 64%);pointer-events:none}
.osj-orbit{stroke:var(--cream);stroke-opacity:.16}
.osj-seat{fill:var(--onyx);stroke:var(--cream);stroke-width:2.5;stroke-opacity:.55;transition:stroke .25s,stroke-opacity .25s}
.osj-seat.is-hot{stroke:var(--gold);stroke-opacity:1}
.osj-svg:not(.is-done) .osj-seat{transition:none}
.osj-rip{fill:none;stroke:var(--gold);stroke-width:2}
.osj-ring{stroke:var(--cream)}
.osj-cream{fill:var(--cream)}
.osj-gold circle{fill:var(--gold)}
.osj-halo-in{stop-color:var(--gold);stop-opacity:.55}
.osj-halo-out{stop-color:var(--gold);stop-opacity:0}
.osj-svg.is-done .osj-orbit{transform-origin:360px 320px;transform-box:view-box;animation:osj-spin 90s linear infinite}
.osj-svg.is-done .osj-seat:not(.is-hot){animation:osj-breathe 3.6s ease-in-out infinite}
@keyframes osj-spin{to{transform:rotate(360deg)}}
@keyframes osj-breathe{0%,100%{stroke-opacity:.5}50%{stroke-opacity:.9}}
.osj-replay{position:absolute;left:36%;top:28%;width:28%;height:46%;border-radius:40%;background:transparent;border:0;padding:0;cursor:pointer}
.osj-seatbtns{position:absolute;inset:0;pointer-events:none}
.osj-seatbtn{position:absolute;width:52px;height:52px;margin:-26px 0 0 -26px;border-radius:50%;pointer-events:auto}
.osj-lab{position:absolute;white-space:nowrap;font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ash);transition:color .25s;pointer-events:none}
.osj-lab b{display:block;margin-top:3px;font-weight:400;font-size:10px;letter-spacing:.12em;color:var(--quiet-d)}
.osj-seatbtn.top .osj-lab{left:50%;bottom:100%;transform:translateX(-50%);text-align:center;margin-bottom:4px}
.osj-seatbtn.right .osj-lab{left:100%;top:50%;transform:translateY(-50%);margin-left:2px}
.osj-seatbtn.left .osj-lab{right:100%;top:50%;transform:translateY(-50%);margin-right:2px;text-align:right}
.osj-seatbtn.bottom .osj-lab{left:50%;top:100%;transform:translateX(-50%);text-align:center;margin-top:2px}
.osj-seatbtn:hover .osj-lab,.osj-seatbtn.is-hot .osj-lab,.osj-seatbtn:focus-visible .osj-lab{color:var(--gold)}
.osj-hint{position:absolute;left:0;right:0;top:100%;margin-top:8px;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:4px 18px;text-align:center;color:var(--quiet-d)}
.osj-pause{min-height:24px;padding:0 0 1px;font:inherit;letter-spacing:inherit;text-transform:inherit;color:var(--ash);border-bottom:1px solid rgb(var(--cream-rgb) / .25);cursor:pointer}
.osj-pause:hover{color:var(--cream)}
.osj-pause[hidden]{display:none}
/* "Pause motion": everything that moves on its own stops */
.osj-still .osj-mq-track,.osj-still .osj-orbit,.osj-still .osj-seat,.osj-still .osj-live{animation-play-state:paused!important}
.osj-still .osj-rot.is-on li{transition:none}

/* ---------- open roles ---------- */
.osj-roles-sec{padding:110px 0 120px}
.osj-count{max-width:560px}
.osj-chips{margin-top:52px;display:flex;flex-wrap:wrap;gap:8px}
.osj-chip{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 16px;border-radius:999px;font-size:13.5px;font-weight:500;cursor:pointer;background:transparent;color:var(--slate);border:1px solid var(--stone);transition:border-color .2s,background .2s,color .2s}
.osj-chip:hover{border-color:var(--ink);color:var(--ink)}
.osj-chip[aria-pressed="true"]{background:var(--ink);color:var(--cream);border-color:var(--ink)}
.osj-chip span{font-family:var(--mono);font-size:10.5px;opacity:.75}
.osj-showing{margin-top:22px;color:var(--quiet-l)}
.osj-rows{margin:14px -16px 0;border-top:1px solid var(--stone)}
.osj-row{display:flex;flex-wrap:wrap;align-items:center;gap:14px 20px;padding:24px 16px;border-bottom:1px solid var(--stone);color:var(--ink);transition:background .3s}
.osj-row[hidden]{display:none}
.osj-n{flex:0 0 24px;font-family:var(--mono);font-size:11.5px;letter-spacing:.14em;color:var(--quiet-l)}
.osj-t{display:block;flex:1 1 260px;min-width:0}
.osj-t strong{display:block;font-size:21px;font-weight:450;letter-spacing:-.012em;line-height:1.3}
.osj-sub{display:block;margin-top:6px;font-size:15px;color:var(--quiet-l);transition:color .3s}
.osj-end{display:flex;align-items:center;gap:16px;margin-left:auto}
.osj-tag{display:inline-flex;font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;border-radius:999px;padding:4px 9px;white-space:nowrap;color:var(--bronze);background:rgb(var(--gold-rgb) / .14);border:1px solid rgb(var(--amber-rgb) / .45)}
.osj-go{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;color:var(--quiet-l);border:1px solid var(--stone);font-size:13px;transition:background .3s,border-color .3s,color .3s,transform .3s}
.osj-row:hover,.osj-row.is-hot,.osj-row:focus-visible{background:rgb(var(--ink-rgb) / .035)}
.osj-row:hover .osj-go,.osj-row.is-hot .osj-go,.osj-row:focus-visible .osj-go{background:var(--gold);border-color:var(--gold);color:var(--ink);transform:translateX(3px)}
.osj-row:hover .osj-sub,.osj-row.is-hot .osj-sub{color:var(--bronze)}
.osj-empty{margin-top:40px;padding:24px 0;border-top:1px solid var(--stone);border-bottom:1px solid var(--stone);font-size:16px;color:var(--slate)}
.osj-other{margin-top:52px;border-radius:22px;background:linear-gradient(180deg,var(--charcoal),var(--onyx));border:1px solid rgb(var(--cream-rgb) / .12);padding:34px 36px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px 40px}
.osj-other h3{font-size:22px;font-weight:400;letter-spacing:-.02em}
.osj-other p{margin-top:8px;font-size:15px;line-height:1.6;color:var(--ash);max-width:560px}

/* ---------- moving strip ---------- */
.osj-mq{overflow:hidden;background:var(--onyx);color:var(--quiet-d);border-top:1px solid rgb(var(--cream-rgb) / .08);border-bottom:1px solid rgb(var(--cream-rgb) / .08);padding:16px 0}
.osj-mq-list{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:8px 36px;padding:0 var(--gx)}
.osj-mq-list li{display:flex;align-items:center;gap:36px;font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;white-space:nowrap}
.osj-mq-list li::after{content:"·";color:var(--gold)}
.osj-mq-track{display:flex;width:max-content;animation:osj-mq 56s linear infinite}
.osj-mq.is-on .osj-mq-list{flex-wrap:nowrap;justify-content:flex-start;padding:0 36px 0 0}
.osj-mq.is-on:hover .osj-mq-track{animation-play-state:paused}
@keyframes osj-mq{to{transform:translateX(-50%)}}

/* ---------- why ---------- */
.osj-mosaic{margin-top:64px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(480px,100%),1fr));gap:16px}
.osj-mosaic + .osj-mosaic{margin-top:16px}
.osj-photo{position:relative;min-height:380px;margin:0;border-radius:20px;overflow:hidden;background:var(--stone)}
.osj-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.osj-photo img:not([src]),.osj-band-img img:not([src]){display:none}
.osj-cards2{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:16px}
.osj-card,.osj-pcard,.osj-box,.osj-cards li,.osj-form{background:linear-gradient(180deg,var(--cream),var(--paper));border:1px solid var(--stone);box-shadow:0 1px 0 rgb(var(--cream-rgb) / .8) inset,0 20px 40px -28px rgb(var(--ink-rgb) / .25)}
.osj-card{display:flex;flex-direction:column;padding:26px 26px 28px;border-radius:20px;transition:transform .45s var(--osj-ease),border-color .45s,box-shadow .45s}
.osj-card:hover{transform:translateY(-2px);border-color:rgb(var(--amber-rgb) / .35);box-shadow:0 1px 0 rgb(var(--cream-rgb) / .8) inset,0 24px 44px -26px rgb(var(--bronze-rgb) / .35)}
.osj-card .osj-ico{margin-bottom:34px}
.osj-card h3{font-size:18px;font-weight:450;letter-spacing:-.012em;line-height:1.3}
.osj-card p{margin-top:12px;font-size:14.5px;line-height:1.6;color:var(--quiet-l)}

/* soft gold glow behind dark sections */
.osj-how::before,.osj-jhero .osj-orb{content:"";position:absolute;border-radius:50%;pointer-events:none;background:radial-gradient(circle,rgb(var(--gold-rgb) / .12),transparent 65%)}

/* ---------- how hiring works ---------- */
.osj-pcards{margin-top:64px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:16px}
.osj-pcard{padding:26px 26px 30px;border-radius:20px}
.osj-num{font-family:var(--mono);font-size:11.5px;letter-spacing:.14em;color:var(--bronze)}
.osj-pcard h3{margin-top:28px;font-size:22px;font-weight:400;letter-spacing:-.02em}
.osj-pcard p:not(.osj-num){margin-top:10px;font-size:14.5px;line-height:1.6;color:var(--quiet-l)}
.osj-inclusive{margin-top:40px;max-width:820px;font-size:14.5px;line-height:1.7;color:var(--quiet-l)}

/* ---------- how we work ---------- */
.osj-how{position:relative;overflow:hidden}
.osj-how::before{left:-200px;bottom:-260px;width:620px;height:620px}
.osj-split{position:relative;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(420px,100%),1fr));gap:56px 96px;align-items:start}
.osj-split .lede{margin-top:24px;max-width:460px}
.osj-split p.tlink{margin-top:28px}
.osj-values{border-top:1px solid rgb(var(--cream-rgb) / .12)}
.osj-v{display:grid;grid-template-columns:44px minmax(0,1fr);gap:12px;align-items:baseline;padding:24px 0;border-bottom:1px solid rgb(var(--cream-rgb) / .12)}
.osj-vn{font-family:var(--mono);font-size:11.5px;letter-spacing:.14em;color:var(--gold)}
.osj-v > div{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 16px}
.osj-v h3{font-size:21px;font-weight:450;letter-spacing:-.015em}
.osj-vk{color:var(--quiet-d)}
.osj-v > div > p:not(.osj-vk){flex-basis:100%;margin-top:4px;font-size:14.5px;line-height:1.6;color:var(--ash)}

/* ---------- closing band ---------- */
.osj-band-sec{padding:130px 0}
.osj-band{position:relative;border-radius:28px;overflow:hidden;min-height:460px;display:grid;place-items:center;text-align:center}
.osj-band-img{position:absolute;inset:0;margin:0}
.osj-band-img img{width:100%;height:100%;object-fit:cover;object-position:center 45%}
.osj-band::after{content:"";position:absolute;inset:0;background:radial-gradient(60% 80% at 50% 50%,rgb(var(--ink-rgb) / .8),rgb(var(--ink-rgb) / .58));pointer-events:none}
.osj-band-in{position:relative;z-index:2;max-width:620px;padding:70px 30px;display:flex;flex-direction:column;align-items:center}
.osj-band-in .lede{margin:18px 0 30px;color:var(--stone)}
.osj-band .wp-block-buttons{justify-content:center}

/* =========================================================
   JOB PAGE
   ========================================================= */
.osj-jhero{position:relative;overflow:hidden;padding:72px 0 104px}
.osj-jhero .osj-orb{right:-8%;top:-40%;width:880px;height:880px;background:radial-gradient(circle,rgb(var(--gold-rgb) / .09),transparent 62%)}
.osj-jhero-in{position:relative;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(440px,100%),1fr));gap:48px 96px;align-items:start}
.osj-back{display:inline-flex;align-items:center;gap:10px;min-height:24px;color:var(--quiet-d);transition:color .2s}
.osj-back:hover{color:var(--gold)}
.osj-jhero .label{margin:40px 0 22px}
.osj-jhero .lede{margin-top:28px;color:var(--stone);max-width:540px}
.osj-jhero .btns{margin-top:40px}
.osj-closed-label{display:inline-flex;margin-top:28px;font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--stone);border:1px solid rgb(var(--cream-rgb) / .22);border-radius:999px;padding:6px 12px}
.osj-closed-label + .lede{margin-top:18px}
.osj-facts{justify-self:end;width:100%;max-width:400px;border-radius:18px;background:linear-gradient(160deg,rgb(var(--charcoal-rgb) / .9),rgb(var(--ink-rgb) / .85));border:1px solid rgb(var(--cream-rgb) / .14);box-shadow:0 1px 0 rgb(var(--cream-rgb) / .06) inset,0 40px 80px -30px rgb(var(--ink-rgb) / .7);padding:24px 26px 26px;display:flex;flex-direction:column;gap:18px}
.osj-facts-top{display:flex;align-items:center;gap:9px;font-size:10px;color:var(--stone)}
.osj-factgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(140px,100%),1fr));gap:16px 20px;margin:0}
.osj-factgrid dt{font-size:10px;color:var(--quiet-d);margin-bottom:6px}
.osj-factgrid dd{margin:0;font-size:15px;font-weight:450;color:var(--cream)}
.osj-vacancy{font-size:13px;line-height:1.55;color:var(--ash)}
.osj-rule{height:1px;background:rgb(var(--cream-rgb) / .1)}
.osj-cardbtn .wp-block-button{width:100%}
.osj-cardbtn .wp-block-button__link{width:100%;justify-content:center}
.osj-linkbtn{align-self:center;min-height:24px;padding:0 0 2px;font-size:13.5px;color:var(--ash);border-bottom:1px solid rgb(var(--cream-rgb) / .25)}
.osj-linkbtn:hover{color:var(--cream)}

/* text and sidebar */
.osj-body{padding:110px 0 130px}
.osj-body-in{display:flex;flex-wrap:wrap;gap:56px 96px;align-items:flex-start}
.osj-main{flex:1 1 560px;min-width:0;max-width:720px}
.osj-main > * + *{margin-top:18px}
.osj-main > :is(h2,h3,h4):not(:first-child){margin-top:56px}
.osj-main h2{font-size:28px;font-weight:450;letter-spacing:-.02em;line-height:1.25}
.osj-main h3{font-size:21px;font-weight:450;letter-spacing:-.015em;line-height:1.3}
.osj-main p{font-size:16.5px;line-height:1.75;color:var(--slate)}
.osj-main a:not([class]){color:var(--ink);border-bottom:1px solid var(--bronze)}
.osj-main a:not([class]):hover{color:var(--bronze)}
.osj-main ul:not(.osj-ticks),.osj-main ol{padding-left:1.25em;font-size:16.5px;line-height:1.75;color:var(--slate)}
.osj-main ul:not(.osj-ticks){list-style:disc}
.osj-main :is(ul,ol):not(.osj-ticks) li + li{margin-top:8px}
.osj-ticks{list-style:none;border-top:1px solid var(--stone)}
.osj-ticks li{display:grid;grid-template-columns:28px minmax(0,1fr);gap:12px;padding:18px 0;border-bottom:1px solid var(--stone);font-size:15.5px;line-height:1.7;color:var(--slate)}
.osj-ticks li::before{content:"→";font-family:var(--mono);font-size:13px;color:var(--bronze)}
.osj-main > .osj-inclusive{margin-top:40px}
.osj-side{flex:0 1 380px;min-width:0;display:flex;flex-direction:column;gap:16px}
.osj-box{padding:26px 26px 28px;border-radius:20px}
.osj-box .label,.osj-linebox .label{margin-bottom:16px}
.osj-pills{list-style:none;display:flex;flex-wrap:wrap;gap:8px}
.osj-pills li{font-size:13px;padding:8px 12px;border:1px solid var(--stone);border-radius:999px;background:var(--cream);color:var(--ink)}
.osj-sand{padding:24px 26px;background:var(--sand);border-radius:20px;font-size:15px;line-height:1.6;color:var(--ink)}
.osj-sand strong{font-weight:500}
.osj-sand-link{margin-top:14px}
.osj-sand .tlink{--acc:var(--bronze)}
.osj-linebox{padding:24px 26px;border:1px solid var(--stone);border-radius:20px}
.osj-linebox .label{margin-bottom:12px}
.osj-linebox p:not(.label){font-size:14.5px;line-height:1.6;color:var(--quiet-l)}
.osj-copy{margin-top:14px;color:var(--ink);cursor:pointer}

/* ---------- apply ---------- */
.osj-apply{padding:130px 0}
.osj-mini{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(160px,100%),1fr));gap:20px 24px}
.osj-mini .osj-num{margin-bottom:8px}
.osj-mt{font-size:15px;font-weight:450}
.osj-md{margin-top:4px;font-size:13.5px;line-height:1.55;color:var(--quiet-l)}
.osj-problem{margin-top:40px;padding:14px 16px;border-radius:12px;border:1px solid var(--osj-error);background:rgb(var(--gold-rgb) / .08);color:var(--osj-error);font-size:14.5px;line-height:1.6}
.osj-problem a{color:inherit;border-bottom:1px solid currentColor}
.osj-problem + .osj-form{margin-top:16px}
.osj-form{margin-top:56px;padding:36px;border-radius:24px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(380px,100%),1fr));gap:22px 16px}
.osj-full{grid-column:1/-1}
.osj-fhead{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 24px}
.osj-fhead h3{font-size:22px;font-weight:400;letter-spacing:-.02em}
.osj-fhead p{color:var(--quiet-l)}
.osj-field{display:flex;flex-direction:column;gap:8px;min-width:0}
.osj-field > label,.osj-field legend{font-size:13px;color:var(--slate)}
.osj-opt{color:var(--quiet-l)}
.osj-in{font:inherit;font-size:15px;color:var(--ink);background:var(--cream);border:1px solid var(--stone);border-radius:12px;padding:13px 14px;width:100%;outline:none;transition:border-color .25s,box-shadow .25s}
textarea.osj-in{line-height:1.6;resize:vertical;min-height:96px}
.osj-in:hover{border-color:var(--ash)}
.osj-in:focus,.osj-in:focus-visible{outline:none;border-color:var(--amber);box-shadow:0 0 0 4px rgb(var(--gold-rgb) / .2)}
.osj-in[readonly]{background:var(--sand);border-color:var(--sand)}
.osj-in::placeholder{color:var(--graphite);opacity:.8}
.osj-field.is-bad .osj-in,.osj-field.is-bad .osj-up,.osj-field.is-bad .osj-choice span{border-color:var(--osj-error)}
.osj-err{display:none;font-size:13px;line-height:1.4;color:var(--osj-error)}
.osj-field.is-bad .osj-err{display:block}
.osj-up{position:relative;display:flex;align-items:center;gap:16px;padding:18px 20px;border:1px dashed var(--ash);border-radius:12px;background:var(--cream);cursor:pointer;transition:border-color .25s,background .25s}
.osj-up:hover{border-color:var(--amber);background:rgb(var(--gold-rgb) / .06)}
.osj-up:focus-within{border-color:var(--amber);box-shadow:0 0 0 4px rgb(var(--gold-rgb) / .2)}
.osj-upi{width:40px;height:40px;flex:none;border-radius:12px;display:grid;place-items:center;font-family:var(--mono);font-size:14px;color:var(--bronze);background:rgb(var(--bronze-rgb) / .08);border:1px solid rgb(var(--bronze-rgb) / .18)}
.osj-up strong{display:block;font-size:15px;font-weight:450;word-break:break-word}
.osj-up small{display:block;margin-top:3px;font-size:13px;color:var(--quiet-l)}
.osj-up input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.osj-up.has{border-style:solid;border-color:var(--amber)}
fieldset.osj-field{border:0;margin:0;padding:0;min-inline-size:0}
fieldset.osj-field legend{padding:0;margin-bottom:8px}
.osj-choices{display:flex;flex-wrap:wrap;gap:8px}
.osj-choice{position:relative;display:inline-flex;cursor:pointer}
.osj-choice input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.osj-choice span{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0 18px 0 14px;border:1px solid var(--stone);border-radius:999px;background:var(--cream);font-size:14.5px;transition:border-color .25s,background .25s,box-shadow .25s}
.osj-choice span::before{content:"";width:14px;height:14px;border-radius:50%;border:1.5px solid var(--ash);flex:none}
.osj-choice:hover span{border-color:var(--ash)}
.osj-choice input:checked + span{border-color:var(--amber);background:rgb(var(--gold-rgb) / .12)}
.osj-choice input:checked + span::before{border-color:var(--bronze);background:radial-gradient(circle,var(--bronze) 0 3px,transparent 3.5px)}
.osj-choice input:focus-visible + span{box-shadow:0 0 0 4px rgb(var(--bronze-rgb) / .3)}
.osj-consent{display:flex;align-items:flex-start;gap:12px}
.osj-consent input{width:18px;height:18px;margin:3px 0 0;accent-color:var(--amber);flex:none}
.osj-consent label{font-size:14.5px;line-height:1.6;color:var(--slate)}
.osj-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.osj-send{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px 20px;padding-top:22px;border-top:1px solid var(--stone)}
.osj-send p{font-family:var(--serif);font-style:italic;font-weight:420;font-size:18px;color:var(--quiet-l);font-variation-settings:"opsz" 36}
.osj-submit{display:inline-flex;align-items:center;gap:12px;min-height:48px;padding:0 22px;border-radius:999px;background:var(--gold);color:var(--ink);font-size:14.5px;font-weight:500;cursor:pointer;transition:box-shadow .2s,opacity .2s}
.osj-submit:hover{box-shadow:0 0 0 4px rgb(var(--gold-rgb) / .2),0 10px 30px -10px rgb(var(--gold-rgb) / .55)}
.osj-submit:focus-visible{outline:2px solid var(--ink);outline-offset:-5px}
.osj-submit[aria-disabled="true"]{opacity:.7;cursor:progress}

/* ---------- application sent ---------- */
.osj-sent{display:flex;flex-direction:column;align-items:center;text-align:center;outline:none}
.osj-tick{display:inline-grid;place-items:center;width:56px;height:56px;border-radius:50%;background:var(--gold);color:var(--ink);box-shadow:0 0 0 10px rgb(var(--gold-rgb) / .14),0 0 40px rgb(var(--gold-rgb) / .35);animation:osj-pop .7s var(--osj-ease) both}
@keyframes osj-pop{0%{transform:scale(.6);opacity:0}60%{transform:scale(1.08);opacity:1}100%{transform:scale(1)}}
.osj-sent .label{margin:34px 0 22px}
.osj-sent .h2{max-width:760px;outline:none}
.osj-sent .lede{margin-top:22px;max-width:620px}
.osj-cards{list-style:none;max-width:760px;width:100%;text-align:left;margin-top:56px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:16px}
.osj-cards li{padding:22px 24px 24px;border-radius:20px}
.osj-cards h3{margin-top:18px;font-size:16px;font-weight:450}
.osj-cards p:not(.osj-num){margin-top:6px;font-size:14px;line-height:1.6;color:var(--quiet-l)}
.osj-sent .wp-block-buttons{justify-content:center;margin-top:48px}
.osj-small{margin-top:40px;font-size:13.5px;color:var(--quiet-l)}

/* ---------- "link copied" message ---------- */
.osj-toast{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom,0px));z-index:1000;transform:translate(-50%,20px);opacity:0;background:var(--ink);color:var(--cream);border:1px solid rgb(var(--cream-rgb) / .16);border-radius:999px;padding:10px 18px;font-size:13.5px;max-width:calc(100% - 32px);overflow-wrap:anywhere;transition:opacity .25s,transform .25s;pointer-events:none}
.osj-toast.on{opacity:1;transform:translate(-50%,0)}

/* =========================================================
   SMALLER SCREENS
   ========================================================= */
@media (max-width:980px){
  .osj-chero{padding:64px 0 56px}
  .osj-chero-in{grid-template-columns:minmax(0,1fr)}
  .osj-stage{justify-self:center;max-width:520px;margin-bottom:40px}
  .osj-facts{justify-self:start}
}
@media (max-width:640px){
  .osj-apply,.osj-band-sec{padding:88px 0}
  .osj-roles-sec{padding:72px 0 88px}
  .osj-body{padding:72px 0 88px}
  .osj-jhero{padding:48px 0 72px}
  .osj-form{padding:24px 20px}
  .osj-other{padding:26px 24px}
  .osj-photo{min-height:260px}
  .osj-t strong{font-size:18.5px}
  .osj-n{display:none}
  .osj-band{min-height:0}
  .osj-band-in{padding:56px 22px}
}
@media (max-width:560px){
  .osj-lab{font-size:9.5px;letter-spacing:.12em}
  .osj-lab b{font-size:9px}
  .osj-seatbtn.right .osj-lab,.osj-seatbtn.left .osj-lab{left:50%;right:auto;top:auto;bottom:100%;transform:translateX(-50%);text-align:center;margin:0 0 2px}
  .osj-rot li{font-size:17px;line-height:26px}
  .osj-rot.is-on{height:52px}
  .osj-rot.is-on li{height:52px;white-space:normal}
}
@media (prefers-reduced-motion:reduce){
  .osj-live,.osj-mq-track,.osj-svg.is-done .osj-orbit,.osj-svg.is-done .osj-seat,.osj-tick{animation:none!important}
  .osj-card,.osj-row,.osj-go,.osj-rot.is-on li{transition:none}
}
