/* Candidate Direct pages. Matches the renders Joseph approved on 2026-10-15. */
*{box-sizing:border-box}
body{margin:0;font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:#0f2241;background:#f4f7fb;font-weight:600}
[hidden]{display:none!important}
.cd-top{min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 28px;background:linear-gradient(90deg,#0b1730,#0f2241 45%,#1a3a72)}
.cd-brand{display:flex;align-items:center;gap:12px;flex:none;font-weight:800;font-size:17px;letter-spacing:-.3px;color:#fff;text-decoration:none}.cd-brand img{height:40px;width:auto;display:block}.cd-brand i{font-style:normal;color:#60a5fa}
.cd-top-right{text-align:right;min-width:0}.cd-top-right b{display:block;font-size:15px;font-weight:700;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cd-top-right small{display:block;font-size:12.5px;font-weight:500;color:#93c5fd;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cd-top-right small:empty{display:none}
.cd-muted{color:#5b6b85}.cd-small{font-size:14px}.cd-gap{margin-top:14px}.cd-center{text-align:center}
.cd-hero{background:linear-gradient(160deg,#0a1836,#0f2241 45%,#1a3a72);color:#fff;padding:64px 20px 120px;text-align:center}
.cd-hero h1{margin:0;font-size:58px;font-weight:900;letter-spacing:-2px;line-height:1.05}
.cd-hero h1 span{background:linear-gradient(135deg,#60a5fa,#93c5fd);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.cd-hero p{font-size:20px;color:#cbd5e1;margin:18px auto 0;max-width:720px;line-height:1.5;font-weight:500}
.cd-cards{width:min(1040px,calc(100% - 32px));margin:-80px auto 0;display:grid;grid-template-columns:1fr 1.25fr;gap:24px}
.cd-card{background:#fff;border-radius:20px;box-shadow:0 10px 40px rgba(15,34,65,.08);border:1px solid #e6ebf2;padding:30px}
.cd-lab{font-size:13px;letter-spacing:2px;text-transform:uppercase;color:#2563eb;font-weight:900}
.cd-two{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}
.cd-two label{font-size:14px;color:#5b6b85;display:flex;flex-direction:column;gap:6px}
.cd-in{font:inherit;font-weight:500;border:1.5px solid #d5dde8;border-radius:12px;padding:13px 14px;font-size:15px;color:#0f2241;width:100%;background:#fff}
.cd-in:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 4px rgba(37,99,235,.15)}
.cd-ta{margin-top:14px;height:236px;resize:vertical;line-height:1.55;font-size:14px}
.cd-drop{margin-top:6px;border:2px dashed #c7d3e3;border-radius:16px;min-height:96px;display:flex;align-items:center;justify-content:center;text-align:center;background:#f8fafd;cursor:pointer;padding:14px;font-weight:500}
.cd-drop.has{border-style:solid;border-color:#bfd2f6;background:#f1f5fb;justify-content:flex-start;text-align:left}
.cd-file{display:flex;align-items:center;gap:12px}.cd-file b{overflow-wrap:anywhere}.cd-drop.over{border-color:#2563eb}
.cd-drop input{position:absolute;width:1px;height:1px;opacity:0}
.cd-hp{position:absolute;left:-9999px;width:1px;height:1px}
.cd-go{width:min(1040px,calc(100% - 32px));margin:26px auto 60px;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}
.cd-go-right{display:flex;align-items:center;gap:16px;flex-wrap:wrap;justify-content:flex-end}
.cd-steps{display:flex;gap:28px;font-size:15px;flex-wrap:wrap}.cd-steps b{color:#2563eb;margin-right:6px}
.cd-btn{font:inherit;display:inline-flex;align-items:center;justify-content:center;background:#2563eb;color:#fff;border:0;border-radius:12px;padding:16px 26px;font-weight:900;font-size:17px;cursor:pointer}
.cd-btn:disabled{opacity:.6;cursor:default}.cd-wide{width:100%}
.cd-err{color:#dc2626;font-size:14px;min-height:0}
.cd-narrow{width:min(560px,calc(100% - 32px));margin:80px auto}.cd-wider{width:min(600px,calc(100% - 32px))}
.cd-narrow .cd-card{padding:44px 44px 36px}
.cd-narrow h2{margin:0;font-size:34px;font-weight:900;letter-spacing:-1px;line-height:1.15}
.cd-lead{font-size:17px;line-height:1.5;margin:12px 0 0;font-weight:500}.cd-lead b{color:#0f2241;overflow-wrap:anywhere}
.cd-ic{width:72px;height:72px;border-radius:20px;background:#e8f0fe;margin:0 auto 18px;display:flex;align-items:center;justify-content:center}.cd-ic-amber{background:#fff7e6}
.cd-digits{display:flex;gap:10px;justify-content:center;margin:28px 0 14px}
.cd-digits input{width:58px;height:68px;border-radius:14px;border:2px solid #d5dde8;font:inherit;font-size:32px;font-weight:900;text-align:center;color:#0f2241}
.cd-digits input:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 4px rgba(37,99,235,.15)}
.cd-note{margin:22px 0 0;font-size:14px;color:#5b6b85;line-height:1.5;font-weight:500}
.cd-link{font:inherit;background:none;border:0;padding:0;color:#2563eb;text-decoration:underline;cursor:pointer}.cd-link:disabled{color:#94a3b8;text-decoration:none;cursor:default}
.cd-row{display:flex;justify-content:space-between;align-items:center;text-align:left;padding:14px 0;border-top:1px solid #edf1f7;font-size:15px;gap:12px}
.cd-pill{display:inline-flex;border-radius:99px;padding:7px 14px;font-size:13px;font-weight:900;background:#e8f7ee;color:#15803d;white-space:nowrap}.cd-pill.off{background:#f1f5f9;color:#64748b}
@media(max-width:820px){.cd-go .cd-btn,.cd-go-right{width:100%}.cd-steps{gap:16px}.cd-cards{grid-template-columns:1fr}.cd-hero h1{font-size:38px}.cd-hero p{font-size:17px}.cd-two{grid-template-columns:1fr}.cd-top{padding:10px 16px}.cd-brand span{display:none}.cd-digits input{width:44px;height:56px;font-size:26px}.cd-narrow .cd-card{padding:30px 20px}}

/* Step 4: writing, ready, saving, done */
.cd-spin{width:56px;height:56px;border-radius:50%;border:5px solid #e2e8f0;border-top-color:#2563eb;margin:0 auto 22px;animation:cd-rot 1s linear infinite}
.cd-spin-green{border-top-color:#16a34a}
.cd-mini{width:22px;height:22px;border-radius:50%;border:3px solid #bfd2f6;border-top-color:#2563eb;display:inline-block;animation:cd-rot 1s linear infinite}
@keyframes cd-rot{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.cd-spin,.cd-mini{animation:none}}
.cd-ticks{margin-top:18px}.cd-ticks div{display:flex;gap:12px;align-items:center;justify-content:center;font-size:16px;margin-top:10px;color:#5b6b85}.cd-ticks .cd-now{color:#0f2241}
.cd-ck{width:22px;height:22px;border-radius:50%;background:#16a34a;display:inline-flex;align-items:center;justify-content:center;flex:none}
.cd-wide-wrap{width:min(1100px,calc(100% - 32px));margin:44px auto 60px;display:grid;grid-template-columns:1.25fr 1fr;gap:26px}
.cd-done{grid-template-columns:1fr 1.15fr}
.cd-pad{padding:36px}
.cd-pill-blue{background:#e8f0fe;color:#1d4ed8}.cd-pill .cd-ck{width:20px;height:20px;margin-right:8px}
.cd-h2{margin:16px 0 0;font-size:40px;font-weight:900;letter-spacing:-1px;line-height:1.1}.cd-h2-s{font-size:30px;margin-top:0}
.cd-lead-l{text-align:left;margin:14px 0 18px}
.cd-rule{display:flex;gap:16px;align-items:flex-start;padding:16px 0;border-top:1px solid #edf1f7;font-size:17px;line-height:1.45;font-weight:500}
.cd-rule:first-of-type{border-top:0}
.cd-n{width:34px;height:34px;border-radius:10px;background:#e8f0fe;color:#1d4ed8;display:flex;align-items:center;justify-content:center;font-weight:900;flex:none}
.cd-start-row{margin-top:22px;display:flex;gap:14px;align-items:center;flex-wrap:wrap}
a.cd-btn{text-decoration:none}
.cd-q{display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:12px;background:#f4f7fb;margin-top:10px;color:#475569}
.cd-lock{width:30px;height:30px;border-radius:8px;background:#e2e8f0;display:flex;align-items:center;justify-content:center;flex:none}
.cd-bar{height:14px;border-radius:7px;background:#e2e8f0;flex:1}
.cd-basis{margin-top:22px;padding:16px;border-radius:12px;background:#f8fafd;font-size:14px;line-height:1.5;color:#5b6b85;font-weight:500}.cd-basis b{color:#0f2241}
.cd-video{display:block;width:100%;margin-top:18px;border-radius:16px;background:#0f2241;aspect-ratio:16/9}
.cd-pills{margin-top:16px;display:flex;flex-wrap:wrap;gap:8px}
.cd-linkrow{display:flex;gap:10px;margin-top:18px}.cd-linkin{flex:1;min-width:0;color:#2563eb;font-size:17px;padding:16px}
.cd-two-btn{margin-top:12px;display:flex;gap:12px;flex-wrap:wrap}
.cd-ghost{background:#fff;color:#0f2241;border:1.5px solid #d5dde8}
.cd-infobox{margin-top:22px;padding:16px 18px;border-radius:14px;background:#f8fafd;font-size:15px;line-height:1.5}.cd-infobox span{font-weight:500}
.cd-gap2{margin-top:22px}
.cd-act{display:flex;align-items:center;gap:12px;padding:12px 0;border-top:1px solid #edf1f7;font-size:15px}.cd-act .cd-when{margin-left:auto;color:#5b6b85;font-weight:500;white-space:nowrap}
.cd-dot{width:10px;height:10px;border-radius:50%;background:#16a34a;flex:none}.cd-dot.off{background:#94a3b8}
@media(max-width:900px){.cd-wide-wrap,.cd-done{grid-template-columns:1fr}.cd-h2{font-size:30px}.cd-pad{padding:24px 20px}.cd-linkrow{flex-direction:column}}

/* The job: a link, or a pasted description */
.cd-field{display:flex;flex-direction:column;gap:6px;margin-top:14px;font-size:14px;color:#5b6b85}
.cd-url{display:flex;align-items:center;gap:10px;border:1.5px solid #d5dde8;border-radius:12px;padding:0 14px;background:#fff}
.cd-url:focus-within{border-color:#2563eb;box-shadow:0 0 0 4px rgba(37,99,235,.15)}
.cd-url input{flex:1;min-width:0;border:0;outline:0;font:inherit;font-weight:500;font-size:15px;padding:13px 0;color:#2563eb;background:transparent}
.cd-sites{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.cd-sites span{font-size:12px;padding:5px 10px;border-radius:99px;background:#f1f5f9;color:#475569}
.cd-jobstatus{display:flex;align-items:flex-start;gap:10px;margin-top:10px;font-size:14px;line-height:1.5}
.cd-jobstatus.ok{color:#15803d}.cd-jobstatus.ok b{color:#0f2241}
.cd-jobstatus.warn{padding:14px 16px;border-radius:12px;background:#fff7e6;color:#92400e;font-weight:500}.cd-jobstatus.warn b{font-weight:800}
.cd-jobstatus.busy{color:#5b6b85;font-weight:500}
.cd-or{display:flex;align-items:center;gap:12px;margin:18px 0 0;color:#94a3b8;font-size:13px;letter-spacing:1.5px;text-transform:uppercase}
.cd-or:before,.cd-or:after{content:"";flex:1;height:1px;background:#e2e8f0}
.cd-cards .cd-ta{height:120px}
.cd-ta.cd-attn{border-color:#2563eb;box-shadow:0 0 0 4px rgba(37,99,235,.15)}
/* Short pages keep the footer at the bottom of the window instead of halfway up it (Joseph,
   2026-10-16). Opt in per page: imc-fill on body, imc-foot on the first element of the footer
   group, imc-grow on a centered column (margin:0 auto), which a flex column would otherwise
   shrink to its content. Nothing is allowed to shrink to fit the window. */
body.imc-fill{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}
body.imc-fill>*{flex-shrink:0}
body.imc-fill>.imc-foot{margin-top:auto}
body.imc-fill>.imc-grow{width:100%;box-sizing:border-box}
/* Step 6: the candidate's switch for their link (render s8-manage-on / off, 10/16). */
.cd-switch{margin:22px 0 4px;border:1.5px solid #e2e8f0;border-radius:14px;padding:16px 18px;display:flex;align-items:center;gap:14px}
.cd-switch.off{background:#f8fafc}
.cd-sw-dot{width:12px;height:12px;border-radius:50%;background:#16a34a;flex:none}
.cd-switch.off .cd-sw-dot{background:#94a3b8}
.cd-sw-copy{flex:1;min-width:0}.cd-sw-copy b{display:block;font-size:16px}.cd-sw-copy span{display:block;color:#5b6b85;font-size:14px;margin-top:2px}
.cd-sw-btn{border:1.5px solid #fecaca;background:#fff;color:#b91c1c;font-weight:800;font-size:15px;padding:11px 16px;border-radius:10px;font-family:inherit;cursor:pointer;white-space:nowrap}
.cd-sw-btn.on{border-color:#bfdbfe;color:#2563eb}
.cd-sw-btn:disabled{opacity:.6;cursor:default}
.cd-video-off{border-radius:14px;background:#f1f5f9;color:#475569;padding:40px 24px;text-align:center;font-size:15px;line-height:1.5}
@media(max-width:600px){.cd-switch{flex-wrap:wrap}.cd-sw-btn{width:100%}}
.cd-btn.cd-disabled{opacity:.45;cursor:not-allowed}

/* Client access code, for an application that will not take a link (Joseph, 2026-10-20). */
.cd-codebox{margin-top:18px;padding:16px 18px;border-radius:14px;border:1.5px dashed #bfdbfe;background:#f8fbff}.cd-codebox p{margin:4px 0 10px}.cd-coderow{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.cd-code{font-family:Menlo,Consolas,'Courier New',monospace;font-size:22px;font-weight:700;letter-spacing:2px;color:#0f2241}.cd-btn-s{padding:10px 16px;font-size:14px}

/* The navy cover in front of the candidate's own video, the same one employers see on the card
   (Joseph, 2026-10-20). */
.cd-vwrap{position:relative;margin-top:18px}.cd-vwrap .cd-video{margin-top:0}.cd-vwrap[hidden]{display:none}
.cd-vcover{position:absolute;inset:0;border:0;border-radius:16px;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(ellipse at 50% 40%,#1d3a6b 0%,#0f2241 60%,#0a1730 100%);color:#fff;font-family:inherit;padding:0 16px}
.cd-vcover[hidden]{display:none}
.cd-vwm{font-family:'Inter Display','Inter',-apple-system,'Segoe UI',sans-serif;font-weight:900;font-size:30px;letter-spacing:-1px;line-height:1.1;margin-bottom:24px;text-align:center}.cd-vwm span{color:#60a5fa}
.cd-vplay{width:70px;height:70px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 30px rgba(0,0,0,.35)}.cd-vplay i{width:0;height:0;border-left:20px solid #0f2241;border-top:13px solid transparent;border-bottom:13px solid transparent;margin-left:5px}
.cd-vlabel{font-size:17px;font-weight:700;margin-top:14px}
@media(max-width:480px){.cd-vwm{font-size:21px;margin-bottom:16px}.cd-vplay{width:58px;height:58px}}

/* The disclaimer and its checkbox on the Ready screen (Joseph, 2026-10-20). */
.cd-disc{margin-top:18px;border:1px solid #cbd5e1;border-radius:12px;background:#f8fafc}
.cd-disc-h{padding:14px 16px 4px;font-weight:800;font-size:14px;color:#0f2241}
.cd-disc-body{max-height:150px;overflow:auto;padding:4px 16px 14px;font-size:13px;line-height:1.6;color:#475569}
.cd-disc-body p{margin:6px 0}
.cd-disc-body:focus-visible{outline:2px solid #2563eb;outline-offset:2px}
.cd-agree{display:flex;gap:10px;align-items:flex-start;margin-top:14px;font-size:14px;color:#0f2241;cursor:pointer}
.cd-agree input{width:18px;height:18px;margin-top:2px;flex:none}
.cd-agree a{color:#2563eb}
a.cd-btn.cd-off{opacity:.45;cursor:not-allowed}
