/* Public browse pages (server-rendered by src/seo). Same "daylight console"
   tokens as frontend/src/styles.css; keep the two in step. Inlined into every
   page, so stay lean: no component that the pages do not use. */
@font-face{font-family:"IBM Plex Sans";font-weight:400;font-style:normal;font-display:swap;src:url(/fonts/ibm-plex-sans-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Sans";font-weight:600;font-style:normal;font-display:swap;src:url(/fonts/ibm-plex-sans-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Mono";font-weight:500;font-style:normal;font-display:swap;src:url(/fonts/ibm-plex-mono-latin-500-normal.woff2) format("woff2")}
:root{--ink0:#f3f5fa;--ink1:#fff;--ink2:#e9edf7;--scope:#0b1023;--line:rgba(63,60,130,.14);--line-strong:rgba(79,70,229,.4);--phos:#4f46e5;--phos-bright:#6366f1;--phos-soft:rgba(79,70,229,.08);--glow:#7c83ff;--beam:79 70 229;--beam-a:.045;--beam-edge:.12;--amber:#b45309;--text:#0f172a;--dim:#566072;--topbar-bg:rgba(255,255,255,.88);--on-phos:#fff;--shadow:0 1px 2px rgba(15,23,42,.04),0 8px 24px rgba(15,23,42,.05);--mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace;--sans:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",sans-serif}
html[data-theme="dark"]{--ink0:#0a0e1a;--ink1:#12182b;--ink2:#1a2238;--scope:#05070f;--line:rgba(129,140,248,.14);--line-strong:rgba(129,140,248,.42);--phos:#818cf8;--phos-bright:#a5b4fc;--phos-soft:rgba(129,140,248,.14);--amber:#fbbf24;--text:#e8ecf7;--dim:#9aa3b8;--topbar-bg:rgba(10,14,26,.9);--on-phos:#0b1023;--shadow:none;--beam:129 140 248;--beam-a:.06;--beam-edge:.16}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{background:var(--ink0);color:var(--text);font-family:var(--sans);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased}
a{color:var(--phos)}
:focus-visible{outline:2px solid var(--phos);outline-offset:2px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip-link{position:absolute;left:-9999px;top:0;z-index:50;background:var(--phos);color:var(--on-phos);padding:8px 12px}
.skip-link:focus{left:8px;top:8px}
.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:20px;padding:12px 24px;background:var(--topbar-bg);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.brand{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-weight:500;font-size:14px;letter-spacing:.14em;color:var(--phos);text-decoration:none}
.topnav{display:flex;gap:4px;flex:1;min-width:0;overflow-x:auto;scrollbar-width:none}
.topnav a{font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--dim);text-decoration:none;padding:6px 10px;border-radius:999px;white-space:nowrap}
.topnav a:hover,.topnav a[aria-current="page"]{color:var(--phos);background:var(--phos-soft)}
.topnav .short{display:none}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--mono);font-size:13px;font-weight:500;letter-spacing:.04em;border-radius:999px;padding:10px 18px;text-decoration:none;border:1px solid var(--line-strong);color:var(--phos);background:transparent;cursor:pointer;white-space:nowrap}
.btn:hover{background:var(--phos-soft)}
.btn-solid{background:var(--phos);border-color:var(--phos);color:var(--on-phos);box-shadow:0 6px 18px rgba(79,70,229,.25)}
.btn-solid:hover{background:var(--phos-bright);border-color:var(--phos-bright)}
.btn-lg{padding:13px 24px;font-size:14px}
.btn[hidden]{display:none}
.btn-sm{padding:7px 14px;font-size:12px}
.phone-only{display:none}
.page{max-width:1160px;margin:0 auto;padding:28px 24px 64px}
.crumbs{font-family:var(--mono);font-size:12px;color:var(--dim);margin:0 0 18px;display:flex;flex-wrap:wrap;gap:6px;padding:0;list-style:none}
.crumbs li+li::before{content:"/";margin-right:6px;opacity:.6}
.crumbs a{color:var(--dim);text-decoration:none}
.crumbs a:hover{color:var(--phos)}
.eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--phos);margin:0 0 10px;display:flex;align-items:center;gap:8px}
.live-dot{width:8px;height:8px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 4px rgba(34,197,94,.18)}
h1{font-size:clamp(28px,4.2vw,42px);line-height:1.12;letter-spacing:-.02em;margin:0 0 12px;font-weight:600}
h2{font-size:20px;line-height:1.3;margin:0 0 14px;font-weight:600}
.lede{font-size:17px;color:var(--dim);max-width:68ch;margin:0 0 20px}
.stats{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 22px;padding:0;list-style:none}
.stats li{font-family:var(--mono);font-size:12px;color:var(--text);background:var(--ink1);border:1px solid var(--line);border-radius:999px;padding:6px 12px}
.stats b{color:var(--phos);font-weight:500}
.search{display:grid;grid-template-columns:1.4fr 1fr auto;gap:8px;background:var(--ink1);border:1px solid var(--line);border-radius:16px;padding:8px;box-shadow:var(--shadow);margin:0 0 28px}
.search label{display:flex;align-items:center;gap:8px;padding:0 12px;border-radius:10px;background:var(--ink0);min-width:0}
.search svg{flex:none;color:var(--dim)}
.search input{flex:1;min-width:0;border:0;background:transparent;color:var(--text);font:inherit;font-size:15px;padding:12px 0;outline:none}
.search input::placeholder{color:var(--dim)}
.grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:28px;align-items:start}
.panel{background:var(--ink1);border:1px solid var(--line);border-radius:14px;padding:20px;box-shadow:var(--shadow)}
.panel+.panel{margin-top:16px}
.panel h2{font-size:13px;font-family:var(--mono);font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--dim);margin-bottom:12px}
.jobs{list-style:none;margin:0;padding:0;background:var(--ink1);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);overflow:hidden;overflow:clip}
.job{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:14px;align-items:center;padding:14px 18px;border-top:1px solid var(--line);position:relative}
.job:first-child{border-top:0}
.job:hover{background:var(--phos-soft)}
.logo{width:40px;height:40px;border-radius:10px;background:var(--ink2);display:grid;place-items:center;font-family:var(--mono);font-weight:500;color:var(--phos);font-size:15px}
.job-title{font-weight:600;font-size:15.5px;line-height:1.35;margin:0 0 3px;color:var(--text)}
.job-title a{color:inherit;text-decoration:none}
.job-title a::after{content:"";position:absolute;inset:0}
.job-title a:hover{color:var(--phos)}
.job-meta{font-size:13.5px;color:var(--dim);margin:0;display:flex;flex-wrap:wrap;gap:4px 12px}
.job-side{text-align:right;font-family:var(--mono);font-size:12px;color:var(--dim);white-space:nowrap}
.tag{display:inline-block;font-family:var(--mono);font-size:11px;letter-spacing:.04em;border-radius:999px;padding:2px 9px;border:1px solid var(--line);color:var(--dim);background:var(--ink0)}
.tag-direct{color:var(--phos);border-color:var(--line-strong);background:var(--phos-soft)}
.tag-new{color:#15803d;border-color:rgba(21,128,61,.35);background:rgba(34,197,94,.08)}
html[data-theme="dark"] .tag-new{color:#4ade80}
.salary{color:var(--text);font-weight:600}
.tag-row{display:flex;flex-wrap:wrap;gap:6px;margin:20px 0 0;padding:0;list-style:none}
a.tag{color:var(--text);text-decoration:none}
a.tag:hover{border-color:var(--line-strong);color:var(--phos)}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.chips a{display:inline-flex;align-items:center;gap:6px;font-size:13.5px;color:var(--text);text-decoration:none;border:1px solid var(--line);background:var(--ink1);border-radius:999px;padding:6px 12px}
.chips a:hover{border-color:var(--line-strong);color:var(--phos)}
.chips small{font-family:var(--mono);font-size:11px;color:var(--dim)}
.rank{list-style:none;margin:0;padding:0}
.rank li{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-top:1px solid var(--line);font-size:14px}
.rank li:first-child{border-top:0}
.rank a{color:var(--text);text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rank a:hover{color:var(--phos)}
.rank span{font-family:var(--mono);font-size:12px;color:var(--dim);flex:none}
.rank .name{font-family:inherit;font-size:inherit;color:var(--text);flex:initial;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.scope{position:relative;overflow:hidden;background:var(--scope);color:#e8ecf7;border-radius:16px;padding:26px;margin:28px 0}
.scope::before{content:"";position:absolute;right:-90px;top:-90px;width:300px;height:300px;border-radius:50%;background:repeating-radial-gradient(circle,rgba(124,131,255,.22) 0 1px,transparent 1px 38px);pointer-events:none}
.scope h2{color:#fff;font-size:22px;margin-bottom:8px;position:relative}
.scope p{color:#b8bfd6;margin:0 0 18px;max-width:60ch;position:relative}
.scope .btn-solid{background:var(--glow);border-color:var(--glow);color:#0b1023;box-shadow:none;position:relative}
.scope .btn{position:relative}
.scope .btn:not(.btn-solid){color:#c7cbff;border-color:rgba(124,131,255,.5)}
.scope-actions{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:10px}
.section{margin-top:40px}
.section-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:14px}
.section-head h2{margin:0}
.section-head a{font-family:var(--mono);font-size:12px;text-decoration:none;white-space:nowrap}
.cols{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:4px 20px;list-style:none;margin:0;padding:0}
.cols a{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid var(--line);color:var(--text);text-decoration:none;font-size:14.5px}
.cols a:hover{color:var(--phos)}
.cols span{font-family:var(--mono);font-size:12px;color:var(--dim)}
.faq{display:grid;gap:10px}
.faq details{background:var(--ink1);border:1px solid var(--line);border-radius:12px;padding:14px 18px}
.faq summary{cursor:pointer;font-weight:600}
.faq p{margin:10px 0 0;color:var(--dim)}
.detail-head{display:grid;grid-template-columns:56px minmax(0,1fr);gap:16px;align-items:start;margin-bottom:6px}
.detail-head .logo{width:56px;height:56px;font-size:20px;border-radius:14px}
.company-line{font-size:16px;margin:0 0 4px}
.company-line a{text-decoration:none;font-weight:600}
.facts{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px;margin:22px 0;padding:0;list-style:none}
.facts li{background:var(--ink1);border:1px solid var(--line);border-radius:12px;padding:12px 14px}
.facts dt,.facts .k{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--dim);display:block;margin-bottom:3px}
.apply-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:0 0 26px}
.apply-row small{color:var(--dim);font-size:13px}
.alert-form{background:var(--ink1);border:1px solid var(--line);border-radius:14px;padding:14px 16px;margin:-10px 0 26px;box-shadow:var(--shadow)}
.alert-form label{display:block;font-weight:600;margin:0 0 8px}
.alert-row{display:flex;flex-wrap:wrap;gap:8px}
.alert-row input{flex:1 1 220px;min-width:0;font:inherit;color:var(--text);background:var(--ink0);border:1px solid var(--line);border-radius:999px;padding:9px 16px}
.alert-row input:focus{outline:2px solid var(--phos);outline-offset:1px}
.alert-form small{display:block;color:var(--dim);font-size:12.5px;margin-top:8px}
.alert-hot{border-color:var(--line-strong);box-shadow:0 0 0 3px var(--phos-soft)}
.back-box{background:var(--ink1);border:1px solid var(--line-strong);border-left:3px solid var(--phos);border-radius:14px;padding:14px 16px;margin:-10px 0 26px;box-shadow:var(--shadow)}
.back-box p{margin:0 0 10px}
/* The tailored CV fake door's panel (render.tailor_panel), under the apply row until 11-12. */.tailor-panel{background:var(--ink1);border:1px solid var(--line);border-left:3px solid var(--amber);border-radius:14px;padding:14px 16px;margin:-10px 0 26px;box-shadow:var(--shadow);font-size:14px}.tailor-panel p{margin:0 0 8px}.tailor-panel p[data-tailor-thanks]{margin:0}
.alert-done .alert-row{display:none}.alert-done small{color:var(--text);font-size:14px}
.desc{background:var(--ink1);border:1px solid var(--line);border-radius:14px;padding:24px 26px;font-size:15.5px;line-height:1.7;box-shadow:var(--shadow)}
.desc p{margin:0 0 14px;max-width:75ch;overflow-wrap:anywhere}
.desc p:last-child{margin-bottom:0}
.live{display:flex;flex-direction:column;gap:6px;margin:-8px 0 22px;padding:12px 16px;background:var(--ink1);border:1px solid var(--line);border-radius:12px;font-size:13.5px;color:var(--dim)}
.live p{margin:0;display:flex;gap:8px;align-items:baseline}
.live b{font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--text);flex:0 0 auto}
.live .dot{width:8px;height:8px;border-radius:50%;background:#16a34a;box-shadow:0 0 0 3px rgba(22,163,74,.18);flex:0 0 auto;align-self:center}
.live .dot-amber{background:var(--amber);box-shadow:0 0 0 3px rgba(180,83,9,.16)}
.practice-cta{display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between;margin:-10px 0 26px;padding:16px 18px;border:1px solid var(--line-strong);border-radius:14px;background:linear-gradient(135deg,var(--phos-soft),transparent 70%),var(--ink1);box-shadow:var(--shadow)}
.practice-cta div{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1 1 260px}
.practice-cta strong{font-size:15.5px}
.practice-cta span{color:var(--dim);font-size:13.5px}
.cols a .fit-title{font-family:var(--sans);font-size:14.5px;color:inherit}
.cols a .fit{font-family:var(--mono);font-size:11px;color:var(--phos);border:1px solid var(--line-strong);border-radius:999px;padding:1px 8px;white-space:nowrap;align-self:center;flex:0 0 auto;line-height:1.6}
.panel .ranked-note{font-family:var(--mono);font-size:11px;color:var(--phos);margin:-6px 0 8px}
.notice{border:1px solid var(--line);border-left:3px solid var(--amber);background:var(--ink1);border-radius:12px;padding:16px 18px;margin:0 0 24px}
.empty{color:var(--dim);padding:20px;margin:0}
.footer{border-top:1px solid var(--line);margin-top:48px;padding:28px 24px;font-family:var(--mono);font-size:12px;color:var(--dim)}
.footer-in{max-width:1160px;margin:0 auto;display:flex;flex-wrap:wrap;gap:10px 22px;align-items:center}
.footer a{color:var(--dim);text-decoration:none}
.footer a:hover{color:var(--phos)}
.footer .mark{color:var(--phos);letter-spacing:.14em}
.live-dot{position:relative}
.live-dot::after{content:"";position:absolute;inset:0;border-radius:50%;background:#22c55e;animation:rf-ping 2.2s ease-out infinite}
.tag-new::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:#22c55e;margin-right:5px;vertical-align:1px;animation:rf-blink 1.8s ease-in-out infinite}
.job{transition:background-color .15s ease}
.scope::after{content:"";position:absolute;right:-90px;top:-90px;width:300px;height:300px;border-radius:50%;background:conic-gradient(from 0deg,rgba(124,131,255,.34),rgba(124,131,255,0) 75deg,transparent);animation:rf-sweep 6s linear infinite;pointer-events:none}
.scope h2,.scope p,.scope .btn{z-index:1}
@keyframes rf-ping{0%{transform:scale(1);opacity:.55}100%{transform:scale(3.2);opacity:0}}
@keyframes rf-blink{50%{opacity:.35}}
@keyframes rf-sweep{to{transform:rotate(360deg)}}
/* Radar room motion (2026-11-05), same system as frontend/src/styles.css "radar room motion": ambient scope pivoted on the top-right corner (rings and blips behind the content, a faint beam over it every 12 s, blips flare as it crosses; computers only), lock-on brackets and a scan pass on job rows, rows and panels come into range as they scroll in, a topbar glint, a ping on solid buttons, and the job title block acquired on load. */
.ambient,.ambient-beam{position:fixed;inset:0;pointer-events:none;overflow:hidden;display:none}.ambient{z-index:-1;background:repeating-radial-gradient(circle at 100% 0,transparent 0 159px,rgb(var(--beam)/.07) 159px 160px)}.ambient-beam{z-index:69}.ambient-beam::before{content:"";position:absolute;top:0;right:0;width:150vmax;width:hypot(100vw,100vh);aspect-ratio:1;transform-origin:100% 0;background:conic-gradient(from 180deg at 100% 0,transparent 0deg 25deg,rgb(var(--beam)/0) 25deg,rgb(var(--beam)/.025) 62deg,rgb(var(--beam)/var(--beam-a)) 79deg,rgb(var(--beam)/var(--beam-edge)) 79.7deg,transparent 80deg 360deg);will-change:transform;animation:ambient-sweep 12s linear infinite}@keyframes ambient-sweep{from{transform:rotate(-85deg)}to{transform:rotate(275deg)}}.ambient i{position:absolute;width:5px;height:5px;margin:-2.5px -2.5px 0 0;border-radius:50%;background:rgb(var(--beam));box-shadow:0 0 8px rgb(var(--beam)/.8);opacity:0;animation:blip-flare 12s linear infinite}.ambient i::after{content:"";position:absolute;inset:0;border-radius:50%;border:1px solid rgb(var(--beam)/.7);opacity:0;animation:blip-ring 12s ease-out infinite;animation-delay:inherit}.ambient i:nth-of-type(1){right:64px;top:214px;animation-delay:.72s}.ambient i:nth-of-type(2){right:38px;top:468px;animation-delay:.32s}.ambient i:nth-of-type(3){right:96px;top:688px;animation-delay:.43s}.ambient i:nth-of-type(4){right:30px;top:820px;animation-delay:.24s}.ambient i:nth-of-type(5){right:118px;top:350px;animation-delay:.79s}@keyframes blip-flare{0%{opacity:1;transform:scale(1.6)}3%{opacity:.95;transform:none}35%{opacity:.22}60%,100%{opacity:0}}@keyframes blip-ring{0%{opacity:.8;transform:scale(1)}12%,100%{opacity:0;transform:scale(5)}}@media (min-width:901px) and (hover:hover){.ambient,.ambient-beam{display:block}}
.job::before{content:"";position:absolute;inset:5px;pointer-events:none;--lk:var(--phos);background:linear-gradient(var(--lk),var(--lk)) 0 0/12px 1.5px,linear-gradient(var(--lk),var(--lk)) 0 0/1.5px 10px,linear-gradient(var(--lk),var(--lk)) 100% 0/12px 1.5px,linear-gradient(var(--lk),var(--lk)) 100% 0/1.5px 10px,linear-gradient(var(--lk),var(--lk)) 0 100%/12px 1.5px,linear-gradient(var(--lk),var(--lk)) 0 100%/1.5px 10px,linear-gradient(var(--lk),var(--lk)) 100% 100%/12px 1.5px,linear-gradient(var(--lk),var(--lk)) 100% 100%/1.5px 10px;background-repeat:no-repeat;opacity:0;transform:scale(1.03,1.18);transition:opacity .16s ease,transform .26s cubic-bezier(.2,.8,.2,1)}.job:hover::before,.job:focus-within::before{opacity:1;transform:none}.job::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(100deg,transparent 38%,rgb(var(--beam)/.12) 50%,transparent 62%) no-repeat;background-size:300% 100%;opacity:0}.job:hover::after{animation:lock-scan .7s ease-out 1}@keyframes lock-scan{from{opacity:1;background-position:100% 0}to{opacity:1;background-position:0 0}}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){.jobs>.job,.panel{animation:range-in linear both;animation-timeline:view();animation-range:entry 0% entry 70%}}}@keyframes range-in{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}.topbar::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;pointer-events:none;background:linear-gradient(90deg,transparent,rgb(var(--beam)/.9),transparent) no-repeat;background-size:22% 100%;background-position:-30% 0;animation:bar-scan 12s cubic-bezier(.4,0,.2,1) infinite}@keyframes bar-scan{0%{background-position:-30% 0}22%,100%{background-position:130% 0}}.btn-solid{position:relative}.btn-solid::after{content:"";position:absolute;inset:-1px;border-radius:inherit;pointer-events:none;opacity:0}.btn-solid:hover::after{animation:btn-ping .9s ease-out 1}@keyframes btn-ping{from{opacity:1;box-shadow:0 0 0 0 rgb(var(--beam)/.55)}to{opacity:1;box-shadow:0 0 0 12px rgb(var(--beam)/0)}}.detail-head{position:relative}.detail-head::before,.launch::before{content:"";position:absolute;inset:-8px -10px;pointer-events:none;--lk:var(--phos);background:linear-gradient(var(--lk),var(--lk)) 0 0/16px 2px,linear-gradient(var(--lk),var(--lk)) 0 0/2px 14px,linear-gradient(var(--lk),var(--lk)) 100% 0/16px 2px,linear-gradient(var(--lk),var(--lk)) 100% 0/2px 14px,linear-gradient(var(--lk),var(--lk)) 0 100%/16px 2px,linear-gradient(var(--lk),var(--lk)) 0 100%/2px 14px,linear-gradient(var(--lk),var(--lk)) 100% 100%/16px 2px,linear-gradient(var(--lk),var(--lk)) 100% 100%/2px 14px;background-repeat:no-repeat;opacity:0;animation:acquire 1.5s cubic-bezier(.2,.8,.2,1) .2s both}@keyframes acquire{0%{opacity:0;transform:scale(1.1,1.35)}30%{opacity:1;transform:none}42%{opacity:.3}54%{opacity:1}100%{opacity:0;transform:none}}
/* Radar features (2026-11-05, render.py): live hub arrivals, the hub trace, the company radar, the job header scan and live-check ping, the lost-contact blip. Reduced motion hides the sweep and scan dot; the rest rests at opacity 0. */
.jobs>.job.arrive{animation:rf-arrive 2.2s ease-out,range-in .45s cubic-bezier(.2,.8,.2,1);animation-timeline:auto;animation-range:normal}.jobs>.job.arrive::before{animation:acquire 1.5s cubic-bezier(.2,.8,.2,1) both}.jobs>.job.arrive::after{animation:lock-scan .8s ease-out .25s 1}@keyframes rf-arrive{0%{background-color:rgb(var(--beam)/.1);box-shadow:inset 0 0 0 1.5px var(--phos),inset 0 0 0 5px var(--phos-soft)}100%{background-color:transparent;box-shadow:inset 0 0 0 1.5px transparent,inset 0 0 0 5px transparent}}.hub-stats{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;margin:0 0 22px}.hub-stats .stats{margin:0}.trend{display:flex;align-items:center;gap:12px;margin:0;padding:8px 14px 8px 10px;max-width:100%;background:var(--scope);border:1px solid rgba(124,131,255,.3);border-radius:12px}.trend svg{flex:none;width:144px;height:40px;overflow:visible}.trend figcaption{display:flex;flex-direction:column;min-width:0;font-size:12.5px;line-height:1.35;color:#b8bfd6}.trend b{font-weight:600;color:#e8ecf7}.tg{fill:none;stroke:rgba(124,131,255,.16);stroke-width:.6}.tw,.tl{fill:none;stroke-linejoin:round;stroke-linecap:round}.tw{stroke:#7c83ff;stroke-opacity:.3;stroke-width:4}.tl{stroke:#c7cbff;stroke-width:1.4}.tdot{fill:#fff;filter:drop-shadow(0 0 3px #a5b4fc)}.co-head.has-radar{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:8px 28px;align-items:start}.co-radar{margin:0 0 26px}.co-radar svg{display:block;width:100%;max-width:300px;height:auto;margin:0 auto;overflow:visible}.co-radar figcaption{max-width:300px;margin:4px auto 0;font-size:12.5px;color:var(--dim)}.rd-disc{fill:rgb(var(--beam)/.04);stroke:rgb(var(--beam)/.35)}.rd-ring{fill:none;stroke:rgb(var(--beam)/.16)}.rd-tick,.rd-label{font-family:var(--mono);fill:var(--dim);text-anchor:middle}.rd-tick{font-size:8.5px;opacity:.8}.rd-label{font-size:9px;font-weight:500;letter-spacing:.04em;text-transform:uppercase}.rd-wedge{fill:rgb(var(--beam)/.1)}.rd-beam{stroke:rgb(var(--beam)/.6);stroke-width:1.2}.rd-sweep{transform-box:fill-box;transform-origin:center;animation:rf-sweep 9s linear infinite}.rd-dot{fill:var(--phos);opacity:.85;stroke:transparent;stroke-width:10;animation:rd-blip 9s linear infinite}.co-radar a:hover .rd-dot{fill:var(--phos-bright);opacity:1;animation:none}@keyframes rd-blip{0%{opacity:1}70%,100%{opacity:.4}}.jp-head{position:relative}.jp-head::after{content:"";position:absolute;left:-10px;right:-10px;top:-16px;bottom:16px;pointer-events:none;background:linear-gradient(rgb(var(--beam)/0),rgb(var(--beam)/.08)) 0 0/100% 16px no-repeat,linear-gradient(90deg,transparent,rgb(var(--beam)/.8) 22%,rgb(var(--beam)/.8) 78%,transparent) 0 16px/100% 1.5px no-repeat;opacity:0;animation:head-scan .9s cubic-bezier(.45,0,.25,1) .1s}@keyframes head-scan{0%{opacity:0;transform:none}15%,80%{opacity:1}100%{opacity:0;transform:translateY(100%)}}.live .dot{position:relative}.live .dot:not(.dot-amber)::after{content:"";position:absolute;inset:0;border-radius:50%;border:1.5px solid #22c55e;opacity:0;animation:dot-ping 3.2s ease-out .8s infinite}@keyframes dot-ping{0%{opacity:.9;transform:scale(1)}45%,100%{opacity:0;transform:scale(3.4)}}.lost-line{display:flex;align-items:center;gap:8px;margin:0 0 6px;font-family:var(--mono);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--amber)}.lost{position:relative;flex:none;width:8px;height:8px;border-radius:50%;border:1px solid var(--amber)}.lost::before,.lost::after{content:"";position:absolute;inset:-1px;border-radius:50%;opacity:0}.lost::before{background:var(--amber);box-shadow:0 0 10px var(--amber);animation:lost-blip 2.8s ease-out .5s}.lost::after{border:1px solid var(--amber);animation:blip-ring 2.8s ease-out .5s}@keyframes lost-blip{0%{opacity:1;transform:scale(1.7)}8%{opacity:1;transform:none}100%{opacity:0;transform:none}}@media (max-width:900px){.co-head.has-radar{grid-template-columns:minmax(0,1fr)}}@media (max-width:640px){.trend svg{width:116px;height:32px}}
/* Readouts (render._READOUTS): counts and label decodes paint in ::after while the HTML text stays, transparent. Apply lock and launch (_APPLY_LAUNCH). The back box stamp. */
.fx{position:relative;-webkit-text-fill-color:transparent}.fx::after{content:attr(data-fx);content:attr(data-fx) / "";position:absolute;inset:0;-webkit-text-fill-color:currentColor;pointer-events:none}.stats .fx::after{text-align:right}.launch{position:relative}.launch::before{animation:acquire .8s cubic-bezier(.2,.8,.2,1) both}.btn.launch::after{content:"";position:absolute;inset:-1px;border-radius:inherit;pointer-events:none;outline:2px solid rgb(var(--beam)/.8);opacity:0;animation:launch-ring .8s cubic-bezier(.2,.7,.3,1) .12s both}@keyframes launch-ring{0%{opacity:1;outline-offset:0;box-shadow:0 0 0 0 rgb(var(--beam)/.5)}100%{opacity:0;outline-offset:30px;box-shadow:0 0 0 12px rgb(var(--beam)/0)}}.back-box{position:relative}.stamp{position:absolute;top:-13px;right:18px;font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--phos);text-shadow:0 0 8px rgb(var(--beam)/.5);background:var(--ink1);border:1.5px solid;border-radius:4px;padding:3px 8px 2px;box-shadow:0 0 14px rgb(var(--beam)/.25);transform:rotate(-5deg);pointer-events:none;animation:stamp-land .5s cubic-bezier(.2,.8,.2,1) .2s both}.stamp::after{content:"";position:absolute;inset:-2px;border:1.5px solid;border-radius:inherit;opacity:0;animation:stamp-ring .8s ease-out .45s}@keyframes stamp-land{0%{opacity:0;transform:scale(2.4) rotate(-16deg)}55%{opacity:1;transform:scale(.94) rotate(-4deg)}100%{opacity:1;transform:rotate(-5deg)}}@keyframes stamp-ring{0%{opacity:.9;transform:none}100%{opacity:0;transform:scale(1.4,2.2)}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.ambient-beam,.ambient i,.rd-sweep,.tdot,.stamp,.fx::after{display:none!important}.fx{-webkit-text-fill-color:unset!important}}
@media (max-width:900px){.grid{grid-template-columns:1fr}.search{grid-template-columns:1fr}.search .btn{width:100%}}
@media (max-width:640px){.topbar{padding:10px 16px;gap:12px}.topbar .btn{display:none}.topnav{gap:2px;-webkit-mask-image:linear-gradient(to right,#000 calc(100% - 20px),transparent);mask-image:linear-gradient(to right,#000 calc(100% - 20px),transparent)}.topnav a{padding:6px 8px;letter-spacing:.04em}.topnav .long,.topnav .wide-only{display:none}.topnav .short{display:inline}.page{padding:20px 16px 48px}.job{grid-template-columns:minmax(0,1fr);padding:14px 16px}.job .logo{display:none}.job-side{text-align:left}.desc{padding:18px}.scope{padding:20px}.scope::before,.scope::after{width:200px;height:200px;right:-70px;top:-70px}.scope-actions .btn{flex:1 1 100%}.detail-head{grid-template-columns:1fr}.detail-head .logo{display:none}.facts{grid-template-columns:1fr 1fr;gap:8px;margin:16px 0}.facts li{padding:9px 11px;font-size:14px;overflow-wrap:anywhere}.apply-row .btn{flex:1 1 100%;white-space:normal;text-align:center}.apply-row .phone-only{display:inline-flex}.tailor-panel .btn{width:100%;white-space:normal}.alert-row .btn{flex:1 1 100%}}
.fb{position:fixed;right:20px;bottom:20px;z-index:80;display:flex;flex-direction:column;align-items:flex-end;gap:10px;pointer-events:none}.fb>*{pointer-events:auto}.fb-btn{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--phos);background:var(--ink1);border:1px solid var(--line-strong);border-radius:999px;padding:9px 14px;cursor:pointer;box-shadow:0 12px 28px rgba(15,23,42,.12)}.fb-btn:hover,.fb-open .fb-btn{background:var(--phos-soft);border-color:var(--phos)}.fb-panel{width:340px;display:flex;flex-direction:column;gap:8px;background:var(--ink1);border:1px solid var(--line-strong);border-radius:14px;box-shadow:0 18px 44px rgba(15,23,42,.18);padding:14px 16px 16px}.fb-panel[hidden]{display:none}.fb-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:2px;font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--phos)}.fb-x{background:none;border:0;color:var(--dim);font-size:20px;line-height:1;cursor:pointer;padding:2px 4px}.fb-panel label{font-size:13px;font-weight:600}.fb-panel label span{font-weight:400;color:var(--dim)}.fb-panel textarea,.fb-panel input{width:100%;font:inherit;font-size:14px;color:var(--text);background:var(--ink0);border:1px solid var(--line);border-radius:10px;padding:9px 11px;resize:vertical}.fb-panel textarea{min-height:104px}.fb-panel textarea:focus,.fb-panel input:focus{outline:none;border-color:var(--phos);box-shadow:0 0 0 3px var(--phos-soft)}.fb-panel .fb-trap{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}.fb-msg{margin:0;font-size:13px;color:var(--dim)}.fb-msg:empty{display:none}.fb-row{display:flex;align-items:center;justify-content:space-between}.fb-row a{font-size:12.5px;color:var(--dim)}.fb-done label,.fb-done textarea,.fb-done input,.fb-done .fb-row{display:none}.fb-done .fb-msg{color:var(--text)}html[data-theme="dark"] .fb-btn,html[data-theme="dark"] .fb-panel{box-shadow:0 18px 44px rgba(0,0,0,.45)}@media (max-width:899px){.fb{left:12px;right:12px;bottom:12px}.fb-btn{display:none}.fb-panel{width:100%}}
/* Signed in (html.rf-in, set in the head by render._THEME_BOOT): no "sign in" line. With a CV (html.rf-cv): no CV or email-alert prompts, and My matches replaces Match my CV in the top bar. */.my-matches{display:none}.rf-in .scope-signin{display:none}.rf-cv .my-matches{display:inline-flex}.rf-cv [data-click=cv_header],.rf-cv [data-click=cv_apply],.rf-cv .scope,.rf-cv .alert-form{display:none}@media (max-width:640px){.rf-cv .my-matches{display:none}}
/* Job page columns (render.job_page): computers put the facts, live check, practice and email alert at the top of the right column; phones flatten both columns and keep the old one-column order. */@media (min-width:901px){.job-main>.jp-facts,.job-main>.jp-glance{display:none}.job-aside .jp-glance{margin-top:16px}.job-aside .glance{margin:0}.jp-apply{margin-top:22px}.job-aside .facts{grid-template-columns:1fr;gap:0;margin:0;padding:4px 16px;background:var(--ink1);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}.job-aside .facts li{display:grid;grid-template-columns:92px minmax(0,1fr);gap:10px;align-items:baseline;background:none;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:10px 0;font-size:14px;overflow-wrap:anywhere}.job-aside .facts li:last-child{border-bottom:0}.job-aside .facts .k{margin:0;font-size:10.5px}.job-aside .live{margin:12px 0 0;padding:10px 14px;font-size:13px}.job-aside .live p{flex-wrap:wrap;row-gap:2px}.job-aside .practice-cta{margin:16px 0 0;padding:14px 16px}.job-aside .practice-cta div{flex-basis:100%}.job-aside .alert-form{margin:16px 0 0}.jp-more{margin-top:16px}.jp-more:empty{display:none}}@media (max-width:900px){.job-grid{display:flex;flex-direction:column;gap:0}.job-main,.job-aside{display:contents}.jp-head{order:1}.jp-closed{order:2}.jp-facts{order:3}.jp-apply{order:4}.jp-practice{order:5}.jp-alert{order:6}.jp-tags{order:7}.jp-glance{order:8}.jp-desc{order:9}.jp-scope{order:10}.jp-more{order:11;margin-top:28px}.jp-more:empty{display:none}}
/* At a glance (render.glance_block): what the ad asks for, read by rules. */.glance{margin:22px 0}.glance h2{font-size:13px;font-family:var(--mono);font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--dim);margin:0 0 10px}.glance .facts{margin:0}.glance .facts li.wide{grid-column:1/-1}.glance-note{font-size:12.5px;color:var(--dim);margin:8px 0 0}
