/* HireGolang "Index". One list, one document, one accent.
 * System fonts only (zero font bytes, no swap shift). Spacing and breakpoints in rem so a
 * larger browser text size reflows the layout instead of overflowing it.
 * Motion: press feedback and one confirmation panel. Nothing animates on keyboard actions. */
:root{
  color-scheme:light;
  --bg:#fff;--bg-2:#f4f6f8;--bg-3:#e9edf1;
  --ink:#0e1114;--ink-2:#454e59;--ink-3:#5c6570;
  --line:#e3e6ea;--line-2:#c9cfd6;--control:#f1f3f6;
  --acc:#006a8e;--go:#00add8;--on-go:#02212b;
  --warn:#7a4a00;--warn-bg:#fdf3e1;--warn-line:#e7c58d;
  --gutter:clamp(1rem,4vw,2.5rem);--max:76rem;
  --edge:max(var(--gutter),calc((100% - var(--max)) / 2));
  --ease-out:cubic-bezier(.23,1,.32,1);
  --r:.625rem;
}
:root[data-theme=dark]{
  color-scheme:dark;
  --bg:#0e1114;--bg-2:#161a1f;--bg-3:#1f252c;
  --ink:#e9edf1;--ink-2:#aab3bd;--ink-3:#8f99a4;
  --line:#232930;--line-2:#3a444f;--control:#1a1f25;
  --acc:#68d2f0;--go:#00add8;--on-go:#02212b;
  --warn:#f2bd6b;--warn-bg:#251c0e;--warn-line:#5c4420;
}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]){
  color-scheme:dark;
  --bg:#0e1114;--bg-2:#161a1f;--bg-3:#1f252c;
  --ink:#e9edf1;--ink-2:#aab3bd;--ink-3:#8f99a4;
  --line:#232930;--line-2:#3a444f;--control:#1a1f25;
  --acc:#68d2f0;--go:#00add8;--on-go:#02212b;
  --warn:#f2bd6b;--warn-bg:#251c0e;--warn-line:#5c4420;
}}
@media (prefers-contrast:more){:root{--ink-2:var(--ink);--ink-3:var(--ink);--line:var(--line-2)}}

*,*::before,*::after{box-sizing:border-box}
html{background:var(--bg);color:var(--ink);font:100%/1.5 system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;-webkit-text-size-adjust:100%;text-size-adjust:100%;-webkit-tap-highlight-color:transparent;text-rendering:optimizeLegibility}
body{margin:0;min-height:100svh;display:flex;flex-direction:column}
main{flex:1 0 auto}
h1,h2,h3,p,dl,dd,blockquote{margin:0}
img{display:block;max-width:100%}
a{color:var(--acc);text-decoration-thickness:1px;text-underline-offset:.2em}
:focus-visible{outline:2px solid var(--acc);outline-offset:2px;border-radius:.25rem}
main:focus,section:focus,[tabindex="-1"]:focus:not(:focus-visible){outline:none}
.sr-only{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip{position:absolute;z-index:50;left:.75rem;top:-4rem;background:var(--ink);color:var(--bg);padding:.5rem .875rem;border-radius:var(--r);font-weight:600;text-decoration:none}
.skip:focus{top:calc(.75rem + env(safe-area-inset-top,0px))}
kbd{font:500 .75rem/1 ui-monospace,"SF Mono",Menlo,Consolas,monospace;color:var(--ink-2);border:1px solid var(--line-2);border-bottom-width:2px;border-radius:.3rem;padding:.15rem .35rem;margin:0 .1rem}

/* Controls */
button,.button{font:inherit;font-weight:600;font-size:.9375rem;display:inline-flex;align-items:center;justify-content:center;gap:.375rem;min-height:2.75rem;padding:0 1.125rem;border-radius:var(--r);border:1px solid var(--line-2);background:var(--bg);color:var(--ink);cursor:pointer;text-decoration:none;white-space:nowrap;touch-action:manipulation;user-select:none;-webkit-user-select:none;transition:transform 160ms var(--ease-out)}
button:active,.button:active{transform:scale(.97)}
button:disabled{cursor:wait;opacity:.6}
.button{background:var(--go);color:var(--on-go);border-color:transparent}
input,select,textarea{font:inherit;font-size:1rem;color:var(--ink)}
input[type=search],input[type=email],input[type=url],input[type=text],input:not([type]),textarea,select{width:100%;min-height:2.75rem;padding:0 .875rem;border:1px solid var(--line-2);border-radius:var(--r);background:var(--bg)}
textarea{padding:.75rem .875rem;line-height:1.5;resize:vertical}
input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--acc);outline-offset:0;border-color:transparent}
input::placeholder{color:var(--ink-3);opacity:1}
input[type=search]::-webkit-search-decoration{-webkit-appearance:none}
[aria-invalid=true]{border-color:var(--warn)!important}
a,button,summary,select,label{touch-action:manipulation}

/* Frame: full-bleed bands, content aligned to one edge */
.mast,.page,.signup,.foot{padding-inline:max(var(--edge),env(safe-area-inset-left,0px)) max(var(--edge),env(safe-area-inset-right,0px))}
.mast{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1.5rem;padding-top:calc(.875rem + env(safe-area-inset-top,0px));padding-bottom:.875rem;border-bottom:1px solid var(--line)}
.brand{display:inline-flex;align-items:center;gap:.625rem;color:var(--ink);text-decoration:none;font-weight:650;font-size:1.0625rem;letter-spacing:-.012em;margin-right:auto;border-radius:.375rem}
.brand picture{flex:none;display:block}
.brand img{flex:none;max-width:none;width:2rem;height:2rem;margin:-.125rem -.125rem -.125rem -.25rem}
.mast-nav{display:flex;gap:1.25rem}
.mast-nav a,.rail-links a,.doc-nav a{color:var(--ink-2);text-decoration:none;font-size:.9375rem}
@media (hover:hover) and (pointer:fine){
  .company a:hover,.crumbs a:hover,.related a:hover,.more a:hover{text-decoration:underline}
  .co-card:hover{background:var(--bg-2)}
  .co-card:hover .co-name{text-decoration:underline;text-decoration-color:var(--line-2)}
  .mast-nav a:hover,.rail-links a:hover,.doc-nav a:hover{color:var(--ink);text-decoration:underline}
  .job-card:hover{background:var(--bg-2)}
  .job-card:hover .row{text-decoration:underline;text-decoration-color:var(--line-2)}
  .button:hover{background:color-mix(in srgb,var(--go) 88%,#fff)}
  button:not(:disabled):hover{background:var(--bg-2)}
  .active-filters a:hover{background:var(--bg-3)}
  .discovery-links a:hover{color:var(--ink)}
}

/* Page head */
.page{padding-bottom:3rem}
.hero{padding-top:clamp(2rem,6vw,3.75rem)}
.hero h1,.msg h1{font-size:clamp(1.875rem,1.25rem + 2.4vw,2.875rem);line-height:1.06;letter-spacing:-.028em;font-weight:700;max-width:22ch;text-wrap:balance}
.lede{margin-top:1rem;max-width:40rem;font-size:1.0625rem;line-height:1.55;color:var(--ink-2);text-wrap:pretty}
.stamp{margin-top:.5rem;font-size:.875rem;color:var(--ink-3)}
.discovery-intro{margin-top:1rem;max-width:42rem;display:grid;gap:.5rem}
.discovery-intro p{font-size:1.0625rem;line-height:1.55;color:var(--ink-2);text-wrap:pretty}
.discovery-intro p.note{font-size:.9375rem;color:var(--ink-3)}
.discovery-links{display:flex;gap:1.5rem;margin-top:2rem;border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:none;overscroll-behavior-x:contain;scroll-snap-type:x proximity}
.discovery-intro .discovery-links{margin-top:1.25rem}
.discovery-links::-webkit-scrollbar{display:none}
.discovery-links a{flex:none;scroll-snap-align:start;padding:.625rem 0 .75rem;margin-bottom:-1px;border-bottom:2px solid transparent;color:var(--ink-2);text-decoration:none;font-weight:500;font-size:.9375rem;white-space:nowrap}
.discovery-links a[aria-current]{color:var(--ink);border-color:var(--ink);font-weight:600}
.discovery-links a:focus-visible{outline-offset:-2px}

/* Toolbar: search, then filters */
.results-head{margin-top:1.5rem;display:grid;gap:1rem}
.search{display:flex;gap:.5rem;max-width:48rem}
.search input{flex:1;min-width:0}
.rail .note{font-size:.875rem;color:var(--ink-3);margin-top:.75rem}
.filter-disclosure>summary{display:none}
.filters{display:grid;grid-template-columns:repeat(auto-fill,minmax(9rem,1fr));gap:.75rem 1rem;align-items:end}
@media (min-width:72rem){.filters{grid-template-columns:repeat(7,minmax(0,1fr)) auto}}
.field{display:grid;gap:.3125rem;min-width:0}
.field>span:first-child{font-size:.8125rem;font-weight:500;color:var(--ink-3)}
.select{position:relative;display:block}
.select select{appearance:none;-webkit-appearance:none;min-height:2.5rem;padding:0 2rem 0 .75rem;background:var(--control);border-color:var(--control);font-size:.9375rem;text-overflow:ellipsis;cursor:pointer}
.select::after{content:"";position:absolute;right:.875rem;top:50%;width:.4375rem;height:.4375rem;border-right:1.5px solid var(--ink-2);border-bottom:1.5px solid var(--ink-2);transform:translateY(-70%) rotate(45deg);pointer-events:none}
.field-text input{min-height:2.5rem;padding:0 .75rem;background:var(--control);border-color:var(--control);font-size:.9375rem}
.filter-actions{display:flex;align-items:center;gap:1rem;min-height:2.5rem}
.filter-actions button{min-height:2.5rem;width:100%}
.reset{font-size:.9375rem;color:var(--ink-2)}

.count-row{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-top:2rem;padding-bottom:.75rem}
.count{display:flex;gap:.75rem;align-items:baseline;flex-wrap:wrap}
.count strong{font-size:1rem;font-weight:650;font-variant-numeric:tabular-nums}
.count .range{font-size:.875rem;color:var(--ink-3);font-variant-numeric:tabular-nums}
.keys{display:none;font-size:.8125rem;color:var(--ink-3)}
@media (hover:hover) and (pointer:fine) and (min-width:60rem){.keys{display:block}}
.active-filters{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-bottom:1rem}
.active-filters a{display:inline-flex;align-items:center;gap:.25rem;min-height:2rem;padding:.25rem .75rem;border-radius:999px;background:var(--bg-2);color:var(--ink);text-decoration:none;font-size:.875rem;max-width:100%;overflow-wrap:anywhere}
.active-filters a span:first-child{color:var(--ink-3)}
.active-filters .x{color:var(--ink-3);margin-left:.125rem}
.active-filters .clear-selected{background:none;color:var(--acc);text-decoration:underline}

/* The list. Desktop: aligned columns so pay and dates can be compared by eye. */
.colhead,.job-card{display:grid;grid-template-columns:2rem minmax(0,1fr) minmax(10rem,16rem) 10.5rem 4.5rem;column-gap:2rem}
.colhead{padding:0 .75rem .5rem;font-size:.8125rem;font-weight:500;color:var(--ink-3);border-bottom:1px solid var(--line)}
.colhead span:nth-child(n+3){text-align:right}
.rows{margin-inline:-.75rem}
.colhead{margin-inline:-.75rem}
.job-card{position:relative;grid-template-areas:"logo t where pay date" "logo co where pay date" "logo q where pay date";grid-template-rows:auto auto 1fr;align-items:start;padding:1rem .75rem;border-radius:var(--r)}
.job-card+.job-card::before{content:"";position:absolute;inset:0 .75rem auto;border-top:1px solid var(--line);pointer-events:none}
.job-card:hover::before,.job-card:hover+.job-card::before,.job-card:target::before,.job-card:target+.job-card::before,.job-card:focus-within::before,.job-card:focus-within+.job-card::before{border-color:transparent}
.job-card:target,.job-card:focus-within{background:var(--bg-2)}
.job-card{scroll-margin-block:6rem}
.sub,.meta,.nums{display:contents}
.t{grid-area:t;font-size:1.0625rem;line-height:1.35;font-weight:600;letter-spacing:-.008em;text-wrap:pretty;overflow-wrap:anywhere}
.row{color:var(--ink);text-decoration:none;border-radius:.25rem}
.row::after{content:"";position:absolute;inset:0;border-radius:var(--r)}
.row:focus-visible{outline:none}
.job-card:has(.row:focus-visible){outline:2px solid var(--acc);outline-offset:-2px}
.co{display:block;grid-area:co;margin-top:.125rem;font-size:.9375rem;color:var(--ink-2);overflow-wrap:anywhere}
.where{grid-area:where;font-size:.9375rem;line-height:1.45;color:var(--ink-2);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
.row-pay{grid-area:pay;text-align:right;font-size:.9375rem;font-weight:600;font-variant-numeric:tabular-nums;text-wrap:balance;overflow-wrap:anywhere}
.job-card time{grid-area:date;text-align:right;font-size:.875rem;line-height:1.6;color:var(--ink-3);font-variant-numeric:tabular-nums;white-space:nowrap}
.q{grid-area:q;margin-top:.375rem;font-size:.875rem;color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.q b,blockquote b{color:var(--ink);font-weight:650}

@media (max-width:59.99rem){
  .colhead{display:none}
  .job-card{grid-template-columns:2rem minmax(0,1fr) auto;column-gap:.875rem;grid-template-areas:"logo t t" "logo meta date" ". pay pay" ". q q";grid-template-rows:none;padding-block:1.125rem}
  .job-card .logo{margin-right:0}
  .sub{display:contents}
  .meta{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;grid-area:meta;margin-top:.1875rem;font-size:.9375rem;color:var(--ink-2);overflow-wrap:anywhere}
  .meta .co,.meta .where{display:inline;margin:0;font-size:inherit;-webkit-line-clamp:none}
  .meta .where::before{content:" · ";color:var(--ink-3)}
  .row-pay{text-align:left;margin-top:.25rem}
  .row-pay.none{display:none}
  .job-card time{margin-top:.1875rem;line-height:1.6}
  .q{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:.5rem;line-height:1.5}
}

.empty{padding:2.5rem 0;max-width:36rem;border-top:1px solid var(--line)}
.empty h2{font-size:1.25rem;letter-spacing:-.01em}
.empty p{margin-top:.5rem;color:var(--ink-2)}
.pagination{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--line);font-variant-numeric:tabular-nums}
.pagination a{font-weight:600;text-decoration:none;padding:.5rem 0}
.pagination .off{color:var(--ink-3)}
.pagination .of{font-size:.875rem;color:var(--ink-3)}
.list-note{margin-top:2rem;max-width:46rem;font-size:.8125rem;line-height:1.55;color:var(--ink-3)}

/* Landing-page questions */
.discovery-faq{margin-top:3rem;max-width:46rem}
.discovery-faq h2{font-size:1.25rem;letter-spacing:-.012em;margin-bottom:.5rem}
.discovery-faq details{border-bottom:1px solid var(--line)}
.discovery-faq summary,.source-details summary,.browse-evidence summary,.policy-links summary,#measurement-choice summary{cursor:pointer;list-style:none;font-weight:500}
.discovery-faq summary::-webkit-details-marker,.source-details summary::-webkit-details-marker,.browse-evidence summary::-webkit-details-marker,#measurement-choice summary::-webkit-details-marker{display:none}
.discovery-faq summary{display:flex;justify-content:space-between;gap:1rem;padding:.875rem 0}
.discovery-faq summary::after,.source-details summary::after,.browse-evidence summary::after{content:"+";color:var(--ink-3);font-weight:400}
.discovery-faq details[open] summary::after,.source-details[open] summary::after,.browse-evidence[open] summary::after{content:"−"}
.discovery-faq details p{padding-bottom:1rem;color:var(--ink-2);max-width:40rem}
.discovery-faq .note{margin-top:1rem;font-size:.875rem}

/* Email list band */
.signup{border-top:1px solid var(--line);background:var(--bg-2)}
.signup-in{display:grid;grid-template-columns:minmax(0,14rem) minmax(0,34rem);gap:.5rem 3rem;padding-block:2.25rem}
.signup h2{font-size:1rem;font-weight:650;padding-top:.625rem}
.join-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.5rem}
.join-form input[type=email]{background:var(--bg)}
.join-form small{grid-column:1/-1;font-size:.8125rem;line-height:1.5;color:var(--ink-3)}
.join-feedback{grid-column:1/-1;font-size:.875rem;color:var(--ink);overflow-wrap:anywhere}
.join-feedback:empty{display:none}
.form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
@media (max-width:47.99rem){.signup-in{grid-template-columns:1fr}.signup h2{padding:0}}
.join-followup{position:fixed;z-index:40;right:1rem;bottom:calc(1rem + env(safe-area-inset-bottom,0px));width:min(26rem,calc(100vw - 2rem));max-height:calc(100dvh - 2rem);overflow:auto;background:var(--bg);color:var(--ink);border:1px solid var(--line-2);border-radius:.875rem;padding:1.25rem;box-shadow:0 1rem 3rem rgb(0 0 0 / .18);display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;opacity:1;transform:none;transition:opacity 200ms var(--ease-out),transform 200ms var(--ease-out)}
@starting-style{.join-followup{opacity:0;transform:translateY(.5rem)}}
.join-followup h2{width:100%;font-size:1.0625rem}
.join-followup p{width:100%;font-size:.9375rem;color:var(--ink-2)}
.join-followup>a:last-child{width:100%;font-size:.875rem}
.segmentation-form{max-width:36rem;display:grid;gap:1rem;margin-top:1.5rem}
.segmentation-form fieldset{border:1px solid var(--line);border-radius:var(--r);padding:1rem;display:grid;gap:.25rem}
.segmentation-form legend{font-weight:600;padding:0 .25rem}
.segmentation-form fieldset label{display:flex;align-items:center;gap:.625rem;min-height:2.75rem;cursor:pointer}
.segmentation-form input[type=radio],.segmentation-form input[type=checkbox]{width:1.125rem;height:1.125rem;min-height:0;accent-color:var(--acc);flex:none}
.segmentation-actions{display:flex;gap:.5rem;flex-wrap:wrap}

/* Footer */
.foot{border-top:1px solid var(--line);padding-top:2rem;padding-bottom:calc(2rem + env(safe-area-inset-bottom,0px))}
.signup+.foot{border-top:0}
.foot-in{display:grid;gap:1.25rem}
.foot-lede{max-width:40rem;font-size:.875rem;color:var(--ink-3)}
.foot-lede strong{color:var(--ink);font-weight:600}
.rail-links{display:flex;flex-wrap:wrap;gap:.5rem 1.25rem;align-items:baseline}
.rail-links a{font-size:.875rem}
#measurement-choice{order:99;flex-basis:100%;font-size:.875rem;color:var(--ink-2)}
#measurement-choice summary{color:var(--ink-2);font-size:.875rem}
#measurement-choice[open]{display:grid;gap:.5rem;max-width:40rem;padding-top:.25rem}
#measurement-choice .note{font-size:.8125rem;color:var(--ink-3)}
#measurement-choice button{min-height:2.25rem;font-size:.8125rem;justify-self:start}
.foot-tools{display:flex;align-items:center;gap:1rem}
.theme-control{display:inline-flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--ink-2)}
.theme-control select{width:auto;min-height:2.25rem;font-size:.875rem;padding:0 .625rem;background:var(--bg)}
@media (pointer:coarse){.theme-control select,.select select,.field-text input{min-height:2.75rem;font-size:1rem}}
.theme-note{font-size:.8125rem;color:var(--ink-3)}
.theme-status{font-size:.8125rem;color:var(--ink-2)}

/* Job document */
.doc-nav{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-block:.875rem;border-bottom:1px solid var(--line);font-size:.9375rem}
.doc-nav .back{font-weight:500;color:var(--ink)}
.stepper{display:flex;align-items:center;gap:1.25rem;font-variant-numeric:tabular-nums}
.stepper .pos{font-size:.875rem;color:var(--ink-3)}
.job .pane-content{display:grid;grid-template-columns:minmax(0,1fr) 20rem;grid-template-areas:"head side" "body side";column-gap:clamp(2rem,5vw,4.5rem);align-items:start}
.job-head{grid-area:head;padding-top:clamp(1.75rem,4vw,2.75rem)}
.job-head .logo{width:3rem;height:3rem;border-radius:.75rem;margin:0 0 1rem}
.job-head .logo img{padding:.4rem}
.job-head .logo-i{font-size:1.0625rem}
.company a{color:inherit;text-decoration:none}
.company{font-size:1rem;font-weight:500;color:var(--ink-2)}
.job-head h1{margin-top:.25rem;font-size:clamp(1.75rem,1.2rem + 2vw,2.5rem);line-height:1.1;letter-spacing:-.024em;font-weight:700;text-wrap:balance;overflow-wrap:anywhere}
.job-where{margin-top:.625rem;font-size:1.0625rem;color:var(--ink-2);overflow-wrap:anywhere}
.job-side{grid-area:side;position:sticky;top:1.5rem;margin-top:clamp(1.75rem,4vw,2.75rem)}
.primary-apply .button{width:100%;min-height:3rem;font-size:1rem;white-space:normal;text-align:center;padding-block:.5rem}
.primary-apply>*{min-width:0}
.destination{margin-top:.625rem;font-size:.8125rem;line-height:1.5;color:var(--ink-3);overflow-wrap:anywhere}
.destination .host{color:var(--ink-2)}
.facts{display:grid;grid-template-columns:auto;margin-top:1.5rem;border-top:1px solid var(--line)}
dl.facts dt{margin-top:.875rem;font-size:.8125rem;color:var(--ink-3)}
dl.facts dd{margin-top:.125rem;font-size:.9375rem;overflow-wrap:anywhere}
.fine{display:block;margin-top:.25rem;font-size:.8125rem;line-height:1.5;color:var(--ink-3)}
.unknown{color:var(--ink-3)}
.pay-full{font-weight:600}
.job-body{grid-area:body;max-width:44rem}
.block{margin-top:2.5rem}
.block h2{font-size:.9375rem;font-weight:650;letter-spacing:-.005em;margin-bottom:.75rem}
.evidence blockquote{font-size:1.125rem;line-height:1.6;padding-left:1rem;border-left:2px solid var(--go);text-wrap:pretty;overflow-wrap:anywhere}
.evidence .fine{margin-top:.75rem}
.stack{color:var(--ink-2);line-height:1.8}
.stack a{color:var(--ink-2);text-decoration-color:var(--line-2)}
.source p{overflow-wrap:anywhere}
.source-details,.browse-evidence{margin-top:1.25rem;border-top:1px solid var(--line)}
.source-details summary,.browse-evidence summary{display:flex;justify-content:space-between;padding:.75rem 0;font-size:.9375rem;color:var(--ink-2)}
.source-details dl,.browse-evidence dl{display:grid;grid-template-columns:minmax(8rem,12rem) minmax(0,1fr);gap:.375rem 1rem;font-size:.8125rem;padding-bottom:1rem}
.source-details dt,.browse-evidence dt{color:var(--ink-3)}
.source-details dd,.browse-evidence dd{overflow-wrap:anywhere}
.browse-evidence>p{font-size:.8125rem;color:var(--ink-3);margin-bottom:.75rem}
.small{font-size:.8125rem;color:var(--ink-3)}
.review-warning{margin-top:1.25rem;padding:.75rem 1rem;border-radius:var(--r);background:var(--warn-bg);border:1px solid var(--warn-line);color:var(--ink);font-size:.9375rem}
.review-warning a{color:inherit}
.primary-apply .review-warning{margin:0 0 .75rem}

@media (max-width:63.99rem){
  .job .pane-content{grid-template-columns:minmax(0,1fr);grid-template-areas:"head" "side" "body" "lead"}
  .job-side{display:contents}
  .job-side>.facts{grid-area:side}
  .job-lead{grid-area:lead;margin-top:2.5rem}
  .facts{margin-top:0;border-top:0}
  /* Apply stays one tap away: a translucent bar above the home indicator. */
  .primary-apply{position:fixed;z-index:20;left:0;right:0;bottom:0;padding:.75rem max(var(--gutter),env(safe-area-inset-right,0px)) calc(.75rem + env(safe-area-inset-bottom,0px)) max(var(--gutter),env(safe-area-inset-left,0px));background:color-mix(in srgb,var(--bg) 84%,transparent);-webkit-backdrop-filter:blur(16px) saturate(180%);backdrop-filter:blur(16px) saturate(180%);border-top:1px solid var(--line);display:grid;gap:.375rem}
  .destination{margin:0;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .destination .why{display:none}
  .doc{padding-bottom:calc(8rem + env(safe-area-inset-bottom,0px))}
  /* The fixed Apply bar must never cover the footer (theme control, employer link). */
  body.job-page .foot{padding-bottom:calc(8rem + env(safe-area-inset-bottom,0px))}
  .stepper .pos{display:none}
  .source-details dl,.browse-evidence dl{grid-template-columns:1fr;gap:0}
  .source-details dd,.browse-evidence dd{margin-bottom:.5rem}
}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.primary-apply{background:var(--bg)}}
@media (prefers-reduced-transparency:reduce){.primary-apply{background:var(--bg)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}}

/* Documents (sources, policies, contact, messages) */
.prose{padding-top:clamp(2rem,5vw,3rem)}
.policy-document,.msg{max-width:42rem}
.policy-document h1{font-size:clamp(1.75rem,1.2rem + 2vw,2.5rem);line-height:1.1;letter-spacing:-.024em;font-weight:700}
.policy-document h2{font-size:1.25rem;letter-spacing:-.012em;margin-top:2.25rem}
.policy-document h3{font-size:1.0625rem;margin-top:1.5rem}
.policy-document p,.policy-document li,.msg p{margin-top:.875rem;font-size:1.0625rem;line-height:1.65;color:var(--ink-2)}
.policy-document .note{font-size:.9375rem;color:var(--ink-3)}
.msg{padding-top:clamp(2rem,6vw,3.75rem)}
.contact-form{display:grid;gap:1rem;margin-top:1.5rem}
.contact-form label{display:grid;gap:.375rem;font-weight:500;font-size:.9375rem}
.contact-form button{justify-self:start}

@media (max-width:47.99rem){
  .mast{gap:1rem}
  .mast-nav{gap:1rem}
  .filter-disclosure>summary{display:inline-flex;align-items:center;gap:.5rem;min-height:2.75rem;padding:0 1rem;border:1px solid var(--line-2);border-radius:var(--r);font-weight:600;font-size:.9375rem;cursor:pointer;list-style:none;user-select:none;-webkit-user-select:none}
  .filter-disclosure>summary::-webkit-details-marker{display:none}
  .filter-disclosure>summary .n{display:inline-grid;place-items:center;min-width:1.375rem;height:1.375rem;padding:0 .375rem;border-radius:999px;background:var(--ink);color:var(--bg);font-size:.75rem;font-variant-numeric:tabular-nums}
  .filter-disclosure[open]>summary{margin-bottom:1rem}
  .fold .filter-disclosure>:not(summary){display:none}
  .fold .filter-disclosure[open]>summary{margin-bottom:0}
  .filters{grid-template-columns:repeat(2,minmax(0,1fr))}
  .filters .field-text,.filter-actions{grid-column:1/-1}
  .select select,.field-text input{min-height:2.75rem;font-size:1rem}
  .count-row{margin-top:1.5rem}
  .pagination{font-size:.9375rem}
}
@media (max-width:22rem){.filters{grid-template-columns:1fr}.search button{padding:0 .875rem}}

/* ---------- Logos: fixed square tiles. Logos sit on a light neutral tile in both themes
 * (many are dark marks on transparent) and are never inverted. No logo: an initial tile. */
.logo{grid-area:logo;flex:none;display:grid;place-items:center;width:2rem;height:2rem;margin-right:-.75rem;margin-top:.0625rem;border-radius:.5rem;overflow:hidden;background:#f4f6f8;box-shadow:inset 0 0 0 1px rgb(14 17 20 / .07)}
.logo img{width:100%;height:100%;object-fit:contain;padding:.25rem}
.logo-i{background:var(--bg-3);box-shadow:none;color:var(--ink-2);font-weight:650;font-size:.8125rem;line-height:1;letter-spacing:.01em;user-select:none;-webkit-user-select:none}
:root[data-theme=dark] .logo:not(.logo-i){background:#e9edf1}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .logo:not(.logo-i){background:#e9edf1}}

/* Breadcrumbs */
.crumbs{padding-top:1.25rem;font-size:.875rem;color:var(--ink-3);min-width:0}
.crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.25rem .5rem;min-width:0}
.crumbs li{display:flex;gap:.5rem;min-width:0;max-width:100%}
.crumbs li+li::before{content:"/";color:var(--line-2)}
.crumbs a{color:var(--ink-2);text-decoration:none;overflow-wrap:anywhere}
.crumbs [aria-current]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.crumbs+.hero{padding-top:clamp(1.25rem,4vw,2.25rem)}
.job-head .crumbs{padding:0}
.job-crumbs{font-size:1rem}
.job-crumbs li:first-child a{color:var(--ink-3);font-weight:400}
.job-crumbs li+li::before{color:var(--ink-3)}

/* Answer-first summary */
.answer{margin-top:1rem;max-width:40rem;font-size:1.125rem;line-height:1.5;font-weight:500;color:var(--ink);text-wrap:pretty;font-variant-numeric:tabular-nums}
.answer+.lede{margin-top:.5rem;font-size:1rem}

/* Lead capture: one quiet inline field per page, never a pop-up */
.lead{container-type:inline-size;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,25rem);gap:.25rem 2rem;align-items:center;padding:1rem 1.25rem;border-radius:var(--r);background:var(--bg-2)}
.lead-copy{min-width:0}
.lead-title{font-weight:650;font-size:.9375rem;letter-spacing:-.005em}
.lead-seg{margin-top:.125rem;font-size:.875rem;color:var(--ink-2);overflow-wrap:anywhere}
.lead-row{display:flex;flex-wrap:wrap;gap:.5rem;min-width:0}
.lead-row input{flex:1 1 9rem;min-width:0;background:var(--bg)}
.lead-row button{flex:none;max-width:100%;white-space:normal;text-align:center}
@container (max-width:24rem){.lead-row button{flex:1 1 100%}}
.lead-fine{grid-column:1/-1;margin-top:.375rem;font-size:.8125rem;line-height:1.5;color:var(--ink-3)}
.lead-fine a{color:inherit}
.lead-feedback{grid-column:1/-1;font-size:.875rem;color:var(--ink);overflow-wrap:anywhere}
.lead-feedback:empty{display:none}
.lead-done{grid-column:1/-1;display:grid;gap:.25rem;font-size:.9375rem;color:var(--ink-2);opacity:1;transition:opacity 200ms var(--ease-out)}
@starting-style{.lead-done{opacity:0}}
.lead-done h2{color:var(--ink);font-size:.9375rem;font-weight:650}
.lead-done:focus{outline:none}
button.link{min-height:0;padding:0;border:0;background:none;color:var(--acc);font-weight:400;font-size:inherit;text-decoration:underline;text-underline-offset:.2em}
button.link:active{transform:none}
.results>.lead{margin-top:1.75rem}
.notify-band{background:var(--bg-2);border-bottom:1px solid var(--line);padding-inline:max(var(--edge),env(safe-area-inset-left,0px)) max(var(--edge),env(safe-area-inset-right,0px))}
.notify-band .lead{padding:.875rem 0;border-radius:0;background:none}
.job-lead{margin-top:1.75rem}
.job-lead .lead{grid-template-columns:minmax(0,1fr);padding:1rem}
@media (max-width:47.99rem){.lead{grid-template-columns:minmax(0,1fr);padding:1rem}.notify-band .lead{padding:1rem 0}}
@media (max-height:46rem){.job-side{position:static}}

/* Related views and company pages */
.more ul{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}
.more a{color:var(--ink);text-decoration-color:var(--line-2)}
.related{margin-top:3.5rem;padding-top:2rem;border-top:1px solid var(--line)}
.related h2{font-size:1.25rem;letter-spacing:-.012em}
.rel-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,13rem),1fr));gap:1.75rem 2.5rem;margin-top:1.25rem}
.related h3{font-size:.8125rem;font-weight:600;color:var(--ink-3);margin:0 0 .5rem}
.related ul{list-style:none;margin:0;padding:0;display:grid;gap:.25rem}
.related li{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;font-size:.9375rem;min-width:0}
.related li a{color:var(--ink);text-decoration:none;padding-block:.125rem;overflow-wrap:anywhere;min-width:0}
.related .n{flex:none;font-size:.8125rem;color:var(--ink-3);font-variant-numeric:tabular-nums}
@media (pointer:coarse){.related li a,.more a{padding-block:.375rem;display:inline-block}}
.co-hero{display:flex;flex-wrap:wrap;gap:1rem 1.25rem;align-items:flex-start}
.co-hero>div{min-width:0;flex:1 1 16rem}
.co-hero .logo{width:3.5rem;height:3.5rem;border-radius:.875rem;margin:.25rem 0 0}
.co-hero .logo img{padding:.45rem}
.co-hero .logo-i{font-size:1.125rem}
.co-hero h1{overflow-wrap:anywhere}
.company-page .results{margin-top:.5rem}
.co-links{margin-top:2rem;font-size:.9375rem}
.hire{margin-top:.75rem;font-size:.9375rem}
.hire-link,.foot-hire a{color:var(--ink-2)}
.foot-hire{font-size:.875rem}
.co-grid{list-style:none;margin:2rem -.75rem 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,16rem),1fr));gap:.25rem 1rem}
.co-card{display:grid;grid-template-columns:2.5rem minmax(0,1fr);grid-template-areas:"logo name" "logo n";column-gap:.875rem;align-items:center;padding:.75rem;border-radius:var(--r);color:var(--ink);text-decoration:none}
.co-card .logo{width:2.5rem;height:2.5rem;margin:0;border-radius:.625rem}
.co-name{grid-area:name;font-weight:600;overflow-wrap:anywhere;line-height:1.3}
.co-n{grid-area:n;font-size:.875rem;color:var(--ink-3);font-variant-numeric:tabular-nums}
.companies-page .list-note{margin-top:2rem}

/* Landing-page questions, shown open */
.discovery-faq .qa{padding:1rem 0;border-bottom:1px solid var(--line)}
.discovery-faq .qa h3{font-size:1rem;font-weight:600;letter-spacing:-.005em;text-wrap:pretty}
.discovery-faq .qa p{margin-top:.375rem;color:var(--ink-2);max-width:40rem;text-wrap:pretty}

/* Employer inquiry */
.hire-form{gap:.375rem;max-width:32rem;grid-template-columns:minmax(0,1fr)}
.hire-form select{min-width:0;max-width:100%;text-overflow:ellipsis}
.hire-form button{white-space:normal;max-width:100%;text-align:center}
.hire-form input,.hire-form select{margin-bottom:.75rem}
.hire-form label{display:block;font-weight:500;font-size:.9375rem}
.optional{color:var(--ink-3);font-weight:400}
.hire-form .note{margin:0 0 .75rem}

@media (prefers-reduced-motion:reduce){
  button,.button{transition:none}
  button:active,.button:active{transform:none}
  .join-followup{transition:opacity 200ms ease;transform:none}
  @starting-style{.join-followup{opacity:0;transform:none}}
}
@media (forced-colors:active){
  .button{border:1px solid ButtonText}
  .job-card:has(.row:focus-visible){outline-color:Highlight}
  .select::after{border-color:ButtonText}
}
@media print{.mast,.notify-band,.lead,.related,.foot,.doc-nav,.results-head{display:none}.primary-apply{position:static}}
