/* Every color, font and radius comes from CSS variables injected per company (see themeCss in views.js). */
:root{--muted:color-mix(in srgb,var(--text) 62%,var(--bg));--line:color-mix(in srgb,var(--text) 14%,var(--bg));--soft:color-mix(in srgb,var(--brand) 9%,var(--bg))}
*{box-sizing:border-box}
body.site{margin:0;background:var(--bg);color:var(--text);font:16px/1.6 var(--font);-webkit-text-size-adjust:100%}
.site h1,.site h2,.site h3{font-family:var(--hfont);line-height:1.12;margin:0 0 .5em;letter-spacing:-.01em}
.site h1{font-size:clamp(2rem,4.6vw,3.4rem)}.site h2{font-size:1.7rem}.site h3{font-size:1.1rem}
.site a{color:var(--brand)}.site p{margin:0 0 1em}.site small{color:var(--muted)}
.site code{background:var(--soft);padding:.1em .4em;border-radius:5px}
.muted{color:var(--muted)}.fine{font-size:.85rem;color:var(--muted)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

.s-top{display:flex;justify-content:space-between;align-items:center;padding:16px clamp(16px,4vw,48px);border-bottom:1px solid var(--line)}
.s-brand{display:flex;align-items:center;gap:10px;font:700 1.15rem var(--hfont);color:var(--text)!important;text-decoration:none}
.s-top nav{display:flex;align-items:center;gap:18px}.s-top nav a{color:var(--text);text-decoration:none;font-weight:500}
.usermenu{display:flex;align-items:center;gap:8px}.usermenu img{border-radius:50%}
button.link{background:none;border:0;color:var(--muted);text-decoration:underline;cursor:pointer;font:inherit;padding:0}

.s-btn{display:inline-block;background:var(--brand);color:var(--brand-ink)!important;font:600 1rem var(--font);padding:.65em 1.3em;border-radius:var(--radius);border:2px solid var(--brand);text-decoration:none;cursor:pointer;transition:filter .15s,transform .1s}
.s-btn:hover{filter:brightness(1.08)}.s-btn:active{transform:translateY(1px)}
.s-btn.ghost{background:transparent;color:var(--text)!important;border-color:var(--line)}.s-btn.ghost:hover{border-color:var(--brand)}
.s-btn.lg{font-size:1.1rem;padding:.8em 1.6em}.s-btn.sm{font-size:.85rem;padding:.4em .9em}
.site :focus-visible{outline:3px solid var(--brand);outline-offset:2px}

.flash{padding:12px 16px;border-radius:var(--radius);margin:16px auto;max-width:1100px;border:1px solid;font-weight:500}
.flash.ok{background:#E3F6EE;border-color:#9BD8BB;color:#0E5B3A}.flash.error{background:#FDE9E9;border-color:#F0A9A9;color:#8A2222}

/* hero */
.s-hero{position:relative;overflow:hidden;padding:clamp(48px,9vw,110px) 0}
.s-hero-in{position:relative;max-width:1100px;margin:0 auto;padding:0 clamp(16px,4vw,48px);display:grid;gap:40px}
.layout-split .s-hero-in{grid-template-columns:1.25fr 1fr;align-items:center}
.layout-centered .s-hero-copy{text-align:center;margin:0 auto;max-width:760px}.layout-centered .s-social{justify-content:center}
.layout-banner{color:#fff}.layout-banner .lede,.layout-banner .s-social a{color:#fff!important}.layout-banner::before{content:"";position:absolute;inset:0;background:rgba(0,0,0,.55);z-index:1}
.layout-banner .s-hero-in{z-index:2}.layout-banner .s-hero-copy{max-width:760px}
.s-banner{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.lede{font-size:1.2rem;color:var(--muted);max-width:36em}.s-hero .s-btn{margin-top:10px}
.s-social{display:flex;gap:16px;flex-wrap:wrap;margin-top:26px;font-size:.92rem}
.s-how{list-style:none;counter-reset:h;margin:0;padding:24px;background:var(--card);border:1px solid var(--line);border-radius:calc(var(--radius) + 6px);display:grid;gap:18px}
.s-how li{counter-increment:h;display:grid;grid-template-columns:34px 1fr;column-gap:12px}
.s-how li::before{content:counter(h);grid-row:span 2;width:34px;height:34px;border-radius:50%;background:var(--brand);color:var(--brand-ink);display:grid;place-items:center;font-weight:700}
.s-how span{color:var(--muted);font-size:.92rem}

.s-sec{max-width:1100px;margin:0 auto;padding:clamp(32px,6vw,64px) clamp(16px,4vw,48px)}.s-sec.narrow{max-width:760px}
.s-roles{display:grid;gap:12px}
.s-role{display:flex;justify-content:space-between;align-items:center;gap:16px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px 22px;text-decoration:none;color:var(--text);transition:border-color .15s,transform .15s}
a.s-role:hover{border-color:var(--brand);transform:translateX(3px)}.s-role h3{margin:0 0 2px}.s-role p{margin:0;color:var(--muted);font-size:.92rem}
.s-role>span{color:var(--brand);font-weight:600;white-space:nowrap}.s-right{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end}
.s-empty{text-align:center;padding:40px 20px;border:2px dashed var(--line);border-radius:var(--radius)}
.s-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:26px 32px}.s-grid h3{padding-top:12px;border-top:3px solid var(--brand)}.s-grid p{color:var(--muted)}
.s-faq details{border-top:1px solid var(--line);padding:14px 0}.s-faq details:last-child{border-bottom:1px solid var(--line)}
.s-faq summary{font-weight:600;cursor:pointer}.s-faq p{margin:10px 0 0;color:var(--muted)}
.prose h3{margin-top:1.4em}.prose ul{padding-left:1.2em}.prose li{margin:.25em 0}

/* job page & forms */
.s-job{max-width:1100px;margin:0 auto;padding:clamp(28px,5vw,56px) clamp(16px,4vw,48px);display:grid;grid-template-columns:1.5fr 1fr;gap:44px;align-items:start}
.s-job-side{position:sticky;top:20px}.crumb{font-size:.9rem;margin-bottom:20px}.s-meta{color:var(--muted);margin:0 0 .3em}
.s-note{background:var(--soft);border-left:4px solid var(--brand);padding:10px 14px;border-radius:0 var(--radius) var(--radius) 0;font-size:.92rem}
.s-card{background:var(--card);border:1px solid var(--line);border-radius:calc(var(--radius) + 4px);padding:24px;margin-bottom:18px}
.field{display:block;margin-bottom:16px}.lbl{display:block;font-weight:600;font-size:.9rem;margin-bottom:5px}.field small{display:block;margin-top:4px}
.site input,.site select,.site textarea{width:100%;font:inherit;padding:.65em .8em;border:1.5px solid var(--line);border-radius:calc(var(--radius) - 2px);background:var(--bg);color:var(--text)}
.site input:focus,.site select:focus,.site textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 25%,transparent)}
.site input[type=checkbox]{width:auto;margin-right:8px}.check{display:flex;align-items:center}.captcha{display:block;margin:14px 0}
.who{margin-bottom:14px}

.badge{display:inline-block;font-size:.75rem;font-weight:700;padding:3px 11px;border-radius:99px;background:var(--soft);color:var(--text)}
.st-hired{background:#DDF5EA;color:#0E6B45}.st-declined{background:#FBE3E3;color:#9B2A2A}.st-interview{background:#EDE4FE;color:#5B31C7}.st-reviewing{background:#FFF0C2;color:#7A5900}

/* interview */
.iv-bar{display:flex;justify-content:space-between;font-weight:600;color:var(--muted);margin-bottom:12px}
.iv-log{display:grid;gap:12px;margin-bottom:16px}
.iv-msg{max-width:85%;padding:12px 16px;border-radius:calc(var(--radius) + 4px);white-space:pre-wrap;border:1px solid var(--line);background:var(--card)}
.iv-msg.ai{border-left:4px solid var(--brand)}.iv-msg.user{margin-left:auto;background:var(--soft)}.iv-msg.typing{color:var(--muted);font-style:italic}
.iv-input{display:grid;gap:10px}.iv-input .s-btn{justify-self:end}

.s-foot{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:28px clamp(16px,4vw,48px);border-top:1px solid var(--line);color:var(--muted);font-size:.88rem}
.s-foot a{color:var(--muted)}

@media(max-width:860px){.layout-split .s-hero-in,.s-job{grid-template-columns:1fr}.s-job-side{position:static}.s-role{flex-direction:column;align-items:flex-start}.iv-msg{max-width:100%}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
