/* Ordered page styles. Generated from versioned source files. */
/* privacy.css */
.jb-privacy-banner,.jb-privacy-dialog{--pc-bg:#fff;--pc-text:#17233b;--pc-muted:#526079;--pc-line:#dbe2ed;--pc-soft:#f4f7fc;color:var(--pc-text);background:var(--pc-bg);font-family:inherit;line-height:1.55}
[data-theme=dark] .jb-privacy-banner,[data-theme=dark] .jb-privacy-dialog{--pc-bg:#141c29;--pc-text:#eef3ff;--pc-muted:#b5c3d9;--pc-line:#39475c;--pc-soft:#202d40}
.jb-privacy-banner{position:fixed;z-index:9999;bottom:16px;left:50%;transform:translateX(-50%);width:min(1040px,calc(100% - 32px));padding:22px 26px;border:1px solid var(--pc-line);border-radius:18px;box-shadow:0 12px 50px #071e4633;max-height:55dvh;overflow:auto}.jb-privacy-banner strong{font-size:1.1rem}.jb-privacy-banner p{font-size:.88rem;color:var(--pc-muted);margin:8px 0 16px}.jb-privacy-actions{display:flex;flex-wrap:wrap;gap:10px}.jb-privacy-actions button,.jb-privacy-optout button{border:1px solid #617aab;border-radius:9px;background:var(--pc-bg);color:var(--pc-text);padding:11px 15px;font-family:inherit;font-size:.82rem;font-weight:600;line-height:1.35;min-height:44px;cursor:pointer;flex:1}.jb-privacy-actions button:hover,.jb-privacy-optout button:hover{background:var(--pc-soft);border-color:#00c}.jb-privacy-actions button:focus-visible,.jb-privacy-dialog a:focus-visible,.jb-privacy-dialog summary:focus-visible{outline:3px solid #6d87ff;outline-offset:3px}.jb-privacy-actions button:disabled{opacity:.6;cursor:wait}.jb-privacy-dialog{border:1px solid var(--pc-line);padding:0;border-radius:20px;width:min(720px,calc(100% - 24px));max-height:90dvh;box-shadow:0 20px 80px #0005}.jb-privacy-dialog::backdrop{background:#07132980}.jb-privacy-dialog>header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-bottom:1px solid var(--pc-line);background:var(--pc-soft);font-size:.85rem;font-weight:700}.jb-privacy-dialog>header button{width:44px;height:44px;border:0;background:none;color:var(--pc-text);font-size:1.8rem;cursor:pointer}.jb-privacy-body{padding:22px 26px}.jb-privacy-body h2{font-size:1.65rem;margin:0 0 10px;line-height:1.2}.jb-privacy-body>p{font-size:.92rem;color:var(--pc-muted)}.jb-privacy-category{display:flex;align-items:flex-start;gap:22px;padding:20px 0;border-bottom:1px solid var(--pc-line)}.jb-privacy-category>div{flex:1}.jb-privacy-category h3{font-size:.98rem;margin:0 0 7px}.jb-privacy-category p{font-size:.83rem;color:var(--pc-muted);margin:0}.jb-privacy-category input[role=switch]{appearance:none;flex:0 0 48px;width:48px;height:28px;border:2px solid #78869b;border-radius:20px;background:#dae1ec;position:relative;cursor:pointer;margin:2px 0}.jb-privacy-category input[role=switch]::after{content:'';position:absolute;left:3px;top:3px;width:18px;height:18px;border-radius:50%;background:#526079;transition:left .15s}.jb-privacy-category input[role=switch]:checked{background:#00c;border-color:#00c}.jb-privacy-category input[role=switch]:checked::after{left:23px;background:white}.jb-privacy-category input[role=switch]:focus-visible{outline:3px solid #6d87ff;outline-offset:3px}.jb-privacy-category input:disabled{opacity:.5;cursor:not-allowed}.jb-privacy-badge{background:var(--pc-soft);color:var(--pc-muted);border-radius:20px;padding:5px 10px;font-size:.7rem;font-weight:600;white-space:nowrap}.jb-privacy-optout{padding:18px 0}.jb-privacy-optout summary{font-weight:600;font-size:.9rem;cursor:pointer}.jb-privacy-optout p{font-size:.85rem;color:var(--pc-muted)}.jb-privacy-optout button{margin-top:8px}.jb-privacy-links{display:flex;flex-wrap:wrap;gap:10px 18px;font-size:.8rem}.jb-privacy-dialog a,.jb-privacy-banner a{color:#124bd0;text-decoration:underline}[data-theme=dark] .jb-privacy-dialog a,[data-theme=dark] .jb-privacy-banner a{color:#a8c1ff}.jb-privacy-body .jb-privacy-muted{font-size:.76rem}.jb-privacy-dialog>footer{position:sticky;bottom:0;background:var(--pc-bg);border-top:1px solid var(--pc-line);padding:16px 24px}.jb-privacy-signal{background:var(--pc-soft);padding:12px;border-left:3px solid #00c;border-radius:5px}.jb-privacy-signal[hidden]{display:none}.jb-privacy-request-box{border:1px solid #dbe2ed;border-radius:12px;padding:18px;margin-bottom:20px}.jb-privacy-request-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:16px 0}.jb-privacy-request-fields label{display:grid;gap:6px;font-size:.9rem}.jb-privacy-request-fields select,.jb-privacy-request-fields input{width:100%;min-height:44px}.jb-privacy-nojs{font-size:.85rem}.jb-collection-notice{font-size:.82rem;margin:16px 0;padding:14px;border-left:3px solid #b5c5df;background:#f4f7fc;color:#26354a}.jb-collection-notice p{margin:5px 0}.jb-collection-notice a{color:inherit;text-decoration:underline}@media(max-width:600px){.jb-privacy-banner{bottom:8px;width:calc(100% - 16px);padding:16px;border-radius:12px;max-height:55dvh}.jb-privacy-actions{display:grid;grid-template-columns:1fr 1fr}.jb-privacy-actions button:last-child{grid-column:1/-1}.jb-privacy-body{padding:18px}.jb-privacy-dialog>header,.jb-privacy-dialog>footer{padding:12px 18px}.jb-privacy-category{gap:12px}.jb-privacy-category .jb-privacy-badge{white-space:normal;max-width:85px;text-align:center}.jb-privacy-request-fields{grid-template-columns:1fr}}
.jb-privacy-request-fields[hidden]{display:none}.jb-privacy-request-fields{border:1px solid #dbe2ed;border-radius:10px;padding:16px}.jb-privacy-request-fields p{grid-column:1/-1;font-size:.8rem}.jb-privacy-request-fields legend{font-weight:600;font-size:.9rem}

.jb-privacy-native{margin-top:20px}.jb-privacy-native summary{cursor:pointer;font-weight:600}.jb-privacy-native-form{padding-top:16px}.jb-privacy-native-form label{display:flex;gap:10px;align-items:center}.jb-privacy-native-form input{width:20px;height:20px}.jb-collection-notice{font-size:.85rem;line-height:1.6;padding:14px;border-left:3px solid #308869;background:#f0f7f4;border-radius:5px;color:#254a3a}.jb-collection-notice a{color:inherit;text-decoration:underline}.page-content table{overflow-wrap:anywhere}[data-theme=dark] .jb-collection-notice{background:#153b31;color:#dbf3e7}

/* Privacy choices introductory panel */
.jb-privacy-choice-hero{padding:24px 26px;background:#f7f9fd;border:1px solid #dce5f3;border-radius:16px}
.jb-privacy-choice-hero h2{margin:0 0 8px;font-size:clamp(1.35rem,2.3vw,1.8rem);line-height:1.25;letter-spacing:-.02em}
.jb-privacy-choice-hero p{margin:0;max-width:68ch;line-height:1.6;color:#526683}
.jb-privacy-choice-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px 20px;margin-top:20px}
.jb-privacy-choice-actions .button{margin:0;min-height:48px}
.jb-privacy-choice-rights{display:inline-flex;align-items:center;gap:6px;min-height:44px;color:#0000cc;font-size:.9rem;font-weight:600;text-decoration:none}
.jb-privacy-choice-rights:hover{text-decoration:underline}
.jb-privacy-choice-actions a:focus-visible,.jb-privacy-choice-actions button:focus-visible{outline:3px solid #6d87ff;outline-offset:3px}
@media(max-width:600px){.jb-privacy-choice-hero{padding:20px}.jb-privacy-choice-actions{align-items:stretch;flex-direction:column;gap:4px}.jb-privacy-choice-actions .button{width:100%;justify-content:center}.jb-privacy-choice-rights{justify-content:center}}

.jb-privacy-brand{display:inline-flex;align-items:center;gap:14px;min-width:0}
.jb-privacy-brand img{display:block;width:99px;height:auto;max-width:32vw;flex:none}
.jb-privacy-brand .jb-privacy-logo-dark{display:none}
[data-theme=dark] .jb-privacy-brand .jb-privacy-logo-light{display:none}
[data-theme=dark] .jb-privacy-brand .jb-privacy-logo-dark{display:block}
@media(max-width:480px){.jb-privacy-brand{gap:10px}.jb-privacy-brand img{width:83.6px}}

.jb-privacy-dialog>footer button[data-consent-action="accept"],.jb-privacy-dialog>footer button[data-consent-action="preferences"]{background:#0000cc;border-color:#0000cc;color:#fff}
.jb-privacy-dialog>footer button[data-consent-action="accept"]:hover,.jb-privacy-dialog>footer button[data-consent-action="preferences"]:hover{background:#0000a8;border-color:#0000a8;color:#fff}

.institutional-page .policy-main{min-width:0;width:100%}
.institutional-page .policy-main>.jb-privacy-choice-hero{margin-bottom:20px}

/* i18n.css */
.language-form select{width:auto;max-width:80px;min-width:64px;width:4.5rem;font-size:12px}
.language-form{display:inline-flex;align-items:center;margin:0}
.topbar .account{flex-wrap:wrap;gap:10px}
.topbar .language-form select{min-height:34px;max-width:80px}
.translation-note{font-size:.875rem;color:var(--muted,#596273)}
@media(max-width:600px){.language-form select{min-width:0;max-width:72px;font-size:11px}.header-tools{gap:6px}.topbar .language-form select{max-width:72px}}

/* site.css */
/* Jobbol USA public design system. Shared by discovery, job details and candidate tools. */
:root{color-scheme:light;--blue:#0000cc;--pink:#cd29c0;--link:#0000bb;--link-hover:#aa209f;--ink:#202532;--text:var(--ink);--muted:#606878;--paper:#fff;--card:var(--paper);--canvas:#f8f9fc;--surface:#f0f2f7;--elevated:#fff;--line:#dfe3eb;--strong-line:#a4acba;--control-border:#858fa5;--control-hover:#667393;--focus:#0000cc;--focus-ring:rgb(0 0 204 / 13%);--accent-line:#0000cc;--action:#0000cc;--action-hover:#1010aa;--accent-action:#cc28bf;--accent-hover:#b921ad;--tint:#efefff;--heart:#b91f42;--success:#146646;--success-bg:#eaf5ef;--warning:#835000;--warning-bg:#fff4dc;--error:#a21d3a;--error-bg:#fff0f3;--disabled:#f0f2f7;--overlay:rgb(11 16 26 / 65%);--tooltip-bg:#202532;--tooltip-text:#fff;--shadow-sm:0 2px 8px rgb(23 35 65 / 5%),0 1px 2px rgb(23 35 65 / 3%);--shadow-md:0 5px 18px rgb(23 35 65 / 8%);--shadow-lg:0 20px 55px rgb(23 35 65 / 16%);--radius:12px;--radius-sm:7px;--wrap:1200px;--header-height:80px;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif}
[data-theme=dark]{color-scheme:dark;--link:#b7c4ff;--link-hover:#f4a9e9;--ink:#e8edf4;--muted:#aeb9c8;--paper:#181e27;--canvas:#101418;--surface:#232b37;--elevated:#202833;--line:#354151;--strong-line:#76859a;--control-border:#76859a;--control-hover:#b1bfd5;--focus:#b7c4ff;--focus-ring:rgb(183 196 255 / 16%);--accent-line:#96a7ff;--tint:#252e48;--heart:#ff9bb4;--success:#93d9b5;--success-bg:#193a2d;--warning:#efd294;--warning-bg:#3a3020;--error:#ffb7c5;--error-bg:#412633;--disabled:#252d38;--overlay:rgb(4 8 14 / 76%);--tooltip-bg:#2d3848;--tooltip-text:#f0f4fb;--shadow-sm:0 2px 8px rgb(0 0 0 / 12%);--shadow-md:0 5px 18px rgb(0 0 0 / 18%);--shadow-lg:0 20px 55px rgb(0 0 0 / 30%)}

*{box-sizing:border-box}html{scroll-padding-top:104px;scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}a{color:var(--link);text-decoration:none;text-underline-offset:4px}a:hover{text-decoration:underline}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}button:active:not(:disabled),.button:active{transform:translateY(1px)}:focus-visible{outline:3px solid var(--link);outline-offset:3px}::selection{background:#cd29c033;color:var(--ink)}[hidden]{display:none!important}img{max-width:100%;height:auto}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{line-height:1.22;font-weight:650;letter-spacing:-.025em}h1{font-size:clamp(30px,3.8vw,46px)}h2{font-size:clamp(24px,2.6vw,32px)}h3{font-size:20px}h4{font-size:16px}p{color:var(--muted)}small,.small{font-size:13px;line-height:1.65;color:var(--muted)}hr{border:0;border-top:1px solid var(--line);margin:28px 0}.wrap{width:min(var(--wrap),calc(100% - 64px));margin-inline:auto}.section{padding-block:64px}.section-soft{background:var(--canvas);border-block:1px solid var(--line)}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:28px}.section-heading p{margin-top:10px;max-width:630px}.eyebrow{display:block;color:var(--muted);font-size:12px;line-height:1.5;letter-spacing:.09em;text-transform:uppercase;font-weight:700;margin-bottom:12px}.count-label{display:inline-block;font-size:14px;color:var(--muted);margin-top:18px}.icon{width:22px;height:22px;display:block;flex:none}.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:fixed;top:8px;left:16px;z-index:100;background:var(--paper);padding:12px 20px;border:2px solid var(--blue);transform:translateY(-150%)}.skip-link:focus{transform:none}#main{min-height:50vh;outline:none}.button{display:inline-flex;justify-content:center;align-items:center;gap:9px;min-height:46px;border:1px solid var(--action);border-radius:var(--radius-sm);padding:11px 20px;background:var(--action);color:#fff;font-size:14px;line-height:1.5;font-weight:650;text-align:center;white-space:normal;text-decoration:none;transition:background .15s,box-shadow .15s,border-color .15s;cursor:pointer}.button:hover{background:var(--action-hover);border-color:var(--action-hover);text-decoration:none;box-shadow:var(--shadow-sm)}.button.secondary{background:var(--paper);color:var(--ink);border-color:var(--line)}.button.secondary:hover{border-color:var(--strong-line);background:var(--surface)}.button-small{min-height:40px;padding:9px 14px;font-size:13px}.button.full{width:100%}.button.danger{background:#a21d3a;border-color:#a21d3a;color:white}.button-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.text-button,.text-link{border:0;background:none;padding:0;color:var(--link);font-weight:600;font-size:14px;line-height:1.6}.text-button{min-height:44px;display:inline-flex;gap:8px;align-items:center;justify-content:flex-start;text-align:left}.text-button:hover,.text-link:hover{text-decoration:underline}.icon-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:44px;min-height:44px;border:0;background:transparent;border-radius:7px;color:var(--muted);padding:9px}.icon-button:hover{background:var(--surface);color:var(--ink)}.site-header{position:sticky;top:0;z-index:40;height:var(--header-height);background:var(--paper);border-bottom:1px solid var(--line);box-shadow:var(--shadow-sm)}.header-inner{width:min(1400px,calc(100% - 64px));height:100%;margin:auto;display:flex;align-items:center;gap:28px}.brand{flex:none;display:block;order:0;line-height:1}.brand img{object-fit:contain;width:132px;height:41px}.logo-dark{display:none}[data-theme=dark] .logo-light{display:none}[data-theme=dark] .logo-dark{display:block}.primary-nav{display:flex;align-items:center;gap:25px;flex:none}.primary-nav a{color:var(--muted);font-size:14px;font-weight:550;white-space:nowrap}.primary-nav .word-nav{color:var(--ink);font-weight:700}.primary-nav a:hover{color:var(--link)}.header-tools{display:flex;align-items:center;gap:8px;margin-left:auto}.location-name{max-width:115px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;font-size:13px}.language{display:grid;place-items:center;min-width:38px;min-height:44px;font-size:12px;font-weight:700;color:var(--muted);border-radius:7px}.language:hover{background:var(--surface);text-decoration:none}.header-separator{height:22px;width:1px;background:var(--line);margin:0 8px}.signin{padding:10px 8px;font-size:14px;font-weight:600;white-space:nowrap}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,1fr);column-gap:100px;row-gap:32px;padding-top:64px;padding-bottom:36px}.hero-copy{padding:12px 0}.hero h1{font-size:clamp(38px,4.6vw,60px);line-height:1.08;letter-spacing:-.045em;max-width:690px}.hero h1 span{color:var(--blue)}[data-theme=dark] .hero h1 span{color:var(--link)}.hero-copy p{max-width:520px;font-size:17px;margin-top:22px;line-height:1.75}.hero .eyebrow{color:var(--ink);margin-bottom:20px}.search-companion{border-left:1px solid var(--line);padding:10px 0 6px 35px;align-self:center}.search-companion h2{font-size:21px;margin-bottom:18px}.search-companion>a{display:flex;gap:14px;align-items:center;color:var(--ink);padding:10px 0;text-decoration:none}.search-companion>a:hover strong{color:var(--link);text-decoration:underline}.search-companion strong{display:block;font-size:14px;font-weight:600}.search-companion small{display:block;margin-top:2px;font-size:12px}.companion-symbol{color:var(--muted);padding:10px;background:var(--canvas);border-radius:8px}.companion-symbol .icon{width:20px;height:20px}.hero-search{grid-column:1/-1}.search-assurance{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:16px;font-size:12px}.search-assurance .icon{width:16px;height:16px;color:var(--success)}.search-form{--search-inset:20px;position:relative;z-index:5;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);box-shadow:var(--shadow-md);padding:18px var(--search-inset) 0}.search-main{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:end;gap:14px}.field{min-width:0}.field label{display:block;font-size:12px;font-weight:700;color:var(--ink);margin-bottom:7px}.input-wrap{position:relative;display:flex;align-items:center}.input-wrap>.icon{position:absolute;left:12px;width:19px;height:19px;color:var(--muted);pointer-events:none}.input-wrap input{padding-left:40px}input:not([type=checkbox]):not([type=range]):not([type=radio]):not([type=hidden]),select,textarea{width:100%;min-height:46px;padding:11px 12px;border:1px solid var(--strong-line);border-radius:var(--radius-sm);background:var(--paper);color:var(--ink);font-size:14px;line-height:1.5}input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}.input-wrap input:not([type=hidden]){padding-left:40px}select{padding-right:26px}textarea{resize:vertical}input[type=checkbox]{accent-color:var(--blue);width:17px;height:17px;flex:none}input[type=range]{accent-color:var(--blue);width:100%;min-height:24px}.search-submit{padding-inline:24px;white-space:nowrap}.autocomplete{position:relative}.suggestions{position:absolute;top:100%;left:0;right:0;margin:6px 0 0;padding:6px;list-style:none;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);z-index:30;max-height:300px;overflow-y:auto;text-align:left}.suggestions li{padding:10px 12px;border-radius:5px;font-size:14px;cursor:pointer;line-height:1.45}.suggestions li small{display:block;margin-top:3px}.suggestions li:hover,.suggestions li[aria-selected=true]{background:var(--tint);color:var(--link)}.advanced{margin-top:5px}.advanced summary{list-style:none;display:flex;align-items:center;gap:7px;width:fit-content;min-height:43px;font-size:12px;font-weight:600;cursor:pointer;color:var(--muted)}.advanced summary::-webkit-details-marker{display:none}.advanced summary .icon{width:15px;height:15px;transition:transform .15s}.advanced[open] summary .icon{transform:rotate(180deg)}.advanced-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 20px;padding:16px var(--search-inset) 22px;margin-inline:calc(-1 * var(--search-inset));background:#f8f9fc;border-top:1px solid var(--line);border-radius:0 0 calc(var(--radius) - 1px) calc(var(--radius) - 1px)}.advanced:not([open])>.advanced-grid{display:none}[data-theme=dark] .advanced-grid{background:var(--canvas)}.advanced-grid label{font-size:12px;font-weight:600;display:grid;gap:8px;align-content:start}.radius-label output{font-weight:400;color:var(--muted)}.numbers{display:flex;align-items:center;gap:50px;padding:26px 0 38px}.numbers>div{display:flex;align-items:baseline;gap:9px}.numbers strong{font-size:24px;letter-spacing:-.04em;font-weight:650}.numbers span{font-size:12px;color:var(--muted)}.numbers>.text-button{margin-left:auto;font-size:12px}.featured-jobs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:stretch}.job-card{display:flex;flex-direction:column;position:relative;min-width:0;padding:24px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);transition:border-color .15s,box-shadow .15s}.job-card:hover,.job-card:focus-within{border-color:var(--accent-line);box-shadow:var(--shadow-md)}.job-card-top{display:flex;align-items:flex-start;gap:12px;margin-bottom:18px}.job-company{display:flex;align-items:center;gap:11px;min-width:0;flex:1}.company-avatar{width:44px;height:44px;object-fit:contain;flex:none}.company-name{font-size:13px;font-weight:550;color:var(--muted);line-height:1.5;overflow-wrap:anywhere}.company-name a{color:inherit}.job-card h3{font-size:20px;line-height:1.35;letter-spacing:-.025em;overflow-wrap:anywhere;margin-bottom:12px}.job-card h3 a{color:var(--ink)}.job-card h3 a:hover{color:var(--link)}.job-place{display:flex;align-items:flex-start;gap:6px;font-size:13px;color:var(--muted);margin-top:8px}.job-place .icon{width:16px;height:18px;margin-top:1px}.job-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px}.job-tags:empty{display:none}.job-tags span{padding:4px 8px;font-size:11px;line-height:1.4;font-weight:550;background:var(--surface);border-radius:4px;color:var(--muted)}.job-salary{font-size:14px;color:var(--ink);font-weight:650;margin-top:16px}.job-intro{font-size:13px;line-height:1.65;padding-top:16px;margin-top:auto;max-width:42ch}.job-card-actions{display:flex;align-items:center;gap:16px;margin-top:20px}.job-card-actions .text-button{font-size:12px}.job-actions{display:flex;align-items:center;gap:2px;flex:none;margin:-7px -8px -4px 0;position:relative}.save-job,.application-indicator{width:44px;height:44px;border:0;border-radius:50%;background:transparent;display:grid;place-items:center;color:var(--muted);padding:10px;flex:none;transition:background .15s,color .15s}.save-job .icon{width:21px;height:21px}.save-job:hover{background:var(--surface);color:var(--heart)}.save-job[aria-pressed=true]{color:var(--heart)}.save-job[aria-pressed=true] .icon{fill:currentColor}.application-mark{position:relative;display:flex}.application-indicator{color:var(--success)}.application-indicator:hover,.application-indicator[aria-expanded=true]{background:var(--success-bg)}.application-indicator.is-contact{color:var(--muted)}.application-indicator.is-contact:hover{background:var(--surface)}.application-indicator .icon{width:20px;height:20px}.activity-tooltip{position:absolute;right:-35px;top:calc(100% + 5px);z-index:25;width:260px;max-width:calc(100vw - 60px);background:var(--ink);color:var(--paper);box-shadow:var(--shadow-lg);padding:13px 15px;border-radius:8px;font-size:12px;font-weight:400;line-height:1.6;text-align:left}.inline-preview{margin-top:20px;padding-top:20px;border-top:1px solid var(--line)}.inline-preview .job-description{font-size:13px;max-height:310px;overflow:auto;padding-right:5px;margin-bottom:18px}.inline-preview>.button{font-size:12px;min-height:40px}.category-group-title{font-size:14px;letter-spacing:0;margin:30px 0 14px;color:var(--muted)}.category-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.category-card{display:flex;flex-direction:column;gap:7px;padding:17px 18px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink);transition:background .15s,border-color .15s}.category-card:hover{background:var(--canvas);border-color:var(--strong-line);text-decoration:none}.category-card:hover h4{color:var(--link);text-decoration:underline}.category-card h4{font-size:14px;font-weight:550;line-height:1.5;letter-spacing:0}.category-card span{font-size:12px;color:var(--muted);margin-top:auto}.location-pill{display:inline-flex;align-items:center;gap:8px;max-width:100%;min-height:44px;border:1px solid var(--line);padding:9px 13px;background:var(--paper);color:var(--ink);font-size:12px;border-radius:7px}.location-pill .icon{width:16px;height:16px}.discover-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:100px;align-items:center}.discover-grid p{margin-top:15px;max-width:420px;font-size:15px}.discover-links{display:grid;border-top:1px solid var(--line)}.discover-links a{padding:19px 0;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:4px;color:var(--ink)}.discover-links a strong{font-size:17px;font-weight:600}.discover-links a span{color:var(--muted);font-size:13px}.confidence{display:grid;grid-template-columns:1fr 1.15fr;gap:100px}.confidence-heading p{margin:16px 0 22px;max-width:400px;font-size:15px}.confidence-points{display:grid;gap:22px}.confidence-points h3{font-size:16px;letter-spacing:0;margin-bottom:6px}.confidence-points p{font-size:13px}.confidence-points a{font-size:13px}.search-page-head{padding:28px 0 32px;background:var(--canvas);border-bottom:1px solid var(--line)}.search-page-head h1{font-size:clamp(26px,3vw,36px);margin:14px 0 22px}.search-page-head .search-form{box-shadow:var(--shadow-sm)}.breadcrumbs{display:flex;flex-wrap:wrap;gap:8px;font-size:12px;color:var(--muted);line-height:1.8;margin-bottom:20px}.breadcrumbs a{color:var(--muted)}.browse-sub{font-size:13px;margin:-10px 0 20px}.results-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:36px;padding-block:32px 64px}.results-aside{align-self:start}.results-aside h2{font-size:19px;margin-bottom:12px}.results-aside>p{font-size:13px;margin-bottom:14px}.facet-summary{margin-top:24px;border-top:1px solid var(--line);padding-top:20px}.facet-summary h3{font-size:13px;letter-spacing:0;margin-bottom:10px}.facet-summary p{display:flex;justify-content:space-between;gap:12px;font-size:12px;padding:5px 0}.facet-summary b{font-weight:500;font-variant-numeric:tabular-nums}.facet-summary button{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:38px;background:none;border:0;border-radius:5px;color:var(--muted);font-size:12px;padding:7px 8px;text-align:left}.facet-summary button:hover,.facet-summary button[aria-pressed=true]{color:var(--link);background:var(--tint)}.results-region{min-width:0;scroll-margin-top:105px;outline:none}.results-region.loading{pointer-events:none}.results-region.loading>:not(.search-loading){opacity:.55;transition:opacity .12s}.result-meta{display:flex;justify-content:space-between;gap:15px;margin:0 0 24px;padding-bottom:16px;border-bottom:1px solid var(--line);font-size:12px;color:var(--muted)}.result-meta strong{font-size:14px;color:var(--ink)}.results-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:32px}.tier-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:24px 0 16px}.tier-heading h2{font-size:18px;letter-spacing:-.015em}.tier-heading p{font-size:12px;margin-top:6px;max-width:600px}.tier-heading>span{color:var(--muted);font-size:12px}.role-links{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}.role-links a{border:1px solid var(--line);border-radius:6px;padding:6px 10px;font-size:12px;color:var(--muted)}.role-links a:hover{border-color:var(--link);color:var(--link)}.pagination{display:flex;justify-content:center;align-items:center;gap:18px;margin-top:32px;font-size:13px;color:var(--muted)}.pagination+.small{margin-top:35px}.empty-state{padding:48px 28px;text-align:center;border:1px solid var(--line);border-radius:var(--radius);background:var(--canvas)}.empty-state h2{font-size:23px;max-width:560px;margin:0 auto 12px}.empty-state p{max-width:530px;margin:0 auto 22px;font-size:14px}.notice{border:1px solid var(--line);background:var(--canvas);border-radius:8px;padding:16px 18px;font-size:13px;line-height:1.7;margin:18px 0}.notice.success{color:var(--success);background:var(--success-bg)}.notice.error{color:var(--error);background:var(--error-bg)}.notice h2{font-size:21px}.notice p{margin:12px 0}.job-page{padding-top:30px}.job-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:40px;align-items:start}.job-detail{border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);min-width:0}.job-detail-head{padding:30px 34px;border-bottom:1px solid var(--line)}.detail-company-row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.detail-company-row .eyebrow{margin:0;letter-spacing:.02em;text-transform:none;font-size:14px}.detail-company-row .eyebrow a{color:var(--muted)}.job-detail h1{font-size:clamp(27px,3vw,38px);line-height:1.25;overflow-wrap:anywhere;margin-bottom:16px}.job-detail .job-place{font-size:14px}.description-section{padding:30px 34px}.description-section h2{font-size:21px;margin-bottom:22px}.job-description{line-height:1.8;font-size:15px;overflow-wrap:anywhere;color:var(--ink)}.job-description p{color:inherit;margin:0 0 18px}.job-description h2,.job-description h3,.job-description h4{font-size:18px;margin:24px 0 14px}.job-description ul,.job-description ol{padding-left:22px;margin:16px 0}.job-description li{margin-bottom:7px}.job-description table{display:block;max-width:100%;overflow-x:auto}.job-description img{max-width:100%;height:auto}.apply-sidebar{position:sticky;top:104px}.apply-card{padding:24px;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.apply-card h2{font-size:22px;margin:0 0 14px}.apply-card p{font-size:14px;margin-bottom:22px}.apply-card small{display:block;text-align:center;margin:12px 0 22px;font-size:12px}.apply-card>.text-link{display:block;text-align:center;font-size:12px}.safety-note{padding:24px 3px}.safety-note strong{display:block;font-size:13px;margin-bottom:7px}.safety-note p,.safety-note a{font-size:12px}.safety-note p{margin-bottom:8px}.company-information{padding:28px 34px;border-top:1px solid var(--line);background:var(--canvas)}.company-information h2{font-size:20px;margin-bottom:20px}.employer-heading{display:flex;gap:18px;align-items:center;margin-bottom:16px}.employer-heading img,.employer-logo{object-fit:contain;flex:none}.employer-heading h3{font-size:18px;margin-bottom:4px}.employer-heading p{font-size:13px}.company-information>p{font-size:14px;margin-bottom:18px}.company-information .button-row{gap:18px}.company-information .text-link{font-size:12px}.role-context{padding:22px 34px;border-top:1px solid var(--line);display:grid;gap:6px;font-size:13px}.role-context>span{color:var(--muted);font-size:12px}.directory-page .breadcrumbs{margin-bottom:28px}.directory-heading{margin-bottom:32px;max-width:800px}.directory-heading>p{margin-top:16px;font-size:16px}.directory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:28px 0}.directory-grid>a{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:17px 18px;border:1px solid var(--line);border-radius:8px;color:var(--ink);font-size:14px;line-height:1.5}.directory-grid>a b{color:var(--muted);font-size:12px;font-weight:500}.directory-grid>a:hover{border-color:var(--strong-line);background:var(--canvas)}.employer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.employer-card{padding:25px;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);color:var(--ink);display:flex;flex-direction:column;align-items:flex-start;gap:14px}.employer-card:hover{border-color:var(--strong-line);box-shadow:var(--shadow-md);text-decoration:none}.employer-card img{object-fit:contain}.employer-card h2{font-size:20px}.employer-card:hover h2{text-decoration:underline}.employer-card p{font-size:13px;margin-top:-8px}.employer-card span{font-size:13px;color:var(--link);margin-top:auto}.company-profile-head{display:flex;align-items:center;gap:28px;margin-bottom:32px}.company-profile-head h1{margin-bottom:12px}.company-overview{max-width:850px;margin-bottom:42px;padding-bottom:28px;border-bottom:1px solid var(--line)}.company-overview h2{font-size:22px;margin-bottom:14px}.company-overview .button-row{margin-top:18px}.editorial{max-width:820px;padding-top:60px;padding-bottom:72px}.editorial h1{margin-bottom:30px}.page-content{line-height:1.85;overflow-wrap:anywhere}.page-content p,.page-content ul,.page-content ol{margin:18px 0}.page-content h2{font-size:24px;margin:32px 0 16px}.page-content h3{margin:24px 0 14px}.contact-form{display:grid;gap:18px;max-width:620px;margin-top:30px}.contact-form label{display:grid;gap:8px;font-size:14px;font-weight:550}.contact-form .button{justify-self:start}.error-page{padding:100px 0 110px;max-width:750px}.error-page h1{margin:15px 0 22px}.error-page p{font-size:17px;margin-bottom:28px}.site-footer{border-top:1px solid var(--line);background:var(--canvas);margin-top:20px}.footer-top{display:grid;grid-template-columns:1.25fr .7fr 1.4fr;gap:70px;padding-top:48px;padding-bottom:44px}.footer-brand img{object-fit:contain;width:128px;height:40px}.footer-brand p{font-size:14px;max-width:240px;margin:16px 0 10px}.footer-brand small{font-size:12px}.site-footer h2{font-size:13px;letter-spacing:0;margin-bottom:18px}.footer-discover a,.footer-pages a{display:block;font-size:12px;color:var(--muted);padding:5px 0;break-inside:avoid}.footer-pages{column-count:2;column-gap:24px}.footer-pages h2{column-span:all}.footer-pages .text-button{font-size:12px;break-inside:avoid}.footer-bottom{display:flex;justify-content:space-between;gap:20px;padding:20px 0;border-top:1px solid var(--line);color:var(--muted);font-size:11px}dialog{position:fixed;width:min(520px,calc(100% - 32px));max-height:calc(100dvh - 40px);overflow-y:auto;border:1px solid var(--line);border-radius:14px;background:var(--paper);color:var(--ink);padding:34px;box-shadow:var(--shadow-lg)}dialog::backdrop{background:#11182780}dialog h2{font-size:25px;margin:10px 30px 15px 0}dialog p{font-size:14px;line-height:1.7;margin-bottom:20px}dialog small{display:block;font-size:12px;margin-top:15px}dialog .field{margin:20px 0}.dialog-close{position:absolute;top:8px;right:8px}dialog .eyebrow{margin-right:30px}.privacy-banner{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);z-index:50;display:flex;align-items:center;gap:26px;width:min(940px,calc(100% - 32px));padding:20px 24px;border:1px solid var(--strong-line);border-radius:12px;background:var(--paper);box-shadow:var(--shadow-lg)}.privacy-banner strong{font-size:14px}.privacy-banner p{font-size:12px;line-height:1.65;margin-top:5px}.privacy-banner small{display:block;font-size:11px;margin-top:6px}.privacy-actions{display:flex;gap:10px;flex:none}.privacy-actions .button{min-width:94px;background:var(--paper);color:var(--ink);border:1px solid var(--strong-line)}.toasts{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;gap:10px;width:min(540px,calc(100% - 32px));z-index:100;pointer-events:none}.toast,.candidate-toast{display:flex;align-items:center;gap:20px;padding:15px 18px;color:var(--paper);background:var(--ink);box-shadow:var(--shadow-lg);border-radius:9px;font-size:13px;line-height:1.6;pointer-events:auto}.toast>span,.candidate-toast>span{flex:1}.toast.error,.candidate-toast.error{background:var(--error-bg);color:var(--error);border:1px solid var(--error)}.toast button,.candidate-toast button{display:grid;place-items:center;flex:none;width:36px;height:36px;background:transparent;border:0;border-radius:5px;color:inherit;font-size:24px;cursor:pointer}.toast button:hover,.candidate-toast button:hover{background:#80808030}body:has(.privacy-banner) .toasts{bottom:155px}
@media(min-width:1500px){:root{--wrap:1240px}.hero{column-gap:130px}}
@media(max-width:1150px){.header-inner{gap:20px;width:calc(100% - 40px)}.primary-nav{gap:18px}.location-name{display:none}.header-tools{gap:4px}.hero{column-gap:50px}.numbers{gap:24px}.numbers>div{display:grid;gap:0}.job-card{padding:20px}.results-layout{grid-template-columns:200px minmax(0,1fr);gap:24px}.job-card-top{gap:8px}.job-company{gap:8px}.company-avatar{width:36px;height:36px}.company-name{font-size:12px}.confidence,.discover-grid{gap:60px}.footer-top{gap:40px}}
@media(max-width:950px){:root{--header-height:72px}.wrap{width:calc(100% - 40px)}.header-inner{gap:12px}.menu-toggle{display:inline-flex}.primary-nav{display:none;position:absolute;top:calc(100% + 1px);left:0;right:0;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:var(--shadow-md);padding:18px 24px;flex-direction:column;align-items:stretch;gap:0}.primary-nav.is-open{display:flex}.primary-nav a{padding:14px 10px}.brand{margin-left:8px}.brand img{width:116px;height:36px}.header-tools{margin-left:auto}.hero{padding-top:44px;grid-template-columns:1.35fr 1fr;column-gap:34px}.hero h1{font-size:44px}.hero-copy p{font-size:15px}.search-companion{padding-left:25px}.search-companion h2{font-size:18px}.search-companion .eyebrow{font-size:10px}.search-companion small{font-size:11px}.search-companion strong{font-size:12px}.companion-symbol{padding:6px}.featured-jobs{grid-template-columns:repeat(2,minmax(0,1fr))}.category-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.results-layout{grid-template-columns:minmax(0,1fr)}.results-aside{display:none}.job-layout{grid-template-columns:minmax(0,1fr) 260px;gap:24px}.job-detail-head,.description-section,.company-information{padding:24px}.role-context{padding:20px 24px}.job-detail h1{font-size:30px}.apply-card{padding:20px}.employer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-top{grid-template-columns:1fr .8fr 1.3fr;gap:25px}.footer-pages{column-count:1}}
@media(max-width:700px){.section{padding-block:44px}.hero{grid-template-columns:1fr;gap:20px;padding-top:36px;padding-bottom:26px}.hero-copy{padding:0}.hero-copy .eyebrow{font-size:11px;margin-bottom:14px}.hero h1{font-size:43px;max-width:580px}.hero-copy p{margin-top:16px;max-width:470px}.search-companion{display:none}.hero-search{grid-column:auto}.search-main{grid-template-columns:1fr;gap:13px}.search-form{--search-inset:18px;padding:18px var(--search-inset) 0}.search-submit{margin-top:2px;min-height:48px}.advanced-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.numbers{flex-wrap:wrap;justify-content:space-between;gap:20px 14px;padding-block:8px 28px}.numbers strong{font-size:22px}.numbers span{font-size:10px}.numbers>.text-button{margin:0;width:100%;justify-content:center;border-top:1px solid var(--line);padding-top:12px}.section-heading{align-items:flex-start;flex-direction:column;gap:18px;margin-bottom:22px}.section-heading p{font-size:14px}.section-heading .button{font-size:12px;min-height:40px}.category-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.category-card{padding:14px}.category-card h4{font-size:13px}.discover-grid,.confidence{grid-template-columns:1fr;gap:28px}.confidence-points{padding-top:24px;border-top:1px solid var(--line)}.search-page-head{padding-top:20px}.results-layout{padding-top:24px}.job-card{padding:23px}.results-grid,.featured-jobs{grid-template-columns:1fr;gap:16px}.company-avatar{width:44px;height:44px}.company-name{font-size:13px}.job-card h3{font-size:21px}.job-layout{display:flex;flex-direction:column;gap:24px}.job-detail,.apply-sidebar{width:100%}.apply-sidebar{position:static;order:-1}.apply-card{display:grid;grid-template-columns:1fr;gap:6px;padding:20px}.apply-card .eyebrow,.apply-card h2,.apply-card>p,.apply-card>.text-link,.safety-note{display:none}.apply-card small{margin:3px 0 0}.job-detail h1{font-size:29px}.job-page{padding-top:20px}.job-detail-head,.description-section,.company-information{padding:22px}.job-description{font-size:14px}.directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.directory-grid>a{font-size:13px;padding:14px}.directory-heading>p{font-size:14px}.company-profile-head{gap:18px}.company-profile-head img{width:68px;height:68px}.company-profile-head h1{font-size:28px}.company-overview p{font-size:14px}.footer-top{grid-template-columns:1fr 1fr;gap:30px;padding-block:35px}.footer-brand{grid-column:1/-1}.footer-brand p{max-width:none;margin:10px 0 4px}.footer-bottom{font-size:10px;flex-wrap:wrap;gap:8px}.privacy-banner{align-items:stretch;flex-direction:column;gap:14px;padding:18px;bottom:10px}.privacy-actions .button{flex:1}.privacy-banner .privacy-actions{width:100%}body:has(.privacy-banner) .toasts{bottom:255px}.editorial{padding-block:40px}.error-page{padding-block:64px}.error-page p{font-size:15px}}
@media(max-width:480px){.wrap{width:calc(100% - 32px)}.header-inner{width:calc(100% - 24px);gap:0}.header-tools{gap:0}.brand{margin-left:9px}.brand img{width:93px;height:32px}.header-separator,.create-account-link{display:none}.icon-button{min-width:36px;min-height:44px;padding:8px}.header-tools .icon{width:18px;height:18px}.language{min-width:30px;font-size:11px}.signin{font-size:12px;padding:10px 5px}.account-link{font-size:11px;padding:9px 8px;min-height:40px}.hero h1{font-size:38px}.hero h1 br{display:none}.hero h1 span::before{content:' '}.hero-copy p{font-size:14px}.advanced-grid{grid-template-columns:1fr}.numbers{gap:14px 8px}.numbers strong{font-size:21px}.numbers span{font-size:9px}.directory-grid,.employer-grid{grid-template-columns:1fr}.search-form{--search-inset:14px;padding:16px var(--search-inset) 0}.search-main label{font-size:11px}.job-card-actions{gap:18px}.job-card-actions .button{flex:1}.job-card-actions .text-button{min-width:80px;justify-content:center}.privacy-banner{width:calc(100% - 20px)}dialog{padding:26px 22px}.job-detail-head,.description-section,.company-information{padding:20px}.detail-company-row{gap:10px}.employer-heading{align-items:flex-start;gap:13px}.employer-heading img{width:55px;height:55px}.role-context{padding:18px 20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
@media print{.site-header,.site-footer,.privacy-banner,.toasts,.job-actions,.apply-sidebar,.search-form,.related-jobs{display:none!important}.wrap{width:100%}.job-layout{display:block}.job-detail{border:0;box-shadow:none}body{color:#111;background:#fff}}

/* 2.3.2: header alignment, search icon spacing and modal preview */
.site-header .brand{margin-left:0;margin-right:4px}
.search-form .input-wrap input:not([type=hidden]){padding-left:42px}
.job-card-actions{justify-content:flex-end}
.job-card-actions .quick-view{flex:0 0 auto;background:var(--action);border-color:var(--action);color:#fff;min-width:112px}
.job-card-actions .quick-view:hover{background:var(--action-hover);border-color:var(--action-hover)}
body.job-preview-open{overflow:hidden}
.job-preview-dialog{width:min(800px,calc(100% - 32px));padding:0;overflow:hidden;max-height:calc(100dvh - 32px)}
.job-preview-dialog[open]{display:flex;flex-direction:column}
.job-preview-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px 24px;border-bottom:1px solid var(--line);flex:none}
.job-preview-head h2{margin:6px 0;font-size:24px;overflow-wrap:anywhere}
.job-preview-head button{flex:none}
.job-preview-content{overflow-y:auto;overscroll-behavior:contain;min-height:100px;padding:24px}
.job-preview-footer{display:flex;justify-content:flex-end;padding:16px 24px;border-top:1px solid var(--line);flex:none;background:var(--paper)}
.job-preview-footer:has(a[hidden]){display:none}
@media(max-width:480px){.job-preview-head,.job-preview-content{padding:16px}.job-preview-head h2{font-size:21px}.job-preview-footer{padding:14px 16px}.site-header .brand{margin-right:2px}.site-header .brand img{width:86px}}

/* Shared lightweight loading and progressive results */
.jobbol-loading{display:flex;align-items:center;justify-content:center;gap:12px;padding:20px;color:var(--muted);font-size:14px;min-height:64px}
.jobbol-spinner{display:inline-block;flex:none;width:24px;height:24px;border:3px solid var(--line);border-top-color:var(--accent-line);border-right-color:var(--pink);border-radius:50%;animation:jobbol-spin .8s linear infinite}
@keyframes jobbol-spin{to{transform:rotate(360deg)}}
.more-jobs,.results-end{padding:26px 0;text-align:center}.more-jobs>div:empty{display:none}
/* Loading owns a normal row before the results. */
.search-loading{position:static;width:100%;height:auto;margin-bottom:16px;pointer-events:none}
.search-loading>.jobbol-loading{background:var(--paper);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow-sm)}
.results-grid .job-card{content-visibility:auto;contain-intrinsic-size:auto 360px}
@media(prefers-reduced-motion:reduce){.jobbol-spinner{animation:none;border-bottom-color:#cd29c0}}

.more-jobs{min-height:76px}.more-jobs button[hidden]{display:none!important}.results-end{padding:26px 12px;color:var(--muted);font-size:14px}

/* Public scrollbars: native fallback stays thin; pixel sizing when supported. */
html,*{scrollbar-width:thin;scrollbar-color:var(--accent-line) transparent}
@supports selector(::-webkit-scrollbar){
 html:root,html:root *{scrollbar-width:auto;scrollbar-color:auto}
 *::-webkit-scrollbar{width:2px;height:7px}
 html:root::-webkit-scrollbar,html:root>body::-webkit-scrollbar{width:5px;height:7px}
 *::-webkit-scrollbar-track{background:transparent}
 *::-webkit-scrollbar-thumb{background:var(--accent-line);border-radius:8px}
 *::-webkit-scrollbar-thumb:hover{background:var(--link)}
}

.results-next{display:none!important}

/* 2.3.8: icon spacing must outrank the general input rule. */
#job-search .input-wrap > input[data-autocomplete]{padding-left:44px;padding-right:12px;min-width:0}
#job-search .input-wrap > .icon{left:14px;top:50%;transform:translateY(-50%);width:18px;height:18px;pointer-events:none}
.directory-jobs-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:950px){.directory-jobs-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.directory-jobs-grid{grid-template-columns:1fr}}

/* 2.3.9: keep the related-jobs action next to its cards and strengthen search text. */
.related-jobs-more{display:flex;justify-content:flex-end;margin-top:12px}
#job-search .input-wrap > input[data-autocomplete]{color:#000;font-weight:700}
#job-search .input-wrap > input[data-autocomplete]::placeholder{color:var(--muted);font-weight:400}
[data-theme=dark] #job-search .input-wrap > input[data-autocomplete]{color:#fff}

/* Search ordering, aligned with the top-left edge of the results. */
.results-toolbar{display:flex;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:8px;margin-bottom:16px;font-size:13px}
.results-toolbar>span{color:var(--muted);margin-right:4px}
.results-toolbar button{background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:6px;padding:8px 12px;min-height:40px;font-size:13px;font-weight:600}
.results-toolbar button:hover{border-color:#0000cc}
.results-toolbar button[aria-pressed=true]{background:var(--action);border-color:var(--action);color:#fff}

/* Footer inclusion statement and search filters without introductory copy. */
.footer-inclusion{padding-block:0 22px}
.footer-inclusion p{font-size:12px;line-height:1.7;color:var(--muted);max-width:100%;overflow-wrap:anywhere}
.results-aside #filter-counts>.facet-summary:first-child{margin-top:0;padding-top:0;border-top:0}

/* Crawlable, keyboard-accessible pagination; infinite scrolling keeps its existing UI. */
.crawl-pagination:not(:focus-within){position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
/* Jobbol discovery: shared compact paths, responsive cards, native accessible disclosures. */
.discovery-block{margin:28px 0;padding:24px 0;border-top:1px solid var(--line)}
.discovery-block h2{font-size:clamp(1.3rem,2.5vw,1.8rem);margin:0 0 8px}.discovery-block .section-heading{align-items:flex-start;gap:18px}.discovery-block .section-heading p{max-width:55ch;margin:0;color:var(--muted,#5c6475)}
.discovery-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:20px;margin-top:24px}.discovery-groups h3{font-size:1rem;margin:0 0 10px}.discovery-groups a,.discovery-alternatives a{display:block;padding:10px 12px;border:1px solid var(--line);border-radius:10px;margin-bottom:8px;text-decoration:none;overflow-wrap:anywhere;color:var(--ink);background:var(--paper)}.discovery-groups a:hover,.discovery-groups a:focus-visible,.discovery-alternatives a:hover{border-color:var(--accent-line);color:var(--link)}
.discovery-alternatives{display:flex;flex-wrap:wrap;gap:10px}.discovery-reason{font-size:.8rem;font-weight:600;color:var(--muted,#5c6475);margin:10px 0}.job-card-actions [data-discovery-dismiss]{margin-right:auto;font-size:.8rem;padding:8px}.search-alert{position:relative;flex-shrink:0;max-width:340px}.search-alert summary{cursor:pointer;font-weight:650;color:var(--ink);padding:10px 14px;border:1px solid var(--line);border-radius:10px}.search-alert form{margin-top:10px;padding:16px;background:var(--paper);border:1px solid var(--line);border-radius:12px}.search-alert p{font-size:.9rem}.search-alert label{display:flex;gap:10px;align-items:flex-start;line-height:1.5;margin:12px 0}.search-alert input[type=checkbox]{width:18px;height:18px;flex-shrink:0}.application-confirmation{background:#f0f4ff;border-left:4px solid #0000cc;padding:18px;margin:0 0 24px;border-radius:10px}.application-confirmation h2{margin:0 0 8px}.application-confirmation p{margin:0}.infinite-limit{padding:24px;text-align:center}.infinite-limit a{display:inline-block;margin:10px}
[data-theme=dark] .discovery-groups a,[data-theme=dark] .discovery-alternatives a,[data-theme=dark] .search-alert form{background:var(--paper);color:var(--ink);border-color:var(--line)}[data-theme=dark] .application-confirmation{background:var(--tint);color:var(--ink)}
@media(max-width:700px){.discovery-block{padding:20px 0}.discovery-groups{grid-template-columns:1fr;gap:14px}.discovery-block .section-heading{flex-direction:column}.search-alert{width:100%;max-width:none}.discovery-groups a{min-height:44px}.discovery-block .featured-jobs{grid-template-columns:1fr}}

/* Current results page in the progressive list. */
.results-page-position{display:flex;align-items:center;gap:12px;margin:24px 0 12px;color:var(--muted);font-size:.875rem;font-weight:600}.results-page-position::after{content:"";height:1px;flex:1;background:var(--line)}
@media(max-width:700px){.results-page-position{margin:20px 0 10px;font-size:.8125rem}}

/* editorial.css */
.editorial-note{box-sizing:border-box;margin:1.5rem 0;padding:1.25rem 1.5rem;max-width:100%;border:0;border-radius:12px;background:var(--canvas);color:var(--ink);text-align:center;overflow-wrap:anywhere}.editorial-note h2{margin:0 0 .65rem;color:var(--ink);font-size:1.1rem;font-weight:700;line-height:1.4}.editorial-note p{max-width:88ch;margin:0 auto;font-size:1rem;line-height:1.8}.job-detail .editorial-note{text-align:left}.job-detail .editorial-note p{margin-left:0}@media(max-width:600px){.editorial-note{padding:1rem;margin:1rem 0}.editorial-note h2{font-size:1rem}.editorial-note p{font-size:.95rem;line-height:1.7}}

/* illustrations.css */
/* Jobbol Career Moments — shared, decorative SVG scenes. */
.jb-visual{display:flex;flex-direction:column;align-items:center;gap:14px;padding:30px 22px;text-align:center;max-width:100%;color:var(--ink,#303956);border:1px solid var(--line,#e7eafa);border-radius:var(--radius,16px);background:var(--paper,#fff);box-sizing:border-box;overflow-wrap:anywhere}
.jb-visual-art{display:block;flex-shrink:0;width:184px;height:auto;aspect-ratio:4/3;max-width:100%;object-fit:contain}
.jb-visual-copy{min-width:0;max-width:540px}.jb-visual-copy :is(h1,h2,h3,h4){margin:0 0 9px;font-size:clamp(1.15rem,2.2vw,1.4rem);line-height:1.25;letter-spacing:-.025em;font-weight:750;color:var(--ink,#303956)}
.jb-visual-copy p{margin:0;color:var(--muted,#596780);line-height:1.65;font-size:.95rem}.jb-visual-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:20px}.jb-visual-actions .button{white-space:normal}
.jb-visual--expanded{padding:36px 24px;gap:18px}.jb-visual--expanded .jb-visual-art{width:240px}.jb-visual--expanded .jb-visual-copy :is(h1,h2){font-size:clamp(1.4rem,3vw,2rem)}
.jb-visual--compact{flex-direction:row;text-align:left;align-items:center;gap:16px;padding:18px}.jb-visual--compact .jb-visual-art{width:88px}.jb-visual--compact .jb-visual-copy{max-width:none}.jb-visual--compact .jb-visual-copy :is(h1,h2,h3,h4){font-size:1.05rem}.jb-visual--compact .jb-visual-copy p{font-size:.9rem}.jb-visual--compact .jb-visual-actions{justify-content:flex-start;margin-top:12px}
.jb-visual--error,.jb-visual--warning{border-color:var(--strong-line,#b9c5ee)}.jb-visual--success{background:var(--tint,#f2f4fb)}
.jb-visual-slot{margin:18px 0}.jb-visual-slot:empty{display:none}.candidate-panel>.jb-visual{margin-bottom:20px}.candidate-auth .candidate-intro>.jb-visual-art{width:240px;margin:0 0 18px}.error-page>.jb-visual{border:0;background:transparent}
.jb-visual-notice{position:relative;width:100%;max-width:660px;border-radius:16px;box-shadow:0 10px 40px #141c3330;pointer-events:auto;flex-shrink:0}.jb-visual-notice .jb-visual{padding-right:48px}.jb-visual-dismiss{position:absolute;right:4px;top:4px;width:44px;height:44px;border:0;background:transparent;color:var(--ink,#303956);font-size:24px;cursor:pointer}.jb-visual-dismiss:focus-visible{outline:2px solid var(--link,#0000cc);outline-offset:-4px;border-radius:8px}
.candidate-table td.dt-empty .jb-visual{white-space:normal;max-width:640px;margin:12px auto;border:0}.jb-table-state{margin:18px 0}.jb-table-state:empty{display:none}.candidate-table-wrap[data-empty-visual] .dt-empty{display:none}.candidate-table-wrap[data-empty-visual] .dt-layout-row:last-child{display:none}
.jb-search-failure{margin:0 0 18px}.jb-visual-saved-closed{display:inline-flex;align-items:center;gap:6px;margin:6px 0;font-size:.85rem;color:var(--muted,#596780)}.jb-visual-saved-closed .jb-visual-art{width:40px;height:30px}
@media(max-width:540px){.jb-visual{padding:24px 16px}.jb-visual--expanded{padding:28px 16px}.jb-visual--compact{gap:12px;padding:16px}.jb-visual--compact .jb-visual-art{width:64px}.jb-visual--compact .jb-visual-copy :is(h1,h2,h3,h4){font-size:1rem}.jb-visual-actions{gap:8px}.jb-visual-actions .button{min-height:44px}.candidate-auth .candidate-intro>.jb-visual-art{width:150px}.jb-visual-notice .jb-visual{padding-right:40px}}
@media(prefers-reduced-motion:no-preference){.jb-visual-notice{animation:jb-visual-enter .18s ease-out}@keyframes jb-visual-enter{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}}
@media(prefers-reduced-motion:reduce){.jb-visual,.jb-visual-notice,.jb-visual-art{animation:none!important;transition:none!important}}

[data-visual-failed] .dt-info,[data-visual-failed] .dt-paging{display:none}
body[data-page="applications"] .jb-visual-copy p{color:var(--muted,#58637b)}
.error-page>.eyebrow{display:block;text-align:center}

/* 2.9.10: contextual companions complement forms without occupying the mobile CTA area. */
.candidate-auth.has-context{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,6vw,80px);max-width:1120px;align-items:start;padding-block:40px 64px}
.candidate-auth.has-context>.candidate-panel{grid-column:2;grid-row:1;min-width:0;margin-bottom:0}
.candidate-auth.has-context>.candidate-intro{grid-column:1;grid-row:1;min-width:0;max-width:460px;align-self:center}
.candidate-auth.has-context .candidate-form{min-width:0}
.jb-auth-context{margin-bottom:22px}
.jb-visual--companion{padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;text-align:left;align-items:flex-start;gap:18px}
.jb-visual--companion .jb-visual-art{width:clamp(220px,22vw,280px);max-width:100%;height:auto}
.jb-visual--companion .jb-visual-copy{max-width:380px}
.candidate-auth .jb-visual--companion .jb-visual-copy h2{font-size:clamp(20px,2vw,24px);line-height:1.3;margin:0 0 10px}
.candidate-auth .jb-visual--companion .jb-visual-copy p{font-size:14px;line-height:1.7;margin:0;color:var(--muted)}
.candidate-auth.has-context .candidate-intro>.employer-journey{margin-top:20px}
.jb-context-note{display:flex;align-items:center;gap:20px;min-width:0}
.jb-context-note>.jb-visual-art{width:96px;max-width:25%;flex:none}
.jb-context-note>div{min-width:0;flex:1}
.jb-context-note>div>p{margin:8px 0 14px}
.jb-context-note>div>h2{margin-bottom:12px}
.jb-context-note--small{justify-content:flex-start;margin-bottom:22px}
.jb-context-note--small>.jb-visual-art{width:64px}
.jb-context-note--small>h2{margin:0;flex:1}
.jb-context-note--small>.employer-status{flex:none}
@media(max-width:950px){.candidate-auth.has-context{gap:32px}.jb-visual--companion .jb-visual-art{width:220px}}
@media(max-width:700px){
 .candidate-auth.has-context{grid-template-columns:minmax(0,1fr);gap:24px;padding-block:24px 40px}
 .candidate-auth.has-context>.candidate-panel{grid-column:1;grid-row:1;width:100%}
 .candidate-auth.has-context>.candidate-intro{grid-column:1;grid-row:2;width:100%;max-width:none}
 .candidate-auth.has-context .jb-auth-context{display:none}
 .candidate-auth.has-context .candidate-intro>.employer-journey{margin-top:0}
 .jb-context-note{gap:12px}.jb-context-note>.jb-visual-art{width:64px}
 .jb-context-note--small>.jb-visual-art{width:48px}
 .jb-context-note--small>.employer-status{max-width:45%;white-space:normal}
}

/* candidate-public.css */
/* Shared public rules extracted without changing selector order. */
.sponsored-card .job-card-top{gap:12px}
.sponsored-personal-save{margin-left:auto;display:flex;align-items:center;gap:10px}
.candidate-personal-save{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border,#dce0eb);border-radius:9px;min-width:40px;min-height:40px;background:var(--surface,#fff);color:var(--link,#0000cc);cursor:pointer}
.candidate-personal-save[aria-pressed=true]{color:#c626c7;background:#fcf0fc}
.candidate-personal-save .icon{width:20px;height:20px}
[data-theme=dark] .candidate-personal-save{background:#1d2638;color:#cabaff}
@media(max-width:767px){.sponsored-personal-save{gap:7px}
.sponsored-card .sponsored-label{font-size:.72rem}}
.header-candidate-identity{font-size:11px;font-weight:500;overflow-wrap:anywhere}
.header-account-actions .account-link{max-width:min(34vw,400px);white-space:normal;line-height:1.35}
.header-panel-session .header-candidate-identity{display:block}
@media(max-width:700px){.header-account-actions .account-link{max-width:none}}

/* navigation.css */
/* Account access stays visible independently of the collapsible navigation. */
.header-inner{gap:18px}
.primary-nav{gap:18px}
.primary-nav .employer-nav-link{display:none}
.header-tools{gap:4px}
.header-account-actions,.header-account-session{display:flex;align-items:center;gap:10px;flex:none}
.header-account-actions{margin-left:0}
.header-account-actions .button,.header-account-actions .signin{white-space:nowrap;min-height:44px}
.header-account-actions .create-account-link{display:inline-flex}
.header-signout{margin:0;display:flex}
.signout-button{border:0;background:transparent;color:var(--link);border-radius:7px}
.signout-button:hover{background:var(--surface);text-decoration:underline}
.header-account-actions .employer-cta{background:#0000cc;border-color:#0000cc;color:#fff}
.header-account-actions .employer-cta:hover{background:#1010aa}
.employer-invitation{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:28px 30px;margin-top:12px;margin-bottom:40px;background:var(--canvas);border:1px solid var(--line);border-left:4px solid #0000cc;border-radius:12px}
.employer-invitation .eyebrow{margin-bottom:8px;color:var(--link)}
.employer-invitation h2{font-size:clamp(22px,2.2vw,28px)}
.employer-invitation p{font-size:14px;margin-top:10px;max-width:600px}
.employer-invitation-actions{display:flex;flex-direction:column;align-items:center;gap:10px;flex:none}
.employer-invitation-actions .text-link{padding:10px 4px}
.account-switch{display:grid;gap:10px;border-top:1px solid var(--line);padding-top:22px;margin-top:28px;font-size:14px}
.account-switch a{padding-block:4px;justify-self:start}
.signup-email-fields{display:grid;gap:16px}
.signup-status:empty{display:none}
.signup-status{font-size:14px;margin-bottom:16px;overflow-wrap:anywhere}
.signup-verified{display:flex;align-items:flex-start;gap:8px;color:var(--success);overflow-wrap:anywhere}
.signup-code-actions{display:flex;flex-wrap:wrap;gap:8px 20px}
.employer-signup-steps{flex-wrap:wrap}
[data-signup-email]{overflow-wrap:anywhere}
.candidate-heading .button-row form{margin:0}
@media(max-width:1250px){
 .header-inner{width:calc(100% - 40px);gap:14px}
 .location-name{display:none}
 .menu-toggle{display:inline-flex;margin-left:0}
 .primary-nav{display:none;position:absolute;top:calc(100% + 1px);left:0;right:0;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:var(--shadow-md);padding:16px 24px;flex-direction:column;align-items:stretch;gap:0;max-height:calc(100dvh - var(--header-height));overflow-y:auto}
 .primary-nav.is-open{display:flex}
 .primary-nav a{padding:14px 10px}
 .primary-nav .employer-nav-link{display:block;font-weight:700;color:var(--link)}
 .brand{margin-left:0}
}
@media(max-width:900px){
 :root{--header-height:118px}
 html{scroll-padding-top:138px}
 .site-header{height:auto;min-height:var(--header-height)}
 .header-inner{height:auto;display:grid;grid-template-columns:auto minmax(0,1fr) auto;column-gap:10px;row-gap:0;padding-block:6px 8px}
 .brand{grid-column:1;grid-row:1}
 .header-tools{grid-column:2;grid-row:1;justify-self:end;margin:0;gap:2px}
 .menu-toggle{grid-column:3;grid-row:1;min-width:44px;min-height:44px}
 .header-account-actions{grid-column:1/-1;grid-row:2;border-top:1px solid var(--line);padding-top:7px;margin-top:4px;gap:8px;justify-content:space-between;flex-wrap:wrap}
 .header-account-session{margin-left:auto;gap:6px;flex-wrap:wrap}
 .header-account-actions .button{font-size:12px;padding:9px 12px}
 .header-account-actions .signin{font-size:12px;padding:10px 7px}
 .employer-invitation{align-items:flex-start;flex-direction:column;padding:24px}
 .employer-invitation-actions{align-items:flex-start;flex-direction:row;flex-wrap:wrap;gap:12px}
}
@media(max-width:480px){
 .header-inner{width:calc(100% - 24px);column-gap:4px}
 .brand{margin-left:0}.brand img{width:90px;height:32px}
 .header-tools .icon-button,.header-tools .language{min-width:40px;min-height:44px}
 .header-account-actions{gap:5px}
 .header-account-session{gap:4px}
 .header-account-actions .button{padding-inline:8px}
 .header-account-actions .signin{padding-inline:5px}
 .employer-invitation{padding:22px 18px}
 .employer-invitation-actions{width:100%}
 .employer-invitation-actions .button{width:100%}
}

/* compensation.css */
.compensation-panel:where(:not(.compensation-flow)){border:1px solid var(--line,#dfe6f2);border-radius:16px;padding:24px;margin:0 0 26px;background:var(--paper,#fff);color:inherit;min-width:0}
.compensation-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:18px}.compensation-heading h2{font-size:1.15rem;line-height:1.4;margin:0!important}.compensation-panel h3{font-size:.95rem;margin:20px 0 12px}
.compensation-pay{margin:0}.compensation-pay>div{display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:0 0 16px;border-bottom:1px solid var(--line,#dfe6f2)}.compensation-pay dt{font-size:.9rem;color:var(--muted,#65748d)}.compensation-pay dd{font-size:1.08rem;font-weight:700;margin:0}
.compensation-terms{list-style:none;margin:0;padding:0;display:grid;gap:14px}.compensation-terms>li{margin:0;padding:14px 16px;border-radius:10px;background:var(--surface,#f6f8fc)}.compensation-term-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.compensation-term-head strong{font-size:.9rem}.compensation-terms p{font-size:.86rem;line-height:1.65;margin:7px 0 0;overflow-wrap:anywhere}
.compensation-condition{font-size:.72rem;font-weight:500;color:var(--muted,#65748d)}.compensation-muted,.compensation-filter-hint{font-size:.8rem;line-height:1.6;color:var(--muted,#65748d);margin:16px 0 0}.compensation-filter-hint{grid-column:1/-1;margin:0}
.compensation-status{padding:6px 10px;border-radius:8px;background:var(--success-bg,#e9f7f1);color:var(--success,#19634f);font-size:.75rem;font-weight:600}.compensation-status.is-review{background:var(--warning-bg,#fff3df);color:var(--warning,#835400)}.compensation-notice{padding:12px 14px;border-radius:10px;background:var(--warning-bg,#fff3df);color:var(--warning,#835400);font-size:.85rem;line-height:1.6}
.compensation-chips{display:flex;flex-wrap:wrap;gap:6px;list-style:none;padding:0;margin:10px 0}.compensation-chips li{border:1px solid var(--line,#dfe6f2);border-radius:7px;padding:4px 8px;font-size:.73rem;line-height:1.4;color:var(--muted,#65748d)}
.compensation-evidence{margin-top:20px;border-top:1px solid var(--line,#dfe6f2);padding-top:16px}.compensation-evidence summary{cursor:pointer;font-size:.88rem;font-weight:600}.compensation-evidence blockquote{margin:16px 0;padding:12px 16px;border-left:3px solid var(--accent-line,#0800dc);background:var(--surface,#f6f8fc);font-size:.85rem;overflow-wrap:anywhere}.compensation-evidence pre{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;font-size:.8rem;padding:12px;background:var(--surface,#f6f8fc)}.compensation-source-fields p{display:grid;grid-template-columns:minmax(100px,1fr) minmax(0,3fr);gap:12px;font-size:.85rem}.compensation-source-fields span{overflow-wrap:anywhere}.compensation-history{padding-left:18px;font-size:.85rem;line-height:1.6}.compensation-history li{padding:8px 0}.compensation-history small{display:block;color:var(--muted,#65748d)}.compensation-history p{margin:4px 0}
.compensation-dialog{width:min(760px,calc(100vw - 32px));max-height:90dvh;border:1px solid var(--line,#dfe6f2);border-radius:18px;padding:24px;box-sizing:border-box;color:inherit;background:var(--paper,#fff)}.compensation-dialog::backdrop{background:rgba(16,27,54,.45)}.compensation-dialog>header{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px}.compensation-dialog>header h2{margin:0;font-size:1.15rem}.compensation-dialog .compensation-panel{margin:0}.compensation-dialog [data-compensation-content]{min-height:90px}.compensation-admin{margin-top:24px}
@media(max-width:600px){.compensation-panel:where(:not(.compensation-flow)){padding:18px}.compensation-dialog{padding:16px}.compensation-dialog .compensation-panel{padding:14px}.compensation-pay>div{display:grid;gap:6px}.compensation-source-fields p{grid-template-columns:1fr;gap:4px}.compensation-terms>li{padding:12px}}

/* Public job details continue the description; administrative panels keep their frame. */
.compensation-flow{border:0;border-radius:0;box-shadow:none;background:transparent;margin:0;padding-top:0;min-width:0}
.compensation-flow .compensation-heading{display:block;margin:0}
.compensation-flow .compensation-heading h2{font-size:21px;margin:0 0 22px!important}
.compensation-flow h3{font-size:18px;margin:24px 0 14px}
.compensation-flow .compensation-pay>div{display:flex;justify-content:flex-start;gap:8px;border:0;padding:0}
.compensation-flow .compensation-pay dt,.compensation-flow .compensation-pay dd{font-size:inherit;color:inherit}
.compensation-flow .compensation-pay dt::after{content:":"}
.compensation-flow .compensation-terms{margin:0;padding:0;gap:18px}
.compensation-flow .compensation-terms>li{padding:0;margin:0;border:0;border-radius:0;background:transparent;box-shadow:none}
.compensation-flow .compensation-term-head strong,.compensation-flow .compensation-terms p{font-size:inherit;line-height:inherit}



.compensation-flow .compensation-only-salary{margin:0 0 18px}
/* Benefits follow the existing category, schedule and workplace tags. */
.job-card .job-tags>span.compensation-chip{background:transparent;color:var(--muted,#65748d);border:1px solid var(--line,#dfe6f2);box-sizing:border-box;padding:3px 7px;box-shadow:none}
.job-listing .job-card .job-tags>span.compensation-chip{padding:2px 6px;background:transparent;color:var(--muted,#65748d)}
.job-card .job-tags .compensation-chip-marker{font:inherit;padding:0;border:0;border-radius:0;background:none;color:inherit}
/* Detail-page tags are larger; each shared explanation is printed once after its tags. */
.compensation-flow .compensation-detail-tags{display:flex;align-items:center;flex-wrap:wrap;gap:8px;list-style:none;margin:0 0 12px;padding:0}
.compensation-flow .compensation-detail-tags>li{display:inline-flex;align-items:baseline;flex-wrap:wrap;gap:5px;margin:0;max-width:100%;font:inherit;line-height:1.5;overflow-wrap:anywhere;background:transparent;color:inherit;box-shadow:none}
.compensation-flow .compensation-detail-tag{border:1px solid var(--line,#dfe6f2);border-radius:6px;padding:6px 11px}
.compensation-flow .compensation-detail-label{padding:0;border:0;border-radius:0}
.compensation-flow .compensation-benefit-group{margin:0 0 20px}
.compensation-flow .compensation-benefit-group:last-child{margin-bottom:0}
.compensation-flow .compensation-complement{margin:0 0 14px;font:inherit;line-height:inherit}

/* refinements.css */
/* 2.9.4: quiet surfaces and shadows; geometry stays unchanged during async updates. */
:root{--section-background:var(--canvas);--panel-background:var(--paper);--card-shadow:var(--shadow-sm);--card-shadow-hover:var(--shadow-md)}

body{background:var(--section-background)}
.site-header,.hero,.search-page-head{background:var(--panel-background)}
.section:not(.section-soft){background:transparent}
/* Preserve the established spacing around content. */
.hero.wrap,.section.wrap{padding-inline:clamp(16px,2.5vw,32px)}
.section-soft,.site-footer,.candidate-space,.employer-space{background:var(--section-background)}
.job-card,.candidate-panel,.employer-panel,.stat-card,.directory-card,.category-card,.company-card,.employer-card,.discovery-card{box-shadow:var(--card-shadow);background:var(--panel-background)}
.job-card:hover,.job-card:focus-within,.directory-card:hover,.company-card:hover{box-shadow:var(--card-shadow-hover)}
.search-form .advanced-search,.search-form .advanced-panel{background:var(--section-background)}
.editorial-note{background:var(--section-background);border:1px solid var(--line);padding:1rem 1.25rem;margin:1rem 0}
.editorial-note p{line-height:1.65;max-width:85ch}.editorial-note h2{font-size:1.05rem;font-weight:700;margin-bottom:.5rem}
.language-form{display:flex;align-items:center;margin:0;flex:none}.language-form .language{font-family:inherit;font-weight:600;font-size:12px;line-height:1.4;min-width:52px;min-height:40px;max-width:65px;border:1px solid transparent;border-radius:7px;padding:6px 4px;background:var(--panel-background);color:var(--ink);cursor:pointer}.language-form .language:focus-visible{outline:2px solid var(--link);outline-offset:2px}
.candidate-form,.employer-list,.candidate-table-wrap{min-width:0}.candidate-panel,.job-card{overflow-wrap:anywhere}
@media(max-width:700px){.language-form .language{min-width:48px;max-width:52px}.editorial-note{padding:1rem}.candidate-panel{max-width:100%}}
@media(prefers-reduced-motion:reduce){.job-card{transition:none}}

/* Shared page heading; data and forms are rendered by their original views. */
.page-heading-band{padding:42px 0 44px;background:var(--paper);color:var(--ink)}
.page-heading-inner{min-width:0}
.page-heading-band .hero{padding:0;background:transparent}
.page-heading-band .directory-heading,.page-heading-band .company-profile-head,.page-heading-band .job-detail-head{padding:0;margin:0;border:0}
.page-heading-band .candidate-heading{margin:0;align-items:flex-start}
.page-heading-band .candidate-nav{margin-bottom:0;flex-wrap:wrap;overflow:visible}
.page-heading-band .company-profile-head>div,.page-heading-band .candidate-heading>div{min-width:0}
.page-heading-band .job-detail-head .detail-company-row{margin-bottom:18px}
.page-heading-band p{max-width:85ch;overflow-wrap:anywhere}
.page-body{padding-top:32px}
.page-body>.directory-grid:first-child,.page-body>.employer-grid:first-child{margin-top:0}
.page-heading-band+.numbers,.page-heading-band+[data-journey-resume]:empty+.numbers{padding-top:28px}
/* Public heading colors and geometry are owned by page-heading.css. */
@media print{
 :root[data-theme="dark"] :is(.search-page-head,.page-heading-band):where(:not(.home-heading)){background:#fff;color:#202532}
 :root:not([data-theme="dark"]) :is(.search-page-head,.page-heading-band){background:#fff;color:#202532}
 :root:not([data-theme="dark"]) :is(.search-page-head,.page-heading-band) h1,
 :root:not([data-theme="dark"]) :is(.search-page-head,.page-heading-band) .breadcrumbs,
 :root:not([data-theme="dark"]) :is(.search-page-head,.page-heading-band) .breadcrumbs a,
 :root:not([data-theme="dark"]) :is(.search-page-head,.page-heading-band) .browse-sub,
 :root:not([data-theme="dark"]) :is(.search-page-head,.page-heading-band) .browse-sub a{color:#202532}
 :root:not([data-theme="dark"]) .page-heading-band :is(h2,p,small,a,span,button){color:#202532!important}
}

/* 2.9.9: primary action in the job-detail application card. */
.apply-card>.button.full{background:var(--accent-action);border-color:var(--accent-action);color:#fff}
.apply-card>.button.full:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:#fff}

/* Shared reading surface for jobs and institutional pages. */
.job-detail{background:var(--panel-background);box-shadow:var(--card-shadow)}

/* Muted, language-independent labels on all direct and sponsored job cards. */
:root .job-card .job-tags>span[data-job-tag]{background:var(--job-tag-bg,var(--surface));color:var(--job-tag-ink,var(--muted))}
.job-card [data-job-tag=full_time]{--job-tag-bg:#eef2ff;--job-tag-ink:#3b4b91}
.job-card [data-job-tag=part_time]{--job-tag-bg:#fff4e8;--job-tag-ink:#8a5420}
.job-card [data-job-tag=contract]{--job-tag-bg:#eaf7f7;--job-tag-ink:#246666}
.job-card [data-job-tag=temporary]{--job-tag-bg:#f7f3e8;--job-tag-ink:#75602a}
.job-card [data-job-tag=internship]{--job-tag-bg:#fceff6;--job-tag-ink:#8b4670}
.job-card [data-job-tag=apprenticeship]{--job-tag-bg:#f2edfb;--job-tag-ink:#65428c}
.job-card [data-job-tag=onsite]{--job-tag-bg:#edf4fb;--job-tag-ink:#365f82}
.job-card [data-job-tag=hybrid]{--job-tag-bg:#f4effb;--job-tag-ink:#6c4d8c}
.job-card [data-job-tag=remote]{--job-tag-bg:#eaf6ef;--job-tag-ink:#2e6748}
:root[data-theme=dark] .job-card [data-job-tag=full_time]{--job-tag-bg:#242d47;--job-tag-ink:#c1ccf2}
:root[data-theme=dark] .job-card [data-job-tag=part_time]{--job-tag-bg:#3b2e23;--job-tag-ink:#e9c5a2}
:root[data-theme=dark] .job-card [data-job-tag=contract]{--job-tag-bg:#203738;--job-tag-ink:#abd5d5}
:root[data-theme=dark] .job-card [data-job-tag=temporary]{--job-tag-bg:#383323;--job-tag-ink:#dbceaa}
:root[data-theme=dark] .job-card [data-job-tag=internship]{--job-tag-bg:#3b2835;--job-tag-ink:#e4bbd1}
:root[data-theme=dark] .job-card [data-job-tag=apprenticeship]{--job-tag-bg:#30263d;--job-tag-ink:#d4bce8}
:root[data-theme=dark] .job-card [data-job-tag=onsite]{--job-tag-bg:#233343;--job-tag-ink:#b6cfe4}
:root[data-theme=dark] .job-card [data-job-tag=hybrid]{--job-tag-bg:#322a40;--job-tag-ink:#d2c0e6}
:root[data-theme=dark] .job-card [data-job-tag=remote]{--job-tag-bg:#21372b;--job-tag-ink:#b4d8c1}

/* Listing criteria share the compact tags, without extra browser or per-card requests. */
:root body .job-card .job-place{color:#cd29c0}
:root[data-theme=dark] body .job-card .job-place{color:#f4a9e9}
:root body .job-card .job-place>.icon{color:inherit}
.job-card .job-tags>span{overflow-wrap:anywhere}
.job-card [data-job-tag^="filter-"]{--job-tag-bg:#edf4fb;--job-tag-ink:#365f82}
.job-card :is([data-job-tag=filter-level],[data-job-tag=filter-scope]){--job-tag-bg:#f4effb;--job-tag-ink:#6c4d8c}
.job-card :is([data-job-tag=filter-experience],[data-job-tag=filter-sponsorship]){--job-tag-bg:#eaf6ef;--job-tag-ink:#2e6748}
.job-card [data-job-tag=filter-skill]{--job-tag-bg:#eaf7f7;--job-tag-ink:#246666}
.job-card :is([data-job-tag=filter-salary_known],[data-job-tag=filter-period]){--job-tag-bg:#fff4e8;--job-tag-ink:#8a5420}
.job-card [data-job-tag=filter-industry]{--job-tag-bg:#fceff6;--job-tag-ink:#8b4670}
:root[data-theme=dark] .job-card [data-job-tag^="filter-"]{--job-tag-bg:#233343;--job-tag-ink:#b6cfe4}
:root[data-theme=dark] .job-card :is([data-job-tag=filter-level],[data-job-tag=filter-scope]){--job-tag-bg:#322a40;--job-tag-ink:#d2c0e6}
:root[data-theme=dark] .job-card :is([data-job-tag=filter-experience],[data-job-tag=filter-sponsorship]){--job-tag-bg:#21372b;--job-tag-ink:#b4d8c1}
:root[data-theme=dark] .job-card [data-job-tag=filter-skill]{--job-tag-bg:#203738;--job-tag-ink:#abd5d5}
:root[data-theme=dark] .job-card :is([data-job-tag=filter-salary_known],[data-job-tag=filter-period]){--job-tag-bg:#3b2e23;--job-tag-ink:#e9c5a2}
:root[data-theme=dark] .job-card [data-job-tag=filter-industry]{--job-tag-bg:#3b2835;--job-tag-ink:#e4bbd1}

/* 2.10.41: location + employer, compact tags, then summary + salary on every card. */
.job-card .job-card-meta{display:flex;align-items:baseline;flex-wrap:wrap;gap:5px 9px;min-width:0;margin:0}
.job-card .job-card-meta .job-place{min-width:0;max-width:100%;margin:0;flex:0 1 auto}
.job-card .job-card-meta .company-name{min-width:0;max-width:100%;margin:0;overflow-wrap:anywhere}
.job-card .job-meta-separator{display:inline-block;margin-inline-end:9px;color:var(--muted);font-weight:400}
.job-card>.job-salary{font-weight:700}.job-card>.job-salary>strong{font-weight:inherit}
/* Keep all five visible tags distinct, including criteria with the same usual color. */
.job-card [data-job-tag][data-tag-tone=blue]{--job-tag-bg:#eef2ff;--job-tag-ink:#3b4b91}
.job-card [data-job-tag][data-tag-tone=sky]{--job-tag-bg:#edf4fb;--job-tag-ink:#365f82}
.job-card [data-job-tag][data-tag-tone=purple]{--job-tag-bg:#f4effb;--job-tag-ink:#6c4d8c}
.job-card [data-job-tag][data-tag-tone=green]{--job-tag-bg:#eaf6ef;--job-tag-ink:#2e6748}
.job-card [data-job-tag][data-tag-tone=amber]{--job-tag-bg:#fff4e8;--job-tag-ink:#8a5420}
.job-card [data-job-tag][data-tag-tone=teal]{--job-tag-bg:#eaf7f7;--job-tag-ink:#246666}
.job-card [data-job-tag][data-tag-tone=pink]{--job-tag-bg:#fceff6;--job-tag-ink:#8b4670}
.job-card [data-job-tag][data-tag-tone=sand]{--job-tag-bg:#f7f3e8;--job-tag-ink:#75602a}
:root[data-theme=dark] .job-card [data-job-tag][data-tag-tone=blue]{--job-tag-bg:#242d47;--job-tag-ink:#c1ccf2}
:root[data-theme=dark] .job-card [data-job-tag][data-tag-tone=sky]{--job-tag-bg:#233343;--job-tag-ink:#b6cfe4}
:root[data-theme=dark] .job-card [data-job-tag][data-tag-tone=purple]{--job-tag-bg:#322a40;--job-tag-ink:#d2c0e6}
:root[data-theme=dark] .job-card [data-job-tag][data-tag-tone=green]{--job-tag-bg:#21372b;--job-tag-ink:#b4d8c1}
:root[data-theme=dark] .job-card [data-job-tag][data-tag-tone=amber]{--job-tag-bg:#3b2e23;--job-tag-ink:#e9c5a2}
:root[data-theme=dark] .job-card [data-job-tag][data-tag-tone=teal]{--job-tag-bg:#203738;--job-tag-ink:#abd5d5}
:root[data-theme=dark] .job-card [data-job-tag][data-tag-tone=pink]{--job-tag-bg:#3b2835;--job-tag-ink:#e4bbd1}
:root[data-theme=dark] .job-card [data-job-tag][data-tag-tone=sand]{--job-tag-bg:#383323;--job-tag-ink:#dbceaa}

/* help-public.css */
/* Shared public rules extracted without changing selector order. */
.context-help{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;width:30px;height:30px;margin-inline:4px;flex:none;border-radius:50%;color:var(--link,#0000cc);text-decoration:none}
.context-help svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.context-help:hover{background:var(--tint,#f0f0ff)}
.context-help:focus-visible{outline:2px solid currentColor;outline-offset:3px}
.page-heading-band .context-help{color:inherit}
.page-heading-band .context-help:hover{background:#ffffff20}
.help-answer a,.page-content a,.policy-toc a{color:var(--link,#0000cc);text-decoration:underline;text-underline-offset:3px}
.search-help{grid-column:1/-1;margin:0;display:flex;align-items:center;gap:.4rem;font-size:.875rem}
.page-heading-band .context-help{color:inherit;border-color:currentColor;opacity:.9}
.page-heading-band .context-help:hover{opacity:1;background:rgba(255,255,255,.15)}
body :is(p,li,small,label,blockquote,figcaption,.page-content,.job-description,.help-answer,.policy-toc) a[href]:not(:where(.button,.btn,.icon-button,.text-button,.context-help,[role="button"],[download],.site-header *,.site-footer *,.context-links *,.breadcrumbs *, .job-card *,.category-card *,.directory-card *,.company-card *,.employer-card *,.discovery-card *,.stat-card *,.card *, .help-tabs *)),
body a.text-link[href]:not(:where(.button,.btn,[role="button"],.job-card *,.category-card *,.directory-card *,.company-card *,.employer-card *,.discovery-card *,.stat-card *,.card *)) {
  color:var(--context-link,var(--link,#0000cc));
  text-decoration-line:underline;
  text-decoration-color:currentColor;
  text-decoration-thickness:1px;
  text-underline-offset:3px;
  text-decoration-skip-ink:auto;
}
body :is(p,li,small,label,blockquote,figcaption,.page-content,.job-description,.help-answer,.policy-toc) a[href]:not(:where(.button,.btn,.icon-button,.text-button,.context-help,[role="button"],[download],.site-header *,.site-footer *,.context-links *,.breadcrumbs *, .job-card *,.category-card *,.directory-card *,.company-card *,.employer-card *,.discovery-card *,.stat-card *,.card *, .help-tabs *)):is(:hover,:focus-visible),
body a.text-link[href]:not(:where(.button,.btn,[role="button"],.job-card *,.category-card *,.directory-card *,.company-card *,.employer-card *,.discovery-card *,.stat-card *,.card *)):is(:hover,:focus-visible) {
  color:var(--context-hover,#b322a7);
  text-decoration-color:currentColor;
}
a.context-help{vertical-align:top;width:25.5px;height:25.5px;align-self:flex-start;text-decoration:none}
a.context-help svg{width:17px;height:17px}
a.context-help:hover{text-decoration:none}
.search-help{display:block}
.context-help-tail{display:inline;white-space:nowrap}
a.context-help{display:inline-flex;position:relative;top:-.12em;vertical-align:text-top;align-items:center;justify-content:center;font-size:1rem;line-height:1;width:25.5px;height:25.5px;margin-inline:2px 0;white-space:nowrap;text-decoration:none}
a.context-help svg{display:block;width:17px;height:17px;flex:none}

/* sponsored.css */
.sponsored-label{display:inline-block;font-size:12px;font-weight:650;line-height:1.5;color:var(--muted,#56617a);margin-bottom:10px}.page-heading-band .sponsored-label{color:inherit}.sponsored-card .employer-heading{margin-bottom:12px}.sponsored-card h3{margin-bottom:10px}.sponsored-card .job-intro{margin-top:12px}.sponsored-card .job-card-actions{margin-top:18px}.sponsored-transfer{margin:0;background:var(--canvas);color:var(--ink);font:16px/1.65 system-ui,sans-serif;min-height:100svh;display:grid;place-items:center}.sponsored-transfer main{width:min(580px,calc(100% - 64px));text-align:center;padding:32px 0}.sponsored-transfer img{max-width:100%;object-fit:contain}.sponsored-transfer h1{font-size:24px;line-height:1.4;margin:28px 0 12px}.sponsored-transfer a{color:var(--link);text-underline-offset:6px}.sponsored-transfer a:hover{color:var(--link-hover)}.sponsored-spinner{display:block;width:40px;height:40px;margin:22px auto;fill:none;stroke:var(--accent-line);stroke-width:3;stroke-dasharray:72 101;animation:sponsored-spin 1s linear infinite}@keyframes sponsored-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.sponsored-spinner{animation:none}}
.sponsored-apply{margin:0}.sponsored-apply .button{display:inline-flex;gap:8px;align-items:center;justify-content:center}.sponsored-card .sponsored-label{flex:0 0 auto;margin:0 0 0 10px}.sponsored-card .job-card-actions{justify-content:flex-end}.sponsored-card .job-card-top{align-items:flex-start}

/* Partner detail links keep Jobbol blue independently of application CTAs. */
:root body .sponsored-apply>.button.sponsored-action{background:#0000cc;border-color:#0000cc;color:#fff;white-space:nowrap;word-break:normal;overflow-wrap:normal;min-width:0;max-width:100%;line-height:1.3;box-shadow:none}
:root body .sponsored-apply>.button.sponsored-action:hover{background:#0000a6;border-color:#0000a6;color:#fff}
:root body .sponsored-apply>.button.sponsored-action:focus-visible{outline:3px solid var(--link);outline-offset:3px}
.sponsored-action-label{white-space:nowrap;min-width:0;word-break:normal;overflow-wrap:normal}
.sponsored-action>.icon{width:16px;height:16px;flex:0 0 16px}
.sponsored-card .job-card-actions .sponsored-apply{width:clamp(154px,18vw,180px);max-width:100%;container-type:inline-size;flex:0 0 auto}
:root body .sponsored-card .sponsored-apply>.button.sponsored-action{width:100%;min-height:42px;padding:10px 12px;gap:8px;font-size:13px;font-size:clamp(11px,8.5cqi,14px)}
@media(max-width:480px){.sponsored-card .job-card-actions .sponsored-apply{width:160px;max-width:100%}}

/* Stronger scoped selectors prevent listing styles from resetting the badge. */
:root body .sponsored-label,
:root body .job-card.sponsored-card .sponsored-label{background:#f59e0b;color:#f6f6f6;border:0;border-radius:5px;padding:3px 7px;font-weight:400}
:root[data-theme=dark] body .sponsored-label,
:root[data-theme=dark] body .job-card.sponsored-card .sponsored-label{background:#f59e0b;color:#f6f6f6;border:0;font-weight:400}
:root body .sponsored-apply>.button.sponsored-action>svg.icon{width:14px!important;height:14px!important;min-width:14px!important;max-width:14px!important;flex:0 0 14px!important}

/* context-navigation.css */
/* Reading links and contextual navigation share colors; chips retain their own affordance. */
:root{--context-link:var(--link);--context-hover:var(--link-hover);--context-surface:var(--paper);--context-tint:var(--tint);--context-border:var(--control-border)}
:is(.breadcrumbs,.context-chain,.role-context,.role-links,.discovery-groups,.site-footer,.prose,.page-content,.legal-content) a:not(.button),a.text-link{color:var(--context-link);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;text-decoration-skip-ink:auto;text-decoration-color:currentColor}
:is(.breadcrumbs,.context-chain,.role-context,.role-links,.discovery-groups,.site-footer,.prose,.page-content,.legal-content) a:not(.button):hover,a.text-link:hover{color:var(--context-hover);text-decoration-color:currentColor}
:is(.page-heading-band,.search-page-head) :is(.breadcrumbs a,.context-chain a){color:#fff;text-decoration-color:rgba(255,255,255,.72)}
:is(.page-heading-band,.search-page-head) :is(.breadcrumbs a,.context-chain a):hover{color:#f5c3f0;text-decoration-color:currentColor}
.site-header .primary-nav a:not(.button){text-decoration:underline;text-decoration-color:transparent;text-decoration-thickness:2px;text-underline-offset:5px;transition:color .12s,text-decoration-color .12s;border-radius:4px}
.site-header .primary-nav a:not(.button):is(:hover,:focus-visible){color:#0000cc;text-decoration-color:currentColor;background:transparent}
html[data-theme=dark] .site-header .primary-nav a:not(.button){color:#dce1f2}html[data-theme=dark] .site-header .primary-nav a:not(.button):is(:hover,:focus-visible){color:var(--context-link)}
.candidate-nav a,.help-tabs a{color:var(--context-link);text-decoration:none;text-underline-offset:4px}.candidate-nav a:hover,.help-tabs a:hover{text-decoration:none}
:root:not([data-theme=dark]) .page-heading-band .candidate-nav a{color:#fff}:root:not([data-theme=dark]) .page-heading-band .candidate-nav a:is(:hover,:focus-visible){color:#fff;background:rgba(255,255,255,.14);text-decoration:none;border-bottom-color:#f3a8eb}
.job-sequence{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:0 0 24px}.job-sequence [hidden]{display:none!important}
.context-chain{display:flex;flex-wrap:wrap;gap:5px 10px;align-items:baseline;margin:0 0 20px;line-height:1.8;font-size:.875rem}.context-chain>span{opacity:.65}.context-chain a{overflow-wrap:anywhere}
.context-links{margin:28px 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:24px}.context-links h2,.context-links h3{font-size:18px;margin:0 0 14px;line-height:1.4}.context-links ul{display:flex;flex-wrap:wrap;gap:10px;list-style:none;margin:0;padding:0}
.context-links a{display:inline-flex;align-items:center;gap:7px;min-height:44px;padding:10px 14px;border:1px solid var(--context-border);border-radius:10px;background:var(--context-surface);box-shadow:0 2px 5px #17214a06;color:var(--context-link);font-size:14px;font-weight:500;line-height:1.5;text-decoration:none;text-underline-offset:3px;text-decoration-skip-ink:auto;transition:background-color .14s,border-color .14s,color .14s}
.context-links a:is(:hover,:focus-visible){color:var(--context-link);background:var(--context-tint);border-color:var(--context-link);text-decoration:none}.context-links a:focus-visible{outline:2px solid var(--context-link);outline-offset:3px}.context-links a .small{color:inherit;opacity:.8;font-size:12px}.context-links small{display:block;margin-top:12px;color:var(--muted);line-height:1.6}
html[data-theme=dark] .context-links a{color:var(--context-link);border-color:var(--context-border);background:var(--context-surface);text-decoration:none;box-shadow:0 2px 6px #0002}
html[data-theme=dark] .context-links a:is(:hover,:focus-visible){background:var(--context-tint);border-color:var(--context-link);color:var(--context-link)}
@media(max-width:600px){.job-sequence{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:6px}.job-sequence>.button{width:100%;min-width:0;min-height:44px;gap:4px;padding:7px 4px;font-size:11px;line-height:1.25;text-align:center;justify-content:center}.job-sequence>[data-navigation-status]{grid-column:1/-1}.job-sequence>.button>.action-label{min-width:0;white-space:normal;word-break:normal;overflow-wrap:normal}.job-sequence>.button>.icon{width:14px;height:14px;flex:0 0 14px}.context-links{grid-template-columns:1fr}.context-chain{font-size:13px}.context-links a{padding:10px 12px}.context-links ul{gap:8px}}
@media(prefers-reduced-motion:reduce){.context-links a,.site-header .primary-nav a{transition:none}}

/* Shared Helpful next steps: compact wrapping rows, without changing inventory grids. */
.context-links.context-support{display:block}
.context-links.context-support ul{display:flex;flex-direction:row;flex-wrap:wrap;align-items:stretch;gap:10px}
.context-links.context-support li{display:block;flex:0 1 auto;width:auto;min-width:0;max-width:100%}
.context-links.context-support li>a{display:inline-flex;align-items:center;justify-content:center;max-width:100%;min-height:44px;padding:10px 14px;font-size:13px;line-height:1.5;white-space:normal;overflow-wrap:anywhere}
@media(max-width:600px){.context-links.context-support ul{gap:8px}.context-links.context-support li>a{font-size:13px;padding:9px 12px}}

/* forms.css */
/* Public form system. Loaded only by portal layouts; admin keeps its own controls. */
:root{--form-height:52px;--form-radius:10px;--form-gap:18px;--form-bg:var(--paper);--form-border:var(--control-border);--form-hover:var(--control-hover);--form-focus:var(--focus);--form-ring:var(--focus-ring);--form-label:var(--ink);--form-placeholder:var(--muted);--form-error:var(--error);--form-error-bg:var(--error-bg);--form-disabled:var(--disabled);--form-shadow:var(--shadow-sm)}

:where(form:not(.language-form):not(.header-signout),.help-search,.dt-container,#location-dialog) :is(input:not([type=hidden]):not([type=checkbox]):not([type=radio]):not([type=range]):not([type=submit]):not([type=button]),select,textarea){width:100%;min-width:0;max-width:100%;min-height:var(--form-height);padding:12px 14px;border:1px solid var(--form-border);border-radius:var(--form-radius);background:var(--form-bg);color:var(--ink,#18213b);font-family:inherit;font-size:16px;font-weight:450;line-height:1.5;box-shadow:0 1px 2px #17214a04;transition:border-color .14s,box-shadow .14s,background-color .14s;scroll-margin-block:120px 30px;letter-spacing:normal}
:where(form:not(.language-form):not(.header-signout),.help-search,.dt-container,#location-dialog) :is(input,textarea)::placeholder{color:var(--form-placeholder);opacity:1;font-weight:400}
:where(form:not(.language-form):not(.header-signout),.help-search,.dt-container,#location-dialog) :is(input,select,textarea):hover:not(:disabled):not([readonly]){border-color:var(--form-hover)}
:where(form:not(.language-form):not(.header-signout),.help-search,.dt-container,#location-dialog) :is(input,select,textarea):focus{outline:2px solid var(--form-focus);outline-offset:2px;border-color:var(--form-focus);box-shadow:0 0 0 5px var(--form-ring)}
:where(form:not(.language-form):not(.header-signout),.help-search,.dt-container,#location-dialog) :is(input,select,textarea):disabled{background:var(--form-disabled);color:var(--muted);opacity:1;cursor:not-allowed;box-shadow:none}
:where(form:not(.language-form):not(.header-signout)) :is(input,textarea)[readonly]{background:var(--canvas);color:var(--muted)}
:where(form:not(.language-form):not(.header-signout)) textarea{resize:vertical;min-height:136px;overflow-wrap:anywhere}
:where(form:not(.language-form):not(.header-signout),.dt-container) select{padding-inline-end:40px;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='m5 7 5 5 5-5' fill='none' stroke='%23596682' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:20px;cursor:pointer}
html[data-theme=dark] :where(form:not(.language-form):not(.header-signout),.dt-container) select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='m5 7 5 5 5-5' fill='none' stroke='%23d1d8eb' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
:where(form:not(.language-form):not(.header-signout)) input:is([type=checkbox],[type=radio]){width:19px;height:19px;min-height:19px;flex:0 0 19px;accent-color:var(--form-focus);vertical-align:middle;cursor:pointer;box-shadow:none;padding:0;border-radius:4px;margin:3px 0 0}
:where(form:not(.language-form):not(.header-signout)) input[type=radio]{border-radius:50%}:where(form:not(.language-form):not(.header-signout)) input[type=range]{width:100%;min-height:44px;accent-color:var(--form-focus);cursor:pointer;padding:0}
:where(form:not(.language-form):not(.header-signout)) input[type=file]{padding:8px;min-height:58px;line-height:2;cursor:pointer;font-size:14px}
:where(form:not(.language-form):not(.header-signout)) input[type=file]::file-selector-button{border:1px solid var(--line);border-radius:7px;background:var(--canvas);color:var(--ink);padding:7px 12px;margin-inline-end:10px;font-family:inherit;font-size:13px;font-weight:600;line-height:1.5;cursor:pointer}
:where(.candidate-form,.auth-form,.contact-form,.employer-list-filters,.search-alert form){gap:var(--form-gap)}
:where(.candidate-form,.auth-form,.contact-form,.employer-list-filters,.search-alert form) label:not(.check-label){display:grid;gap:8px;min-width:0;font-size:14px;font-weight:600;line-height:1.5;color:var(--form-label)}
.jb-label-text{display:block;font-size:14px;line-height:1.5;font-weight:600;color:var(--form-label)}.jb-required{color:var(--form-error);font-size:13px;margin-inline-start:4px;text-decoration:none}
:where(form:not(.language-form):not(.header-signout)) :is(.check-label,.jb-check-label){display:flex!important;align-items:flex-start;gap:10px;min-height:44px;line-height:1.65;font-size:14px;font-weight:400;color:var(--ink);padding-block:8px;cursor:pointer}
.jb-check-copy{display:block;flex:1;min-width:0}.jb-check-copy a{display:inline!important}.candidate-categories{padding:8px 4px;scrollbar-width:thin}.candidate-categories .check-label{padding:8px;gap:10px;border-radius:8px}.candidate-categories .check-label:hover{background:var(--canvas)}
.jb-form :is(.candidate-two,.advanced-grid){gap:18px 20px}.jb-form :is(fieldset,.field){min-width:0}.jb-form fieldset{border:0;padding:0;margin:0;min-width:0}.jb-form fieldset legend{font-size:18px;font-weight:650;color:var(--ink);margin-bottom:18px}.jb-form fieldset:disabled{opacity:1}
:where(form:not(.language-form):not(.header-signout)) :is(.button,button[type=submit]){min-height:52px;border-radius:10px;font-size:15px;font-weight:650;line-height:1.5;position:relative}
.jb-form .button:not(.secondary):not(.danger),.jb-form button[type=submit]:not(.secondary):not(.danger){background:var(--accent-action);border-color:var(--accent-action);color:#fff}.jb-form .button:not(.secondary):not(.danger):hover,.jb-form button[type=submit]:not(.secondary):not(.danger):hover{background:var(--accent-hover);border-color:var(--accent-hover);color:#fff}
.jb-form .button.secondary{background:var(--paper);border-color:var(--form-border);color:var(--link)}.jb-form .button.secondary:hover{background:var(--canvas);border-color:var(--form-focus)}.jb-form .button.danger{background:#a21d3a;color:#fff;border-color:#a21d3a}
.jb-form :is(button,a):focus-visible{outline:2px solid var(--form-focus);outline-offset:3px}.jb-form button:disabled{cursor:wait}.jb-form[aria-busy=true],.employer-space .jb-form[aria-busy=true]{opacity:1}.jb-form[aria-busy=true] button[type=submit],.jb-form[aria-busy=true] button:not([type]){opacity:.75}
.jb-form-status{font-size:13px;line-height:1.5;color:var(--muted);min-height:20px;margin:0;display:flex;align-items:center;gap:8px}.jb-form-status:empty{visibility:hidden}.jb-form-status .jobbol-spinner{width:16px;height:16px;flex:0 0 16px}
.jb-field-error{display:block;margin:6px 0 0;font-size:13px;font-weight:450;line-height:1.5;color:var(--form-error);overflow-wrap:anywhere}.jb-field-error:empty{display:none}.jb-form [aria-invalid=true]:not([type=checkbox]):not([type=radio]){border-color:var(--form-error);box-shadow:0 0 0 1px var(--form-error)}.jb-form [aria-invalid=true]:focus{outline-color:var(--form-error);box-shadow:0 0 0 5px var(--form-ring)}
.jb-form-summary{background:var(--form-error-bg);color:var(--form-error);border:1px solid var(--form-error);border-radius:10px;padding:12px 15px;font-size:14px;line-height:1.6;scroll-margin-top:120px}.jb-form-summary[hidden]{display:none}.jb-form-summary p{color:inherit}.jb-native-success{border-color:var(--success);background:var(--success-bg);color:var(--success)}
.jb-password-control{position:relative;display:block;min-width:0}.jb-password-control input{padding-inline-end:76px!important}.jb-password-toggle{position:absolute;inset-inline-end:6px;top:4px;min-width:60px;min-height:44px;border:0;border-radius:7px;background:transparent;color:var(--link);font-size:13px;font-weight:600;padding:8px;line-height:1.4;cursor:pointer}.jb-password-toggle:hover{background:var(--canvas)}.jb-password-toggle:disabled{opacity:.6}.jb-caps-note,.jb-password-hint,.jb-file-meta{font-size:12px;font-weight:400;color:var(--muted);line-height:1.6;margin:5px 0 0;overflow-wrap:anywhere}.jb-password-hint.is-complete{color:var(--success)}
.candidate-auth{align-items:start;gap:clamp(28px,6vw,78px);padding-block:48px}.candidate-auth>.candidate-panel{border-radius:16px;padding:32px;box-shadow:var(--form-shadow);margin-bottom:0}.candidate-panel,.support-card{box-shadow:var(--form-shadow)}.candidate-steps{gap:12px;margin-bottom:28px;line-height:1.5;font-size:12px}.candidate-steps li{position:relative;padding-bottom:12px;min-width:0}.candidate-steps .current{border-color:#cd29c0;color:var(--link)}.candidate-steps .is-complete{border-color:var(--success);color:var(--success)}.signup-email-fields{display:grid;gap:18px}.signup-status:empty{display:none}
.jb-form .suggestions{margin:6px 0 0;border:1px solid var(--form-border);border-radius:10px;background:var(--paper);box-shadow:var(--shadow-md);max-height:min(320px,45vh);overflow-y:auto;overscroll-behavior:contain;z-index:30}.jb-form .suggestions button{font-size:15px;min-height:48px;white-space:normal;line-height:1.5;color:var(--ink);background:var(--paper);padding:12px 14px;display:block;width:100%;text-align:left;position:static;border:0;border-radius:0}.jb-form .suggestions button:is(:hover,:focus-visible),.jb-form .suggestions .active button{background:var(--canvas);color:var(--link);outline-offset:-2px}
#job-search{--form-height:58px;padding:26px 28px;border-radius:16px;background:var(--paper);box-shadow:var(--form-shadow);overflow:visible;color:var(--ink)}#job-search .search-main{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(170px,auto);gap:18px;align-items:end}#job-search .field>label{margin:0 0 8px;font-size:14px;line-height:1.5;color:var(--form-label)}#job-search .input-wrap{position:relative;min-width:0}#job-search .input-wrap>.icon{position:absolute;inset-inline-start:16px;top:18px;transform:none;pointer-events:none;color:var(--form-focus);width:21px;height:21px}#job-search .input-wrap>input[data-autocomplete]{min-height:58px;padding:14px 15px 14px 48px;border-color:var(--form-border);color:var(--ink);font-size:16px;font-weight:650}#job-search .input-wrap>input[data-autocomplete]::placeholder{font-weight:400;color:var(--form-placeholder)}#job-search .search-submit{height:58px;min-height:58px;margin:0;border-radius:10px;font-size:16px}#job-search .advanced{margin:20px 0 0}#job-search .advanced>summary{display:flex;align-items:center;gap:9px;width:fit-content;color:var(--link);font-size:14px;font-weight:600;min-height:44px;padding:0;cursor:pointer;list-style:none}#job-search .advanced>summary::-webkit-details-marker{display:none}#job-search .advanced .advanced-grid{margin:18px -28px -26px;padding:24px 28px;background:var(--canvas);border-top:1px solid var(--line);border-radius:0 0 16px 16px;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px 20px}#job-search .advanced:not([open]) .advanced-grid{display:none}#job-search .advanced-grid .search-help{grid-column:1/-1;margin:0}#job-search .advanced-grid .radius-label{align-content:start}#job-search .advanced-grid input[type=range]{min-height:44px;margin-top:3px}html[data-theme=dark] #job-search .advanced .advanced-grid{background:var(--canvas)}html[data-theme=dark] #job-search .input-wrap>input[data-autocomplete]{color:var(--ink);background:var(--form-bg)}
:where(.dt-container) :is(input,select){min-height:44px;font-size:16px!important;border-radius:9px!important;border-color:var(--form-border)!important;background-color:var(--form-bg)!important;color:var(--ink)!important}.candidate-panel .dt-container .dt-search input{max-width:230px}.candidate-panel .dt-container .dt-length select{min-width:78px}
@media(max-width:760px){.candidate-auth{grid-template-columns:1fr;padding-block:28px;gap:24px}.candidate-auth>.candidate-panel{padding:24px}.candidate-two,.jb-form .candidate-two{grid-template-columns:1fr}.jb-form .button-row{gap:12px}.jb-form .button-row>.button{flex:1 1 160px}.jb-form>.button,.signup-email-fields>.button{width:100%;justify-self:stretch}#job-search .search-main{grid-template-columns:1fr}#job-search .search-submit{width:100%}#job-search .advanced .advanced-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.candidate-steps{font-size:12px;gap:10px}}
@media(max-width:480px){.candidate-auth>.candidate-panel,.candidate-panel,.support-card{padding:20px}#job-search{padding:20px;border-radius:14px}#job-search .advanced .advanced-grid{grid-template-columns:1fr;margin:16px -20px -20px;padding:20px;border-radius:0 0 14px 14px}.employer-list-filters{flex-direction:column;align-items:stretch}.employer-list-filters label{width:100%;min-width:0}.candidate-steps{font-size:11px;gap:8px}.jb-form :is(input,select,textarea){font-size:16px}.jb-form .button-row>.button{flex-basis:100%}.candidate-panel .dt-container .dt-search input{max-width:180px}}
@media(prefers-reduced-motion:reduce){:where(form:not(.language-form):not(.header-signout)) :is(input,select,textarea,button){transition:none!important}.jb-form-status .jobbol-spinner{animation:none!important}}

label:has(.jb-password-hint)+small{display:none}.header-tools form select{width:66px;min-height:40px;padding:7px 26px 7px 10px;font-size:12px;border-radius:8px;background-position:right 6px center;background-size:16px}.header-tools form{margin:0}

#job-search .search-help{color:var(--muted)}.jb-form :is(input,select,textarea){font-variant-numeric:normal}.jb-form [data-field-error]:empty{display:none}.jb-form :is(.check-label,.jb-check-label) input:disabled{cursor:not-allowed}@media(max-width:700px){.header-tools form select{font-size:16px;width:72px;min-height:44px}}

/* adaptive.css */
/* Shared responsive geometry. Colors are supplied by the central site tokens. */
html{scroll-padding-top:calc(var(--header-offset,var(--header-height)) + 16px)}
body{padding-bottom:var(--privacy-overlay-height,0px)}
:where(.hero,.results-layout,.job-layout,.candidate-grid,.candidate-two,.support-fields,.footer-top,.directory-grid,.employer-grid,.featured-jobs,.results-grid)>*{min-width:0}
:where(h1,h2,h3,h4,.breadcrumbs,.context-chain,.company-name,.job-tags,.button-row,.employer-status,.candidate-facts){overflow-wrap:anywhere}
.button.secondary,.results-toolbar button{border-color:var(--control-border)}
.button:focus-visible,.icon-button:focus-visible{outline-color:var(--focus)}
.header-account-actions .header-signout .signout-button{min-height:44px;border:0;border-radius:7px;padding:9px 8px;background:transparent;color:var(--link);font-size:14px}
.header-account-actions .header-signout .signout-button:hover{background:var(--surface)}
.header-tools .language-form select.language{width:64px;min-width:64px;max-width:64px;min-height:44px;font-size:16px;border-color:var(--control-border)}
.apply-card{background:var(--paper)}
.apply-sidebar{top:calc(var(--header-offset,var(--header-height)) + 20px)}
.results-region,.help-question,.page-content :is(h2,h3),.jb-form-summary{scroll-margin-top:calc(var(--header-offset,var(--header-height)) + 20px)}
.suggestions{max-height:min(320px,45dvh,var(--suggestion-space,320px));overscroll-behavior:contain;scrollbar-gutter:stable;touch-action:pan-y}
.suggestions.is-above{top:auto;bottom:calc(100% + 6px)}
.suggestions li{min-height:48px;overflow-wrap:anywhere;touch-action:manipulation}
.jb-form .suggestions{max-height:min(320px,45dvh,var(--suggestion-space,320px))}
.jb-form .suggestions li:has(button){padding:0}
.advanced>summary{border-radius:6px}
.advanced>summary:focus-visible{outline:2px solid var(--focus);outline-offset:4px}
.facet-summary button{min-height:44px;font-size:13px}
.facet-summary button[aria-pressed=true]{box-shadow:inset 3px 0 var(--accent-line);font-weight:650}
.facet-summary button[aria-pressed=true]::before{content:'\2713';flex:none}
.results-toolbar button{min-height:44px}
.results-toolbar button[aria-pressed=true]{box-shadow:inset 0 -3px #fff;font-weight:750}
.job-tags span{max-width:100%;font-size:12px;line-height:1.5}
.job-place>span{min-width:0}
.job-distance{display:inline;white-space:normal}
.job-card .job-actions{gap:4px;margin-inline-end:-4px}
.results-grid .job-card:focus-within,.results-grid .job-card:has(.application-indicator[aria-expanded=true]){content-visibility:visible;contain:none;z-index:2}
.save-job,.application-indicator{min-width:44px;min-height:44px}
.activity-tooltip{right:0;inset-inline-end:0;width:min(270px,calc(100vw - 64px));background:var(--tooltip-bg);color:var(--tooltip-text);border:1px solid var(--strong-line);font-size:13px}
.sponsored-card .sponsored-label{max-width:44%;white-space:normal;overflow-wrap:anywhere}
.job-description{max-width:80ch}
.job-description :is(pre,code){white-space:pre-wrap;overflow-wrap:anywhere}
.job-description table{overscroll-behavior-x:contain}
.job-preview-content{flex:1;min-height:0;scrollbar-gutter:stable}
.job-preview-footer{padding-bottom:max(16px,env(safe-area-inset-bottom))}
dialog{max-height:calc(min(100dvh,var(--viewport-height,100dvh)) - 24px);overscroll-behavior:contain;scrollbar-gutter:stable}
dialog::backdrop{background:var(--overlay)}
body:has(dialog[open]){overflow:hidden}
.job-preview-dialog{max-height:calc(min(100dvh,var(--viewport-height,100dvh)) - 24px)}
.job-preview-head{background:var(--elevated)}
.preview-company{margin-bottom:20px}
.toasts{bottom:calc(16px + env(safe-area-inset-bottom) + var(--privacy-overlay-height,0px));max-height:min(44dvh,360px);overflow-y:auto;overscroll-behavior:contain}
.toast,.candidate-toast{background:var(--tooltip-bg);color:var(--tooltip-text);border:1px solid var(--strong-line)}
.toast>span,.candidate-toast>span{min-width:0;overflow-wrap:anywhere}
.toast button,.candidate-toast button{width:44px;min-width:44px;height:44px}
.privacy-banner{z-index:30;bottom:max(16px,env(safe-area-inset-bottom));max-height:min(60dvh,420px);overflow-y:auto;overscroll-behavior:contain;background:var(--elevated)}
body:has(.privacy-banner) .toasts{bottom:calc(16px + env(safe-area-inset-bottom) + var(--privacy-overlay-height,0px))}
.privacy-actions{flex-wrap:wrap}
.privacy-actions .button{min-height:48px}
html[data-compact-viewport] .site-header{position:relative}
html[data-compact-viewport] .privacy-banner{position:relative;inset:auto;transform:none;margin:16px auto;max-height:none}
.discovery-groups{grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr))}
.context-links{grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr))}
.context-links :is(li,a){max-width:100%;overflow-wrap:anywhere}
.location-pill{white-space:normal;text-align:left}
.directory-grid>a{align-items:flex-start}
.directory-grid>a>span:first-child{min-width:0}
.directory-count{flex:none;max-width:45%;text-align:right;overflow-wrap:anywhere}
.sponsored-transfer .logo-dark{margin-inline:auto}
.employer-details{grid-template-columns:minmax(130px,180px) minmax(0,1fr)}
.employer-details :is(dt,dd){min-width:0;overflow-wrap:anywhere}
.company-profile-status{flex-wrap:wrap}
.company-team-row>div{min-width:min(180px,100%)}
.candidate-table-wrap{max-width:100%;overscroll-behavior-x:contain;scrollbar-gutter:stable}
.candidate-table-wrap:focus-visible{outline:2px solid var(--focus);outline-offset:3px}
.table-check{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;cursor:pointer}
.table-check input{margin:0}
.candidate-panel .dt-container .dt-paging button.dt-paging-button{min-width:44px;min-height:44px;border-color:var(--control-border)}
.candidate-panel table.dataTable>tbody>tr>td{background:transparent}
.candidate-form details summary,.support-policy summary{min-height:44px}
.jb-form :is(input,select,textarea){scroll-margin-top:calc(var(--header-offset,var(--header-height)) + 20px)}
.jb-form .suggestions button:focus-visible{outline:2px solid var(--focus);outline-offset:-3px}
html[data-theme=dark] :is(.job-card,.discovery-groups a,.discovery-alternatives a):is(:hover,:focus-within){border-color:var(--accent-line);color:var(--ink)}
html[data-theme=dark] :is(.discovery-groups,.discovery-alternatives) a:hover{color:var(--link)}
html[data-theme=dark] :is(.employer-choice-card,.category-card,.directory-grid>a,.employer-card,.location-pill):is(:hover,:focus-visible){border-color:var(--accent-line)}
html[data-theme=dark] :is(.page-heading-band,.search-page-head){background:var(--elevated);border-bottom:1px solid var(--line)}
html[data-theme=dark] :is(.page-heading-band,.search-page-head) :is(.breadcrumbs a,.context-chain a){color:var(--link);text-decoration-color:currentColor}
html[data-theme=dark] :is(.page-heading-band,.search-page-head) :is(.breadcrumbs a,.context-chain a):hover{color:var(--link-hover)}
html[data-theme=dark] :is(.employer-status,.application-confirmation){color:var(--ink);border-color:var(--strong-line);background:var(--tint)}
html[data-theme=dark] .company-avatar{background:#fff;border-radius:7px}
html[data-theme=dark] .results-toolbar button:hover{border-color:var(--accent-line)}
@media(hover:hover) and (pointer:fine){.button:hover{box-shadow:var(--shadow-sm)}}
@media(max-width:1024px){
 .hero{column-gap:32px}.page-heading-inner{min-width:0}
 .header-account-actions .button{white-space:normal}
}
@media(max-width:900px){
 .header-inner{padding-top:max(6px,env(safe-area-inset-top));padding-bottom:8px}
 .header-account-actions{gap:6px 12px;align-items:center}
 .header-account-session{gap:6px;min-width:0}
 .header-account-actions .button,.header-account-actions .signin{font-size:13px;min-height:44px}
 .header-account-session .signin{display:inline-flex;align-items:center;justify-content:center}
 .primary-nav{max-height:calc(min(100dvh,var(--viewport-height,100dvh)) - var(--header-offset,var(--header-height)));padding-bottom:max(16px,env(safe-area-inset-bottom));overscroll-behavior:contain}
 .primary-nav a{min-height:48px;white-space:normal}
 .header-account-actions .employer-cta{flex:0 1 auto}
}
@media(max-width:760px){
 .candidate-auth.has-context{grid-template-columns:minmax(0,1fr);gap:24px;padding-block:24px 40px}
 .candidate-auth.has-context>.candidate-panel{grid-column:1;grid-row:1;width:100%}
 .candidate-auth.has-context>.candidate-intro{grid-column:1;grid-row:2;width:100%;max-width:none}
 .candidate-auth.has-context .jb-auth-context{display:none}
 .hero.wrap,.section.wrap{padding-inline:clamp(12px,3vw,20px)}
 .page-heading-band,.search-page-head{padding-block:28px}
 .job-description{font-size:16px;line-height:1.8}
 .job-intro{font-size:14px;line-height:1.7;max-width:none}
 .company-name,.job-place{font-size:14px}
 .job-card .company-avatar{width:40px;height:40px}
 .candidate-intro{overflow-wrap:anywhere}
 .candidate-nav a{white-space:normal;min-height:48px;max-width:100%;padding:12px;font-size:14px;line-height:1.5}
 .candidate-nav{flex-wrap:wrap;overflow:visible;gap:4px 8px}
 .candidate-facts,.employer-details{grid-template-columns:minmax(0,1fr)}
 .candidate-panel .dt-container .dt-search label{display:block;margin-bottom:6px}
 .candidate-panel .dt-container .dt-search input{width:100%;max-width:100%;margin-inline-start:0}
 .candidate-panel .dt-container .dt-search{max-width:100%}
 .candidate-panel .dt-container .dt-layout-cell{max-width:100%}
 .job-preview-dialog{width:calc(100% - 24px)}
 .job-preview-footer .button{width:100%;min-height:50px}
 .job-preview-head h2{font-size:21px;line-height:1.4}
 .job-preview-head :is(h2,button){margin-top:0}
 .job-preview-content .job-description{font-size:16px}
 .privacy-banner{position:relative;inset:auto;left:auto;bottom:auto;transform:none;width:calc(100% - 32px);margin:16px auto;max-height:none;gap:12px;padding:16px;box-shadow:var(--shadow-sm)}
 .privacy-banner p{font-size:13px;line-height:1.6}
 .privacy-banner .privacy-actions{width:100%}
 .footer-top{gap:26px 20px}
 .footer-discover a,.footer-pages a{font-size:14px;line-height:1.5;min-height:44px;padding-block:12px;overflow-wrap:anywhere}
 .footer-pages .text-button{font-size:14px;min-height:44px}
 .footer-bottom{font-size:12px}
 .numbers{gap:18px 16px}.numbers>div{flex:1 1 100px;min-width:0}
 .numbers span{font-size:12px;line-height:1.6;overflow-wrap:anywhere}
 .numbers>.text-button{font-size:13px}
 .related-jobs-more .button{min-height:48px;white-space:normal}
 .tier-heading,.result-meta{flex-wrap:wrap}
 .results-toolbar{gap:8px}
 .results-toolbar button{font-size:14px}
 .help-tabs{flex-wrap:wrap}.help-tabs a{min-width:0;overflow-wrap:anywhere;font-size:14px}
 .help-search>div{flex-wrap:wrap}.help-search input{flex-basis:180px}
 .search-assurance{flex-wrap:wrap;text-align:center}
 .search-assurance .icon{flex:none}
}
@media(max-width:480px){
 .header-tools .icon-button,.menu-toggle{min-width:44px;min-height:44px;padding:10px}
 .site-header .brand img{width:80px;height:32px}
 .header-inner{column-gap:4px}
 .site-header .header-tools .language-form select.language{width:58px;min-width:58px;max-width:58px;font-size:16px;padding-inline:8px 22px}
 .header-account-actions{flex-wrap:wrap;gap:6px}
 .header-account-session{flex:1 1 auto;justify-content:flex-end;flex-wrap:wrap}
 .header-account-actions .button{padding:9px 10px;font-size:12px}
 .header-account-actions .signin{padding:9px 6px;font-size:13px}
 .job-card,.candidate-panel,.support-card{padding:18px}
 .job-card h3{font-size:21px}
 .job-card .job-actions{gap:0;margin-inline-end:-3px}
 .job-card-actions{gap:12px;flex-wrap:wrap}
 .job-card-actions .quick-view{min-height:48px;font-size:14px}
 .category-card h4{font-size:14px}
 .category-card span{font-size:12px}
 .description-section,.company-information{padding:20px 18px}
 .job-detail-head{min-width:0}
 .detail-company-row .eyebrow{min-width:0;overflow-wrap:anywhere}
 .job-preview-head,.job-preview-content{padding:16px}
 .job-preview-footer{padding:12px 16px max(12px,env(safe-area-inset-bottom))}
 .button-row>.button{max-width:100%}
 .employer-pagination{flex-wrap:wrap;gap:12px}
 .candidate-auth>.candidate-panel{padding:20px}
 .candidate-steps{font-size:12px;flex-wrap:wrap}.candidate-steps li{flex:1 1 62px}
 .company-profile-head{align-items:flex-start;flex-wrap:wrap;gap:18px}
 .company-profile-head h1{font-size:28px}
 .toast,.candidate-toast{gap:10px;padding:10px 12px;font-size:14px}
 .footer-top{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
 .jb-visual--compact{align-items:flex-start;gap:10px}
 .jb-context-note--small{flex-wrap:wrap}
 .jb-context-note--small>.employer-status{max-width:100%}
}
@media(max-height:540px) and (max-width:1024px){
 .site-header{position:relative}
 .primary-nav{max-height:65dvh}
 .home-heading .hero h1{font-size:32px}
 .privacy-banner{position:relative;inset:auto;transform:none;margin:16px auto;max-height:none}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}.advanced[open]>.advanced-grid{animation:none}
}
@media(prefers-reduced-motion:no-preference){
 .advanced[open]>.advanced-grid{animation:jb-disclose .14s ease-out}
 @keyframes jb-disclose{from{opacity:.65;transform:translateY(-3px)}to{opacity:1;transform:none}}
}
@media print{
 html[data-theme=dark]{--ink:#111;--paper:#fff;--canvas:#fff;--muted:#333;--line:#999}
 body{padding-bottom:0}.privacy-banner,.toasts{display:none}
}

/* visuals.css */
/* Semantic inline SVGs; no icon fonts, requests, or client-side text scanning. */
.icon{vertical-align:-.18em}
.button>.icon,.signin>.icon,.signout-button>.icon,.search-alert>summary>.icon{width:18px;height:18px;flex:0 0 18px}
.action-label,.link-label{min-width:0;overflow-wrap:anywhere}
.icon-link,.role-context a,.role-links a,.discovery-groups a{display:inline-flex;align-items:center;gap:8px;max-width:100%}
.discovery-groups a{display:flex;width:100%}
.discover-links .discover-action{flex-direction:row;align-items:center;gap:12px}
.discover-links .discover-action>.icon{flex:0 0 22px;color:var(--link)}
.discover-links .discover-action>.action-label{display:grid;gap:4px}
.discover-links .discover-action strong{color:var(--ink)}
.icon-link>.icon,.role-context a>.icon,.role-links a>.icon,.discovery-groups a>.icon,.context-links a>.icon,.directory-grid>a>.icon{width:19px;height:19px;flex:0 0 19px;color:var(--link)}
.directory-grid>a{gap:12px;min-width:0}
.directory-grid>a>span:first-of-type{flex:1;min-width:0;overflow-wrap:anywhere}
.directory-grid>a>.directory-count{flex:0 1 auto;text-align:end}
.category-card h4{display:flex;align-items:flex-start;gap:10px}
.category-card h4>.icon{width:22px;height:22px;flex:0 0 22px;color:var(--link);margin-top:1px}
.category-card h4>span{min-width:0;overflow-wrap:anywhere;font-size:inherit;color:inherit;margin-top:0}
.category-card .link-count,.directory-count .link-count{font-size:16px;font-weight:750;color:var(--ink)}
.directory-grid .link-count,.context-links .link-count,.role-links .link-count{font-size:16px;font-weight:750;line-height:1.4;color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap;flex-shrink:0}
.facet-summary button b{font-size:15px;font-weight:750;font-variant-numeric:tabular-nums}
.employer-card .link-count{font-size:16px;font-weight:750;color:var(--ink);font-variant-numeric:tabular-nums}
.role-links a .link-count{margin-inline-start:3px}
.search-alert>summary{display:flex;align-items:center;gap:8px;list-style:none}
.search-alert>summary::-webkit-details-marker{display:none}
.search-alert>summary::after{content:"";width:7px;height:7px;border-inline-end:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-inline-start:5px;flex-shrink:0}
.search-alert[open]>summary::after{transform:rotate(225deg)}
.careers-page .directory-explore-heading{margin-top:36px;margin-bottom:20px}
.careers-page+.wrap .context-links,.careers-page+.wrap .discovery-block{margin-top:36px}
.careers-page+.wrap .discovery-block .section-heading{padding-top:8px}

/* Retain the existing navigation and mobile menu; refine its spacing and hierarchy. */
.site-header .primary-nav{gap:5px}
.site-header .primary-nav a:not(.button){white-space:normal;display:flex;align-items:center;gap:7px;padding:11px 10px;border-radius:9px;font-size:13px;font-weight:600;line-height:1.4;color:var(--muted);text-decoration:none;position:relative;min-height:44px}
.site-header .primary-nav a:not(.button)>.icon{width:17px;height:17px;flex:0 0 17px}
.site-header .primary-nav a.employer-nav-link{display:none}
.site-header .primary-nav a:not(.button)::after{content:"";position:absolute;inset-inline:10px;bottom:3px;height:2px;border-radius:2px;background:transparent}
.site-header .primary-nav a:not(.button):is(:hover,:focus-visible){color:var(--link);background:var(--tint);text-decoration:none}
.site-header .primary-nav a[aria-current=page]:not(.button){color:var(--link);background:var(--tint);font-weight:700}
.site-header .primary-nav a[aria-current=page]:not(.button)::after{background:var(--pink)}
.site-header .primary-nav a:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
html[data-theme=dark] .site-header .primary-nav a:not(.button){color:var(--muted)}
html[data-theme=dark] .site-header .primary-nav a:not(.button):is([aria-current=page],:hover,:focus-visible){color:var(--link);background:var(--tint)}
.site-header .signin,.site-header .signout-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px}
.site-header .header-account-actions .button{gap:7px}

/* The language control remains a native, keyboard-accessible EN / ES / PT select. */
.site-header .header-tools .language-form{position:relative}
/* Draw the spaced underline outside the native select so it also appears in Safari. */
.site-header .header-tools .language-form::after{content:"";position:absolute;inset-inline-start:8px;bottom:7px;width:26px;height:1px;background:var(--link);pointer-events:none}
.site-header .header-tools .language-form:hover::after{background:var(--pink)}
.site-header .header-tools .language-form select.language{appearance:none;-webkit-appearance:none;box-sizing:border-box;width:72px;min-width:72px;max-width:72px;flex:0 0 72px;min-height:44px;border:0;border-radius:0;background:transparent;box-shadow:none;color:var(--ink);padding:8px 26px 8px 10px;font-size:16px;font-weight:600;line-height:1.5;letter-spacing:normal;text-align:start;text-indent:0;text-decoration:none;cursor:pointer}
.site-header .header-tools .language-form .language-chevron{position:absolute;inset-inline-end:8px;top:14px;width:16px;height:16px;pointer-events:none;color:var(--ink)}
.site-header .header-tools .language-form .language-chevron>.icon{display:block;width:16px;height:16px}
.site-header .header-tools .language-form select.language:focus-visible{outline:2px solid var(--focus);outline-offset:3px;box-shadow:none}
.site-header .header-tools .language-form select.language option{color:var(--ink);background:var(--paper)}

@media(max-width:1250px){
 .site-header .primary-nav{gap:4px}
 .site-header .primary-nav a.employer-nav-link{display:flex}
 .site-header .primary-nav a:not(.button){font-size:15px;padding:13px 14px;gap:10px}
 .site-header .primary-nav a:not(.button)::after{inset-inline:14px}
}
@media(max-width:600px){
 .site-header .header-account-actions .button,.site-header .signin,.site-header .signout-button{gap:5px}
 .site-header .header-account-actions .icon{width:16px;height:16px;flex-basis:16px}
 .header-account-actions,.header-account-session{flex-wrap:wrap}
 .directory-grid>a{gap:9px}
 .directory-count{font-size:12px}
 .careers-page .directory-explore-heading{margin-top:28px}
}
/* Match the compact-header selector so mobile widths never shrink the abbreviation. */
@media(max-width:480px){.site-header .header-tools .language-form select.language{width:72px;min-width:72px;max-width:72px;padding:8px 26px 8px 10px}}
@media(prefers-reduced-motion:reduce){.site-header .primary-nav a{transition:none}}

/* Search refinements: share existing theme tokens and preserve asynchronous behavior. */
.hero-search .search-assurance{width:100%;margin-inline:0;justify-content:flex-start;align-items:flex-start;flex-wrap:nowrap;text-align:start}
.hero-search .search-assurance>.icon{margin-top:2px}

/* Both location/role listbox rows and button-based employer suggestions. */
.suggestions li,.jb-form .suggestions li>button{font-weight:700;color:var(--ink)}
.suggestions li:nth-child(odd),.jb-form .suggestions li:nth-child(odd)>button{background:var(--paper)}
.suggestions li:nth-child(even),.jb-form .suggestions li:nth-child(even)>button{background:var(--canvas)}
.suggestions li small,.jb-form .suggestions button small{font-weight:400;color:var(--muted);font-size:12px;line-height:1.5}
.suggestions li:is(:hover,[aria-selected=true],.active),.jb-form .suggestions li:is(:hover,[aria-selected=true],.active)>button,.jb-form .suggestions li>button:is(:hover,:focus-visible){background:var(--tint);color:var(--link)}
.suggestions li[aria-selected=true],.jb-form .suggestions li>button:focus-visible{box-shadow:inset 3px 0 var(--accent-line)}

#results-region .results-toolbar{justify-content:flex-end;text-align:end}

/* Give work arrangement and employment type a clear, compact filter hierarchy. */
.results-aside #filter-counts{display:grid;gap:16px}
.results-aside #filter-counts>.facet-summary{margin:0;padding:16px;background:var(--paper);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-sm)}
.results-aside #filter-counts>.facet-summary:first-child{padding-top:16px;border-top:1px solid var(--line)}
.results-aside .facet-summary h3{display:flex;align-items:center;gap:8px;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid var(--line);font-size:15px;font-weight:750;line-height:1.4;letter-spacing:0;color:var(--ink)}
.results-aside .facet-summary h3::before{content:"";width:3px;height:18px;border-radius:3px;background:var(--accent-line);flex:0 0 3px}
.results-aside .facet-summary button{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;min-height:44px;gap:8px;margin-top:6px;padding:9px 10px;border:1px solid transparent;border-radius:8px;background:var(--canvas);color:var(--ink);font-size:13px;font-weight:500;line-height:1.5;text-align:start;overflow-wrap:anywhere}
.results-aside .facet-summary button>span{min-width:0;text-align:start}
.results-aside .facet-summary button b{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;min-width:30px;margin-inline-start:auto;padding:2px 6px;border-radius:6px;background:var(--paper);color:var(--ink);font-size:14px;font-weight:750;line-height:1.5;font-variant-numeric:tabular-nums}
.results-aside .facet-summary button:is(:hover,:focus-visible,[aria-pressed=true]){background:var(--tint);border-color:var(--accent-line);color:var(--link)}
.results-aside .facet-summary button[aria-pressed=true]{font-weight:700;padding-inline-start:26px}
.results-aside .facet-summary button[aria-pressed=true]::before{position:absolute;inset-inline-start:9px;top:50%;transform:translateY(-50%)}
.results-aside .facet-summary button:focus-visible{outline:2px solid var(--focus);outline-offset:2px}

/* Application prompt in the reading flow, immediately after the original description. */
.job-detail>.inline-apply{display:block;margin:0 34px 30px;padding:24px;border:1px solid var(--line);border-radius:12px;background:var(--canvas);box-shadow:none}
.job-detail>.inline-apply .eyebrow{display:block;margin-bottom:8px}
.job-detail>.inline-apply h2{display:block;font-size:22px;margin-bottom:12px}
.job-detail>.inline-apply>p{display:block;margin-bottom:18px;color:var(--muted);font-size:14px;line-height:1.6}
.job-detail>.inline-apply>.button{width:auto;max-width:100%;min-height:48px}
.job-detail>.inline-apply small{display:block;text-align:start;margin:12px 0;color:var(--muted)}
.job-detail>.inline-apply>.text-link{display:inline-block;text-align:start;margin-top:4px}
@media(max-width:1100px){.job-detail>.inline-apply{margin-inline:24px}}
@media(max-width:480px){.job-detail>.inline-apply{margin:0 18px 24px;padding:20px}.job-detail>.inline-apply>.button{width:100%}}
@media print{.job-detail>.inline-apply{display:none!important}}

/* 2.9.29: one compact navigational row for career, location and history links. */
a.browse-link{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:12px;min-width:0;min-height:66px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink);text-decoration:none;box-shadow:0 1px 3px rgb(23 35 65 / 2%);transition:border-color .14s,background-color .14s,box-shadow .14s}
a.browse-link:has(.browse-count){grid-template-columns:36px minmax(0,1fr) auto 12px}
a.browse-link .browse-symbol{display:grid;place-items:center;width:36px;height:36px;border-radius:9px;background:var(--tint);color:var(--link)}
a.browse-link .browse-symbol>.icon{display:block;width:21px;height:21px}
a.browse-link .browse-copy{display:grid;gap:3px;min-width:0;margin:0;text-align:start}
a.browse-link .browse-copy>strong{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;overflow-wrap:anywhere;font-size:13px;font-weight:650;line-height:1.45;letter-spacing:-.015em;color:var(--ink);text-decoration:none}
a.browse-link .browse-copy>small{display:block;margin:0;font-size:12px;font-weight:400;line-height:1.4;color:var(--muted)}
a.browse-link .browse-count{display:block;flex:none;min-width:28px;margin:0;padding:2px 6px;border-radius:6px;background:var(--canvas);color:var(--ink);font-size:17px;font-weight:750;line-height:1.4;font-variant-numeric:tabular-nums;text-align:center;white-space:nowrap}
a.browse-link .browse-arrow{display:grid;place-items:center;width:12px;height:20px;color:var(--muted)}
a.browse-link .browse-arrow>.icon{display:block;width:12px;height:18px}
a.browse-link:is(:hover,:focus-visible){border-color:var(--accent-line);background:var(--tint);box-shadow:var(--shadow-sm);color:var(--ink);text-decoration:none}
a.browse-link:is(:hover,:focus-visible) .browse-arrow{color:var(--link)}
a.browse-link:focus-visible{outline:2px solid var(--focus);outline-offset:3px}
/* Override legacy chip/reading-link rules only on these structured navigation rows. */
:is(.directory-grid,.category-grid,.role-links,.discovery-groups,.context-links,.role-context,.discover-links) a.browse-link{display:grid;width:100%;margin:0;padding:10px 12px;gap:12px;align-items:center;color:var(--ink);border-color:var(--line);border-radius:10px;background:var(--paper);text-decoration:none}
:is(.directory-grid,.category-grid,.role-links,.discovery-groups,.context-links,.role-context,.discover-links) a.browse-link:is(:hover,:focus-visible){background:var(--tint);border-color:var(--accent-line);color:var(--ink);text-decoration:none}
.directory-grid,.category-grid{align-items:stretch}
.discover-links{display:grid;gap:8px;border:0}
.role-context a.browse-link{margin-top:10px}
.directory-grid>a.browse-link{height:100%}
.category-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr))}
.context-links ul{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}
.context-links li{min-width:0;width:100%}
.discovery-groups>div{display:grid;align-content:start;gap:8px}
.discovery-groups>div>h3{margin-bottom:4px}
.role-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:10px}
.continuity-block{padding:26px 0;background:var(--canvas)}
.continuity-block .continuity-heading{align-items:center;gap:20px;margin-bottom:20px}
.continuity-block .continuity-heading h2{font-size:clamp(24px,2.4vw,30px);font-weight:750;line-height:1.2;letter-spacing:-.035em;margin-bottom:6px}
.continuity-block .continuity-heading p{font-size:14px;line-height:1.5;margin:0;color:var(--muted)}
.continuity-block .continuity-clear{display:inline-flex;align-items:center;gap:7px;flex:0 1 auto;max-width:100%;padding:6px 0;min-height:44px;color:var(--link);font-size:12px;font-weight:550;text-align:start;white-space:normal}
.continuity-block .continuity-clear>.icon{width:16px;height:16px;flex:0 0 16px}
.continuity-block .continuity-clear:hover{color:var(--link-hover)}
.continuity-block .continuity-clear:focus-visible{outline:2px solid var(--focus);outline-offset:4px;border-radius:5px}
.continuity-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:stretch}
.continuity-groups[data-columns="2"]{grid-template-columns:repeat(2,minmax(0,1fr))}
.continuity-groups[data-columns="1"]{grid-template-columns:minmax(0,1fr)}
.continuity-groups[data-columns="1"] .continuity-links{grid-template-columns:repeat(3,minmax(0,1fr))}
.continuity-panel{min-width:0;padding:14px 12px;background:transparent;border:0;border-radius:10px;box-shadow:none}
.continuity-panel h3{font-size:16px;font-weight:700;line-height:1.4;letter-spacing:-.025em;margin:2px 2px 12px;color:var(--ink);overflow-wrap:anywhere}
.continuity-links{display:grid;gap:8px}
.continuity-block a.continuity-link{min-height:66px;padding:9px 10px;gap:12px}
.continuity-block .continuity-copy>strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13px;font-weight:650}
.continuity-block .continuity-copy>small{font-size:12px;white-space:normal}
.continuity-block .continuity-suggestions-title{font-size:20px;margin:26px 0 16px;color:var(--ink)}
.continuity-more{margin-top:8px}
.continuity-more>summary{display:flex;justify-content:space-between;align-items:center;gap:8px;list-style:none;min-height:44px;padding:8px 2px;color:var(--link);font-size:12px;cursor:pointer}
.continuity-more>summary::-webkit-details-marker{display:none}
.continuity-more>summary>.icon{width:14px;height:14px}
.continuity-more[open]>summary>.icon{transform:rotate(180deg)}
.continuity-more:not([open])>.continuity-links{display:none}
/* Anchored, compact listboxes: the focused field owns the only open popup. */
.jb-form .suggestions,.suggestions{padding:5px;max-height:min(288px,45dvh,var(--suggestion-space,288px));border:1px solid var(--line);border-radius:11px;box-shadow:var(--shadow-md)}
.suggestions[data-jb-rich] li{display:grid;grid-template-columns:34px minmax(0,1fr) 12px;align-items:center;gap:10px;min-height:62px;padding:10px 9px;font-size:13px;border-radius:7px;line-height:1.4}
.suggestion-symbol{display:grid;place-items:center;width:34px;height:34px;border-radius:8px;background:var(--tint);color:var(--link)}
.suggestion-symbol>.icon{display:block;width:20px;height:20px}
.suggestion-copy{display:grid;gap:3px;min-width:0}
.suggestion-copy>strong{color:var(--blue);font-size:13px;font-weight:650;line-height:1.4;overflow-wrap:anywhere}
[data-theme=dark] .suggestion-copy>strong{color:var(--link)}
.suggestions li .suggestion-copy>small{display:block;margin:0;font-size:12px;font-weight:400;line-height:1.4;color:var(--muted)}
.suggestion-arrow{color:var(--muted)}.suggestion-arrow>.icon{width:12px;height:17px}
.suggestions li:is(:hover,[aria-selected=true]) .suggestion-arrow{color:var(--link)}
.jb-form .suggestions li>button{font-size:13px;min-height:54px;padding:10px 12px}
/* Keep the error beneath its field, without moving the neighboring search input or action. */
#job-search{padding:22px 24px;border-radius:14px}
#job-search .search-main{align-items:start;gap:16px;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(160px,auto)}
#job-search .field>label{margin:0 0 7px;line-height:21px;font-size:14px}
#job-search .input-wrap{min-height:58px}
#job-search .input-wrap>input[data-autocomplete]{min-height:58px;padding-block:14px;color:var(--ink);font-weight:650}
#job-search .search-submit{margin-block-start:28px;min-height:58px;height:auto;align-self:start}
#job-search .advanced{margin-top:12px}
#job-search .advanced>summary{margin-inline-start:auto;min-height:32px;font-size:12px;font-weight:550;color:var(--muted)}
#job-search .advanced .advanced-grid{margin:16px -24px -22px;padding:22px 24px}
#job-search .jb-field-error{margin-top:7px;color:var(--error);font-size:12px;line-height:1.45;font-weight:450}
#job-search .jb-field-error:not(:empty)::before{content:'!';display:inline-grid;place-items:center;width:15px;height:15px;margin-inline-end:6px;border:1px solid currentColor;border-radius:50%;font-size:11px;font-weight:650;vertical-align:1px}
#job-search .input-wrap>input[aria-invalid=true]{border-color:var(--error);box-shadow:none}
#job-search .input-wrap>input:focus{outline:1px solid var(--focus);outline-offset:0;border-color:var(--focus);box-shadow:0 0 0 2px var(--focus-ring)}
#job-search .input-wrap>input[aria-invalid=true]:focus{outline-color:var(--error);border-color:var(--error)}
.jb-search-note{display:flex;align-items:flex-start;gap:10px;max-width:100%;margin:0 0 20px;padding:14px 16px;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink);box-shadow:none}
.jb-search-note>.icon{width:18px;height:18px;margin-top:1px;color:var(--link);flex:0 0 18px}
.jb-search-note>div{flex:1;min-width:0}.jb-search-note strong{font-size:13px;font-weight:600;line-height:1.5}
.jb-search-note p{font-size:12px;margin-top:3px;line-height:1.5;color:var(--muted)}
.jb-search-note>.text-button{flex:none;min-height:32px;font-size:12px;align-self:center}
:root :is(.search-page-head,.page-heading-band) :is(h1,.breadcrumbs,.context-chain){scroll-margin-top:calc(var(--header-offset,var(--header-height)) + 24px)}
@media(max-width:1000px){.continuity-groups[data-columns="3"]{grid-template-columns:repeat(2,minmax(0,1fr))}.continuity-groups[data-columns="3"]>.continuity-panel:last-child{grid-column:1/-1}}
@media(max-width:760px){
 #job-search{padding:20px}
 #job-search .search-main{grid-template-columns:minmax(0,1fr);gap:16px}
 #job-search .search-submit{width:100%;margin-block-start:0}
 #job-search .advanced .advanced-grid{margin:16px -20px -20px;padding:20px}
 #job-search .suggestions{max-height:min(260px,40dvh,var(--suggestion-space,260px))}
}
@media(max-width:700px){
 .continuity-block{padding:22px 0}
 .continuity-block .continuity-heading{flex-direction:column;align-items:stretch;gap:6px;margin-bottom:16px}
 .continuity-block .continuity-heading p{font-size:13px}
 .continuity-block .continuity-clear{align-self:flex-start}
 .continuity-groups[data-columns]{grid-template-columns:minmax(0,1fr);gap:12px}
 .continuity-groups[data-columns="1"] .continuity-links{grid-template-columns:minmax(0,1fr)}
 .continuity-groups[data-columns]>.continuity-panel:last-child{grid-column:auto}
 .continuity-panel{padding:14px 12px}.continuity-panel h3{font-size:16px;margin-bottom:12px}
 a.browse-link .browse-copy>strong{font-size:14px}
 .continuity-block a.continuity-link .continuity-copy>strong{font-size:13px}
 .jb-search-note{flex-wrap:wrap}
}
@media(prefers-reduced-motion:reduce){a.browse-link{transition:none}}


/* Related links on individual job pages. */
.job-page > .context-links > section > ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.job-page > .context-links > section > ul > li{min-width:0}
@media(max-width:700px){.job-page > .context-links > section > ul{grid-template-columns:minmax(0,1fr)}}

/* Search navigation: align state discovery with the related paths heading. */
.job-listing [data-results-discovery] .context-links.has-states{grid-template-columns:minmax(0,1fr)}
.job-listing [data-results-discovery] .context-states>h2{font-size:clamp(24px,2.6vw,32px);line-height:1.22;letter-spacing:-.025em;margin-bottom:20px}
@media(min-width:768px){.job-listing [data-results-discovery] .context-states>ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 24px}}

/* Contrast for pale, transparent company artwork in job cards. */
.job-card .company-avatar.is-white-logo{background:#6b7280;border-radius:6px;padding:3px;box-sizing:border-box}

/* Status and retry are separate from the listbox options. */
.suggestion-feedback.suggestions{padding:12px 14px;display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--ink);font-size:13px;line-height:1.5}.suggestion-feedback.suggestions button{flex:none;width:auto;min-height:36px;padding:4px 8px;border:0;background:transparent;color:var(--link);font-size:13px;font-weight:650;white-space:nowrap}.suggestion-feedback.suggestions button:hover{text-decoration:underline}.suggestion-feedback.suggestions button:focus-visible{outline:3px solid var(--link);outline-offset:1px}

/* typography.css */
/* Montserrat, self-hosted variable fonts. License: /assets/fonts/OFL-Montserrat.txt. */
@font-face{font-family:Montserrat;font-style:normal;font-weight:100 900;font-display:swap;src:url('../fonts/montserrat-latin-normal.woff2') format('woff2')}
@font-face{font-family:Montserrat;font-style:italic;font-weight:100 900;font-display:swap;src:url('../fonts/montserrat-latin-italic.woff2') format('woff2')}
:root{--font-ui:Montserrat,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;font-family:var(--font-ui)}
body,.sponsored-transfer{font-family:var(--font-ui)}
button,input,select,textarea{font-family:inherit}
/* Keep operational code, SQL, and technical editors legible. */
code,pre,kbd,samp,#portal-page-form textarea{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}

/* listings.css */
/* Shared public vacancy lists, 2.9.31. No external fonts, icons or layout library. */
.job-listing{background:var(--canvas)}
.job-listing .listing-description{font-size:14px;line-height:1.6;max-width:80ch;margin:0 0 20px;color:var(--muted)}
.listing-location-tools{display:block;min-width:0;margin:0 0 14px}
.listing-location-tools .location-pill{display:inline-flex;align-items:center;gap:9px;width:100%;max-width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:var(--paper);color:var(--ink);font-size:12px;line-height:1.5;text-align:start;box-shadow:none}
.listing-location-tools .location-pill:hover{border-color:var(--accent-line);color:var(--link)}
.listing-location-tools .location-pill>span{flex:1;min-width:0;overflow-wrap:anywhere}.listing-location-tools .location-pill>.icon{width:17px;height:17px;flex:none}.listing-location-tools .location-pill>.icon:last-child{width:14px;height:14px}
.listing-company{display:flex;align-items:center;gap:12px;margin-bottom:18px}
.listing-company>img{object-fit:contain;width:52px;height:52px}.listing-company>div{display:grid;min-width:0;gap:3px}.listing-company strong{font-size:17px}.listing-company small{font-size:12px}
.job-listing .results-layout{grid-template-columns:220px minmax(0,1fr);gap:24px;padding-block:28px 48px;align-items:start}
.job-listing .results-aside{display:block;min-width:0}
.listing-filter-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
.listing-filter-heading>h2{font-size:15px;margin:0}.listing-filter-heading>.text-link{font-size:12px;font-weight:550;min-height:32px;display:inline-flex;align-items:center}
.job-listing .facet-summary button{min-height:42px;font-size:13px}.job-listing .facet-summary button:disabled{cursor:default;opacity:.46}.job-listing .facet-summary button:disabled:hover{background:var(--canvas);border-color:transparent;color:var(--ink)}
.job-listing .facet-summary button b,.listing-filters-dialog .facet-summary button b{display:inline-flex;align-items:center;justify-content:center;min-width:24px;padding:1px 5px;border-radius:5px;background:#cd29c0;color:#fff;font-size:12px;font-weight:700;line-height:1.5;font-variant-numeric:tabular-nums}
.listing-active-filters{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 16px}
.listing-active-filters>a:not(.listing-reset){display:inline-flex;align-items:center;gap:8px;min-height:36px;max-width:100%;padding:6px 10px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink);font-size:12px;line-height:1.4;text-decoration:none}
.listing-active-filters>a>.icon{width:14px;height:14px;flex:none;color:var(--muted)}.listing-active-filters>a>span{min-width:0;overflow-wrap:anywhere}
.listing-active-filters>a:hover{border-color:var(--accent-line);background:var(--tint);text-decoration:none}.listing-active-filters>.listing-reset{color:var(--link);font-size:12px;padding:6px 4px;text-decoration:underline}
.listing-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:18px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.listing-toolbar .listing-total{font-size:14px;font-weight:700;color:var(--ink)}
#results-region .listing-toolbar .results-toolbar{justify-content:flex-end;gap:6px;margin:0;margin-inline-start:auto;font-size:12px}
.listing-toolbar .results-toolbar>span{font-size:12px;margin-inline-end:5px}
.listing-toolbar .results-toolbar button{min-height:40px;padding:8px 12px;border:1px solid var(--control-border);border-radius:6px;background:var(--paper);color:var(--ink);font-size:12px;line-height:1.4;font-weight:600;box-shadow:none}
.listing-toolbar .results-toolbar button[aria-pressed=true]{border-color:var(--blue);background:var(--blue);color:#fff;font-weight:700;box-shadow:none}
.listing-toolbar .results-toolbar button:is(:hover,:focus-visible){border-color:var(--accent-line)}
.listing-toolbar .listing-mobile-filters{display:none}
.job-listing .tier-heading{margin:18px 0 12px;padding:0;background:transparent;border:0}.job-listing .tier-heading h2{font-size:19px;font-weight:700;line-height:1.35}.job-listing .tier-heading p{font-size:12px;line-height:1.5;margin-top:5px}.job-listing .tier-heading>span{font-size:12px}
.job-listing .results-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
/* Keep the existing markup/events: only the full-list container changes card geometry. */
.job-listing .results-grid .job-card{display:grid;grid-template-columns:44px minmax(0,1fr) 132px;grid-template-rows:auto auto auto auto auto;align-content:start;align-items:start;gap:4px 18px;min-height:142px;padding:18px 22px;border:1px solid var(--line);border-radius:11px;background:var(--paper);box-shadow:var(--shadow-sm);content-visibility:auto;contain-intrinsic-size:auto 150px}
.job-listing .results-grid .job-card:is(:hover,:focus-within){border-color:var(--accent-line);box-shadow:var(--shadow-sm)}
.job-listing .job-card .job-card-top,.job-listing .job-card .job-company{display:contents}
.job-listing .job-card .company-avatar{grid-column:1;grid-row:1/4;align-self:start;width:44px;height:44px;object-fit:contain;margin:2px 0 0;flex:none}
.job-listing .job-card .company-name{grid-column:2;grid-row:2;min-width:0;font-size:12px;font-weight:500;line-height:1.5;color:var(--muted);margin:0}
.job-listing .job-card .company-name a{color:inherit;text-decoration:none}.job-listing .job-card .company-name a:hover{color:var(--link);text-decoration:underline}
.job-listing .job-card h3{grid-column:2;grid-row:1;margin:0;align-self:end;font-size:17px;font-weight:700;line-height:1.4;letter-spacing:-.025em;min-width:0;overflow-wrap:anywhere}
.job-listing .job-card h3 a{color:var(--ink);text-decoration:none}.job-listing .job-card h3 a:hover{color:var(--link);text-decoration:underline;text-underline-offset:3px}
.job-listing .job-card .job-actions{grid-column:3;grid-row:1;align-self:start;justify-self:end;display:flex;gap:0;margin:-8px -8px 0 0}
.job-listing .job-card .job-actions .icon{width:20px;height:20px}
.job-listing .job-card .job-card-meta{grid-column:2;grid-row:2;display:flex;align-items:center;flex-wrap:wrap;gap:7px 9px;min-width:0;margin:1px 0 3px}
.job-listing .job-card .job-place{display:flex;align-items:flex-start;gap:5px;margin:0;font-size:12px;line-height:1.5;color:var(--muted);min-width:0}
.job-listing .job-card .job-place>.icon{width:15px;height:18px;margin:0;flex:none}
.job-listing .job-card .job-distance{font-size:inherit}
.job-listing .job-card .job-tags{grid-column:2;grid-row:3;min-width:0;display:flex;flex-wrap:wrap;gap:5px;margin:0}.job-listing .job-card .job-tags>span{font-size:11px;font-weight:550;line-height:1.4;padding:3px 7px;border-radius:4px;background:var(--surface);color:var(--muted);max-width:100%}
.job-listing .job-card .job-salary{grid-column:2;grid-row:5;margin:2px 0 0;font-size:12px;line-height:1.5;font-weight:700;color:var(--ink)}
.job-listing .job-card .job-intro{grid-column:2;grid-row:4;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;min-width:0;max-width:none;margin:0;padding:0;font-size:12px;line-height:1.6;color:var(--muted)}
.job-listing .job-card .discovery-reason{grid-column:2;grid-row:6;font-size:12px;margin:4px 0 0}
.job-listing .job-card .job-card-actions{grid-column:3;grid-row:4/6;display:flex;align-items:center;justify-content:flex-end;align-self:end;justify-self:end;gap:8px;flex-wrap:wrap;margin:0;max-width:100%}
.job-listing .job-card-actions .quick-view{display:inline-flex;align-items:center;justify-content:center;gap:7px;width:132px;min-height:40px;border:1px solid var(--blue);border-radius:7px;padding:8px 10px;background:var(--blue);color:#fff;font-size:12px;font-weight:650;line-height:1.4;text-decoration:none}
.job-listing .job-card-actions .quick-view>.icon{width:16px;height:16px;flex:0 0 16px}
.job-listing .job-card-actions .quick-view:hover{background:var(--action-hover);border-color:var(--action-hover);text-decoration:none}
.job-listing .sponsored-card .sponsored-label{grid-column:3;grid-row:1;justify-self:end;align-self:start;margin:0;max-width:100%;padding:3px 6px;border-radius:4px;background:var(--surface);color:var(--muted);font-size:10px;line-height:1.3}
.job-listing .search-loading{position:static;inset:auto;display:block;min-height:0;margin:0 0 14px;pointer-events:none}.job-listing .search-loading[hidden]{display:none}
.job-listing .more-jobs{min-height:52px;margin-top:14px}.job-listing .more-jobs .jobbol-loading{padding:12px;font-size:12px}.job-listing .results-end{font-size:12px;padding:20px 0}
.job-listing [data-results-discovery]{margin-top:30px}.job-listing .listing-company-about,.job-listing .listing-other-cities{padding-bottom:32px}
.job-listing details>summary{cursor:pointer;color:var(--link);font-size:14px;font-weight:600}.job-listing .listing-other-cities .directory-grid{margin-top:16px}
/* Native dialog: one physical set of controls, moved and restored rather than cloned. */
.listing-filters-dialog{width:min(500px,calc(100% - 24px));max-height:calc(min(100dvh,var(--viewport-height,100dvh)) - 24px);padding:0;border:1px solid var(--line);border-radius:14px;background:var(--paper);color:var(--ink);box-shadow:var(--shadow-lg)}
.listing-filters-dialog>header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px;border-bottom:1px solid var(--line);background:var(--paper)}
.listing-filters-dialog>header h2{font-size:20px;margin:0}.listing-filters-dialog>header .icon-button{min-width:44px;min-height:44px}
.listing-filter-slot{padding:16px 18px;overflow-y:auto;max-height:calc(min(100dvh,var(--viewport-height,100dvh)) - 200px);overscroll-behavior:contain}
.listing-filters-dialog #listing-filters{display:block;width:100%;margin:0;padding:0}.listing-filters-dialog .listing-filter-heading>h2{display:none}.listing-filters-dialog .listing-filter-heading{justify-content:flex-end;margin-bottom:8px}
.listing-filters-dialog #filter-counts{display:grid;gap:14px}
.listing-filters-dialog .facet-summary{margin:0;padding:14px;background:var(--canvas);border:1px solid var(--line);border-radius:10px}
.listing-filters-dialog .facet-summary h3{font-size:15px;margin:0 0 10px}.listing-filters-dialog .facet-summary button{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:44px;padding:8px 10px;border:1px solid transparent;border-radius:7px;color:var(--ink);background:var(--paper);font-size:14px;text-align:start}
.listing-filters-dialog .facet-summary button b{font-size:12px;font-weight:700}.listing-filters-dialog .facet-summary button[aria-pressed=true]{border-color:var(--accent-line);background:var(--tint);color:var(--link)}.listing-filters-dialog .facet-summary button:disabled{opacity:.45;cursor:default}
.listing-filters-dialog .advanced{margin:20px 0 0;padding-top:16px;border-top:1px solid var(--line)}.listing-filters-dialog .advanced>summary{font-size:14px;min-height:40px}.listing-filters-dialog .advanced-grid{grid-template-columns:minmax(0,1fr);margin:0;padding:16px 0 0;border:0;background:transparent;border-radius:0;gap:16px}.listing-filters-dialog .advanced-grid label{font-size:13px}.listing-filters-dialog .advanced-grid input[type=range]{min-height:44px}
.listing-filters-dialog>footer{position:sticky;bottom:0;padding:12px 18px max(12px,env(safe-area-inset-bottom));background:var(--paper);border-top:1px solid var(--line)}.listing-filters-dialog>footer>.button{width:100%;min-height:48px;background:var(--blue);border-color:var(--blue);color:#fff;font-size:14px}
@media(max-width:950px){
 .job-listing .results-layout{grid-template-columns:minmax(0,1fr);gap:0;padding-top:20px}.job-listing .results-aside{display:none}
 .listing-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px}.listing-toolbar .results-toolbar{grid-column:1/-1;justify-self:end}
 .listing-toolbar .listing-mobile-filters{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px;padding:8px 12px;border:1px solid var(--control-border);border-radius:6px;background:var(--paper);color:var(--ink);font-size:13px;font-weight:600}.listing-mobile-filters>.icon{width:16px;height:16px}.listing-mobile-filters>b{font-size:11px;line-height:1.4;padding:1px 5px;background:var(--tint);border-radius:4px;color:var(--link)}
 .listing-filters-dialog #listing-filters{display:block}
}
@media(max-width:600px){
 .job-listing .results-layout{padding-bottom:32px}
 .job-listing .results-grid .job-card{grid-template-columns:40px minmax(0,1fr) 44px;grid-template-rows:auto auto auto auto auto auto auto;gap:6px 10px;min-height:0;padding:16px;border-radius:10px;contain-intrinsic-size:auto 260px}
 .job-listing .job-card .company-avatar{grid-column:1;grid-row:1;width:36px;height:36px;margin:0}
 .job-listing .job-card h3{grid-column:1/-1;grid-row:2;align-self:start;position:relative;top:3px;font-size:16px;line-height:1.4;margin-top:2px}
 .job-listing .job-card .company-name{grid-column:1/-1;grid-row:3;font-size:12px}
 .job-listing .job-card .job-actions{grid-column:3;grid-row:1;margin:-4px -6px 0 0;justify-self:end}.job-listing .job-card .job-actions:has(.application-mark:not([hidden])){grid-column:2/-1}
 .job-listing .job-card .job-card-meta{grid-column:1/-1;grid-row:3;gap:6px 8px;margin:0}.job-listing .job-card .job-place{flex-basis:auto;font-size:12px}
 .job-listing .job-card .job-tags{grid-column:1/-1;grid-row:4}.job-listing .job-card .job-salary{grid-column:1/-1;grid-row:6}
 .job-listing .job-card .job-intro{grid-column:1/-1;grid-row:5;-webkit-line-clamp:2;font-size:12px;line-height:1.6;margin-top:2px}
 .job-listing .job-card .job-card-actions{grid-column:1/-1;grid-row:7;justify-self:end;margin-top:4px}.job-listing .job-card-actions .quick-view{min-height:42px;width:auto;min-width:128px}
 .job-listing .sponsored-card .sponsored-label{grid-column:2/-1;grid-row:1}.job-listing .job-card .discovery-reason{grid-column:1/-1;grid-row:8}
 .listing-toolbar .results-toolbar{justify-self:stretch;justify-content:flex-end}.listing-toolbar .results-toolbar>span{margin-inline-end:5px}.listing-toolbar .results-toolbar button{min-height:42px;font-size:12px}
 .listing-active-filters>a:not(.listing-reset){min-height:40px}.listing-filters-dialog{width:calc(100% - 16px);max-height:calc(min(100dvh,var(--viewport-height,100dvh)) - 16px);border-radius:12px}.listing-filter-slot{padding-inline:14px}
}
@media(prefers-reduced-motion:reduce){.job-listing .job-card,.job-listing .results-toolbar button{transition:none}}
.listing-filters-dialog .advanced-grid :is(input:not([type=range]):not([type=hidden]),select){min-height:48px;font-size:16px}
.listing-filters-dialog .advanced-grid :is(input:not([type=range]):not([type=hidden]),select){padding:12px 14px;border:1px solid var(--control-border);border-radius:10px;background:var(--paper);color:var(--ink)}
.listing-filters-dialog .advanced-grid :is(input,select):focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.listing-filters-dialog .advanced-grid [aria-invalid=true]{border-color:var(--error)}

/* Registered occupations, inserted after the sixth opportunity without changing result order. */
[data-related-role-slot]{grid-column:1/-1;min-width:0}
.related-role-suggestions{padding:18px 0;margin:6px 0;border-block:1px solid var(--line);min-width:0}
.related-role-suggestions>h3{margin:0 0 6px;color:var(--ink);font-size:16px;font-weight:600;line-height:1.5;overflow-wrap:anywhere}
.related-role-suggestions>p{margin:0 0 14px;color:var(--muted);font-size:12px;line-height:1.6}
.related-role-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
@media(max-width:1150px){.related-role-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.related-role-grid{grid-template-columns:minmax(0,1fr)}.related-role-suggestions>h3{font-size:15px}}

/* A single alert invitation in the result flow, matching the opportunity card frame. */
.job-listing .listing-alert-callout{grid-column:1/-1;display:grid;justify-items:center;gap:10px;min-width:0;width:100%;margin:0;padding:22px 24px;border:1px solid var(--line);border-radius:11px;background:var(--paper);box-shadow:var(--shadow-sm);text-align:center}
.job-listing .listing-alert-callout>h3{margin:0;font-size:17px;font-weight:600;line-height:1.5;color:var(--ink);overflow-wrap:anywhere}
.job-listing .listing-alert-callout>p{max-width:60ch;margin:0;font-size:13px;line-height:1.65;color:var(--muted)}
.job-listing .listing-alert-callout>details.search-alert{justify-self:center;align-self:center;width:232px;max-width:100%;margin:4px 0 0;min-width:0;text-align:start}
.job-listing .listing-alert-callout details.search-alert>summary.section-action{margin-inline:auto;text-align:center;border-color:#cd29c0;background:#cd29c0;color:#fff}
.job-listing .listing-alert-callout details.search-alert>summary.section-action:is(:hover,:focus-visible){border-color:#b420a8;background:#b420a8;color:#fff}
.job-listing .listing-alert-callout>details.search-alert[open]{width:min(520px,100%)}
@media(max-width:600px){.job-listing .listing-alert-callout{padding:20px 16px;border-radius:10px}.job-listing .listing-alert-callout>h3{font-size:16px}}

/* Shared metadata facets: compact left controls, using the same search state. */
.listing-smart-filters{margin-top:20px;min-width:0}
.listing-smart-filters>h3{margin:0 0 8px;font-size:13px;font-weight:650;line-height:1.5;color:var(--ink)}
.listing-smart-feedback{display:flex;align-items:center;gap:7px;min-width:0}
.listing-smart-feedback .jobbol-spinner{width:15px;height:15px;flex:none}
.listing-smart-feedback>p{margin:0;font-size:12px;line-height:1.5;color:var(--muted)}
.listing-smart-feedback>p:empty{display:none}
.listing-smart-feedback>.text-button{min-height:30px;font-size:12px;flex:none}
.smart-facet-summary{margin:0;padding:0;border:0;border-top:1px solid var(--line)}
.smart-facet-summary>summary{display:flex;align-items:center;justify-content:space-between;gap:9px;min-height:45px;padding:10px 0;list-style:none;cursor:pointer;color:var(--ink);font-size:13px;font-weight:600;line-height:1.5}
.smart-facet-summary>summary::-webkit-details-marker{display:none}
.smart-facet-summary>summary::after{content:none}
.smart-facet-summary>summary>.icon{width:14px;height:14px;flex:none;color:var(--muted);transition:transform .15s}
.smart-facet-summary[open]>summary>.icon{transform:rotate(180deg)}
.smart-facet-summary>summary:hover{color:var(--link)}
.smart-facet-caption{display:block;min-width:0}
.smart-facet-caption>small{display:block;max-width:170px;font-size:11px;font-weight:500;line-height:1.5;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.job-listing .listing-smart-filters .smart-facet-options,.listing-filters-dialog .listing-smart-filters .smart-facet-options{margin:0;padding:0 0 10px;border:0;border-radius:0;background:transparent}
.listing-smart-filters .smart-facet-options>button{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:8px 9px;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--ink);text-align:start;line-height:1.5}
.listing-smart-filters .smart-facet-options>button>span{min-width:0;overflow-wrap:anywhere}
.listing-smart-filters .smart-facet-options>button>b{flex:none}
.listing-smart-filters .smart-facet-options>button:hover{background:var(--surface)}
.listing-smart-filters .smart-facet-options>button[aria-pressed=true]{background:var(--tint);border-color:var(--accent-line);color:var(--link)}
#listing-filters-dialog.has-smart-sidebar [data-search-attributes]{display:none}
.listing-filters-dialog .smart-facet-caption>small{max-width:calc(100vw - 100px)}
@media(prefers-reduced-motion:reduce){.smart-facet-summary>summary>.icon{transition:none}}

/* search-design.css */
/* Shared public job-search component. No changes to admin or account forms. */
#job-search.search-design{--search-panel:#f8f9fc;--search-icon:#0000cc;--search-track:#d3d8e6;padding:0;border:1px solid var(--line);border-radius:18px;background:var(--paper);box-shadow:var(--shadow-sm);color:var(--ink);overflow:visible}
#job-search.search-design .search-main{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(0,.85fr) minmax(190px,auto);gap:0;align-items:start;padding:0;min-height:98px}
#job-search.search-design .search-main>.field{position:relative;display:grid;grid-template-rows:18px auto;align-content:start;min-width:0;min-height:98px;margin:0;padding:23px 22px 20px 70px;border:0;border-radius:17px 0 0 0;background:transparent}
#job-search.search-design .search-location-field::before{content:'';position:absolute;inset-inline-start:0;top:18px;bottom:18px;width:1px;background:var(--line)}
#job-search.search-design .search-main>.field:focus-within{background:var(--surface);outline:2px solid var(--focus);outline-offset:-3px}
#job-search.search-design .field>label{display:block;margin:0;font-size:11px;line-height:18px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
#job-search.search-design .field>label .jb-label-text{font:inherit;color:inherit;letter-spacing:inherit}
#job-search.search-design .search-main>.field>label[for="search-what"],#job-search.search-design .search-main>.field>label[for="search-where"]{color:#0000cc}
#job-search.search-design .input-wrap{position:static;min-height:32px}
#job-search.search-design .input-wrap>.icon{position:absolute;left:auto;inset-inline-start:24px;top:33px;transform:none;width:28px;height:28px;color:var(--search-icon);pointer-events:none}
#job-search.search-design .input-wrap>input[data-autocomplete]{display:block;appearance:none;width:100%;min-width:0;min-height:32px;height:32px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;color:#000;font-size:18px;font-weight:700;line-height:32px;letter-spacing:-.02em;text-overflow:ellipsis}
#job-search.search-design .input-wrap>input[data-autocomplete]::placeholder{color:#626977;opacity:1;font-weight:450}
#job-search.search-design .input-wrap>input[data-autocomplete]:focus{outline:0;border:0;box-shadow:none;background:transparent}
#job-search.search-design .search-submit{display:inline-flex;align-items:center;justify-content:center;align-self:start;gap:12px;width:auto;min-width:0;min-height:58px;height:auto;margin:20px 18px 20px 14px;padding:14px 24px;border:1px solid #cd29c0;border-radius:14px;background:#cd29c0;color:#fff;box-shadow:none;font-size:16px;font-weight:700;line-height:1.5;white-space:normal;text-align:center}
#job-search.search-design .search-submit:hover{border-color:#b51eaa;background:#b51eaa;color:#fff}
#job-search.search-design .search-submit>.icon{flex:none;width:21px;height:21px}
#job-search.search-design .advanced{margin:0;border:0;padding:0}
#job-search.search-design .advanced>summary{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;min-height:65px;margin:0;padding:12px 22px;border-top:1px solid var(--line);border-radius:0 0 17px 17px;color:var(--link);font-size:13px;font-weight:600;line-height:1.5;list-style:none;cursor:pointer;user-select:none}
#job-search.search-design .advanced>summary::-webkit-details-marker{display:none}
#job-search.search-design .advanced>summary::after{content:none}
#job-search.search-design .search-promise{display:inline-flex;align-items:center;gap:12px;color:var(--muted);font-size:13px;font-weight:450;line-height:1.5}
#job-search.search-design .search-promise>.icon{width:25px;height:25px;flex:none;border-radius:50%;padding:5px;background:var(--search-icon);color:#fff;stroke-width:2.2}
#job-search.search-design .search-advanced-toggle{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:40px;padding:6px 0 6px 12px;border:0;border-radius:0;background:transparent;color:var(--search-icon);font-size:13px;line-height:1.5;white-space:nowrap}
#job-search.search-design .search-advanced-toggle>.icon:first-child{width:19px;height:19px}
#job-search.search-design .search-advanced-toggle>.icon:last-child{width:15px;height:15px;transition:transform .15s}
#job-search.search-design .advanced[open]>summary .search-advanced-toggle>.icon:last-child{transform:rotate(180deg)}
#job-search.search-design .advanced>summary:hover .search-advanced-toggle{color:var(--link-hover)}
#job-search.search-design .advanced>summary:focus-visible{outline:2px solid var(--focus);outline-offset:-3px}
/* These descendants retain their appearance when the same details moves into the mobile sheet. */
.search-advanced .search-refinements{--search-panel:#f8f9fc;--search-icon:#0000cc;--search-track:#d3d8e6}
#job-search.search-design .advanced .search-refinements,.listing-filters-dialog .search-advanced .search-refinements{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:0;margin:0;padding:0;border:0;border-top:1px solid var(--line);border-radius:0 0 17px 17px;background:var(--search-panel);color:var(--ink)}
#job-search.search-design .advanced:not([open])>.search-refinements,.search-advanced:not([open])>.search-refinements{display:none}
.search-refinements>section{min-width:0;padding:22px 24px 24px}
.search-refinements .search-location-preferences{position:relative}
.search-refinements .search-location-preferences::before{content:'';position:absolute;inset-inline-start:0;top:22px;bottom:24px;width:1px;background:var(--line)}
#job-search.search-design .search-refinements h3,.listing-filters-dialog .search-refinements h3{display:flex;align-items:center;gap:12px;margin:0 0 18px;color:var(--ink);font-size:17px;font-weight:700;line-height:1.4;letter-spacing:-.015em;text-transform:none}
.search-refinements h3>.icon{flex:none;width:23px;height:23px;color:var(--search-icon)}
.search-refinements .search-preference-fields,.search-refinements .search-timing-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
#job-search.search-design .search-refinements label,.listing-filters-dialog .search-refinements label{display:grid;gap:7px;min-width:0;font-size:12px;font-weight:550;line-height:1.5;color:var(--ink)}
#job-search.search-design .search-refinements .jb-label-text,.listing-filters-dialog .search-refinements .jb-label-text{font-size:12px;font-weight:550;line-height:1.5;color:var(--ink)}
#job-search.search-design .search-refinements :is(select,input[type=number]),.listing-filters-dialog .search-refinements :is(select,input[type=number]){min-width:0;width:100%;min-height:46px;padding:10px 34px 10px 12px;border:1px solid var(--control-border);border-radius:8px;background-color:var(--paper);box-shadow:none;color:var(--ink);font-size:13px;font-weight:450;line-height:1.5}
#job-search.search-design .search-refinements input[type=number],.listing-filters-dialog .search-refinements input[type=number]{padding-inline-end:10px}
#job-search.search-design .search-refinements :is(select,input[type=number]):hover,.listing-filters-dialog .search-refinements :is(select,input[type=number]):hover{border-color:var(--control-hover)}
#job-search.search-design .search-refinements :is(select,input[type=number]):focus-visible,.listing-filters-dialog .search-refinements :is(select,input[type=number]):focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-color:var(--focus)}
#job-search.search-design fieldset.search-arrangement,.listing-filters-dialog fieldset.search-arrangement{min-width:0;margin:17px 0 0;padding:0;border:0}
#job-search.search-design .search-arrangement legend,.listing-filters-dialog .search-arrangement legend{margin:0 0 7px;padding:0;font-size:12px;font-weight:550;line-height:1.5;color:var(--ink)}
.search-mode-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border:1px solid var(--control-border);border-radius:10px;background:var(--paper);isolation:isolate}
#job-search.search-design .search-mode-options>label,.listing-filters-dialog .search-mode-options>label{position:relative;display:flex!important;align-items:center;justify-content:center;gap:0;min-width:0;min-height:46px;margin:0;padding:9px 5px;border:0;border-inline-start:1px solid var(--control-border);border-radius:0;font-size:12px;font-weight:600;line-height:1.4;text-align:center;cursor:pointer;overflow-wrap:anywhere;background:var(--paper);color:var(--ink)}
#job-search.search-design .search-mode-options>label:first-child,.listing-filters-dialog .search-mode-options>label:first-child{border-inline-start:0;border-radius:9px 0 0 9px}
#job-search.search-design .search-mode-options>label:last-child,.listing-filters-dialog .search-mode-options>label:last-child{border-radius:0 9px 9px 0}
#job-search.search-design .search-mode-options input[type=radio],.listing-filters-dialog .search-mode-options input[type=radio]{position:absolute;inset:0;width:100%;height:100%;min-height:0;margin:0;padding:0;opacity:0;cursor:pointer}
#job-search.search-design .search-mode-options>label:has(input:checked),.listing-filters-dialog .search-mode-options>label:has(input:checked){background:var(--blue);color:#fff}
#job-search.search-design .search-mode-options>label:hover:not(:has(input:checked)),.listing-filters-dialog .search-mode-options>label:hover:not(:has(input:checked)){background:var(--tint);color:var(--link)}
#job-search.search-design .search-mode-options>label:has(input:focus-visible),.listing-filters-dialog .search-mode-options>label:has(input:focus-visible){z-index:1;outline:2px solid var(--focus);outline-offset:3px}
.search-mode-options .jb-check-copy{flex:initial;font:inherit;color:inherit}
#job-search.search-design .search-refinements .radius-label,.listing-filters-dialog .search-refinements .radius-label{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin:0;font-size:13px;font-weight:550;line-height:1.5}
.search-refinements #radius-value{display:inline-block;max-width:100%;padding:2px 9px;border-radius:20px;background:var(--tint);color:var(--search-icon);font-size:15px;font-weight:700;line-height:1.5}
#job-search.search-design #radius-slider,.listing-filters-dialog .search-refinements #radius-slider{display:block;appearance:none;-webkit-appearance:none;width:100%;height:34px;min-height:34px;margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;cursor:pointer;accent-color:var(--search-icon)}
#job-search.search-design #radius-slider::-webkit-slider-runnable-track,.listing-filters-dialog #radius-slider::-webkit-slider-runnable-track{height:6px;border-radius:5px;background:linear-gradient(to right,var(--search-icon) var(--radius-progress,50%),var(--search-track) var(--radius-progress,50%))}
#job-search.search-design #radius-slider::-moz-range-track,.listing-filters-dialog #radius-slider::-moz-range-track{height:6px;border-radius:5px;background:var(--search-track)}
#job-search.search-design #radius-slider::-moz-range-progress,.listing-filters-dialog #radius-slider::-moz-range-progress{height:6px;border-radius:5px;background:var(--search-icon)}
#job-search.search-design #radius-slider::-webkit-slider-thumb,.listing-filters-dialog #radius-slider::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:20px;height:20px;margin-top:-7px;border:3px solid var(--search-icon);border-radius:50%;background:var(--paper);box-shadow:0 1px 4px #0000cc15}
#job-search.search-design #radius-slider::-moz-range-thumb,.listing-filters-dialog #radius-slider::-moz-range-thumb{width:14px;height:14px;border:3px solid var(--search-icon);border-radius:50%;background:var(--paper)}
#job-search.search-design #radius-slider:focus-visible,.listing-filters-dialog #radius-slider:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.search-radius-scale{display:flex;justify-content:space-between;color:var(--muted);font-size:11px;line-height:1.5;margin-top:-4px}
.search-refinements .search-timing-fields{margin-top:14px}
.search-refinements .search-refinements-footer{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:52px;padding:9px 24px;border-top:1px solid var(--line);border-radius:0 0 17px 17px;background:var(--paper);font-size:12px;line-height:1.5;color:var(--muted)}
#job-search.search-design .search-clear,.listing-filters-dialog .search-clear{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:5px 0;border:0;background:transparent;color:var(--link);font-size:12px;font-weight:550;line-height:1.5;cursor:pointer;text-decoration:none}
#job-search.search-design .search-clear:hover,.listing-filters-dialog .search-clear:hover{color:var(--link-hover);text-decoration:underline;text-underline-offset:4px}
#job-search.search-design .search-clear[hidden],.listing-filters-dialog .search-clear[hidden]{display:none}
#job-search.search-design .suggestions{top:100%;left:0;right:0;min-width:0;margin-top:6px;z-index:40}
#job-search.search-design .jb-field-error{grid-column:1/-1;max-width:100%;margin-top:5px;font-size:12px;line-height:1.5}
#job-search.search-design .input-wrap>input[aria-invalid=true]{outline:0;border:0;box-shadow:none}
#job-search.search-design .field:has([aria-invalid=true]){box-shadow:inset 0 -2px var(--error);background:var(--error-bg)}
/* Native details/inputs remain usable without JavaScript. Only clear enhancement requires it. */
.listing-filters-dialog .search-advanced{margin:18px 0 0;padding:0;border:1px solid var(--line);border-radius:12px;background:var(--paper)}
.listing-filters-dialog .search-advanced>summary{display:flex;align-items:center;justify-content:flex-start;min-height:48px;padding:7px 14px;list-style:none;cursor:pointer}
.listing-filters-dialog .search-advanced>summary::-webkit-details-marker{display:none}
.listing-filters-dialog .search-advanced>summary .search-promise{display:none}
.listing-filters-dialog .search-advanced-toggle{display:inline-flex;align-items:center;gap:9px;min-height:36px;border:0;background:transparent;color:var(--link);font-size:14px;font-weight:600}
.listing-filters-dialog .search-advanced-toggle>.icon{width:18px;height:18px}
.listing-filters-dialog .search-advanced[open]>summary .search-advanced-toggle>.icon:last-child{transform:rotate(180deg)}
html[data-theme=dark] #job-search.search-design,html[data-theme=dark] .search-advanced .search-refinements{--search-panel:var(--canvas);--search-icon:var(--link);--search-track:#475268}
html[data-theme=dark] #job-search.search-design .input-wrap>input[data-autocomplete]{background:transparent;color:var(--ink)}
html[data-theme=dark] #job-search.search-design .advanced .search-refinements{background:var(--search-panel)}
html[data-theme=dark] #job-search.search-design .search-promise>.icon{background:var(--blue);color:#fff}
@media(max-width:1100px){
 #job-search.search-design .search-main{grid-template-columns:minmax(0,1.15fr) minmax(0,.9fr) minmax(165px,auto)}
 #job-search.search-design .search-main>.field{padding-inline:54px 16px}
 #job-search.search-design .input-wrap>.icon{inset-inline-start:18px;width:24px;height:24px;top:35px}
 #job-search.search-design .input-wrap>input[data-autocomplete]{font-size:16px}
 #job-search.search-design .search-submit{padding-inline:16px;font-size:14px;margin-inline:8px 16px}
 .search-refinements>section{padding-inline:20px}.search-refinements .search-preference-fields,.search-refinements .search-timing-fields{gap:14px}
 #job-search.search-design .search-refinements h3{font-size:16px}
}
@media(max-width:800px){
 #job-search.search-design .search-main{grid-template-columns:minmax(0,1fr) minmax(0,1fr);padding-bottom:14px}
 #job-search.search-design .search-submit{grid-column:1/-1;justify-self:stretch;min-height:52px;margin:0 18px;padding-block:12px}
 #job-search.search-design .search-main>.field{min-height:90px;padding-block:19px 18px}
 #job-search.search-design .input-wrap>.icon{top:31px}
 #job-search.search-design .advanced .search-refinements{grid-template-columns:minmax(0,1fr)}
 .search-refinements .search-location-preferences::before{inset-inline:20px;top:0;bottom:auto;width:auto;height:1px}
 .search-refinements>section{padding:20px}
 #job-search.search-design .advanced>summary{padding-inline:18px}
 #job-search.search-design .search-refinements :is(select,input[type=number]){font-size:16px;min-height:48px}
 .search-refinements .search-timing-fields{margin-top:18px}
}
@media(max-width:560px){
 #job-search.search-design{border-radius:14px}
 #job-search.search-design .search-main{grid-template-columns:minmax(0,1fr);padding-bottom:14px}
 #job-search.search-design .search-main>.field{min-height:82px;padding:15px 18px 15px 54px;border-radius:13px 13px 0 0}
 #job-search.search-design .search-location-field{border-radius:0}
 #job-search.search-design .search-location-field::before{inset-inline:18px;top:0;bottom:auto;width:auto;height:1px}
 #job-search.search-design .input-wrap>.icon{inset-inline-start:18px;top:29px;width:23px;height:23px}
 #job-search.search-design .input-wrap>input[data-autocomplete]{font-size:16px}
 #job-search.search-design .search-submit{margin-inline:14px;min-height:50px;border-radius:10px;font-size:15px}
 #job-search.search-design .advanced>summary{flex-wrap:wrap;gap:4px 12px;min-height:60px;padding:10px 16px;border-radius:0 0 13px 13px}
 #job-search.search-design .search-promise{font-size:11px;gap:8px;flex:1 1 180px}
 #job-search.search-design .search-promise>.icon{width:20px;height:20px;padding:4px}
 #job-search.search-design .search-advanced-toggle{font-size:12px;padding-inline-start:0;min-height:38px;margin-inline-start:auto;gap:7px}
 #job-search.search-design .advanced .search-refinements{border-radius:0 0 13px 13px}
 .search-refinements>section{padding:18px 16px}
 .search-refinements .search-location-preferences::before{inset-inline:16px}
 #job-search.search-design .search-refinements h3,.listing-filters-dialog .search-refinements h3{font-size:16px;gap:9px}
 .search-refinements .search-preference-fields,.search-refinements .search-timing-fields{grid-template-columns:minmax(0,1fr);gap:14px}
 .search-refinements .search-refinements-footer{padding:8px 16px;border-radius:0 0 13px 13px}
 #job-search.search-design .search-mode-options>label,.listing-filters-dialog .search-mode-options>label{font-size:11px;min-height:46px;padding-inline:3px}
}
.listing-filters-dialog .search-advanced .search-refinements{grid-template-columns:minmax(0,1fr);border-radius:0 0 11px 11px}
.listing-filters-dialog .search-refinements>section{padding:18px 14px}
.listing-filters-dialog .search-location-preferences::before{inset-inline:14px;top:0;bottom:auto;width:auto;height:1px}
.listing-filters-dialog .search-preference-fields,.listing-filters-dialog .search-timing-fields{grid-template-columns:minmax(0,1fr)}
.listing-filters-dialog .search-refinements :is(select,input[type=number]){font-size:16px;min-height:48px}
.listing-filters-dialog .search-refinements .search-refinements-footer{padding-inline:14px;border-radius:0 0 11px 11px}
@media(prefers-reduced-motion:reduce){#job-search.search-design .search-advanced-toggle>.icon{transition:none}}

#job-search.search-design .suggestions.is-above{top:auto;bottom:calc(100% + 6px)}

#job-search.search-design .search-advanced-toggle>.icon{color:inherit}
#job-search.search-design .search-advanced>summary .icon,.listing-filters-dialog .search-advanced>summary .icon{transform:none}
#job-search.search-design .search-advanced[open]>summary .search-advanced-toggle>.icon:last-child,.listing-filters-dialog .search-advanced[open]>summary .search-advanced-toggle>.icon:last-child{transform:rotate(180deg)}

html[data-theme=dark] #job-search.search-design .input-wrap>input[data-autocomplete]::placeholder{color:#a7afbf;opacity:1;font-weight:450}

#job-search.search-design .field:focus-within{position:relative;z-index:5}
#job-search.search-design .search-attribute-preferences,.listing-filters-dialog .search-attribute-preferences{grid-column:1/-1;border-top:1px solid var(--line);padding-top:20px;min-width:0}
.search-attribute-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 20px}
.search-attribute-fields label{display:grid;gap:7px;min-width:0}
.search-attribute-fields label>span{font-size:13px;font-weight:600;line-height:1.5}
.search-attribute-fields select{width:100%;min-width:0}
.search-attribute-feedback{margin:10px 0 0;font-size:12px;line-height:1.5;color:var(--muted)}
.search-attribute-feedback:empty{display:none}
@media(max-width:780px){.search-attribute-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.search-attribute-fields{grid-template-columns:1fr}}

/* The nearest-city option shares the advanced search and the mobile filter drawer. */
:is(#job-search.search-design,.listing-filters-dialog) .search-nearby-choice{display:flex;align-items:center;gap:9px;margin:0 0 12px;font-size:12px;font-weight:550;line-height:1.5;color:var(--ink);cursor:pointer}
:is(#job-search.search-design,.listing-filters-dialog) .search-nearby-choice[hidden]{display:none}
:is(#job-search.search-design,.listing-filters-dialog) .search-nearby-choice input[type=checkbox]{appearance:auto;flex:0 0 17px;width:17px;height:17px;min-height:0;margin:0;padding:0;accent-color:var(--search-icon);box-shadow:none}
:is(#job-search.search-design,.listing-filters-dialog) #radius-slider:disabled{opacity:.45;cursor:default}

/* companies.css */
/* Canonical public company profiles and the employer directory. */
/* Company detail pages retain their neutral heading; other public headings stay shared. */
:root .job-listing .company-profile-heading{padding:26px 0 28px;background:var(--canvas);background-image:none;color:var(--ink);border-bottom:1px solid var(--line)}
:root .job-listing .company-profile-heading h1{font-weight:750}
:root .job-listing .company-profile-heading h1::after{display:none}
:root .job-listing .company-profile-heading :is(.context-chain,.context-chain a,.browse-sub,.browse-sub a){color:var(--link);text-decoration-color:currentColor}
:root .job-listing .company-profile-heading .context-chain a:hover{color:var(--link-hover)}
@media(max-width:600px){:root .job-listing .company-profile-heading{padding-block:22px}}

:root .job-listing .company-identity{display:flex;align-items:center;gap:26px;min-width:0;margin:4px 0 26px;padding:0}
:root .job-listing .company-identity>.company-logo-box{display:grid;place-items:center;flex:none;width:156px;height:156px;max-width:156px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:var(--shadow-sm);gap:0}
:root .job-listing .company-logo-box>img{display:block;width:100%;height:100%;min-width:0;min-height:0;max-width:100%;object-fit:contain}
:root .job-listing .company-identity>.company-logo-box.is-white-logo{background:#6b7280}
:root .job-listing .company-identity>div{display:grid;gap:10px;min-width:0}
:root .job-listing .company-identity h1{margin:0;color:var(--ink);font-size:clamp(27px,3vw,36px);line-height:1.2;letter-spacing:-.025em;overflow-wrap:anywhere}
:root .job-listing .company-identity .company-identity-sector{margin:0;font-size:14px;font-weight:500;line-height:1.6;color:var(--muted);overflow-wrap:anywhere}
.job-listing .company-profile-about{max-width:none;margin:0 0 30px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
.job-listing .company-profile-about h2{margin:0 0 14px;font-size:20px;font-weight:700;line-height:1.4;color:var(--ink)}
.job-listing .company-profile-about .company-profile-summary{max-width:90ch;margin:0;font-size:14px;line-height:1.85;color:var(--ink);overflow-wrap:anywhere}
.job-listing .company-profile-about .employer-details{display:grid;grid-template-columns:minmax(120px,180px) minmax(0,1fr);gap:9px 22px;margin:20px 0 0;font-size:13px;line-height:1.65;color:var(--ink)}
.company-profile-about .employer-details dt{margin:0;color:var(--muted);font-weight:550}.company-profile-about .employer-details dd{margin:0;min-width:0;overflow-wrap:anywhere}
.company-profile-links{display:flex;flex-wrap:wrap;align-items:center;gap:14px 22px;margin-top:18px}
.company-profile-links a.text-link{display:inline-flex;align-items:center;gap:8px;max-width:100%;min-height:36px;font-size:13px;line-height:1.6;color:var(--link);overflow-wrap:anywhere;text-decoration:underline;text-underline-offset:4px}
.company-profile-links a.text-link:hover{color:var(--link-hover)}.company-profile-links .icon{width:16px;height:16px;flex:none}
:root .job-listing .company-jobs-heading{display:block;margin:0 0 18px;padding:0;font-size:clamp(22px,2.4vw,28px);font-weight:700;line-height:1.3;letter-spacing:-.02em;color:var(--ink)}
.company-directory .employer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:stretch}
.company-directory a.company-directory-card{display:grid;grid-template-rows:minmax(0,1fr) auto;gap:20px;min-width:0;padding:22px;border:1px solid var(--line);border-radius:13px;background:var(--paper);box-shadow:var(--shadow-sm);color:var(--ink);text-decoration:none;transition:background-color .14s,border-color .14s,box-shadow .14s}
.company-directory-card .company-directory-identity{display:flex;align-items:center;gap:15px;min-width:0}
.company-directory-card .company-directory-identity>img{display:block;flex:none;width:64px;height:64px;object-fit:contain;background:transparent;border:0;box-shadow:none}
.company-directory-card .company-directory-copy{min-width:0}
.company-directory a.company-directory-card :is(h2,h3){margin:0;font-size:16px;font-weight:700;line-height:1.45;letter-spacing:-.015em;color:var(--ink);text-decoration:none;overflow-wrap:anywhere}
.company-directory a.company-directory-card p{margin:6px 0 0;font-size:12px;font-weight:450;line-height:1.6;color:var(--muted);overflow-wrap:anywhere}
.company-directory-card .company-directory-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;min-width:0;padding-top:14px;border-top:1px solid var(--line)}
.company-directory-card .company-directory-count{display:inline-flex;flex-wrap:wrap;align-items:baseline;gap:7px;margin:0;min-width:0;color:var(--muted);font-size:12px;line-height:1.5}
.company-directory-card .company-directory-count>.link-count{font-size:22px;font-weight:750;color:var(--ink);line-height:1.3;font-variant-numeric:tabular-nums}
.company-directory-card .company-directory-arrow{display:grid;place-items:center;flex:none;width:32px;height:32px;margin:0;border-radius:8px;background:var(--tint);color:var(--link)}
.company-directory-card .company-directory-arrow>.icon{width:18px;height:18px}
.company-directory a.company-directory-card:is(:hover,:focus-visible){border-color:var(--accent-line);background:var(--paper);box-shadow:var(--shadow-md);text-decoration:none}
.company-directory a.company-directory-card:is(:hover,:focus-visible) :is(h2,h3){color:var(--link);text-decoration:none}
.company-directory a.company-directory-card:focus-visible{outline:2px solid var(--focus);outline-offset:3px}
@media(max-width:1000px){.company-directory .employer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){
 :root .job-listing .company-identity{gap:18px;margin-bottom:22px;align-items:center}
 :root .job-listing .company-identity>.company-logo-box{width:104px;height:104px;max-width:104px;padding:12px;border-radius:12px}
 :root .job-listing .company-identity h1{font-size:26px}
 :root .job-listing .company-identity .company-identity-sector{font-size:13px}
 .job-listing .company-profile-about{margin-bottom:24px}
 .job-listing .company-profile-about h2{font-size:18px}
 .job-listing .company-profile-about .company-profile-summary{font-size:14px;line-height:1.8}
 .job-listing .company-profile-about .employer-details{grid-template-columns:minmax(0,1fr);gap:4px}
 .company-profile-about .employer-details dd:not(:last-child){margin-bottom:10px}
 .company-directory .employer-grid{grid-template-columns:minmax(0,1fr);gap:14px}
 .company-directory a.company-directory-card{padding:18px;gap:16px}
}
@media(prefers-reduced-motion:reduce){.company-directory a.company-directory-card{transition:none}}
:root .job-listing .company-jobs-heading::after{display:none}

/* Related employers reuse the directory cards within the narrower results column. */
.company-related>h2{margin:0 0 8px;font-size:20px;font-weight:600;line-height:1.4;color:var(--ink)}
.company-related>p{margin:0 0 18px;font-size:13px;line-height:1.65;color:var(--muted)}
.company-directory.company-related .employer-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:18px}
.company-directory .company-directory-identity>img.is-white-logo{background:#6b7280;border-radius:6px;padding:4px;box-sizing:border-box}

/* Readable employer total on the blue directory heading in the light theme. */
html:root:not([data-theme="dark"]) body .portal-heading .company-directory-total{color:var(--heading-muted)}

/* Alphabet navigation: a compact, scrollable row on small screens. */
.company-directory .company-alphabet:not([hidden]){display:flex;align-items:stretch;flex-wrap:nowrap;gap:0;max-width:100%;margin:4px 0 20px;padding:0 0 2px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin;scrollbar-color:var(--line) transparent}
.company-directory .company-letter{position:relative;display:inline-flex;flex:1 0 38px;align-items:center;justify-content:center;min-width:38px;min-height:44px;padding:8px 5px;border:0;border-radius:0;background:transparent;color:var(--muted);font-size:13px;font-weight:650;line-height:1;cursor:pointer}
.company-directory .company-letter:first-child{flex:0 0 auto;min-width:72px;margin-right:8px;padding-inline:12px}
.company-directory .company-letter:first-child::before{content:"";position:absolute;right:-4px;top:11px;bottom:11px;width:1px;background:var(--line)}
.company-directory .company-letter:is(:hover,:focus-visible){background:transparent;color:var(--link)}
.company-directory .company-letter.is-active{background:transparent;color:var(--link);font-weight:750}
.company-directory .company-letter.is-active::after{content:"";position:absolute;bottom:0;left:6px;right:6px;height:3px;border-radius:3px;background:var(--link)}
.company-directory .company-letter:focus-visible{outline:2px solid var(--focus);outline-offset:-3px}
@media(max-width:600px){.company-directory .company-letter{flex-basis:44px;min-width:44px;min-height:44px}}

/* Reserved anchor for related employers after the last result. */
[data-related-company-anchor]:empty{min-height:1px}

/* footer.css */
/* Jobbol USA footer: CSS decoration, local logo and inline icons only. */
footer.site-footer.jobbol-footer{position:relative;isolation:isolate;overflow:hidden;margin-top:20px;padding:0;border:0;background:#0000cc;background-image:radial-gradient(ellipse at 95% 8%,#1659f7 0,transparent 57%),radial-gradient(ellipse at 50% 120%,#0348df 0,transparent 64%),linear-gradient(125deg,#031f9a 0,#043ace 49%,#032498 100%);color:#fff}
.jobbol-footer::before,.jobbol-footer::after{content:'';position:absolute;pointer-events:none;z-index:-1;border-radius:50%;background:rgb(43 98 255 / 24%)}
.jobbol-footer::before{width:380px;height:380px;left:-315px;top:140px;box-shadow:210px -360px 0 80px rgb(36 90 244 / 11%)}
.jobbol-footer::after{width:400px;height:400px;right:-260px;top:-235px;box-shadow:45px 470px 0 15px rgb(35 90 247 / 14%)}
.jobbol-footer .footer-shell{position:relative;width:min(var(--wrap),calc(100% - 2 * var(--page-gutter)));margin-inline:auto;min-width:0}
.jobbol-footer .footer-main{display:grid;grid-template-columns:minmax(0,1.33fr) minmax(0,1.04fr) minmax(0,.92fr) minmax(0,1.31fr);align-items:start;gap:44px;padding:72px 0 44px}
.jobbol-footer .footer-brand-column,.jobbol-footer .footer-information-column,.jobbol-footer .footer-nav{min-width:0}
footer.jobbol-footer a.footer-logo-link{display:inline-block;max-width:100%;line-height:0;padding:0;border:0;text-decoration:none}
footer.jobbol-footer .footer-white-logo{display:block!important;width:190px;max-width:100%;height:auto;aspect-ratio:250/59;object-fit:contain;object-position:left center;background:transparent;border:0}
footer.jobbol-footer .footer-intro{max-width:300px;margin:20px 0 12px;color:#fff;font-size:16px;font-weight:400;line-height:1.4;letter-spacing:-.02em}
footer.jobbol-footer .footer-free{margin:0;color:#f1f4ff;font-size:13px;font-weight:400;line-height:1.6}
.jobbol-footer .footer-benefits{display:grid;gap:14px;max-width:300px;margin:22px 0 0;padding:0;list-style:none}
.jobbol-footer .footer-benefits>li{display:flex;align-items:center;gap:12px;min-width:0;min-height:34px;font-size:13px;font-weight:400;line-height:1.55;color:#fff}
.jobbol-footer .footer-benefit-symbol{display:grid;place-items:center;flex:none;width:34px;height:34px;border-radius:50%;background:rgb(255 255 255 / 8%);box-shadow:none;color:#fff}
.jobbol-footer .footer-benefit-symbol>.icon{width:18px;height:18px;stroke-width:1.5;color:#fff}
footer.jobbol-footer h2{margin:0 0 16px;padding:0;color:#fff;font-size:16px;font-weight:600;line-height:1.4;letter-spacing:-.01em}
.jobbol-footer .footer-nav>ul{display:grid;gap:4px;margin:0;padding:0;list-style:none}
.jobbol-footer .footer-nav li{margin:0;padding:0;min-width:0}
footer.site-footer.jobbol-footer .footer-nav a{display:inline-block;max-width:100%;min-height:28px;padding:3px 0;color:#f4f6ff;font-size:14px;font-weight:400;line-height:1.6;text-decoration:none;overflow-wrap:anywhere}
footer.site-footer.jobbol-footer .footer-nav a:hover{color:#fff;text-decoration:underline;text-decoration-color:#f2b4e9;text-underline-offset:5px}
.jobbol-footer .footer-information-column{display:flex;flex-direction:column;align-self:stretch;gap:32px}
.jobbol-footer .footer-signup{margin:auto 0 0 -24px;padding:22px;border:1px solid rgb(137 176 255 / 40%);border-radius:18px;background:linear-gradient(135deg,rgb(60 119 255 / 20%),rgb(12 57 202 / 14%));box-shadow:inset 0 1px 0 #ffffff06}
.jobbol-footer .footer-signup-copy{display:grid;grid-template-columns:50px minmax(0,1fr);align-items:start;gap:16px}
.jobbol-footer .footer-signup-symbol{display:grid;place-items:center;width:50px;height:50px;border-radius:50%;background:linear-gradient(145deg,#4076ff,#0e43d8);color:#fff}
.jobbol-footer .footer-signup-symbol>.icon{width:27px;height:27px;color:#fff}
footer.jobbol-footer .footer-signup h2{margin:0 0 10px;font-size:16px;line-height:1.35}
footer.jobbol-footer .footer-signup p{margin:0;color:#f1f4ff;font-size:13px;line-height:1.7;overflow-wrap:anywhere}
.jobbol-footer .footer-signup-actions{display:flex;align-items:stretch;gap:12px;margin-top:22px}
footer.site-footer.jobbol-footer .footer-signup-actions>a.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-width:0;min-height:48px;padding:12px 16px;border:1px solid transparent;border-radius:13px;box-shadow:none;font-size:13px;font-weight:600;line-height:1.5;text-align:center;text-decoration:none;white-space:normal}
footer.site-footer.jobbol-footer .footer-signup-actions>a.footer-create{flex:1.6;background:#fff;color:#0000cc;border-color:#fff}
footer.site-footer.jobbol-footer .footer-signup-actions>a.footer-create:hover{background:#f4eafa;color:#0000cc;border-color:#f4eafa}
footer.site-footer.jobbol-footer .footer-signup-actions>a.footer-signin{flex:1;background:transparent;color:#fff;border-color:#b9cdff}
footer.site-footer.jobbol-footer .footer-signup-actions>a.footer-signin:hover{background:rgb(255 255 255 / 12%);color:#fff;border-color:#fff}
.jobbol-footer .footer-signup-actions .icon{width:19px;height:19px;flex:none;color:inherit}
.jobbol-footer .footer-utility{display:grid;grid-template-columns:minmax(155px,auto) minmax(0,1fr) auto;gap:28px;align-items:center;padding-block:24px;border-top:1px solid rgb(147 184 255 / 38%);border-bottom:1px solid rgb(147 184 255 / 38%)}
.jobbol-footer .footer-country-control{display:flex;align-items:center;gap:9px;position:relative;min-width:0;max-width:230px;color:#fff}
.jobbol-footer .footer-country-control>label{display:grid;place-items:center;flex:none;margin:0;cursor:pointer}
.jobbol-footer .footer-country-control>label>.icon{width:24px;height:24px;color:#fff}
.jobbol-footer .footer-country-control>select{appearance:none;-webkit-appearance:none;min-width:0;width:100%;min-height:44px;margin:0;padding:9px 24px 9px 0;border:0;border-radius:0;background:transparent;background-image:none;box-shadow:none;color:#fff;font:inherit;font-size:13px;line-height:1.5;cursor:pointer}
.jobbol-footer .footer-country-control>select>option{color:#202532;background:#fff}
.jobbol-footer .footer-country-control>.icon{position:absolute;right:0;top:15px;width:14px;height:14px;pointer-events:none;color:#fff}
.jobbol-footer .footer-country-control noscript{font-size:12px}
.jobbol-footer .footer-inclusion-copy{max-width:760px;margin:0;text-align:center;color:#f1f4ff;font-size:10.5px;font-weight:400;line-height:1.75}
.jobbol-footer .footer-socials{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:10px}
footer.site-footer.jobbol-footer .footer-socials>a{display:grid;place-items:center;flex:none;width:42px;height:42px;margin:0;padding:10px;border:0;border-radius:50%;background:rgb(49 111 246 / 40%);color:#fff;text-decoration:none;box-shadow:none;transition:background-color .14s}
footer.site-footer.jobbol-footer .footer-socials>a:hover{background:#cd29c0;color:#fff;text-decoration:none}
.jobbol-footer .footer-socials .icon{width:22px;height:22px;color:#fff}
.jobbol-footer .footer-bottom-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 28px;padding-block:22px 32px;color:#f1f4ff;font-size:11px;line-height:1.7}
footer.jobbol-footer .footer-bottom-row>p{margin:0;font-size:11px;color:#f1f4ff}
.jobbol-footer .footer-bottom-row>nav{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px 0;min-width:0}
footer.site-footer.jobbol-footer .footer-bottom-row :is(a,button){display:inline-flex;align-items:center;justify-content:center;min-height:36px;margin:0;padding:5px 14px;border:0;border-inline-start:1px solid rgb(205 222 255 / 60%);border-radius:0;background:transparent;color:#f4f6ff;font-family:inherit;font-size:11px;line-height:1.5;text-decoration:none;cursor:pointer}
footer.site-footer.jobbol-footer .footer-bottom-row :is(a,button):first-child{border-inline-start:0;padding-inline-start:0}
footer.site-footer.jobbol-footer .footer-bottom-row :is(a,button):last-child{padding-inline-end:0}
footer.site-footer.jobbol-footer .footer-bottom-row :is(a,button):hover{color:#fff;text-decoration:underline;text-decoration-color:#f2b4e9;text-underline-offset:4px}
footer.site-footer.jobbol-footer :is(a,button,select):focus-visible{outline:2px solid #fff;outline-offset:4px}
footer.site-footer.jobbol-footer a.footer-logo-link:hover{color:#fff;text-decoration:none}
/* The control stays clear of the cookie banner and does not cover centered notices. */
.back-to-top{position:fixed;right:max(16px,env(safe-area-inset-right));bottom:calc(20px + var(--privacy-overlay-height,0px));z-index:40;display:grid;place-items:center;width:44px;height:44px;padding:11px;border:1px solid #e2e6f2;border-radius:13px;background:#fff;color:#0000cc;box-shadow:0 4px 16px rgb(0 0 51 / 10%);cursor:pointer;transition:background-color .16s,color .16s,border-color .16s}
.back-to-top[hidden]{display:none}.back-to-top>.icon{width:20px;height:20px;stroke-width:1.6;color:inherit}.back-to-top:hover,.back-to-top:focus-visible{background:#0000cc;border-color:#0000cc;color:#fff}.back-to-top:focus-visible{outline:2px solid var(--focus);outline-offset:4px}
@media(max-width:1200px){.jobbol-footer .footer-shell{width:min(var(--wrap),calc(100% - 2 * var(--page-gutter)))}.jobbol-footer .footer-main{gap:28px;grid-template-columns:minmax(0,1.15fr) minmax(0,.95fr) minmax(0,.9fr) minmax(0,1.3fr);padding:60px 0 44px}.jobbol-footer .footer-signup{margin-inline-start:0;padding:18px}.jobbol-footer .footer-signup-copy{grid-template-columns:minmax(0,1fr);gap:12px}.jobbol-footer .footer-signup-actions{flex-wrap:wrap;gap:10px}footer.site-footer.jobbol-footer .footer-signup-actions>a.button{flex:1 1 130px}.jobbol-footer .footer-utility{gap:20px}footer.jobbol-footer .footer-intro{font-size:16px}}
@media(max-width:1000px){.jobbol-footer .footer-main{grid-template-columns:repeat(2,minmax(0,1fr));gap:38px 44px}.jobbol-footer .footer-signup-copy{grid-template-columns:50px minmax(0,1fr)}.jobbol-footer .footer-benefits{max-width:none}.jobbol-footer .footer-utility{grid-template-columns:minmax(0,1fr) auto;gap:18px}.jobbol-footer .footer-inclusion-copy{grid-row:2;grid-column:1/-1;max-width:none;font-size:11px}.jobbol-footer .footer-bottom-row>nav{justify-content:flex-start}.jobbol-footer .footer-bottom-row{justify-content:flex-start}}
@media(max-width:650px){.jobbol-footer .footer-shell{width:min(var(--wrap),calc(100% - 2 * var(--page-gutter)))}.jobbol-footer .footer-main{padding-block:42px 30px;gap:32px 22px}.jobbol-footer .footer-brand-column{grid-column:1/-1}.jobbol-footer .footer-benefits{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 20px}.jobbol-footer .footer-benefits>li{gap:10px;font-size:13px;align-items:flex-start}.jobbol-footer .footer-benefit-symbol{width:32px;height:32px}.jobbol-footer .footer-benefit-symbol>.icon{width:17px;height:17px}footer.jobbol-footer .footer-intro{max-width:300px;font-size:16px;margin-top:20px}.jobbol-footer .footer-information-column{grid-column:1/-1}.jobbol-footer .footer-information-column>.footer-nav>ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 22px}.jobbol-footer .footer-information-column{gap:26px}.jobbol-footer .footer-signup{margin-top:0;padding:22px}footer.jobbol-footer h2{font-size:15px}footer.site-footer.jobbol-footer .footer-nav a{font-size:12px;min-height:32px;padding-block:5px}.jobbol-footer .footer-signup-actions{flex-wrap:nowrap}.jobbol-footer .footer-signup-actions>a.button{flex-basis:auto}.jobbol-footer .footer-utility{padding-block:20px;gap:16px}footer.jobbol-footer .footer-inclusion-copy{font-size:11px}.jobbol-footer .footer-socials{gap:7px}footer.site-footer.jobbol-footer .footer-socials>a{width:36px;height:36px;padding:8px}.jobbol-footer .footer-socials .icon{width:20px;height:20px}.jobbol-footer .footer-country-control>select{font-size:12px;min-height:44px}.jobbol-footer .footer-country-control>label>.icon{width:21px;height:21px}.jobbol-footer .footer-bottom-row{padding-block:20px 28px;gap:10px}.jobbol-footer .footer-bottom-row>nav{gap:4px 0}footer.site-footer.jobbol-footer .footer-bottom-row :is(a,button){padding-inline:10px;font-size:10px}}
@media(max-width:420px){.jobbol-footer .footer-benefits{grid-template-columns:minmax(0,1fr);gap:14px}.jobbol-footer .footer-benefits>li{align-items:center;font-size:13px}.jobbol-footer .footer-utility{grid-template-columns:minmax(0,1fr);justify-items:center}.jobbol-footer .footer-inclusion-copy{grid-row:auto;grid-column:auto;order:3}.jobbol-footer .footer-socials{justify-content:center}.jobbol-footer .footer-country-control{width:180px}.jobbol-footer .footer-signup{padding:18px}.jobbol-footer .footer-signup-copy{grid-template-columns:42px minmax(0,1fr);gap:12px}.jobbol-footer .footer-signup-symbol{width:42px;height:42px}.jobbol-footer .footer-signup-actions{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){.back-to-top,.jobbol-footer .footer-socials>a{transition:none}}
/* Match the explicitly selected dark theme instead of retaining the blue light-mode paint. */
html[data-theme=dark] footer.site-footer.jobbol-footer{background:#111827;background-image:none;border-top:1px solid #30394f;color:#e9edf7;color-scheme:dark}
html[data-theme=dark] .jobbol-footer::before,html[data-theme=dark] .jobbol-footer::after{display:none}
html[data-theme=dark] .jobbol-footer :is(.footer-signup,.footer-benefit-symbol){background:#1d273b;border-color:#35415a;box-shadow:none}
html[data-theme=dark] .jobbol-footer .footer-signup-symbol{background:#2b3650}
html[data-theme=dark] footer.jobbol-footer :is(h2,.footer-intro){color:#f3f5fb}
html[data-theme=dark] footer.jobbol-footer :is(.footer-free,.footer-nav a,.footer-signup p,.footer-inclusion-copy,.footer-benefits>li){color:#d4dbeb}
html[data-theme=dark] footer.jobbol-footer .footer-nav a:hover{color:#f18ae7;text-decoration-color:currentColor}
html[data-theme=dark] .jobbol-footer .footer-utility{border-color:#35415a}
html[data-theme=dark] .jobbol-footer .footer-bottom-row :is(p,a,button){color:#c5cede}
html[data-theme=dark] .jobbol-footer .footer-country-control>select>option{background:#182235;color:#f3f5fb}
html[data-theme=dark] .jobbol-footer .footer-socials>a{background:#1d273b;border-color:#35415a}
html[data-theme=dark] .jobbol-footer .footer-socials>a:hover{background:#303b55;color:#fff}
@media print{footer.jobbol-footer,.back-to-top{display:none!important}}

/* 3.0.12: job sequence follows the existing back-to-top visibility and privacy offset. */
.floating-job-tools{position:fixed;right:max(16px,env(safe-area-inset-right));bottom:calc(20px + var(--privacy-overlay-height,0px) + env(safe-area-inset-bottom,0px));z-index:40;display:flex;align-items:center;gap:8px;max-width:calc(100vw - 32px)}
.floating-job-tools[hidden],.job-sequence-float-link[hidden]{display:none!important}
.floating-job-tools>.back-to-top{position:static;flex:0 0 44px;margin:0}
.job-sequence-float{display:flex;align-items:center;gap:8px;min-width:0}
.floating-job-tools .job-sequence-float-link{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:44px;height:44px;padding:0 12px;border:1px solid #e2e6f2;border-radius:13px;background:#fff;color:#0000cc;box-shadow:0 4px 16px rgb(0 0 51 / 10%);font-size:12px;font-weight:600;line-height:1.35;white-space:nowrap;text-decoration:none;transition:background-color .16s,color .16s,border-color .16s}
.job-sequence-float-link>.icon{width:20px;height:20px;flex:0 0 20px;stroke-width:1.6;color:inherit}
.floating-job-tools .job-sequence-float-link:is(:hover,:focus-visible){background:#0000cc;border-color:#0000cc;color:#fff;text-decoration:none}
.job-sequence-float-link:focus-visible{outline:2px solid var(--focus);outline-offset:4px}
/* Highlight only available previous/next jobs while the floating navigation is visible. */
.floating-job-tools:not([hidden]) .job-sequence-float-link[data-job-direction]:not([hidden]){border-color:#0000cc}
@media(prefers-reduced-motion:no-preference){
 .floating-job-tools:not([hidden]) .job-sequence-float-link[data-job-direction]:not([hidden]):not(:hover):not(:focus-visible){animation:jobbol-job-border-pulse 2s ease-in-out infinite}
}
@keyframes jobbol-job-border-pulse{
 0%,100%{border-color:rgb(0 0 204 / 32%);box-shadow:0 4px 16px rgb(0 0 51 / 10%),0 0 0 0 rgb(0 0 204 / 0%)}
 50%{border-color:#0000cc;box-shadow:0 4px 16px rgb(0 0 51 / 10%),0 0 0 3px rgb(0 0 204 / 14%)}
}
@media(max-width:640px){.floating-job-tools .job-sequence-float-link{width:44px;flex:0 0 44px;padding:11px}.job-sequence-float-link>.action-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}}
@media(prefers-reduced-motion:reduce){.floating-job-tools .job-sequence-float-link{transition:none}}
@media print{.floating-job-tools{display:none!important}}

footer.site-footer.jobbol-footer .footer-nav a.footer-privacy-choice{display:inline-flex;align-items:center;gap:7px;max-width:100%;transition:color .16s ease}
.footer-privacy-choice-icon{display:block;flex:none;transition:transform .16s ease,filter .16s ease}
footer.site-footer.jobbol-footer .footer-nav a.footer-privacy-choice:hover .footer-privacy-choice-icon,footer.site-footer.jobbol-footer .footer-nav a.footer-privacy-choice:focus-visible .footer-privacy-choice-icon{transform:translateX(2px);filter:drop-shadow(0 0 4px rgba(255,255,255,.45))}
@media(prefers-reduced-motion:reduce){.footer-privacy-choice-icon,footer.site-footer.jobbol-footer .footer-nav a.footer-privacy-choice{transition:none}}


/* career-banners.css */
.career-banner-group{width:100%;margin:22px auto 28px}
.career-banner-group[hidden]{display:none!important}
.career-banner{position:relative;isolation:isolate;display:flex;align-items:center;min-height:clamp(220px,20vw,300px);overflow:hidden;border-radius:12px;background:#061c5a;color:#fff}
.career-banner::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(2,20,74,.28) 0%,rgba(2,20,74,.12) 53%,transparent 76%)}
.career-banner-art{position:absolute;z-index:-2;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center}
.career-banner-copy{width:min(64%,720px);padding:30px clamp(24px,5vw,60px)}
.career-banner-copy h2{margin:0;color:#fff;font-size:clamp(25px,2.6vw,38px);line-height:1.12;font-weight:750;letter-spacing:-.025em}
.career-banner-prefix,.career-banner-name{display:block}
.career-banner-name{color:#ec39ed;overflow-wrap:anywhere}
.career-banner-accent{display:block;width:46px;height:3px;margin:15px 0;background:#dc20e0;border-radius:4px}
.career-banner-copy p{max-width:520px;margin:0;color:#fff;font-size:clamp(14px,1.18vw,17px);line-height:1.5}
.career-banner-guide{margin:18px 0 0;color:var(--muted);font-size:14px;line-height:1.5}
@media(max-width:640px){
 .career-banner-group{margin:16px auto 22px}
 .career-banner{display:flex;flex-direction:column;align-items:stretch;min-height:0}
 .career-banner::after{display:none}
 .career-banner-copy{order:0;width:100%;padding:22px 20px 18px}
 .career-banner-copy h2{font-size:clamp(23px,6vw,30px)}
 .career-banner-copy p{font-size:14px}
 .career-banner-accent{margin:11px 0}
 .career-banner-art{position:relative;order:1;display:block;inset:auto;width:100%;height:145px;object-position:right center}
}

/* experience.css */
/* Public refinements 2.10.19. Component-scoped; no changes to administrative widgets. */
.account-choice-section{max-width:1120px;text-align:left}
.account-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.account-choice-card{display:flex;flex-direction:column;gap:22px;padding:28px;border:1px solid var(--line);border-radius:12px;background:var(--paper);box-shadow:var(--shadow-sm);min-width:0;text-align:left;transition:border-color .15s,box-shadow .15s}
.account-choice-card:is(:hover,:focus-within){border-color:var(--accent-line);box-shadow:var(--shadow-md)}
.account-choice-heading{display:grid;grid-template-columns:52px minmax(0,1fr);align-items:start;gap:18px}
.account-choice-symbol{display:grid;place-items:center;width:52px;height:52px;border:1px solid var(--line);border-radius:13px;background:var(--tint);color:var(--link)}.account-choice-symbol>.icon{width:32px;height:32px;stroke-width:1.55}
.account-choice-copy{min-width:0}
.account-choice-copy h2{margin:0 0 9px;font-size:21px;line-height:1.4;font-weight:600;letter-spacing:-.02em;color:var(--ink)}
.account-choice-copy>p{margin:0;color:var(--muted);font-size:13px;line-height:1.75;text-align:left;overflow-wrap:anywhere}
.account-choice-card>.account-choice-features{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;margin:0;padding:0;list-style:none}
.account-choice-features>li{display:inline-flex;align-items:center;gap:7px;max-width:100%;font-size:12px;line-height:1.6;color:var(--muted)}.account-choice-features>li>.icon{width:17px;height:17px;color:var(--link);flex:none}.account-choice-features>li>span{min-width:0;overflow-wrap:anywhere}
.account-choice-actions{display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin-top:auto;padding-top:20px;border-top:1px solid var(--line)}
.account-choice-actions>.button{display:inline-flex;align-items:center;justify-content:space-between;gap:16px;min-width:min(290px,100%);max-width:100%;min-height:46px;padding:11px 16px;border-radius:7px;font-size:13px;font-weight:600;text-align:left;white-space:normal;line-height:1.6}.account-choice-actions>.button>span{min-width:0;overflow-wrap:anywhere}.account-choice-actions>.button>.icon{width:18px;height:18px;flex:none}
.account-choice-actions>.account-choice-note{display:flex;align-items:flex-start;gap:7px;min-height:3.2em;margin:0;font-size:11px;line-height:1.6;color:var(--muted);text-align:left}.account-choice-note>.icon{width:15px;height:15px;margin-top:1px;color:var(--link);flex:none}.account-choice-note>span{min-width:0;overflow-wrap:anywhere}
.account-choice-links{text-align:center;margin-top:24px}.account-choice-links>p{margin:12px 0;font-size:14px;color:var(--muted)}.account-choice-links>p.small{font-size:12px}
.continuity-links .continuity-copy>small{white-space:normal;overflow-wrap:anywhere;line-height:1.6;-webkit-line-clamp:3}
/* These actions keep their semantic color in every supported locale. */
:root body .button.action-primary,
:root body .site-header .header-account-actions .button:is(.employer-cta,.create-account-link),
:root body a.button:is([href='/join'],[href='/create-account'],[href='/employers/create-account'],[href='/employers/jobs/new'],[href$='/apply']),
:root body #job-preview-apply,
:root body .sponsored-apply>.button,
:root body [data-candidate-form='apply']>.button,
html body footer.site-footer.jobbol-footer .footer-signup-actions>a.footer-create{background:#cd29c0;border-color:#cd29c0;color:#fff;box-shadow:none}
:root body .button.action-primary:hover,
:root body .site-header .header-account-actions .button:is(.employer-cta,.create-account-link):hover,
:root body a.button:is([href='/join'],[href='/create-account'],[href='/employers/create-account'],[href='/employers/jobs/new'],[href$='/apply']):hover,
:root body #job-preview-apply:hover,
:root body .sponsored-apply>.button:hover,
:root body [data-candidate-form='apply']>.button:hover,
html body footer.site-footer.jobbol-footer .footer-signup-actions>a.footer-create:hover{background:#b420a8;border-color:#b420a8;color:#fff}
/* The public header account button uses Jobbol blue in light and dark themes. */
:root body .site-header .header-account-actions a.button.create-account-link{background:#0000cc;border-color:#0000cc;color:#fff}
:root body .site-header .header-account-actions a.button.create-account-link:hover{background:#0000a6;border-color:#0000a6;color:#fff}
/* A compact, keyboard-accessible language menu; the native form remains usable without JS. */
.site-header .header-tools .language-form.is-enhanced{position:relative;isolation:isolate}
.site-header .header-tools .language-form.is-enhanced::after{display:none}
.site-header .header-tools .language-form.is-enhanced :is(select.language,.language-chevron){display:none}
.site-header .header-tools .language-trigger{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:62px;min-height:44px;padding:8px 6px;border:0;border-radius:0;background:transparent;color:var(--ink);font:inherit;font-size:14px;font-weight:600;line-height:1.5;cursor:pointer;box-shadow:none}
.language-trigger>.language-code{text-decoration:underline;text-underline-offset:8px;text-decoration-thickness:1px;text-decoration-color:var(--link)}
.language-trigger>.icon{width:14px;height:14px;flex:none}.language-trigger:hover>.language-code{text-decoration-color:var(--pink)}
.language-trigger:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:4px}.language-trigger:disabled{opacity:.6;cursor:wait}
.site-header .language-options{position:absolute;z-index:100;top:calc(100% + 8px);inset-inline-end:0;min-width:226px;max-width:calc(100vw - 24px);padding:6px;border:1px solid var(--line);border-radius:10px;background:var(--paper);box-shadow:var(--shadow-md);color:var(--ink)}
.site-header .language-options[hidden]{display:none}
.site-header .language-option{display:grid;grid-template-columns:28px minmax(0,1fr) 16px;align-items:center;gap:12px;width:100%;min-height:44px;padding:10px 12px;border:0;border-radius:6px;background:transparent;color:var(--ink);font:inherit;text-align:start;font-size:13px;cursor:pointer}
.language-option>strong{font-size:12px;font-weight:650;letter-spacing:.04em}.language-option>span{min-width:0}.language-option .language-check{visibility:hidden;color:var(--link)}
.site-header .language-option[aria-selected=true]{background:var(--tint);color:var(--link)}.language-option[aria-selected=true] .language-check{visibility:visible}
.site-header .language-option:is(:hover,:focus-visible){background:var(--surface);outline:2px solid transparent;color:var(--link)}
/* Job alerts share the application-card style and remain collapsed until requested. */
details.search-alert{min-width:0;align-self:flex-start}
.discovery-block>.section-heading:has(>details.search-alert:not([data-alert-modal])){align-items:flex-start}
details.search-alert>summary{color:var(--link);min-height:44px;font-size:13px;text-align:left}
details.search-alert>summary::after{margin-inline-start:auto}
details.search-alert>form.search-alert-card{position:relative;isolation:isolate;display:block;width:100%;max-width:100%;margin:10px 0 0;padding:22px;overflow:hidden;border:1px solid var(--line);border-radius:16px;background:var(--paper);background-image:radial-gradient(ellipse at 115% -8%,var(--tint) 0,transparent 50%);box-shadow:var(--shadow-sm);text-align:left}
details.search-alert:not([open])>form.search-alert-card{display:none!important}
.search-alert-card>.eyebrow{margin:0 0 14px;color:var(--muted);font-size:10.5px;font-weight:600;line-height:1.5;letter-spacing:.1em}
.search-alert-card>h3{margin:0 0 14px;color:var(--ink);font-size:18px;font-weight:650;line-height:1.45;letter-spacing:-.035em;overflow-wrap:normal}
.search-alert-card>h3 .context-help{width:21px;height:21px;margin-inline-start:3px}.search-alert-card>h3 .context-help svg{width:16px;height:16px}
details.search-alert .search-alert-card>.search-alert-intro{margin:0 0 20px;color:var(--muted);font-size:13px;line-height:1.7}
details.search-alert .search-alert-card>.check-label{display:flex;align-items:flex-start;gap:10px;margin:0 0 22px;padding:0;color:var(--ink);font-size:13px;font-weight:400;line-height:1.65;min-height:24px}
.search-alert-card>.check-label>input[type=checkbox]{width:19px;height:19px;min-height:19px;margin:2px 0 0;accent-color:#0000cc;flex:none}.search-alert-card>.check-label>span{min-width:0}
html body details.search-alert form.search-alert-card>button.search-alert-primary{display:flex;align-items:center;justify-content:flex-start;gap:10px;width:100%;min-height:48px;margin:0;padding:12px 14px;border:1px solid #cd29c0;border-radius:10px;background:#cd29c0;color:#fff;box-shadow:none;font-size:13px;font-weight:600;line-height:1.5;text-align:left}
html body details.search-alert form.search-alert-card>button.search-alert-primary:hover{background:#b420a8;border-color:#b420a8;color:#fff}
.search-alert-primary>.icon{width:20px;height:20px;flex:none;stroke-width:1.6}.search-alert-primary>.icon:last-child{width:18px;height:18px;margin-inline-start:auto}.search-alert-primary>.action-label{min-width:0}
.search-alert-card>.search-alert-free{display:block;margin:12px 0 0;padding:0 0 18px;border-bottom:1px solid var(--line);color:var(--muted);font-size:11.5px;line-height:1.6;text-align:center}
.search-alert-card>[data-alert-status]{margin:12px 0 0;font-size:12px;line-height:1.6;overflow-wrap:anywhere}.search-alert-card>[data-alert-status]:empty{display:none}.search-alert-card>[data-alert-status].is-error{color:var(--error)}.search-alert-card>[data-alert-status].is-success{color:var(--success)}
.search-alert-card>.search-alert-preferences{margin:16px -8px -8px;padding:14px;border-radius:13px;background:var(--tint)}
.search-alert-preferences-copy{display:grid;grid-template-columns:40px minmax(0,1fr);align-items:center;gap:12px}.search-alert-symbol{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--paper);color:var(--link)}.search-alert-symbol>.icon{width:23px;height:23px;stroke-width:1.6}
.search-alert-preferences strong{display:block;margin:0 0 5px;color:var(--ink);font-size:12.5px;font-weight:600;line-height:1.5}details.search-alert .search-alert-preferences p{margin:0;color:var(--muted);font-size:11.5px;line-height:1.6}
html body details.search-alert .search-alert-manage{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:40px;margin:14px 0 0;padding:9px 12px;border:1px solid var(--line);border-radius:9px;background:transparent;color:var(--link);font-size:12px;font-weight:550;line-height:1.5;text-decoration:none}.search-alert-manage>.icon{width:17px;height:17px;flex:none}
html body details.search-alert .search-alert-manage:hover{background:var(--paper);border-color:var(--accent-line);color:var(--link);text-decoration:none}
.search-alert-card :is(.search-alert-primary,.search-alert-manage):focus-visible{outline:2px solid var(--focus);outline-offset:3px}
@media(max-width:700px){details.search-alert>form.search-alert-card{padding:20px}}
@media(max-width:380px){details.search-alert>form.search-alert-card{padding:18px}.search-alert-card>h3{font-size:17px}}
/* All contextual alerts share the location dialog surface. */
.job-alert-dialog{width:min(520px,calc(100% - 32px));padding:34px;border:1px solid var(--line);border-radius:14px;background:var(--paper);color:var(--ink);box-shadow:var(--shadow-lg)}
.job-alert-dialog>form.search-alert-card{width:100%;max-width:none;margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
.job-alert-dialog .search-alert-card>.eyebrow{margin:0 30px 14px 0;font-size:12px}
.job-alert-dialog .search-alert-card>h3{margin:10px 30px 15px 0;font-size:25px;line-height:1.25;letter-spacing:-.025em}
.job-alert-dialog .search-alert-intro{margin:0 0 20px;font-size:14px;line-height:1.7;color:var(--muted)}
.job-alert-dialog .search-alert-card>.check-label{display:flex;align-items:flex-start;gap:10px;margin:0 0 22px;padding:0;color:var(--ink);font-size:14px;font-weight:400;line-height:1.65}
html body .job-alert-dialog form.search-alert-card>button.search-alert-primary{display:flex;align-items:center;justify-content:flex-start;gap:10px;width:100%;min-height:48px;margin:0;padding:12px 14px;border:1px solid #cd29c0;border-radius:10px;background:#cd29c0;color:#fff;box-shadow:none;font-size:13px;font-weight:600;line-height:1.5;text-align:left}
html body .job-alert-dialog form.search-alert-card>button.search-alert-primary:hover{background:#b420a8;border-color:#b420a8;color:#fff}
.job-alert-dialog .search-alert-preferences p{margin:0;font-size:12px;line-height:1.6}
html body .job-alert-dialog .search-alert-manage{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:40px;margin:14px 0 0;padding:9px 12px;border:1px solid var(--line);border-radius:9px;background:transparent;color:var(--link);font-size:12px;font-weight:550;line-height:1.5;text-decoration:none}
html body .job-alert-dialog .search-alert-manage:hover{background:var(--paper);border-color:var(--accent-line);color:var(--link);text-decoration:none}
@media(max-width:480px){.job-alert-dialog{padding:26px 22px}}
/* Closed jobs have context and alternatives, with no application controls. */
.closed-job-page{padding-bottom:40px}.closed-job-summary{display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:22px;padding:26px;border:1px solid var(--line);border-radius:12px;background:var(--paper);box-shadow:var(--shadow-sm)}
.closed-job-symbol{color:var(--muted)}.closed-job-symbol>.icon{width:34px;height:34px}.closed-job-summary h2{font-size:20px;line-height:1.4;font-weight:600;margin:0 0 8px}.closed-job-summary p{font-size:13px;line-height:1.7;color:var(--muted);margin:6px 0 0}.closed-job-summary>.button{font-size:13px;min-height:44px;white-space:normal}
.closed-job-filters{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0 0}.closed-job-filters>.button{font-size:12px;min-height:40px;white-space:normal;max-width:100%}.closed-job-filters .icon{width:17px;height:17px;flex:none}
@media(max-width:760px){.account-choice-grid{grid-template-columns:minmax(0,1fr)}.account-choice-card{padding:24px;gap:20px}.account-choice-copy h2{font-size:20px}.closed-job-summary{grid-template-columns:32px minmax(0,1fr);padding:20px;gap:16px}.closed-job-summary>.button{grid-column:1/-1;justify-self:start}.site-header .header-tools .language-trigger{min-width:56px;font-size:14px}}
@media(max-width:420px){.account-choice-card{padding:20px;gap:18px}.account-choice-heading{grid-template-columns:44px minmax(0,1fr);gap:13px}.account-choice-symbol{width:44px;height:44px;border-radius:11px}.account-choice-symbol>.icon{width:28px;height:28px}.account-choice-copy h2{font-size:19px}.account-choice-actions>.button{width:100%;min-width:0}.account-choice-actions>.account-choice-note{min-height:0}}
@media(prefers-reduced-motion:reduce){.account-choice-card{transition:none}}
/* Approved auth layout: one scoped system for both audiences and every account step. */
.auth-surface{background:var(--canvas)}
.candidate-auth.has-context.auth-layout{--auth-link:#0000cc;--form-border:#c8cee0;max-width:1180px;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:36px;align-items:stretch;padding-block:40px 48px}
html[data-theme=dark] .auth-layout{--auth-link:var(--link);--form-border:var(--control-border)}
/* 2.10.37: outrank the shared auth layout's light-theme blue token.
   Use the existing accessible pink for links, step text and their inline icons. */
html[data-theme=dark] .candidate-auth.has-context.auth-layout{--auth-link:var(--link-hover)}
.candidate-auth.has-context.auth-layout>.candidate-panel{grid-column:2;grid-row:1;align-self:stretch;min-width:0;margin:0;padding:32px;border:1px solid var(--line);border-radius:17px;background:var(--paper);background-image:radial-gradient(ellipse at 110% -8%,var(--tint),transparent 50%);box-shadow:var(--shadow-sm);overflow-wrap:normal}
.candidate-auth.has-context.auth-layout>.candidate-intro{grid-column:1;grid-row:1;display:flex;flex-direction:column;gap:24px;min-width:0;max-width:none;align-self:stretch;overflow-wrap:normal}
.auth-layout .auth-panel-heading{margin:0 0 28px;text-align:left}
.auth-layout .auth-panel-heading>h1{margin:0 0 10px;color:var(--ink);font-size:clamp(24px,2.3vw,28px);font-weight:650;line-height:1.3;letter-spacing:-.035em;overflow-wrap:normal}
.auth-layout .auth-panel-heading>p{margin:0;color:var(--muted);font-size:13px;line-height:1.7}
.auth-layout .auth-panel-heading>.eyebrow{margin:0 0 12px;font-size:10px;font-weight:600;letter-spacing:.1em}
.auth-layout .auth-panel-heading .context-help{width:21px;height:21px;margin-inline-start:3px}.auth-layout .auth-panel-heading .context-help svg{width:16px;height:16px}
.auth-layout .candidate-form{display:grid;gap:18px;min-width:0}
.auth-layout .candidate-form label:not(.check-label),.auth-layout .jb-label-text{font-size:13px;font-weight:600;line-height:1.5}
.auth-layout .candidate-form small{font-size:11.5px;line-height:1.65}
.auth-layout .auth-field-control{position:relative;display:block;min-width:0}
.auth-layout .auth-field-control>.icon{position:absolute;z-index:1;inset-inline-start:16px;top:26px;transform:translateY(-50%);width:20px;height:20px;stroke-width:1.55;color:var(--auth-link);pointer-events:none}
/* Explicit priority is needed: shared forms contain a more specific padding shorthand. */
.auth-layout .auth-field-control input{min-width:0;width:100%;min-height:52px;padding-inline-start:52px!important;border-radius:10px;background:var(--paper);font-size:16px;line-height:1.5;box-shadow:none}
.auth-layout .auth-field-control .jb-password-control input{padding-inline-end:56px!important}
.auth-layout .jb-password-toggle{display:grid;place-items:center;top:4px;inset-inline-end:5px;min-width:44px;min-height:44px;width:44px;height:44px;padding:10px;font-size:0;line-height:0;color:var(--auth-link)}
.auth-layout .jb-password-toggle::after{content:'';display:block;width:23px;height:23px;background-color:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M2 12s3.5-7 10-7 10 7 10 7-3.5 7-10 7S2 12 2 12Z' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3Ccircle cx='12' cy='12' r='3' fill='none' stroke='black' stroke-width='1.7'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M2 12s3.5-7 10-7 10 7 10 7-3.5 7-10 7S2 12 2 12Z' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3Ccircle cx='12' cy='12' r='3' fill='none' stroke='black' stroke-width='1.7'/%3E%3C/svg%3E") center/contain no-repeat}
.auth-layout .jb-password-toggle[aria-pressed=true]::after{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M2 12s3.5-7 10-7 10 7 10 7-3.5 7-10 7S2 12 2 12ZM3 3l18 18' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3Ccircle cx='12' cy='12' r='3' fill='none' stroke='black' stroke-width='1.7'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M2 12s3.5-7 10-7 10 7 10 7-3.5 7-10 7S2 12 2 12ZM3 3l18 18' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3Ccircle cx='12' cy='12' r='3' fill='none' stroke='black' stroke-width='1.7'/%3E%3C/svg%3E")}
.auth-layout input[autocomplete=one-time-code]{letter-spacing:.14em;font-variant-numeric:tabular-nums}
.auth-layout .auth-forgot{justify-self:end;margin:-6px 0 0;font-size:12px;color:var(--auth-link);font-weight:500;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px;line-height:1.7}
:root body .auth-layout .candidate-form>button.button:not(.secondary):not(.danger),:root body .auth-layout .signup-email-fields>button.button:not(.secondary):not(.danger){display:flex;align-items:center;justify-content:center;justify-self:stretch;gap:10px;width:100%;min-width:0;min-height:50px;padding:12px 14px;border:1px solid #0000cc;border-radius:9px;background:#0000cc;color:#fff;font-size:13px;font-weight:600;line-height:1.6;box-shadow:none}
:root body .auth-layout .candidate-form>button.button:not(.secondary):not(.danger):hover,:root body .auth-layout .signup-email-fields>button.button:not(.secondary):not(.danger):hover{background:#0000a6;border-color:#0000a6;color:#fff}
.auth-layout .candidate-form>.button>.icon,.auth-layout .signup-email-fields>.button>.icon{width:20px;height:20px;flex:none}
.auth-layout .candidate-form>.button>.action-label,.auth-layout .signup-email-fields>.button>.action-label{flex:1;min-width:0;text-align:center}
.auth-layout .auth-button-copy{display:inline-flex;align-items:center;justify-content:center;gap:10px;flex:1;min-width:0}.auth-layout .auth-button-copy>.icon{width:20px;height:20px;flex:none}
.auth-layout .text-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;font-size:12px;color:var(--auth-link)}.auth-layout .text-button>.icon{width:18px;height:18px;flex:none}
.auth-layout .auth-free-note{display:block;margin:0;font-size:11px;color:var(--muted);text-align:center}
.auth-layout .auth-create-account-area,.auth-layout .auth-form-footer{display:grid;gap:12px;margin:24px 0 0;padding-top:22px;border-top:1px solid var(--line);min-width:0;text-align:center}
.auth-layout .auth-create-account-area>p,.auth-layout .auth-form-footer>p{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;margin:0;color:var(--muted);font-size:12px;line-height:1.7}
.auth-layout .auth-form-footer>p>a{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:36px;font-size:12px;text-decoration:none}.auth-layout .auth-form-footer>p>a>.icon{width:18px;height:18px;flex:none}.auth-layout .auth-form-footer>p>a .action-label{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
.auth-layout .auth-form-footer>small{display:block;margin:0;color:var(--muted);font-size:11px;line-height:1.7}
.auth-layout .candidate-panel>p:not(.candidate-error){margin:18px 0 0;font-size:13px;line-height:1.7}
:root body .auth-layout a.button:is(.auth-create-account,.auth-switch-create){display:inline-flex;align-items:center;justify-content:center;gap:9px;min-width:0;max-width:100%;min-height:44px;padding:10px 13px;border:1px solid var(--auth-link);border-radius:8px;background:transparent;color:var(--auth-link);font-size:12px;font-weight:500;line-height:1.6;text-decoration:none;box-shadow:none}
:root body .auth-layout a.button:is(.auth-create-account,.auth-switch-create):hover{background:var(--tint);border-color:var(--auth-link);color:var(--auth-link)}
.auth-layout .auth-create-account>.icon,.auth-layout .auth-switch-create>.icon{width:20px;height:20px;flex:none}.auth-layout .auth-create-account>.action-label,.auth-layout .auth-switch-create>.action-label{min-width:0;overflow-wrap:anywhere}
.candidate-auth.has-context.auth-layout .auth-progress{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:12px;list-style:none;margin:0 0 28px;padding:0}
.candidate-auth.has-context.auth-layout .auth-progress>li{display:flex;align-items:center;gap:8px;min-width:0;margin:0;padding:0;border:0;border-radius:0;background:transparent;color:var(--muted);font-size:11px;font-weight:450;line-height:1.5}
.auth-progress .auth-step-number{display:grid;place-items:center;flex:none;width:30px;height:30px;border:1px solid var(--line);border-radius:50%;background:var(--surface);color:var(--muted);font-size:12px;font-weight:600;line-height:1}
.auth-progress .auth-step-label{min-width:0;overflow-wrap:normal}
.auth-progress>li:not(:last-child)::after{content:'';height:1px;min-width:8px;background:var(--line);flex:1;margin-inline-start:4px}
.candidate-auth.has-context.auth-layout .auth-progress>li.current{color:var(--auth-link);font-weight:600}.auth-progress>li.current .auth-step-number{background:#0000cc;border-color:#0000cc;color:#fff}.auth-progress>li.is-complete .auth-step-number{background:var(--tint);border-color:var(--accent-line);color:var(--auth-link)}
.auth-layout :is(.jb-form-status,.signup-status):empty{display:none}
.auth-layout .auth-context-body{display:grid;min-width:0;margin:0}
/* Flatten presentation wrappers so the existing verified-state updates keep this order. */
.auth-layout .auth-context-body .jb-auth-context,.auth-layout .auth-context-body .jb-visual--companion{display:contents}
.auth-layout .auth-context-body .jb-visual-art{grid-row:1;display:block;width:190px;max-width:60%;height:auto;margin:0 0 20px}
.auth-layout .auth-context-body>.eyebrow{grid-row:2;margin:0 0 14px;font-size:10.5px;line-height:1.5;font-weight:600;letter-spacing:.1em;color:var(--muted)}
.auth-layout .auth-context-body .jb-visual-copy{grid-row:3;min-width:0;max-width:none;margin:0 0 20px}
.auth-layout .auth-context-body .jb-visual-copy h2{max-width:100%;margin:0 0 12px;color:var(--ink);font-size:clamp(22px,2vw,26px);font-weight:600;line-height:1.3;letter-spacing:-.025em;overflow-wrap:normal}
.auth-layout .auth-context-body .jb-visual-copy>p{max-width:100%;margin:0;font-size:13px;line-height:1.7;color:var(--muted)}
.auth-layout .auth-features{grid-row:4;display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;list-style:none;margin:0;padding:0}
.auth-layout .auth-features>li{display:inline-flex;align-items:center;gap:8px;max-width:100%;color:var(--ink);font-size:12px;line-height:1.6}.auth-layout .auth-features .icon{width:22px;height:22px;color:var(--auth-link);flex:none;stroke-width:1.6}
.auth-layout .auth-explore{grid-row:5;display:inline-flex;align-items:center;gap:10px;justify-self:start;min-height:44px;margin:14px 0 0;color:var(--auth-link);font-size:13px;font-weight:500;text-decoration:none}.auth-layout .auth-explore>span{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}.auth-layout .auth-explore>.icon{width:18px;height:18px;flex:none}
.auth-layout .auth-audience-switch{margin-top:auto;padding:20px;border:1px solid var(--line);border-radius:14px;background:var(--tint)}
.auth-layout .auth-audience-switch>header{display:grid;grid-template-columns:32px minmax(0,1fr);align-items:center;gap:14px;margin:0 0 16px}.auth-layout .auth-audience-switch>header>.icon{width:30px;height:30px;color:var(--auth-link);stroke-width:1.6}
.auth-layout .auth-audience-switch h2{margin:0 0 4px;font-size:16px;font-weight:600;line-height:1.5;letter-spacing:-.02em}.auth-layout .auth-audience-switch p{margin:0;max-width:none;font-size:11.5px;line-height:1.65;color:var(--muted)}
.auth-layout .auth-switch-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px}
:root body .auth-layout a.button.auth-switch-create{padding:9px 11px;min-height:42px;font-size:11px}
.auth-layout .auth-switch-signin{display:inline-flex;align-items:center;gap:8px;min-height:44px;max-width:100%;color:var(--auth-link);font-size:11px;line-height:1.6;text-decoration:none}.auth-layout .auth-switch-signin>.icon{width:18px;height:18px;flex:none}.auth-layout .auth-switch-signin>.action-label{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
.auth-layout :is(.auth-switch-signin,.auth-explore,.auth-forgot):hover{color:var(--link-hover)}
.auth-layout :is(.button,.auth-switch-signin,.auth-explore,.auth-forgot,.jb-password-toggle,.text-button):focus-visible{outline:2px solid var(--focus);outline-offset:3px}
@media(max-width:1000px) and (min-width:901px){.candidate-auth.has-context.auth-layout{gap:28px}.candidate-auth.has-context.auth-layout>.candidate-panel{padding:28px}.auth-layout .auth-context-body .jb-visual-copy h2{font-size:22px}.auth-layout .auth-audience-switch{padding:18px}.auth-layout .auth-progress{gap:8px}}
@media(max-width:900px){.candidate-auth.has-context.auth-layout{grid-template-columns:minmax(0,1fr);gap:18px;max-width:580px;padding-block:24px 36px}.candidate-auth.has-context.auth-layout>.candidate-panel{grid-column:1;grid-row:1;align-self:start;padding:28px}.candidate-auth.has-context.auth-layout>.candidate-intro{grid-column:1;grid-row:2;display:block;max-width:none;width:100%}.auth-layout .auth-context-body{display:none}.auth-layout .auth-audience-switch{margin:0}.auth-layout .auth-panel-heading>h1{font-size:26px}}
@media(max-width:480px){.candidate-auth.has-context.auth-layout{width:calc(100% - 32px)}.candidate-auth.has-context.auth-layout>.candidate-panel{padding:24px 20px;border-radius:15px}.auth-layout .auth-panel-heading{margin-bottom:24px}.auth-layout .auth-panel-heading>h1{font-size:23px}.candidate-auth.has-context.auth-layout .auth-progress{gap:8px;margin-bottom:24px}.candidate-auth.has-context.auth-layout .auth-progress>li{gap:5px;font-size:10.5px}.auth-progress .auth-step-number{width:25px;height:25px;font-size:11px}.auth-progress>li:not(:last-child)::after{display:none}.auth-layout .auth-audience-switch{padding:18px}.auth-layout .auth-form-footer>p{font-size:11px}.auth-layout .auth-form-footer>p>a{font-size:11px}}

/* One content frame across page headings, sections, listings, account tools and footer. */
:root{--wrap:1240px;--page-gutter:32px}
.wrap{width:min(var(--wrap),calc(100% - 2 * var(--page-gutter)))}
.section.wrap{padding-inline:0}
.wrap .wrap{width:100%;margin-inline:0}
@media(max-width:950px){:root{--page-gutter:20px}}
@media(max-width:700px){:root{--page-gutter:16px}}

/* Shared quiet actions, also used for city selection and Browse all jobs on home. */
html body .section-action{display:inline-flex;align-items:center;gap:8px;width:232px;max-width:100%;height:44px;min-height:44px;margin:0;padding:9px 13px;border:1px solid var(--line);border-radius:7px;background:var(--paper);color:var(--ink);font-size:12px;font-weight:500;line-height:1.5;text-align:start;text-decoration:none;box-shadow:none;flex:none;list-style:none;cursor:pointer}
html body .section-action:is(:hover,:focus-visible){border-color:var(--accent-line);color:var(--link);background:var(--paper);text-decoration:none;box-shadow:none}
.section-action:focus-visible{outline:2px solid var(--focus);outline-offset:3px}
.section-action>.action-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.section-action>.icon{width:16px;height:16px;flex:none}
.section-action>.icon:last-child{width:14px;height:14px;margin-inline-start:auto}
html body summary.section-action::after{display:none}
summary.section-action::-webkit-details-marker{display:none}
.section-heading>details.search-alert{width:232px;max-width:100%;align-self:center;flex:none}
.listing-summary-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px 18px;margin:0 0 14px;min-width:0}
.listing-summary-row>.listing-total{order:0;margin-inline-start:0;font-size:22.1px;font-weight:700;line-height:1.35;text-align:left;color:var(--ink)}
.listing-summary-row>.search-alert{order:1;margin-inline-start:auto;width:232px;max-width:100%}
.sponsored-alert-section{padding-block:8px 38px}
.search-alert-criteria{display:grid;gap:5px;min-width:0;margin:0 0 20px;padding:12px 14px;border:1px solid var(--line);border-radius:9px;background:var(--canvas);color:var(--ink);font-size:12px;line-height:1.6;overflow-wrap:anywhere}
.search-alert-criteria>strong{font-size:13px;font-weight:600}
.search-alert-criteria>span{color:var(--muted)}
.job-alert-dialog{max-height:calc(min(100dvh,var(--viewport-height,100dvh)) - 32px);overflow-y:auto;overscroll-behavior:contain}
@media(max-width:700px){.section-heading>details.search-alert{align-self:flex-start}.listing-summary-row>.search-alert{margin-inline-start:0}}
@media print{.wrap{width:100%}.search-alert,.job-alert-dialog{display:none!important}}

/* Search alternatives use the shared, compact navigation rows. */
.search-alternatives>h2,.job-listing .listing-other-cities>.directory-explore-heading{margin:0 0 8px;font-size:20px;font-weight:600;line-height:1.4;letter-spacing:-.02em;color:var(--ink)}
.search-alternatives>p{margin:0;color:var(--muted);font-size:13px;line-height:1.65}
.search-alternatives .discovery-alternatives{display:flex;align-items:stretch;flex-wrap:wrap;gap:12px;margin-top:18px}
.search-alternatives .discovery-alternatives>a.browse-link{display:grid;grid-template-columns:36px minmax(0,1fr) 12px;align-items:center;gap:12px;flex:0 1 300px;width:300px;max-width:100%;min-height:64px;margin:0;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink);box-shadow:var(--shadow-sm);text-decoration:none}
.search-alternatives .discovery-alternatives>a.browse-link:is(:hover,:focus-visible){border-color:var(--accent-line);background:var(--tint);color:var(--ink);text-decoration:none}
.search-alternatives a.browse-link .browse-copy>strong{font-size:13px;font-weight:600;line-height:1.5}
.job-listing .listing-other-cities{padding-top:8px}
.job-listing .listing-other-cities>.directory-explore-heading{margin-bottom:16px}
@media(max-width:600px){.search-alternatives .discovery-alternatives>a.browse-link{flex-basis:100%;width:100%}.search-alternatives>h2,.job-listing .listing-other-cities>.directory-explore-heading{font-size:19px}}

/* History actions align with the shared Browse all jobs action. */
.continuity-block .section-heading.continuity-heading{flex-direction:row;align-items:flex-end;gap:18px}
@media(max-width:700px){.continuity-block .section-heading.continuity-heading{flex-direction:column;align-items:flex-start}}

@media(max-width:700px){.listing-summary-row>.listing-total{order:0;flex-basis:100%}}
/* Existing Back snapshots must not restore the repeated lower count. */
.job-listing .tier-heading>span{display:none}

/* Keep WHAT / WHERE legible on dark search surfaces; controls retain their colors. */
html[data-theme="dark"] #job-search.search-design .search-main>.field>label:is([for="search-what"],[for="search-where"]){color:var(--link)}

/* header.css */
/* Public header 2.10.19. All account actions share server-side destinations and permissions. */
:root{--header-height:76px}
.site-header.jobbol-header{--header-link:#0000cc;position:sticky;top:0;z-index:40;min-height:var(--header-height);height:auto;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:0 1px 6px rgb(23 35 65 / 5%)}
html[data-theme=dark] .site-header.jobbol-header{--header-link:var(--link)}
.site-header.jobbol-header .header-inner{position:static;display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:10px;width:min(var(--wrap),calc(100% - 2 * var(--page-gutter)));min-height:var(--header-height);height:auto;margin:0 auto;padding:0}
.site-header.jobbol-header .brand{grid-column:1;grid-row:1;display:block;flex:none;margin:0;line-height:1;justify-self:start}
.site-header.jobbol-header .brand img{width:128px;height:40px;object-fit:contain}
.site-header.jobbol-header .primary-nav{grid-column:2;grid-row:1;position:static;display:block;flex:none;min-width:0;max-height:none;max-width:none;margin:0;padding:0;border:0;box-shadow:none;background:transparent;overflow:visible}
.jobbol-header .header-nav-links{display:flex;align-items:center;gap:14px;min-width:0}
.site-header.jobbol-header .header-nav-links>a{display:inline-flex;align-items:center;gap:8px;min-height:44px;margin:0;padding:5px 0;border:0;border-radius:4px;color:var(--muted);font-size:13.8px;font-weight:550;line-height:1.5;white-space:nowrap;text-decoration:underline;text-decoration-color:transparent;text-decoration-thickness:1.5px;text-underline-offset:7px;background:transparent}
.site-header.jobbol-header .header-nav-links>a:is([aria-current=page],:hover,:focus-visible){color:var(--header-link);text-decoration-color:var(--header-link);background:transparent}
.site-header.jobbol-header .primary-nav .header-nav-links>a::after{content:none;display:none}
.jobbol-header .header-nav-links>a>.icon{display:block;width:20.7px;height:20.7px;flex:none;stroke-width:1.65}
.jobbol-header .header-nav-chevron,.jobbol-header .header-panel-extras{display:none}
.site-header.jobbol-header .header-tools{grid-column:3;grid-row:1;display:flex;align-items:center;justify-content:flex-end;justify-self:end;gap:4px;margin:0;min-width:0}
.site-header.jobbol-header .header-tools .icon-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:44px;min-height:44px;height:44px;margin:0;padding:10px;border:0;border-radius:7px;color:var(--muted);background:transparent;line-height:1.5}
.site-header.jobbol-header .header-tools .icon-button:hover{background:var(--tint);color:var(--header-link)}
.jobbol-header .header-tools .icon-button>.icon{width:22px;height:22px;flex:none}
.site-header.jobbol-header .location-name{display:block;max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:400;color:var(--muted)}
.site-header.jobbol-header .header-tools .language-form{position:relative;margin:0;flex:none;min-width:56px}
.site-header.jobbol-header .header-tools .language-form select.language{width:62px;min-width:62px;max-width:62px;min-height:44px;padding:7px 24px 7px 7px;border:0;border-radius:0;font-size:14px;font-weight:600;box-shadow:none;background-color:transparent;color:var(--ink)}
.site-header.jobbol-header .header-tools .language-trigger{min-width:54px;min-height:44px;padding:8px 6px;gap:8px;font-size:13px;white-space:nowrap}
.jobbol-header .language-trigger>.language-code{text-underline-offset:7px;text-decoration-color:var(--header-link)}
.jobbol-header .language-trigger>.icon{width:13px;height:13px}
.site-header.jobbol-header .header-account-actions{grid-column:4;grid-row:1;display:flex;align-items:center;justify-content:flex-end;gap:10px;min-width:0;margin:0;padding:0 0 0 12px;border:0;border-inline-start:1px solid var(--line)}
.site-header.jobbol-header .header-account-session{display:flex;align-items:center;gap:8px;min-width:0}
.site-header.jobbol-header .header-account-actions .button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;margin:0;padding:10px 10px;border-radius:8px;font-size:12px;font-weight:600;line-height:1.5;white-space:nowrap;box-shadow:none;text-decoration:none}
.site-header.jobbol-header .header-account-actions--guest .header-account-session>:is(.employer-cta,.create-account-link){width:156px;min-width:156px;flex:0 0 156px}
html body .site-header.jobbol-header .create-account-link{background:#0000cc;border-color:#0000cc;color:#fff}
html body .site-header.jobbol-header .create-account-link:hover{background:#0000a6;border-color:#0000a6;color:#fff}
html body .site-header.jobbol-header .employer-cta{background:#cd29c0;border-color:#cd29c0;color:#fff}
html body .site-header.jobbol-header .employer-cta:hover{background:#b420a8;border-color:#b420a8;color:#fff}
.site-header.jobbol-header .signin{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;margin:0;padding:8px 4px;border:0;border-radius:7px;background:transparent;color:var(--header-link);font-size:12px;font-weight:600;line-height:1.5;white-space:nowrap;text-decoration:none}
.site-header.jobbol-header .signin:hover{color:var(--header-link);background:var(--tint);text-decoration:underline;text-underline-offset:4px}
.jobbol-header :is(.header-account-actions,.header-panel-session,.header-panel-employers) .icon{width:18px;height:18px;flex:none;stroke-width:1.65}
.site-header.jobbol-header .header-signout{display:flex;margin:0}
.site-header.jobbol-header .header-account-actions .account-link{background:var(--tint);border-color:var(--line);color:var(--header-link)}
.site-header.jobbol-header .menu-toggle{grid-column:5;grid-row:1;display:none;align-items:center;justify-content:center;justify-self:end;width:44px;min-width:44px;height:44px;min-height:44px;margin:0;padding:10px;border:0;border-radius:7px;color:var(--muted);background:transparent}
.jobbol-header .menu-toggle:hover{background:var(--tint);color:var(--header-link)}
.jobbol-header .menu-toggle>.icon{width:23px;height:23px}.jobbol-header .menu-toggle>.icon-close{display:none}.jobbol-header .menu-toggle[aria-expanded=true]>.icon-menu{display:none}.jobbol-header .menu-toggle[aria-expanded=true]>.icon-close{display:block}
.jobbol-header :is(a,button,select):focus-visible{outline:2px solid var(--focus);outline-offset:3px}
@media(max-width:1439px){
 .site-header.jobbol-header .header-inner{width:min(var(--wrap),calc(100% - 2 * var(--page-gutter)));grid-template-columns:auto minmax(0,1fr) auto auto;gap:12px}
 .site-header.jobbol-header .brand img{width:132px;height:42px}
 .site-header.jobbol-header .header-tools{grid-column:2}
 .site-header.jobbol-header .header-account-actions{grid-column:3;gap:8px;padding-inline-start:12px}
 .site-header.jobbol-header .header-account-session{gap:6px}
 .site-header.jobbol-header .header-account-actions .button{font-size:12px;padding:10px 11px}
 .site-header.jobbol-header .menu-toggle{grid-column:4}
 html[data-jb-client] .site-header.jobbol-header .menu-toggle{display:inline-flex}
 .site-header.jobbol-header .primary-nav{grid-column:1/-1;grid-row:2;display:block;width:auto;max-height:none;padding:14px 0 18px;background:var(--paper);overflow-y:auto;overscroll-behavior:contain}
 html[data-jb-client] .site-header.jobbol-header .primary-nav{position:absolute;inset-inline:0;top:100%;grid-column:auto;grid-row:auto;padding:12px 20px 18px;border-bottom:1px solid var(--line);box-shadow:var(--shadow-md);max-height:calc(min(100dvh,var(--viewport-height,100dvh)) - var(--header-height));scrollbar-gutter:stable}
 .jobbol-header .header-nav-links{display:grid;gap:7px;width:100%;max-width:var(--wrap);margin-inline:auto}
 .site-header.jobbol-header .header-nav-links>a{display:flex;gap:14px;min-height:48px;padding:11px 13px;border-radius:7px;text-decoration:none;font-size:14.95px;line-height:1.6;white-space:normal}
 .site-header.jobbol-header .header-nav-links>a:is([aria-current=page],:hover,:focus-visible){background:var(--tint);color:var(--header-link);text-decoration:none}
 .jobbol-header .header-nav-links>a>.icon{width:24.15px;height:24.15px}
 .jobbol-header .header-nav-chevron{display:block;flex:none;margin-inline-start:auto;color:inherit}.jobbol-header .header-nav-chevron>.icon{width:16px;height:16px}
}
@media(max-width:1100px) and (min-width:901px){.site-header.jobbol-header .location-name{display:none}.site-header.jobbol-header .header-tools{gap:2px}.site-header.jobbol-header .header-tools .language-trigger{min-width:54px}}
@media(max-width:900px){
 :root{--header-height:68px}
 .site-header.jobbol-header .header-inner{width:min(var(--wrap),calc(100% - 2 * var(--page-gutter)));grid-template-columns:auto minmax(0,1fr) 44px;gap:8px;min-height:var(--header-height);padding-top:env(safe-area-inset-top)}
 .site-header.jobbol-header .brand img{width:120px;height:38px}
 .site-header.jobbol-header .header-tools{grid-column:2;gap:2px}
 .site-header.jobbol-header .header-tools .location-control{display:none}
 .site-header.jobbol-header .header-tools .language-form{min-width:54px}
 .site-header.jobbol-header .header-tools .language-trigger{min-width:54px;font-size:13px;padding:8px 5px;gap:6px}
 .site-header.jobbol-header .header-tools .language-form select.language{width:58px;min-width:58px;max-width:58px}
 .site-header.jobbol-header .header-account-actions{display:none}
 .site-header.jobbol-header .menu-toggle{grid-column:3}
 html[data-jb-client] .site-header.jobbol-header .primary-nav{padding:12px 16px max(18px,env(safe-area-inset-bottom));max-height:calc(min(100dvh,var(--viewport-height,100dvh)) - var(--header-height))}
 .jobbol-header .header-panel-extras{display:block;margin-top:14px}
 .jobbol-header .header-location-row{display:flex;align-items:center;gap:12px;width:100%;min-height:62px;margin:0;padding:12px 13px;border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);border-radius:0;background:transparent;color:var(--muted);text-align:start;font-family:inherit;font-size:13px;line-height:1.6}
 .jobbol-header .header-location-row>.icon{width:22px;height:22px;flex:none}.jobbol-header .header-location-label{min-width:0;overflow-wrap:anywhere}.jobbol-header .header-location-change{margin-inline-start:auto;padding-inline-start:8px;color:var(--header-link);font-size:12px;white-space:nowrap;text-decoration:underline;text-underline-offset:4px}
 .jobbol-header .header-panel-session{display:grid;gap:10px;padding:18px 0}
 .site-header.jobbol-header .header-panel-session>:is(a,form),.site-header.jobbol-header .header-panel-session>.header-signout>button{width:100%;min-height:46px}
 .site-header.jobbol-header .header-panel-session>a.button,.site-header.jobbol-header .header-panel-employers>a.button{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;min-height:46px;padding:11px 14px;border-radius:8px;font-size:13px;font-weight:600;line-height:1.6;text-decoration:none}
 .site-header.jobbol-header .header-panel-session>.signin,.site-header.jobbol-header .header-panel-session>.header-signout>button{min-height:46px;padding:10px 14px;border:1px solid var(--header-link);border-radius:8px;background:transparent;color:var(--header-link);font-size:13px;text-decoration:none}
 .site-header.jobbol-header .header-panel-session>.account-link{border-color:var(--line);background:var(--tint);color:var(--header-link)}
 .jobbol-header .header-panel-employers{display:grid;gap:10px;padding-top:16px;border-top:1px solid var(--line)}.jobbol-header .header-panel-employers>.eyebrow{margin:0;padding:0 2px;color:var(--muted);font-size:10px;letter-spacing:.06em;font-weight:600;line-height:1.6}
}
@media(max-width:360px){.site-header.jobbol-header .header-inner{width:min(var(--wrap),calc(100% - 2 * var(--page-gutter)));gap:4px}.site-header.jobbol-header .brand img{width:106px;height:36px}.site-header.jobbol-header .header-tools .language-trigger{min-width:50px}}
@media(prefers-reduced-motion:reduce){.jobbol-header *{transition:none!important}}

/* Location preferences: equal actions share the full width of the city field. */
#location-dialog #preference-form>.button-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;justify-content:center;gap:12px;width:100%;max-width:100%;margin-inline:auto}
#location-dialog #preference-form>.button-row>.button{width:100%;min-width:0;min-height:52px;height:auto;align-self:stretch;justify-content:center;flex-wrap:wrap;row-gap:4px;padding:11px 10px;line-height:1.45;text-align:center;white-space:normal;overflow-wrap:anywhere}
#location-dialog #clear-location{font-weight:400;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:7px;text-decoration-skip-ink:auto}
@media(max-width:480px){#location-dialog #preference-form>.button-row{gap:10px}#location-dialog #preference-form>.button-row>.button{font-size:12px;padding-inline:8px;column-gap:6px}#location-dialog #use-location>.icon{width:18px;height:18px}}

/* The compact menu has its final geometry before deferred scripts initialize it.
   Without JavaScript the existing expanded navigation remains usable. */
@media(max-width:1439px){html[data-jb-client] .site-header.jobbol-header .primary-nav:not(.is-open){display:none}}

/* page-heading.css */
/* Jobbol public page heading — one shared treatment, no scripts or background downloads. */
html:root body :is(.page-heading-band.portal-heading,.portal-compact-heading){
 --heading-ink:#fff;--heading-muted:#edf1ff;--heading-link-hover:#f4b4ed;
 --heading-pink:#cd29c0;--heading-surface:#0000cc;
 color:var(--heading-ink);background-color:var(--heading-surface);
 background-image:
  radial-gradient(circle at 100% 0,transparent 238px,#cd29c0 239px,#cd29c0 240px,transparent 241px),
  radial-gradient(circle at 100% 100%,transparent 205px,#cd29c0 206px,#cd29c0 207px,transparent 208px),
  radial-gradient(circle at calc(100% - 230px) 88px,transparent 30px,#cd29c0 31px,#cd29c0 32px,transparent 33px),
  radial-gradient(ellipse at 95% 8%,#1659f7 0,transparent 57%),
  radial-gradient(ellipse at 50% 120%,#0348df 0,transparent 64%),
  linear-gradient(125deg,#031f9a 0,#043ace 49%,#032498 100%);
 background-repeat:no-repeat;border-bottom:0;
}
html:root body .page-heading-band.portal-heading{padding:42px 0 40px;overflow:visible}
.portal-heading>.page-heading-inner{position:relative;min-width:0}
.portal-heading .page-heading-inner>*{min-width:0}
html:root body .portal-heading .page-heading-inner h1{max-width:100%;margin:0 0 26px;color:var(--heading-ink);font-size:clamp(28px,3vw,46px);font-weight:750;line-height:1.2;letter-spacing:-.025em;overflow-wrap:anywhere;text-wrap:pretty}
html:root body .portal-heading h1::after{content:"";display:block;width:80px;height:6px;margin-top:18px;border-radius:999px;background:var(--heading-pink)}
html:root body .portal-heading :is(.breadcrumbs,.context-chain){display:flex;flex-wrap:wrap;gap:7px 10px;margin:0 0 26px;font-size:13px;line-height:1.7;color:var(--heading-muted);overflow-wrap:anywhere}
html:root body .portal-heading :is(.breadcrumbs,.context-chain) a,
html:root body .portal-heading .browse-sub a{color:var(--heading-ink);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px;text-decoration-color:rgb(255 255 255 / 65%);text-decoration-skip-ink:auto}
html:root body .portal-heading :is(.breadcrumbs,.context-chain,.browse-sub) a:hover{color:var(--heading-link-hover);text-decoration-color:var(--heading-link-hover)}
html:root body .portal-heading .eyebrow{color:var(--heading-ink);margin-bottom:14px;line-height:1.5}
html:root body .portal-heading :is(.page-heading-inner>p,.directory-heading>p,.job-detail-head>p,.hero-copy>p,.candidate-heading>div>p,.listing-description,.browse-sub){color:var(--heading-muted)}
html:root body .portal-heading :is(.job-place,.job-salary,.detail-company-row .eyebrow a,.hero h1 span,.company-jobs-heading){color:var(--heading-ink)}
html:root body .portal-heading .page-heading-inner>p:last-child{margin-bottom:0}
html:root body .portal-heading .company-overview{max-width:none;margin:24px 0;border-color:var(--line);color:var(--ink)}
html:root body .portal-heading .company-overview .text-link{color:var(--link);text-decoration-color:currentColor}
html:root body .portal-heading .company-overview .text-link:hover{color:var(--link-hover)}
html:root body .portal-heading .company-jobs-heading{font-size:clamp(22px,2.3vw,30px);line-height:1.3;margin-bottom:22px}
html:root body .portal-heading .page-heading-inner .company-identity h1{margin-bottom:12px}
html:root body .portal-heading .listing-company.company-identity .company-identity-sector{margin:0;color:var(--heading-muted)}
html:root body .portal-heading .listing-description{margin:0 0 20px}
html:root body .portal-heading .context-help{color:var(--heading-ink)}
html:root body .portal-heading .context-help:hover{color:var(--heading-link-hover);background:rgb(255 255 255 / 12%)}
html:root body .portal-heading :is(.breadcrumbs,.context-chain,.candidate-heading,.candidate-nav,.job-detail-head,.company-overview) :is(a,button):focus-visible{outline-color:#fff;outline-offset:4px}
/* Only controls on the blue surface inherit white. Search fields own their normal colors. */
html:root body .portal-heading .candidate-nav{flex-wrap:wrap;overflow:visible;gap:4px 8px;border-color:rgb(255 255 255 / 30%)}
html:root body .portal-heading .candidate-nav a{color:#fff;border-radius:6px 6px 0 0}
html:root body .portal-heading .candidate-nav a:hover{color:#fff;background:rgb(255 255 255 / 12%)}
html:root body .portal-heading .candidate-nav a[aria-current=page]{color:#fff;border-bottom-color:#cd29c0;background:rgb(255 255 255 / 12%)}
html:root body .portal-heading .candidate-heading .button.secondary{color:#fff;background:transparent;border-color:rgb(255 255 255 / 65%)}
html:root body .portal-heading .candidate-heading .button.secondary:hover{background:rgb(255 255 255 / 12%);border-color:#fff}
html:root body .portal-heading .employer-status{color:#0000cc;background:#fff;border-color:#fff}
html:root body .portal-heading .job-detail-head .job-tags>span{color:#fff;background:rgb(255 255 255 / 14%)}
html:root body .portal-heading :is(.save-job,.application-indicator){color:#fff}
html:root body .portal-heading .save-job[aria-pressed=true]{color:#f4a9e9}
html:root body .portal-heading :is(.save-job,.application-indicator):hover{background:rgb(255 255 255 / 14%)}
html:root body .portal-heading .activity-tooltip{color:var(--tooltip-text);background:var(--tooltip-bg)}
html:root body .portal-heading #job-search.search-design{width:100%;max-width:none;margin:0;padding:0;box-shadow:0 10px 30px rgb(0 0 55 / 14%)}
/* The home keeps its content and layout, sharing the same lightweight background. */
html:root body .portal-heading.home-heading::before{display:none}
html:root body .portal-heading.home-heading .hero{background:none;padding-block:0}
html:root body .portal-heading.home-heading .hero h1{font-size:clamp(34px,4vw,56px);line-height:1.12}
html:root body .portal-heading.home-heading .search-companion{background:rgb(5 13 94 / 30%);border-color:rgb(255 255 255 / 25%)}
html:root body .portal-heading.home-heading .search-companion :is(h2,strong,small,a){color:#fff}
html:root body .portal-heading.home-heading .companion-symbol{color:#fff;background:rgb(205 41 192 / 35%)}
html:root body .portal-heading.home-heading .search-companion a:hover{background:rgb(255 255 255 / 8%)}
.portal-heading+.error-page{padding-block:40px 48px}
.portal-heading+.error-page .jb-visual-copy>h2{display:none}
.account-shell.account-shell--single{display:block;max-width:700px;padding-block:36px 48px}
/* Standalone email/private screens retain their centered cards and original actions. */
html:root body .portal-compact-heading{margin:-32px -32px 26px;padding:28px 32px;border-radius:var(--radius) var(--radius) 0 0;text-align:start;overflow-wrap:anywhere}
html:root body .portal-compact-heading h1{margin:16px 0 0;color:#fff;font-size:clamp(23px,3vw,30px);line-height:1.35}
html:root body .portal-compact-heading .eyebrow{display:block;margin-top:16px;color:#fff}
html:root body .portal-compact-heading .logo-light{display:none}
html:root body .portal-compact-heading .logo-dark{display:inline-block}
html:root body .sponsored-transfer .portal-compact-heading{margin:-34px -32px 0;padding:28px 32px 24px;text-align:center;border-radius:17px 17px 0 0}
html:root body .portal-compact-heading .transfer-brand{margin-bottom:18px}
html:root body .portal-compact-heading .transfer-symbol{color:#fff;background:rgb(255 255 255 / 12%);border-color:rgb(255 255 255 / 25%)}
html:root body .portal-compact-heading .jobbol-spinner{border-color:rgb(255 255 255 / 30%);border-top-color:#fff}
html:root[data-theme=dark] body :is(.page-heading-band.portal-heading,.portal-compact-heading){
 --heading-muted:#e1e7f5;--heading-surface:#111827;
 background-image:
  radial-gradient(circle at 100% 0,transparent 238px,#cd29c0 239px,#cd29c0 240px,transparent 241px),
  radial-gradient(circle at 100% 100%,transparent 205px,#cd29c0 206px,#cd29c0 207px,transparent 208px),
  radial-gradient(circle at calc(100% - 230px) 88px,transparent 30px,#cd29c0 31px,#cd29c0 32px,transparent 33px),
  radial-gradient(ellipse at 95% 8%,rgb(43 75 125 / 16%) 0,transparent 57%),
  radial-gradient(ellipse at 50% 120%,rgb(28 53 100 / 12%) 0,transparent 64%),
  linear-gradient(125deg,#111827 0,#18243a 49%,#141d2c 100%);
}
@media(max-width:700px){
 html:root body .page-heading-band.portal-heading{padding-block:28px 30px}
 html:root body .portal-heading .page-heading-inner h1{font-size:clamp(27px,5.8vw,34px);line-height:1.25;margin-bottom:22px}
 html:root body .portal-heading h1::after{width:64px;height:5px;margin-top:15px}
 html:root body .portal-heading :is(.breadcrumbs,.context-chain){gap:5px 8px;font-size:12px;margin-bottom:20px}
 html:root body .portal-heading .eyebrow{font-size:11px}
 html:root body .portal-heading.home-heading .hero h1{font-size:clamp(32px,7vw,42px)}
 html:root body .portal-heading :is(.company-overview>p,.listing-description){font-size:13px}
 html:root body .portal-heading .candidate-heading{gap:18px}
 html:root body .portal-compact-heading{margin:-22px -22px 22px;padding:24px 22px}
}
@media(max-width:480px){
 html:root body .sponsored-transfer .portal-compact-heading{margin:-28px -22px 0;padding:24px 22px 22px;border-radius:14px 14px 0 0}
}
@media print{
 html:root body :is(.page-heading-band.portal-heading,.portal-compact-heading){color:#111;background:#fff;background-image:none;padding-block:16px;border:0}
 html:root body .portal-heading :is(h1,h2,p,a,span,small),html:root body .portal-compact-heading :is(h1,a,span){color:#111!important}
 html:root body .portal-heading h1::after{background:#555}
 html:root body .portal-heading #job-search{display:none}
 html:root body .portal-compact-heading .logo-dark{display:none}
 html:root body .portal-compact-heading .logo-light{display:inline-block}
}

/* polish.css */
/* Jobbol public UI: small desktop scale adjustment; mobile controls keep their size. */
@media screen and (min-width:1100px){html{zoom:.95}}
.job-detail>.career-job-links{padding:24px clamp(16px,2.4vw,28px) 28px;margin-top:24px}
.job-detail>.career-job-links>.directory-grid{min-width:0}
.job-listing .visual-state + .listing-alert-callout,
.job-listing [data-visual-state] + .listing-alert-callout,
.job-listing .listing-alert-callout{margin-block:18px}
.job-listing .results-grid>.listing-alert-callout{margin-block:4px}
.job-card .job-card-actions .quick-view{width:auto;min-width:122px;max-width:100%;white-space:nowrap;flex-shrink:0}
.job-card .job-card-actions .quick-view>.action-label{white-space:nowrap;word-break:normal;overflow-wrap:normal;line-height:1.35}
.job-card .job-card-actions .quick-view>.icon{flex-shrink:0}
.continuity-links .browse-copy{min-width:0}
.continuity-links .browse-copy strong{line-height:1.45}
@media(max-width:620px){.job-detail>.career-job-links{padding:20px 16px 24px}.job-card .job-card-actions .quick-view{min-height:44px}.job-listing .listing-alert-callout{margin-block:16px}}

/* account-public.css */
/* Shared public rules extracted without changing selector order. */
.sponsored-card .sponsored-personal-save{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:0}
.sponsored-card .sponsored-personal-save .sponsored-label{order:0;margin:0;max-width:none;overflow-wrap:normal;word-break:normal}
.sponsored-card .sponsored-personal-save .candidate-personal-save{order:1;flex:none}
.job-listing .sponsored-card .sponsored-personal-save{grid-column:3;grid-row:1;justify-self:end;align-self:start;max-width:100%}
.job-listing .sponsored-card .sponsored-personal-save .sponsored-label{grid-column:auto;grid-row:auto;max-width:calc(100% - 48px);white-space:normal;text-align:center}
@media(max-width:600px){.job-listing .sponsored-card .sponsored-personal-save{grid-column:2/-1;grid-row:1}
.job-listing .sponsored-card .sponsored-personal-save .sponsored-label{max-width:none}}
.sponsored-card .job-card-top{align-items:center}
.sponsored-card .sponsored-personal-save{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:nowrap;min-width:0}
.sponsored-card .sponsored-personal-save .sponsored-label,.job-listing .sponsored-card .sponsored-personal-save .sponsored-label{display:inline-flex;align-items:center;justify-content:center;max-width:none;min-height:26px;margin:0;white-space:nowrap;line-height:1.2}
.sponsored-card .sponsored-personal-save .candidate-personal-save{flex:0 0 44px;width:44px;height:44px;min-width:44px;min-height:44px}
@media(min-width:601px){.job-listing .results-grid .job-card.sponsored-card{grid-template-columns:44px minmax(0,1fr) minmax(150px,max-content)}}
.search-alert-card[data-created="1"]>:not([data-alert-success]){display:none!important}
.search-alert-success{text-align:center;padding:12px 0 4px}
.search-alert-success img{display:block;width:145px;max-width:100%;height:auto;margin:0 auto 20px}
.search-alert-success h3{font-size:1.35rem;margin:0 0 12px}
.search-alert-success p{margin:0 auto 22px;max-width:390px;line-height:1.6}
.search-alert-success .button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;white-space:normal}
.search-alert-success .button .icon{width:17px;height:17px;flex:none}
.sponsored-card .sponsored-personal-save .sponsored-label,
.job-listing .sponsored-card .sponsored-personal-save .sponsored-label{align-self:center}
.sponsored-card .sponsored-personal-save .candidate-personal-save,
.sponsored-card .sponsored-personal-save .candidate-personal-save:hover{display:inline-flex;align-items:center;justify-content:center;align-self:center;width:44px;height:44px;min-width:44px;min-height:44px;padding:0;border:0;background:transparent;box-shadow:none;color:var(--link);cursor:pointer}
.sponsored-card .sponsored-personal-save .candidate-personal-save .icon{width:22px;height:22px}
.sponsored-card .sponsored-personal-save .candidate-personal-save[aria-pressed=true]{background:transparent;color:#bd20b2}
.sponsored-card .sponsored-personal-save .candidate-personal-save[aria-pressed=true] .icon{fill:currentColor;fill-opacity:.16}
.sponsored-card .sponsored-personal-save .candidate-personal-save:focus-visible{outline:2px solid var(--link);outline-offset:1px}
[data-theme=dark] .sponsored-card .sponsored-personal-save .candidate-personal-save[aria-pressed=true]{color:#f394ea}
.job-nav-alert-row{display:flex;align-items:center;gap:16px;margin:0 0 24px;min-width:0}
.job-nav-alert-row>.job-sequence{flex:1 1 auto;min-width:0;margin:0}
.job-nav-alert-row>details.search-alert{flex:0 0 232px;width:232px;max-width:40%;margin-left:auto;align-self:center}
.job-nav-alert-row>details.search-alert>summary{box-sizing:border-box;width:100%;min-height:48px}
@media(max-width:767px){.job-nav-alert-row{display:block;margin:0}
.job-nav-alert-row>.job-sequence{margin:0 0 24px}
.job-nav-alert-row>details.search-alert{display:none!important}}
.job-card.sponsored-card .sponsored-personal-save .candidate-personal-save{color:var(--muted);padding:10px}
.job-card.sponsored-card .sponsored-personal-save .candidate-personal-save .icon{width:21px;height:21px}
.job-card.sponsored-card .sponsored-personal-save .candidate-personal-save:hover{color:var(--heart);background:var(--surface)}
.job-card.sponsored-card .sponsored-personal-save .candidate-personal-save[aria-pressed=true],
[data-theme=dark] .job-card.sponsored-card .sponsored-personal-save .candidate-personal-save[aria-pressed=true]{color:var(--heart)}
.job-card.sponsored-card .sponsored-personal-save .candidate-personal-save[aria-pressed=true] .icon{fill:currentColor;fill-opacity:1}
.job-card.sponsored-card .job-card-actions .sponsored-apply{width:132px;max-width:100%}
:root body .job-card .job-card-actions .quick-view,
:root body .job-card.sponsored-card .job-card-actions .sponsored-apply>.button.sponsored-action{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;gap:7px;width:132px;max-width:100%;min-width:0;min-height:48px;padding:9px 10px;border-radius:8px;font-size:13px;font-weight:650;line-height:1.3;white-space:nowrap}
:root body .job-card.sponsored-card .job-card-actions .sponsored-apply>.button.sponsored-action{width:100%}
:root body .job-card.sponsored-card .job-card-actions .sponsored-action>.icon{width:16px!important;height:16px!important;min-width:16px!important;max-width:16px!important;flex:0 0 16px!important}
@media(max-width:360px){:root body .job-card.sponsored-card .job-card-actions .sponsored-action,:root body .job-card .job-card-actions .quick-view{font-size:12px}}
.job-nav-alert-row>.job-nav-favorite{display:flex;align-items:center;flex:none;min-width:44px}
.job-nav-favorite .job-actions{margin:0;gap:8px}
.job-nav-favorite :is(.save-job,.candidate-personal-save){display:grid;place-items:center;box-sizing:border-box;width:44px;height:48px;min-width:44px;min-height:48px;padding:10px;border:0;background:transparent;box-shadow:none;color:var(--muted)}
.job-nav-favorite :is(.save-job,.candidate-personal-save):hover,.job-nav-favorite .candidate-personal-save[aria-pressed=true]{border:0;background:transparent;box-shadow:none;color:var(--heart)}
.job-nav-favorite :is(.save-job,.candidate-personal-save)[aria-pressed=true] .icon{fill:currentColor}
.job-nav-favorite :is(.save-job,.candidate-personal-save) .icon{width:22px;height:22px}
.job-applied-badge{display:inline-flex;align-items:center;gap:6px;max-width:100%;padding:6px 9px;border-radius:8px;background:#e4f5ec;color:#116c48;font-size:12px;font-weight:650;line-height:1.35;text-decoration:none}
.job-applied-badge:hover{color:#075b39;text-decoration:underline}
.job-applied-badge .icon{width:16px!important;height:16px!important;flex:none}
.application-card>.application-widget-badge{margin:0 0 14px}
.sponsored-card>.job-applied-badge{align-self:flex-start;margin:0 0 6px}
.portal-heading .job-detail-head>.job-applied-badge{margin:0 0 10px}
.job-listing .sponsored-card>.job-applied-badge{grid-column:2;grid-row:6;justify-self:start;margin:4px 0 0}
.job-listing .sponsored-history-action{min-height:40px;max-width:100%}
[data-theme=dark] .job-applied-badge{background:#173c30;color:#a7ebc7}
@media(min-width:601px){.job-listing .results-grid .job-card:has(.job-actions .job-applied-badge:not([hidden])){grid-template-columns:44px minmax(0,1fr) minmax(175px,max-content)}}
@media(max-width:767px){.job-nav-alert-row{display:flex;align-items:center;gap:10px;margin:0 0 24px}
.job-nav-alert-row>.job-sequence{flex:1 1 auto;min-width:0;margin:0}
.job-nav-favorite .job-actions{gap:4px}}
@media(max-width:600px){.job-listing .job-card .job-actions:has(.job-applied-badge:not([hidden])){grid-column:2/-1}
.job-listing .sponsored-card>.job-applied-badge{grid-column:1/-1;grid-row:8;justify-self:start}}
@media(max-width:700px){.apply-sidebar .application-card.is-mobile-collapsed>.application-widget-badge:not([hidden]){display:inline-flex!important;margin:0 44px 8px 0}}

/* search-modal.css */
/* Compact presentation of the existing public form; all controls remain available. */
#menu-search-dialog{--menu-search-ready:1;box-sizing:border-box;width:calc(100% - 32px);max-width:880px;max-height:calc(100vh - 32px);max-height:calc(var(--viewport-height,100dvh) - 32px);margin:auto;padding:0;border:1px solid var(--line);border-radius:16px;background:var(--paper);color:var(--ink);box-shadow:var(--shadow-sm);overflow:auto;overscroll-behavior:contain}
#menu-search-dialog[hidden],#menu-search-dialog:not([open]){display:none}
#menu-search-dialog::backdrop{background:rgb(0 0 0 / .48)}
html.menu-search-open,html.menu-search-open body{overflow:hidden}
#menu-search-dialog .menu-search-head{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0;padding:18px 20px;border-bottom:1px solid var(--line);background:var(--paper)}
#menu-search-dialog .menu-search-head h2{display:flex;align-items:center;gap:10px;min-width:0;margin:0;font-size:22px;line-height:1.3;letter-spacing:0;overflow-wrap:anywhere}
#menu-search-dialog .menu-search-head h2>.icon{flex:none;width:24px;height:24px;color:var(--link)}
#menu-search-dialog .menu-search-head .icon-button{flex:0 0 44px;width:44px;height:44px}
#menu-search-dialog .menu-search-slot{min-width:0}
#menu-search-dialog #job-search.search-design{margin:0;border:0;border-radius:0;box-shadow:none}
#menu-search-dialog #job-search .search-main{grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:0;padding-bottom:16px}
#menu-search-dialog #job-search .search-main>.field{grid-template-rows:auto auto;min-height:84px;padding:18px 18px 16px 54px;border-radius:0}
#menu-search-dialog #job-search .input-wrap{display:block;min-width:0}
#menu-search-dialog #job-search .input-wrap>.icon{inset-inline-start:18px;top:32px;width:23px;height:23px}
#menu-search-dialog #job-search .input-wrap>input[data-autocomplete]{height:auto;min-height:32px;font-size:16px;letter-spacing:0;color:var(--ink)}
#menu-search-dialog #job-search .search-submit{grid-column:1/-1;justify-self:stretch;min-height:48px;margin:4px 18px 0;padding:12px 18px;font-size:16px}
#menu-search-dialog #job-search .advanced>summary{flex-wrap:wrap;gap:8px 16px;min-height:56px;padding:10px 18px;letter-spacing:0;border-radius:0}
#menu-search-dialog #job-search .search-promise{flex:1 1 220px;min-width:0}
#menu-search-dialog #job-search .search-advanced-toggle{white-space:normal;text-align:start}
#menu-search-dialog #job-search .search-advanced-toggle .icon{flex:none}
#menu-search-dialog #job-search .advanced .search-refinements{grid-template-columns:minmax(0,1fr) minmax(0,1fr);border-radius:0}
#menu-search-dialog #job-search .search-refinements>section{padding:18px;min-width:0}
#menu-search-dialog #job-search .search-refinements h3{font-size:16px;letter-spacing:0;overflow-wrap:anywhere}
#menu-search-dialog #job-search .search-preference-fields,#menu-search-dialog #job-search .search-timing-fields{grid-template-columns:minmax(0,1fr);gap:14px}
#menu-search-dialog #job-search .search-attribute-fields{grid-template-columns:repeat(2,minmax(0,1fr))}
#menu-search-dialog #job-search .search-refinements :is(select,input[type=number]){font-size:16px;min-height:46px}
#menu-search-dialog #job-search .search-mode-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;border:0;border-radius:0;background:transparent}
#menu-search-dialog #job-search .search-mode-options>label{min-height:44px;padding:9px 10px;border:1px solid var(--control-border);border-radius:9px;white-space:normal;overflow-wrap:anywhere}
#menu-search-dialog #job-search .search-mode-options>label:has(input:checked){border-color:var(--blue)}
#menu-search-dialog #job-search .suggestions,#menu-search-dialog #job-search .suggestions.is-above{position:static;inset:auto;transform:none;width:100%;min-width:0;max-height:min(240px,var(--suggestion-space,240px));margin:8px 0 0;overflow:auto}
#menu-search-dialog #job-search .suggestions[hidden]{display:none}
#menu-search-dialog #job-search .suggestion-copy{min-width:0}
#menu-search-dialog #job-search .suggestion-copy :is(strong,small){white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere}
#menu-search-dialog :focus-visible{outline:2px solid var(--focus);outline-offset:2px}
#menu-search-dialog #job-search .jb-field-error{white-space:normal;overflow-wrap:anywhere}
#menu-search-dialog #job-search .field>label,#menu-search-dialog #job-search .field>label .jb-label-text{letter-spacing:0}
html[data-theme=dark] #menu-search-dialog #job-search .search-main>.field>label{color:var(--link)}
@media(max-width:640px){
 #menu-search-dialog{width:calc(100% - 16px);max-height:calc(100vh - 16px);max-height:calc(var(--viewport-height,100dvh) - 16px);border-radius:12px}
 #menu-search-dialog .menu-search-head{padding:12px 14px;gap:10px}
 #menu-search-dialog .menu-search-head h2{font-size:20px}
 #menu-search-dialog #job-search .search-main,#menu-search-dialog #job-search .advanced .search-refinements,#menu-search-dialog #job-search .search-attribute-fields{grid-template-columns:minmax(0,1fr)}
 #menu-search-dialog #job-search .search-location-field::before{inset-inline:18px;top:0;bottom:auto;width:auto;height:1px}
 #menu-search-dialog #job-search .search-location-preferences::before{inset-inline:18px;top:0;bottom:auto;width:auto;height:1px}
 #menu-search-dialog #job-search .advanced>summary{padding:10px 16px}
 #menu-search-dialog #job-search .search-promise{flex-basis:100%}
 #menu-search-dialog #job-search .search-advanced-toggle{margin-inline-start:auto}
}

/* search-engine.css */
/* Postal search keeps explanations separate from the clean suggestion labels. */
#job-search [data-nearby-choice][hidden],
#job-search [data-postal-notice][hidden],
#job-search [data-postal-city][hidden] { display: none !important; }
#job-search [data-postal-notice] { margin: .4rem 0 0; font-size: .75rem; line-height: 1.5; text-wrap: pretty; }
#job-search [data-postal-city] { margin-top: .3rem; font-size: .8rem; }

.postal-recovery { display: block; margin-block: 2rem; padding: 2rem; }
.postal-recovery .button-row { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.25rem; }

/* performance.css */
/* Local feedback keeps existing cards and page geometry intact. */
.results-region{position:relative}
.results-region.loading{pointer-events:auto}
.results-region.loading>:not(.search-loading){opacity:.82;transition:opacity .12s}
.results-region>.search-loading,.job-listing .results-region>.search-loading{position:absolute;inset:0 0 auto;z-index:4;width:100%;margin:0;padding:8px;pointer-events:none}
.results-region>.search-loading>.jobbol-loading{width:max-content;max-width:100%;min-height:48px;margin-inline:auto;padding:12px 18px;background:var(--paper);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow-md)}
.jobbol-loading .jobbol-spinner{flex:none}
@media(prefers-reduced-motion:reduce){.results-region.loading>:not(.search-loading){transition:none}.jobbol-loading .jobbol-spinner{animation:none}}

/* search-submit-progress.css */
/* Keep the submit control stable and make its in-progress state clear. */
#job-search .search-submit [hidden] { display: none !important; }
#job-search .search-submit [data-search-submit-progress]:not([hidden]) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
}
#job-search .search-submit[aria-busy="true"] {
  opacity: 1;
  cursor: progress;
}
#job-search .search-submit [data-search-submit-progress] .jobbol-spinner {
  width: 18px;
  height: 18px;
  border: 2px solid rgb(255 255 255 / .42);
  border-top-color: #fff;
}
#job-search [data-search-progress-status] {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}

