/* Listing only. The shared public shell remains the approved homepage shell. */
.ew-opportunities-page { background:var(--ew-canvas); }
.ew-listing-hero { padding:34px 0 0; background:var(--ew-hero-gradient); border-bottom:1px solid var(--ew-border); }
.ew-listing-intro { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); gap:80px; align-items:center; margin-bottom:22px; }
.ew-listing-intro .ew-eyebrow { font-size:12px; letter-spacing:.18em; margin-bottom:14px; }
.ew-listing-intro h1 { font-size:clamp(34px,3.5vw,48px); line-height:1.07; letter-spacing:-.055em; font-weight:750; }
.ew-listing-intro h1 span { color:var(--ew-blue); }
.ew-listing-intro > div > p:last-child { color:var(--ew-muted); font-size:14px; max-width:620px; margin-top:14px; }
.ew-discovery-note { border-left:1px solid var(--ew-border); padding:12px 0 12px 28px; }
.ew-discovery-note > .ew-icon { display:block; color:var(--ew-blue); width:35px; height:35px; margin-bottom:15px; }
.ew-discovery-note strong { font-size:19px; letter-spacing:-.02em; }
.ew-discovery-note p { color:var(--ew-muted); font-size:13px; margin:10px 0 16px; }
.ew-discovery-note a { font-size:12px; color:var(--ew-blue); }
.ew-discovery-form { border:1px solid var(--ew-border); border-radius:12px; padding:12px; background:var(--ew-surface); box-shadow:0 8px 28px #193d6908; }
.ew-search-line { display:flex; align-items:center; gap:10px; }
.ew-search-line > span { color:var(--ew-blue); padding-left:8px; }
.ew-search-line input { border:0; flex:1; min-width:0; background:var(--ew-surface); }
.ew-search-line .ew-btn { flex-shrink:0; }
.ew-btn { position:relative; border-radius:6px; }
.ew-discovery-filters summary { cursor:pointer; font-size:13px; font-weight:650; padding:17px 4px 0; }
.ew-discovery-filters summary > span { display:block; margin-top:8px; color:var(--ew-muted); font-size:12px; font-weight:400; }
.ew-filter-fields { display:grid; grid-template-columns:minmax(0,1fr); align-items:end; gap:14px; padding-top:18px; }
.ew-filter-fields label { min-width:0; font-size:12px; font-weight:650; }
.ew-filter-fields select { width:100%; display:block; margin-top:6px; font-size:13px; padding:10px; }
.ew-filter-note { font-size:12px; color:var(--ew-muted); margin-top:12px; }
.ew-discovery-tabs { display:flex; align-items:center; flex-wrap:wrap; gap:24px; margin-top:14px; }
.ew-discovery-tabs a { font-size:13px; padding:14px 0; border-bottom:3px solid transparent; }
.ew-discovery-tabs a[aria-current] { border-color:var(--ew-blue); color:var(--ew-blue); font-weight:700; }
.ew-discovery-tabs > span { margin-left:auto; color:var(--ew-muted); font-size:12px; }
.ew-listing-content { min-width:0; padding-bottom:50px; }
.ew-results-toolbar { display:flex; align-items:end; justify-content:space-between; gap:24px; margin-bottom:24px; }
.ew-results-toolbar .ew-eyebrow { font-size:12px; margin-bottom:8px; }
.ew-results-toolbar h2 { font-size:28px; }
.ew-results-toolbar p:last-child { color:var(--ew-muted); font-size:12px; margin-top:8px; }
.ew-results-toolbar .ew-text-link { flex-shrink:0; font-size:12px; color:var(--ew-blue); }
.ew-active-filters { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:26px; }
.ew-active-filters a { padding:7px 10px; border:1px solid var(--ew-border); border-radius:6px; font-size:12px; color:var(--ew-blue); background:var(--ew-surface); overflow-wrap:anywhere; max-width:100%; }
.ew-active-filters span { margin-left:12px; }
.ew-job-group + .ew-job-group { margin-top:42px; }
.ew-more-opportunities summary { cursor:pointer; font-size:12px; font-weight:650; color:var(--ew-blue); padding:18px 0; }
.ew-job-group-header { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:16px; }
.ew-job-group-header h2 { font-size:21px; letter-spacing:-.03em; }
.ew-job-group-header > span { flex-shrink:0; font-size:12px; color:var(--ew-muted); }
.ew-opportunities-grid { display:grid; grid-template-columns:minmax(0,1fr); gap:18px; }
.ew-opportunity-card { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:start; min-width:0; gap:9px 24px; border:1px solid var(--ew-border); padding:22px; border-radius:10px; background:var(--ew-surface); box-shadow:var(--ew-shadow); }
.ew-opportunity-card:hover,.ew-opportunity-card:focus-visible { border-color:var(--ew-border); box-shadow:0 8px 24px #15355d10; }
.ew-opportunity-card-top { grid-column:1; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; }
.ew-opportunity-company { display:flex; align-items:center; min-width:0; gap:10px; font-size:12px; color:var(--ew-muted); }
.ew-opportunity-company > span:last-child { overflow-wrap:anywhere; }
.ew-opportunity-company img { flex-shrink:0; object-fit:contain; border-radius:7px; }
.ew-company-placeholder { flex-shrink:0; display:grid; place-items:center; width:38px; height:38px; border-radius:8px; color:var(--ew-blue); background:var(--ew-surface); }
.ew-job-status { font-size:12px; color:var(--ew-blue); background:var(--ew-surface); padding:4px 7px; border-radius:4px; }
.ew-opportunity-title { min-width:0; grid-column:1; }
.ew-opportunity-title h3 { font-size:18px; line-height:1.4; letter-spacing:-.025em; overflow-wrap:anywhere; text-wrap:wrap; }
.ew-opportunity-title .ew-relationship-badge { display:inline-block; position:static; white-space:normal; max-width:100%; margin-top:9px; font-size:12px; }
.ew-opportunity-meta { grid-column:1; display:flex; flex-wrap:wrap; gap:8px 14px; font-size:12px; color:var(--ew-muted); }
.ew-opportunity-meta > span { display:flex; align-items:start; gap:5px; min-width:0; overflow-wrap:anywhere; }
.ew-opportunity-meta .ew-icon { width:15px; height:15px; margin-top:1px; }
.ew-opportunity-salary { grid-column:2; grid-row:1; justify-self:end; align-self:center; color:var(--ew-blue); font-size:15px; font-weight:700; overflow-wrap:anywhere; max-width:190px; }
.ew-opportunity-tags { grid-column:1; display:flex; flex-wrap:wrap; gap:6px; }
.ew-opportunity-tags .ew-tag { font-size:12px; }
.ew-opportunity-card-footer { grid-column:2; grid-row:2 / span 4; align-self:center; display:flex; flex-direction:column; align-items:end; flex-wrap:wrap; justify-content:space-between; gap:10px; margin-top:0; padding-top:0; }
.ew-opportunity-card-footer > span { display:inline-flex; align-items:center; gap:7px; font-size:12px; color:var(--ew-blue); font-weight:650; }
.ew-opportunity-card-footer .ew-icon { width:16px; height:16px; }
.ew-opportunity-card-footer time { font-size:12px; color:var(--ew-muted); }
.ew-project-intro { font-size:13px; color:var(--ew-muted); margin-bottom:18px; }
.ew-project-description { font-size:12px; line-height:1.6; color:var(--ew-muted); overflow-wrap:anywhere; }
.ew-listing-empty { display:flex; align-items:center; flex-direction:column; text-align:center; padding:60px 24px; border:1px solid var(--ew-border); border-radius:12px; background:var(--ew-surface); }
.ew-empty-icon { color:var(--ew-blue); background:var(--ew-blue-light); border-radius:12px; padding:14px; margin-bottom:20px; }
.ew-listing-empty h2 { font-size:27px; }
.ew-listing-empty p { max-width:530px; color:var(--ew-muted); font-size:14px; margin:16px 0 24px; }
.ew-transparency { padding-top:24px; border-top:1px solid var(--ew-border); margin-top:40px; color:var(--ew-muted); font-size:12px; }
.ew-transparency strong { font-size:12px; color:var(--ew-text); }
.ew-transparency p { margin-top:7px; max-width:850px; }
@media(prefers-reduced-motion:no-preference) { .ew-opportunity-card { transition:border-color .18s,box-shadow .18s; } }
@media(max-width:1100px) { .ew-opportunities-grid { grid-template-columns:minmax(0,1fr); } .ew-listing-intro { gap:45px; } }
@media(max-width:960px) { .ew-opportunities-grid { grid-template-columns:minmax(0,1fr); } .ew-listing-intro { grid-template-columns:minmax(0,1fr); } .ew-discovery-note { display:none; } .ew-filter-fields { grid-template-columns:minmax(0,1fr); } }
@media(max-width:640px) {
 .ew-listing-hero { padding-top:32px; } .ew-listing-intro { margin-bottom:24px; } .ew-listing-intro h1 { font-size:38px; } .ew-listing-intro .ew-eyebrow { font-size:12px; }
 .ew-listing-intro > div > p:last-child { font-size:14px; } .ew-discovery-form { padding:12px; }
 .ew-search-line { flex-wrap:wrap; } .ew-search-line > span { display:none; } .ew-search-line input { flex-basis:100%; } .ew-search-line .ew-btn { width:100%; }
 .ew-filter-fields { grid-template-columns:minmax(0,1fr); gap:14px; } .ew-filter-fields .ew-btn { width:100%; } .ew-discovery-filters summary { font-size:12px; }
 .ew-discovery-filters summary > span { display:block; margin:5px 0 0 15px; font-size:12px; }
 .ew-discovery-tabs { gap:18px; } .ew-discovery-tabs a { font-size:12px; } .ew-discovery-tabs > span { flex-basis:100%; margin:0 0 14px; font-size:12px; }
 .ew-listing-content { padding-block:28px 38px; } .ew-results-toolbar { flex-direction:column; align-items:start; gap:12px; } .ew-results-toolbar h2 { font-size:25px; }
 .ew-job-group-header { align-items:start; } .ew-job-group-header h2 { font-size:19px; } .ew-job-group-header > span { font-size:12px; padding-top:4px; }
 .ew-opportunities-grid { grid-template-columns:minmax(0,1fr); gap:14px; } .ew-opportunity-card { grid-template-columns:minmax(0,1fr); padding:20px; } .ew-opportunity-card-footer { grid-column:1; grid-row:auto; flex-direction:row; align-items:center; padding-top:14px; border-top:1px solid var(--ew-border); }
 .ew-listing-empty { padding:36px 18px; } .ew-listing-empty h2 { font-size:24px; }
}

.ew-category-navigation { display:flex; gap:10px; padding-block:22px; overflow-x:auto; scrollbar-width:none; scroll-snap-type:x proximity; }
.ew-category-navigation::-webkit-scrollbar { display:none; }
.ew-category-navigation a { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; flex:0 0 123px; min-height:94px; padding:12px 10px; border:1px solid var(--ew-border); border-radius:9px; font-size:11px; line-height:1.4; text-align:center; color:var(--ew-muted); background:var(--ew-elevated); scroll-snap-align:start; }
.ew-category-navigation .ew-icon { color:var(--ew-light-blue); width:24px; height:24px; }
.ew-category-navigation a[aria-current],.ew-category-navigation a:hover { color:var(--ew-text); background:var(--ew-elevated); border-color:var(--ew-blue); }
.ew-listing-layout { display:grid; grid-template-columns:240px minmax(0,1fr); gap:32px; align-items:start; padding-top:12px; }
.ew-listing-sidebar { min-width:0; border:1px solid var(--ew-border); border-radius:12px; background:var(--ew-surface); padding:20px; }
.ew-listing-sidebar summary { padding-top:0; }
.ew-filter-reset { margin-top:18px; font-size:12px; color:var(--ew-blue); }
.ew-opportunity-card-footer > span { background:var(--ew-action); color:var(--ew-on-action); padding:10px 14px; border-radius:6px; }
.ew-sort-control { display:flex; flex-wrap:wrap; align-items:center; justify-content:end; gap:8px; font-size:12px; }
.ew-sort-control select { width:auto; min-height:40px; padding:8px 30px 8px 10px; font-size:12px; }
.ew-sort-control .ew-btn { min-height:40px; font-size:12px; padding:8px 12px; }
.ew-pagination { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:8px; padding-top:30px; }
.ew-pagination a { display:grid; place-items:center; min-width:40px; min-height:40px; padding:8px 12px; background:var(--ew-surface); border:1px solid var(--ew-border); border-radius:7px; font-size:13px; }
.ew-pagination a[aria-current] { background:var(--ew-action); border-color:var(--ew-action); color:var(--ew-on-action); }
.ew-pagination a:hover { outline:1px solid var(--ew-blue); }
@media(max-width:960px) { .ew-opportunity-salary { grid-column:1; grid-row:auto; justify-self:start; } .ew-sort-control { justify-content:start; } }
@media(max-width:960px) { .ew-listing-layout { grid-template-columns:210px minmax(0,1fr); gap:20px; } .ew-opportunity-card { grid-template-columns:minmax(0,1fr); } .ew-opportunity-card-footer { grid-column:1; grid-row:auto; flex-direction:row; align-items:center; padding-top:14px; } }
@media(max-width:640px) { .ew-listing-layout { grid-template-columns:minmax(0,1fr); gap:12px; } .ew-listing-sidebar { padding:16px; } .ew-listing-sidebar .ew-filter-reset { margin-top:12px; } .ew-category-navigation { padding-block:18px; } }
