/* 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}
