@font-face{font-family:Faustina;src:url(/fonts/faustina-var.woff2) format("woff2-variations");font-weight:400 700;font-style:normal;font-display:swap}@font-face{font-family:"Instrument Serif";src:url(/fonts/instrumentserif.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Fragment Mono;src:url(/fonts/fragmentmono.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Faustina Fallback;src:local("Georgia"),local("Times New Roman"),local("Times");size-adjust:102.6%;ascent-override:101.6%;descent-override:21.1%;line-gap-override:0%}@font-face{font-family:Instrument Fallback;src:local("Georgia"),local("Times New Roman"),local("Times");size-adjust:105.9%;ascent-override:93.5%;descent-override:29.3%;line-gap-override:0%}@font-face{font-family:Fragment Fallback;src:local("Menlo"),local("Consolas"),local("Courier New");size-adjust:105%;ascent-override:90.5%;descent-override:23.8%;line-gap-override:0%}:root{--bg: #f7f6f2;--surface: #ffffff;--surface-2: #f1f0ea;--raise: #fbfbf9;--ink: #191d22;--strong: #0e1116;--muted: #5c6470;--faint: #646c78;--line: #e5e3da;--line-2: #eeede6;--accent: #127a56;--accent-ink: #0c5a3f;--accent-soft: #e3f0ea;--gold: #845b0e;--gold-soft: #f4ebd6;--on-accent: #ffffff;--font-sans: "Faustina", "Faustina Fallback", Georgia, "Times New Roman", serif;--font-display: "Instrument Serif", "Instrument Fallback", Georgia, serif;--font-mono: "Fragment Mono", "Fragment Fallback", ui-monospace, Menlo, monospace;--r: 14px;--r-sm: 9px;--shadow: 0 1px 2px rgba(20, 25, 32, .04), 0 8px 24px -12px rgba(20, 25, 32, .1);color-scheme:light}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-sans);font-size:17.5px;line-height:1.65;-webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums}h1,.page-h1,.hero h1,.hub-head h1{font-family:var(--font-display);font-weight:400;letter-spacing:-.005em}.eyebrow,.facet-k,.cap-k,.foot-col h3{font-variant-caps:all-small-caps;text-transform:none;letter-spacing:.06em}.wrap{max-width:1080px;margin:0 auto;padding:0 24px}a{color:var(--accent-ink);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3{color:var(--strong);text-wrap:balance;letter-spacing:-.02em;margin:0}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.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}.eyebrow{font-family:var(--font-mono);font-size:11.5px;letter-spacing:.11em;text-transform:uppercase;color:var(--faint);font-weight:600}.topbar{border-bottom:1px solid var(--line);background:var(--surface)}.topbar .wrap{display:flex;align-items:center;gap:16px;height:60px}.brand{display:flex;align-items:center;gap:9px;font-weight:720;color:var(--strong);letter-spacing:-.02em;font-size:17px}.brand .dot{width:11px;height:11px;border-radius:3px;background:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.brand b{color:var(--accent-ink)}.topnav{display:flex;gap:20px;margin-left:8px}.topnav a{color:var(--muted);font-size:14px;font-weight:500;white-space:nowrap}@media(max-width:560px){.topbar .wrap{gap:12px}.topnav{gap:15px;margin-left:0;overflow-x:auto;scrollbar-width:none}.topnav::-webkit-scrollbar{display:none}.brand{font-size:16px;flex:none}}.crumbs{font-size:13px;color:var(--muted);padding:18px 0 4px}.crumbs a{color:var(--muted)}.crumbs span{color:var(--faint);margin:0 7px}header.job{padding:8px 0 26px;border-bottom:1px solid var(--line-2)}.job h1{font-size:clamp(27px,4vw,38px);font-weight:720;line-height:1.12}.company-line{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:12px}.logo{width:38px;height:38px;border-radius:9px;background:var(--strong);color:var(--bg);display:grid;place-items:center;font-weight:800;font-size:17px;flex:none}.company-line .co{font-weight:660;color:var(--strong);font-size:17px}.posted{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:12px;color:var(--accent-ink);background:var(--accent-soft);padding:3px 9px;border-radius:100px}.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.chip{font-size:13px;color:var(--ink);background:var(--surface);border:1px solid var(--line);padding:5px 11px;border-radius:100px;font-weight:500}.chip.key{color:var(--accent-ink);border-color:color-mix(in srgb,var(--accent) 40%,var(--line));background:var(--accent-soft)}.grid{display:grid;grid-template-columns:1fr 336px;gap:40px;padding:34px 0 60px;align-items:start}@media(max-width:860px){.grid{grid-template-columns:1fr;gap:26px}.grid aside{order:-1}}.col-main section{padding:26px 0;border-top:1px solid var(--line-2)}.col-main section:first-child{border-top:none;padding-top:22px}.col-main h2{font-size:19px;font-weight:680;margin-bottom:14px}.lede{font-size:17.5px;line-height:1.6;color:var(--ink)}.prose :is(h2,h3,h4){margin:20px 0 10px;font-size:17px}.prose p{margin:0 0 12px}.prose ul,.prose ol{margin:0 0 14px;padding-left:22px;display:flex;flex-direction:column;gap:8px}.salary{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:22px;box-shadow:var(--shadow);position:relative;overflow:hidden}.salary:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:linear-gradient(var(--accent),var(--gold))}.salary.is-estimate:before{background:var(--gold)}.salary.is-estimate{border-style:dashed;border-color:var(--rule-strong)}.sal-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}.sal-k{font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--faint);font-weight:600}.sal-k.is-flag{color:var(--gold)}.sal-src{font-size:13.5px;color:var(--muted)}.sal-warn{margin:10px 0 12px;padding:9px 12px;max-width:56ch;background:var(--gold-soft);border-left:2px solid var(--gold);font-size:14.5px;line-height:1.55;color:var(--ink)}.sal-warn strong{font-weight:700}.salary .tophead{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:4px}.badge-data{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--accent-ink);background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);padding:3px 8px;border-radius:100px;font-weight:600}.salary .big{font-family:var(--font-mono);font-size:26px;font-weight:600;color:var(--strong);letter-spacing:-.02em;margin-top:6px}.salary .sub{font-size:13.5px;color:var(--muted);margin-top:2px}.meter{margin-top:20px}.meter .scale{display:flex;justify-content:space-between;font-family:var(--font-mono);font-size:11.5px;color:var(--faint);margin-bottom:7px}.track{position:relative;height:12px;border-radius:100px;background:var(--surface-2);border:1px solid var(--line)}.market{position:absolute;top:0;bottom:0;border-radius:100px;background:repeating-linear-gradient(45deg,var(--line),var(--line) 5px,transparent 5px,transparent 10px)}.role-band{position:absolute;top:-3px;bottom:-3px;border-radius:100px;background:color-mix(in srgb,var(--accent) 26%,transparent);border:1.5px solid var(--accent)}.legend{display:flex;gap:16px;flex-wrap:wrap;margin-top:12px;font-size:12px;color:var(--muted)}.legend i{display:inline-block;width:11px;height:11px;border-radius:3px;vertical-align:-1px;margin-right:5px}.verdict{margin-top:14px;font-size:13.5px;color:var(--ink);background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-sm);padding:11px 13px}.verdict b{color:var(--accent-ink)}.provenance{margin-top:11px;font-size:12.5px;color:var(--muted)}aside{position:sticky;top:18px;display:flex;flex-direction:column;gap:16px}@media(max-width:860px){aside{position:static}}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:18px;box-shadow:var(--shadow)}.apply-btn{display:block;width:100%;text-align:center;background:var(--accent);color:var(--on-accent);font-weight:660;font-size:15.5px;padding:13px;border-radius:var(--r-sm);border:none;cursor:pointer;letter-spacing:.01em}.apply-btn:hover{background:var(--accent-ink);text-decoration:none;color:var(--on-accent)}.apply-note{font-size:12px;color:var(--faint);text-align:center;margin-top:9px}.facts{display:flex;flex-direction:column;margin:0}.facts .f{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-top:1px solid var(--line-2);font-size:13.5px}.facts .f:first-child{border-top:none}.facts .k{color:var(--muted)}.facts .v{color:var(--strong);font-weight:560;text-align:right}.side-h{font-size:13px;font-weight:660;color:var(--strong);margin:0 0 12px}.links{display:flex;flex-direction:column}.links a{display:flex;justify-content:space-between;align-items:center;padding:9px 0;border-top:1px solid var(--line-2);font-size:14px;color:var(--ink)}.links a:first-child{border-top:none}.links a:hover{color:var(--accent-ink);text-decoration:none}.links a .n{font-family:var(--font-mono);font-size:12px;color:var(--faint)}.job-row{display:flex;justify-content:space-between;align-items:baseline;gap:14px;padding:13px 0;border-top:1px solid var(--line-2)}.job-row:first-child{border-top:none}.job-row .t{font-weight:600;color:var(--strong)}.job-row .m{font-size:13px;color:var(--muted)}.job-row .s{font-family:var(--font-mono);font-size:12.5px;color:var(--accent-ink);white-space:nowrap}footer.site{border-top:1px solid var(--line);background:var(--surface);margin-top:40px}footer.site .wrap{padding:26px 24px;display:flex;flex-direction:column;gap:12px}.attrib{font-size:13px;color:var(--muted);max-width:70ch;line-height:1.6}.foot-brand{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:13px;border-top:1px solid var(--line-2);padding-top:14px}.page-h1{font-size:clamp(24px,3.6vw,34px);font-weight:720;line-height:1.15}.page-sub{color:var(--muted);margin-top:8px;max-width:65ch}.page-links{display:flex;flex-wrap:wrap;gap:8px 10px;margin-top:12px}.page-links a{font-size:13px;color:var(--accent-ink);background:var(--accent-soft);padding:4px 11px;border-radius:100px;font-weight:500}.foot-roles{display:flex;flex-wrap:wrap;gap:6px 16px;padding-bottom:4px}.foot-roles a{font-size:12.5px;color:var(--muted)}.hero{padding:34px 0 26px}.hero h1{font-size:clamp(30px,4.6vw,44px);font-weight:730;line-height:1.08}.hero-line{margin:10px 0 0;font-size:18px;color:var(--muted);max-width:46ch}.hero .stat{margin-top:11px;font-family:var(--font-mono);font-size:13.5px;color:var(--muted);font-variant-numeric:tabular-nums;display:flex;flex-wrap:wrap;gap:6px 14px}.hero .stat b{color:var(--strong);font-weight:600}.hero .stat .sep{color:var(--line)}@media(max-width:560px){.hero .stat .sep{display:none}}.searchbar{display:flex;gap:9px;margin-top:20px;max-width:560px}.searchbar input{flex:1 1 120px;min-width:0;padding:13px 15px;font-size:16px;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-sm);font-family:inherit}.searchbar input::placeholder{color:var(--faint)}.searchbar input:focus{outline:2px solid var(--accent);outline-offset:-1px;border-color:var(--accent)}.searchbar button{padding:13px 22px;font-size:15px;font-weight:640;cursor:pointer;background:var(--accent);color:var(--on-accent);border:none;border-radius:var(--r-sm);font-family:inherit;transition:background .15s,transform .12s}.searchbar button:hover{background:var(--accent-ink)}.searchbar button:active{transform:translateY(1px)}.facets{padding:4px 0 6px}.facet-row{display:flex;align-items:baseline;gap:12px;padding:9px 0;border-top:1px solid var(--line-2)}.facet-row:first-child{border-top:none}.facet-k{flex:none;width:62px;font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--faint);padding-top:4px}.facet-v{display:flex;flex-wrap:wrap;gap:7px}.facet{display:inline-flex;align-items:baseline;gap:6px;font-size:13.5px;font-weight:520;color:var(--ink);background:var(--surface);border:1px solid var(--line);padding:5px 12px;border-radius:100px;transition:border-color .14s,background .14s,color .14s}.facet:hover{text-decoration:none;color:var(--accent-ink);border-color:var(--accent);background:var(--accent-soft)}.facet .n{font-family:var(--font-mono);font-size:11.5px;color:var(--faint);font-variant-numeric:tabular-nums}.facet:hover .n{color:var(--accent-ink)}.facet.more{border-style:dashed;color:var(--muted)}@media(max-width:640px){.facet-row{flex-direction:column;gap:7px}.facet-k{width:auto;padding-top:0}.facet-v .facet:nth-of-type(n+7){display:none}.facet-v .facet.more{display:inline-flex}}.sec-h{display:flex;align-items:baseline;justify-content:space-between;gap:14px;padding:26px 0 12px;border-bottom:1px solid var(--line)}.sec-h h2{font-size:19px;font-weight:690}.sec-h .more-link{font-size:13.5px;color:var(--accent-ink);white-space:nowrap}.jobs{display:flex;flex-direction:column}.jobcard{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:0 14px;align-items:center;padding:14px 12px;margin:0 -12px;border-bottom:1px solid var(--line-2);border-radius:var(--r-sm);transition:background .14s,box-shadow .14s}.jobcard:hover{text-decoration:none;background:var(--surface);box-shadow:var(--shadow)}.jobcard:hover .jc-t{color:var(--accent-ink)}.jc-logo{grid-row:span 2;width:42px;height:42px;border-radius:10px;display:grid;place-items:center;font-weight:800;font-size:17px;color:var(--strong);background:var(--surface-2);border:1px solid var(--line);flex:none;letter-spacing:-.02em}.jc-logo.t0{background:#e6efe9;border-color:#cfe0d6}.jc-logo.t1{background:#ece9df;border-color:#dcd7c7}.jc-logo.t2{background:#e5eaef;border-color:#ccd6e0}.jc-logo.t3{background:#efe7e5;border-color:#e0cfcb}.jc-logo.t4{background:#e9ecdf;border-color:#d5dbc4}.jc-logo.t5{background:#e4ecec;border-color:#c9dcdc}.jc-logo.t6{background:#eee8ee;border-color:#ded0de}.jc-logo.t7{background:#efeade;border-color:#e0d6c2}.jc-t{font-size:16.5px;font-weight:620;color:var(--strong);line-height:1.3}.jc-m{grid-column:2;margin-top:3px;font-size:13px;color:var(--muted);display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px}.jc-m .co{font-weight:560;color:var(--ink)}.jc-m .d{color:var(--line)}.jc-right{grid-row:span 2;text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:4px}.jc-pay{font-family:var(--font-mono);font-size:13.5px;color:var(--strong);white-space:nowrap;font-variant-numeric:tabular-nums;font-weight:500}.jc-pay.none{color:var(--faint);font-weight:400}.jc-pay.modelled{color:var(--muted);font-weight:400}.jc-pay.modelled sup{font-size:.62em;vertical-align:super}.pay-note{margin:0 0 14px;max-width:66ch;padding:10px 14px;background:var(--surface-2);border-left:2px solid var(--gold);font-size:14px;line-height:1.6;color:var(--muted)}.pay-note sup{font-size:.7em;vertical-align:super;color:var(--gold);font-weight:700}.jc-age{font-family:var(--font-mono);font-size:11.5px;color:var(--faint);white-space:nowrap}.tag{display:inline-flex;align-items:center;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;padding:2px 7px;border-radius:100px;font-weight:600;white-space:nowrap}.tag.new{color:var(--accent-ink);background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent) 32%,transparent)}.tag.remote{color:var(--muted);background:var(--surface-2);border:1px solid var(--line)}@media(max-width:620px){.jobcard{grid-template-columns:36px minmax(0,1fr);gap:0 12px;padding:13px 10px}.jc-logo{width:36px;height:36px;font-size:15px}.jc-right{grid-row:auto;grid-column:2;flex-direction:row;align-items:baseline;justify-content:flex-start;gap:10px;margin-top:5px}.jc-t{font-size:16px}}.scope-intro{padding:20px 0 4px;max-width:74ch}.scope-intro p{margin:0 0 12px;font-size:16.5px;line-height:1.68;color:var(--ink)}.scope-intro p:first-child{font-size:17.5px;color:var(--strong)}.scope-intro p:last-of-type{margin-bottom:0}.cap-row{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin-top:16px;padding-top:14px;border-top:1px solid var(--line-2)}.cap-k{flex:none;font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--faint)}.cap-v{display:flex;flex-wrap:wrap;gap:6px}.cap{display:inline-flex;align-items:baseline;gap:6px;font-size:13px;color:var(--ink);background:var(--surface-2);border:1px solid var(--line);padding:3px 10px;border-radius:100px}.cap .n{font-family:var(--font-mono);font-size:11px;color:var(--faint);font-variant-numeric:tabular-nums}.empty{padding:34px 20px;text-align:center;border:1px dashed var(--line);border-radius:var(--r);background:var(--surface-2);color:var(--muted)}.empty p{margin:0 0 14px}.capture{margin:34px 0 10px;padding:26px;max-width:560px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow)}.capture h2{font-size:19px;font-weight:680;margin:0}.capture p{margin:8px 0 16px;color:var(--muted);font-size:15px}.capture form{display:flex;gap:9px;flex-wrap:wrap}.capture label{display:block;width:100%;margin-bottom:6px;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--faint)}.capture input{flex:1 1 200px;min-width:0;padding:12px 13px;font-size:16px;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:var(--r-sm);font-family:inherit}.capture input:focus{outline:2px solid var(--accent);outline-offset:-1px;border-color:var(--accent)}.capture button{padding:12px 20px;font-size:14px;font-weight:640;cursor:pointer;background:var(--strong);color:var(--bg);border:none;border-radius:var(--r-sm);font-family:inherit;transition:transform .12s,filter .18s}.capture button:hover{filter:brightness(1.3)}.capture button:active{transform:translateY(1px)}.capture .fine{margin:12px 0 0;font-size:12.5px;color:var(--faint)}.foot-cols{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:26px 22px;padding-bottom:6px}@media(max-width:980px){.foot-cols{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:760px){.foot-cols{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 18px}}.foot-col h3{font-family:var(--font-mono);font-size:10.5px;text-transform:uppercase;color:var(--faint);font-weight:600;margin:0 0 10px;letter-spacing:.1em}.foot-col a{display:block;font-size:13.5px;color:var(--muted);padding:3.5px 0}.foot-col a:hover{color:var(--accent-ink)}.foot-bottom{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;border-top:1px solid var(--line-2);padding-top:16px;margin-top:6px;font-size:12.5px;color:var(--faint)}
