/* LexFab marketing site - /careers page styles (pages/careers.html).
 * Moved verbatim from the Claude design's inline <style> (plan 68 W4b), plus
 * .cr-error / .cr-hp / .cr-fallback / .cr-empty for the live wiring in
 * scripts/careers.js. The modal shell is the shared .dm-* set in site.css. */
a{color:var(--blue-600)}a:hover{color:var(--blue-700)}
.cr-hero{padding:88px 0 72px}
.cr-hero-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:64px;align-items:end}
.cr-hero .v3-h1{max-width:14ch}
.cr-hero .v3-lede+.v3-lede{margin-top:14px}
.cr-hero-cta{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:32px}
.cr-index{border:1px solid var(--v3-line);border-radius:var(--radius-md);background:#fff;overflow:hidden}
.cr-index-h{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 20px;border-bottom:1px solid var(--v3-line);font-size:13px;font-weight:500;color:var(--slate-500)}
.cr-index a{display:grid;grid-template-columns:1fr auto 16px;gap:12px;align-items:center;padding:14px 20px;min-height:52px;color:var(--v3-ink);border-top:1px solid var(--v3-line);transition:background 120ms var(--ease-out)}
.cr-index a:first-of-type{border-top:0}
.cr-index a:hover{background:var(--slate-50);color:var(--v3-ink)}
.cr-index .t{font-size:15px;font-weight:500;letter-spacing:-.01em}
.cr-index .k{font-size:12.5px;color:var(--slate-500);text-align:right}
.cr-index svg{width:16px;height:16px;color:var(--slate-400)}
.cr-why{padding:0 0 96px}
.cr-why-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.cr-why .v3-cap .ic{background:var(--blue-50);color:var(--blue-700)}
.cr-roles{padding:96px 0;background:var(--slate-50);border-top:1px solid var(--v3-line);border-bottom:1px solid var(--v3-line)}
.cr-roles .v3-sec-head{margin-bottom:40px}
.cr-list{display:grid;gap:16px}
.cr-role{scroll-margin-top:96px;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:48px;padding:32px;background:#fff;border:1px solid var(--v3-line);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);transition:border-color 120ms var(--ease-out)}
.cr-role:hover{border-color:var(--slate-300)}
.cr-role:target{border-color:var(--blue-500)}
.cr-role-main{display:flex;flex-direction:column;align-items:flex-start;gap:14px}
.cr-type{display:inline-flex;align-items:center;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--slate-600);background:var(--slate-100);padding:4px 10px;border-radius:var(--radius-pill)}
.cr-role h3{margin:0;font-size:24px;font-weight:500;letter-spacing:-.02em;color:var(--v3-ink);line-height:1.2}
.cr-role-main p{margin:0;font-size:15px;line-height:1.55;color:var(--v3-muted);text-wrap:pretty}
.cr-role-main .btn{margin-top:auto}
.cr-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}
.cr-cols h4{margin:0 0 12px;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--slate-500)}
.cr-cols ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.cr-cols li{position:relative;padding-left:16px;font-size:14px;line-height:1.5;color:var(--slate-700)}
.cr-cols li::before{content:'';position:absolute;left:0;top:8px;width:5px;height:5px;border-radius:1px;background:var(--blue-600)}
.cr-apply{padding:96px 0 120px}
.cr-apply-grid{max-width:720px}
.cr-apply .v3-h2{font-size:clamp(28px,3.4vw,42px)}
.cr-apply .v3-lede{margin-top:20px}
.cr-apply .btn{margin-top:28px}
/* application modal - reuses .dm-* modal shell from site.css */
.cr-modal{max-width:600px}
.dm-form select{width:100%;padding:11px 14px;font-family:inherit;font-size:14px;border:1px solid var(--slate-200);border-radius:8px;outline:none;background:#fff;color:var(--ink-900);transition:border-color 120ms,box-shadow 120ms}
.dm-form select:focus{border-color:var(--blue-500);box-shadow:0 0 0 3px rgba(59,98,226,.15)}
.dm-form .field.invalid select{border-color:var(--red-500)}
.cr-file{position:relative;display:flex;align-items:center;gap:12px;padding:14px 16px;border:1px dashed var(--slate-300);border-radius:8px;background:var(--slate-50);transition:border-color 120ms,background 120ms;min-height:56px}
.cr-file:hover,.cr-file.drag{border-color:var(--blue-500);background:var(--blue-50)}
.cr-file:focus-within{border-color:var(--blue-500);box-shadow:0 0 0 3px rgba(59,98,226,.15)}
.cr-file input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}
.cr-file .ic{width:32px;height:32px;border-radius:6px;background:#fff;border:1px solid var(--slate-200);display:grid;place-items:center;color:var(--slate-500);flex-shrink:0}
.cr-file .ic svg{width:16px;height:16px}
.cr-file .tx{font-size:13.5px;color:var(--slate-600);line-height:1.4;min-width:0}
.cr-file .tx strong{display:block;color:var(--ink-900);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cr-file.has .ic{color:var(--green-700);border-color:var(--green-500)}
.dm-form .field.invalid .cr-file{border-color:var(--red-500);border-style:solid}
/* .lf-v3 a{color:inherit} (v3.css) outranks .btn-primary{color:#fff}: anchor buttons on this light page rendered ink-on-blue */
.lf-v3 a.btn-primary{color:#fff}
/* the popup's Privacy policy link inherits the fine-print colour; the underline marks it as a link (KI-1299) */
.cr-modal .dm-fine a{text-decoration:underline;text-underline-offset:2px}
/* live wiring (scripts/careers.js) */
.cr-error{margin:0 0 16px;padding:11px 14px;border:1px solid #F1C7C7;background:#FDF3F3;border-radius:8px;color:#9F2A2A;font-size:13px;line-height:1.5}
.cr-error[hidden],.cr-fallback[hidden],.dm-form[hidden]{display:none}
.cr-error a{color:inherit;text-decoration:underline}
.cr-hp{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.cr-fallback{padding:20px;border:1px solid var(--v3-line);border-radius:8px;background:var(--slate-50);font-size:14.5px;line-height:1.55;color:var(--slate-700)}
.cr-fallback p{margin:0}
.cr-fallback a{color:var(--blue-600);text-decoration:underline}
.cr-empty{display:flex;flex-direction:column;align-items:flex-start;gap:14px;padding:32px;background:#fff;border:1px solid var(--v3-line);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}
.cr-empty p{margin:0;font-size:15px;line-height:1.55;color:var(--v3-muted)}
.cr-index .cr-index-empty{padding:14px 20px;min-height:52px;font-size:15px;color:var(--v3-muted)}
@media (max-width:960px){.cr-hero{padding:56px 0 48px}.cr-hero-grid{grid-template-columns:1fr;gap:40px}.cr-why{padding-bottom:72px}.cr-why-grid{grid-template-columns:1fr}.cr-roles{padding:72px 0}.cr-role{grid-template-columns:1fr;gap:28px;padding:28px}.cr-role-main .btn{margin-top:4px}.cr-apply{padding:72px 0 88px}}
@media (max-width:640px){.cr-hero{padding:40px 0 40px}.cr-hero-cta .btn{width:100%;justify-content:center}.cr-why{padding-bottom:56px}.cr-roles{padding:56px 0}.cr-role{padding:22px 20px}.cr-role h3{font-size:21px}.cr-cols{grid-template-columns:1fr;gap:24px}.cr-role-main .btn{width:100%;justify-content:center}.cr-apply{padding:56px 0 72px}.cr-apply .btn{width:100%;justify-content:center}.cr-empty{padding:22px 20px}.cr-empty .btn{width:100%;justify-content:center}}
