/* apply.css — Book my interview (on top of matcher.css): the five-section form, photo + CV uploads, the booking pop-up */
.page-apply .mform{gap:16px}
.mform .min.hot{color:var(--mag);background:rgba(224,0,108,.08);height:32px;padding:0 14px;border-radius:980px;font-size:13px}
.mform .min.hot i{display:none}
.fsec{display:flex;align-items:center;gap:10px;font-size:17px;font-weight:800;letter-spacing:-.015em;margin:12px 0 -2px}
.fsec span{width:26px;height:26px;border-radius:50%;background:var(--ink);color:#fff;font-size:12px;font-weight:800;display:grid;place-items:center;flex:none}
.fsec small{font-size:14px;font-weight:500;color:var(--mute);letter-spacing:0}
.page-apply .mform .fnote{margin:0}
.mform .field .choices+.err{margin-top:2px}

/* photo */
.photo{display:grid;grid-template-columns:44px 1fr;gap:16px;align-items:start;padding:18px 20px;border-radius:20px;background:#fff;border:1px solid var(--line)}
.photo i{width:44px;height:44px;border-radius:50%;background:rgba(224,0,108,.1);color:var(--mag);font-style:normal;font-size:22px;font-weight:700;display:grid;place-items:center;margin-top:4px}
.photo b{display:block;font-size:15.5px;font-weight:700}
.photo p{font-size:13px;color:var(--sub);margin:2px 0 10px;line-height:1.45}
.upl{position:relative;display:inline-flex}
.upl input{position:absolute;opacity:0;width:1px;height:1px}
.upl span{display:inline-flex;align-items:center;height:36px;padding:0 16px;border-radius:980px;border:1.5px solid var(--ink);font-size:13.5px;font-weight:700;color:var(--ink);cursor:pointer;background:#fff;transition:background var(--t-fast),color var(--t-fast)}
.upl:hover span{background:var(--ink);color:#fff}
.upl input:focus-visible+span{outline:var(--focus);outline-offset:3px}

/* CV dropzone */
.drop{display:grid;justify-items:center;text-align:center;gap:6px;padding:26px 20px;border-radius:20px;border:1.5px dashed #C9C9D1;background:#fff;cursor:pointer;transition:border-color var(--t-fast),background var(--t-fast)}
.drop:hover,.drop.over{border-color:var(--mag);background:rgba(224,0,108,.03)}
.drop b{font-size:17px;font-weight:800;letter-spacing:-.01em}
.drop b em{font-style:normal;color:var(--mag)}
.drop span{font-size:13px;line-height:1.5;color:var(--sub);max-width:520px}
.drop .fname{font-weight:700;color:#0B6B47}
.drop .fname:empty{display:none}
.drop:has(input:focus-visible){outline:var(--focus);outline-offset:3px}
.field.is-error .drop{border-color:#D12B2B}

/* reward note */
.reward{padding-top:6px}
.reward b{display:block;font-size:17px;font-weight:800;letter-spacing:-.015em;margin-bottom:4px}
.reward p{font-size:13.5px;line-height:1.5;color:var(--sub);margin:0}
.reward .lock{margin-top:8px;font-size:12.5px;color:var(--mute);display:flex;gap:6px;align-items:flex-start}
.reward .lock i{font-style:normal;font-size:12px}

/* booking pop-up */
.book{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:24px;background:rgba(20,20,48,.42);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);animation:bfade var(--t-base) var(--ease)}
.book[hidden]{display:none}
@keyframes bfade{from{opacity:0}to{opacity:1}}
@keyframes brise{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}
.bbox{position:relative;width:min(640px,100%);max-height:calc(100vh - 48px);overflow:auto;border-radius:30px;padding:34px 36px 30px;background:rgba(255,255,255,.96);animation:brise .5s var(--ease)}
.bbox>*{position:relative}
.bbox .x{position:absolute;right:16px;top:16px;width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:#fff;font-size:22px;line-height:1;cursor:pointer;color:var(--ink)}
.bbox .x:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
.bstep .eyebrow{margin-bottom:10px}
.bstep h2{font-size:32px;line-height:1.1;letter-spacing:-.03em;font-weight:800;margin:0 0 10px}
.bsub{font-size:15px;line-height:1.55;color:var(--sub);margin:0 0 20px}
.bstep[hidden]{display:none}
/* calendar */
.cal{border-radius:22px;background:#fff;border:1px solid var(--line);padding:14px 16px 16px}
.calhead{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.calhead b{font-size:16px;font-weight:800;letter-spacing:-.01em}
.calhead button{width:36px;height:36px;border-radius:50%;border:1px solid var(--line);background:#fff;font-size:18px;cursor:pointer;color:var(--ink)}
.calhead button:hover{border-color:var(--ink)}
.calhead button:disabled{opacity:.3;cursor:default}
.cdays,.cgrid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.cdays span{text-align:center;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--mute);padding:4px 0}
.cgrid button{height:44px;border-radius:12px;border:1px solid transparent;background:transparent;font:inherit;font-size:14.5px;font-weight:600;color:var(--ink);cursor:pointer;transition:background var(--t-fast),color var(--t-fast),transform var(--t-fast) var(--ease)}
.cgrid button:hover:not(:disabled){background:rgba(224,0,108,.08);border-color:rgba(224,0,108,.3)}
.cgrid button:disabled{color:#C9C9D1;cursor:default}
.cgrid button.today{border-color:var(--line)}
.cgrid button.sel{background:var(--grad);color:#fff;transform:scale(1.04)}
.cgrid button:focus-visible{outline:var(--focus);outline-offset:2px}
.cgrid .pad{visibility:hidden}
/* slots */
.slots{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:18px}
.slot{display:grid;gap:2px;text-align:left;padding:14px 16px;border-radius:16px;border:1.5px solid var(--line);background:#fff;font:inherit;cursor:pointer;color:var(--ink);transition:border-color var(--t-fast),background var(--t-fast),transform var(--t-fast) var(--ease)}
.slot b{font-size:15.5px;font-weight:700}
.slot span{font-size:13px;color:var(--sub)}
.slot:hover{border-color:var(--ink)}
.slot.sel{background:var(--ink);border-color:var(--ink);color:#fff;transform:translateY(-2px)}
.slot.sel span{color:#D6D4E6}
.slot:focus-visible{outline:var(--focus);outline-offset:3px}
.bctas{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}
.bctas .pill:disabled{opacity:.45;cursor:default}
/* done */
.bstep.done{text-align:center}
.bwhen{margin:0 0 12px}
.bsum{display:inline-flex;align-items:center;height:38px;padding:0 16px;border-radius:980px;background:#E6F7EF;color:#0B6B47;font-size:14px;font-weight:700}
.bnext{list-style:none;margin:0 0 22px;padding:0;display:grid;gap:8px;text-align:left}
.bnext li{display:flex;gap:12px;align-items:flex-start;font-size:14.5px;line-height:1.5;color:var(--sub);padding:10px 14px;border-radius:14px;background:#fff;border:1px solid var(--line)}
.bnext i{width:24px;height:24px;border-radius:50%;background:var(--grad);color:#fff;font-style:normal;font-size:12px;font-weight:800;display:grid;place-items:center;flex:none}
.done .bctas{justify-content:center}
.tick{width:96px;height:96px;margin:6px auto 14px}
.tick svg{width:96px;height:96px;fill:none;stroke:#22D38A;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}
.tick circle{stroke-dasharray:183;stroke-dashoffset:183;animation:draw .7s var(--ease) .1s forwards}
.tick path{stroke-dasharray:40;stroke-dashoffset:40;animation:draw .45s var(--ease) .7s forwards}
@keyframes draw{to{stroke-dashoffset:0}}
.burst{position:absolute;left:50%;top:60px;width:0;height:0;pointer-events:none}
.burst i{position:absolute;left:-4px;top:-4px;width:8px;height:12px;border-radius:2px;background:var(--mag);opacity:0;animation:confetti 1.4s var(--ease) .75s forwards}
.burst i:nth-child(2n){background:var(--org)}.burst i:nth-child(3n){background:#22D38A}.burst i:nth-child(4n){background:var(--ink)}
.burst i:nth-child(1){--dx:-120px;--dy:-90px;--r:200deg}.burst i:nth-child(2){--dx:-80px;--dy:-130px;--r:-160deg}.burst i:nth-child(3){--dx:-30px;--dy:-150px;--r:120deg}.burst i:nth-child(4){--dx:30px;--dy:-150px;--r:-90deg}.burst i:nth-child(5){--dx:80px;--dy:-130px;--r:240deg}.burst i:nth-child(6){--dx:120px;--dy:-90px;--r:-200deg}
.burst i:nth-child(7){--dx:-150px;--dy:-30px;--r:90deg}.burst i:nth-child(8){--dx:150px;--dy:-30px;--r:-120deg}.burst i:nth-child(9){--dx:-110px;--dy:30px;--r:160deg}.burst i:nth-child(10){--dx:110px;--dy:30px;--r:-60deg}.burst i:nth-child(11){--dx:-50px;--dy:60px;--r:300deg}.burst i:nth-child(12){--dx:50px;--dy:60px;--r:-300deg}
@keyframes confetti{0%{opacity:1;transform:translate(0,0) rotate(0)}70%{opacity:1}100%{opacity:0;transform:translate(var(--dx),calc(var(--dy) + 60px)) rotate(var(--r))}}
body.modal-open{overflow:hidden}
html.static .tick circle,html.static .tick path{animation:none;stroke-dashoffset:0}
html.static .burst i{animation:none;opacity:0}
html.static .book,html.static .bbox{animation:none}
@media (prefers-reduced-motion:reduce){.tick circle,.tick path{animation:none;stroke-dashoffset:0}.burst i{animation:none}.book,.bbox{animation:none}.cgrid button.sel,.slot.sel{transform:none}}

@media (max-width:767px){
  .fsec{font-size:16px}.photo{grid-template-columns:36px 1fr;gap:12px;padding:14px}.photo i{width:36px;height:36px;font-size:18px}
  .drop{padding:20px 14px}.drop b{font-size:15.5px}
  .book{padding:12px;align-items:end}.bbox{padding:24px 18px 20px;border-radius:26px;max-height:calc(100vh - 24px)}.bstep h2{font-size:26px}
  .slots{grid-template-columns:1fr}.bctas .pill{width:100%}.cgrid button{height:40px;font-size:14px}
}
