.jobs-page{padding:150px var(--space-24) 100px;flex:1;width:100%;color:var(--gray-800)}.jobs-wrap{max-width:var(--public-content-width);margin:auto}.jobs-eyebrow{font-size:12px;letter-spacing:.1em;color:var(--gray-500)}.jobs-page h1{font-size:clamp(32px,4vw,52px);letter-spacing:-.04em;margin:18px 0 var(--space-24)}.jobs-intro{font-size:17px;line-height:1.8;color:var(--gray-500)}.jobs-filters{display:grid;grid-template-columns:minmax(180px,1fr) 150px 150px 120px 84px;gap:var(--space-16);align-items:end;margin:44px 0 28px;padding:var(--space-24);background:var(--gray-100);border:1px solid var(--gray-200)}.jobs-filters label{display:grid;gap:var(--space-8);font-size:13px}.jobs-filters :is(input,select,button){height:44px;width:100%;padding:var(--space-8) var(--space-12);font-size:14px;border:1px solid var(--gray-200);background:var(--gray-white);border-radius:var(--radius-small);min-width:0}.jobs-filters button{background:var(--action-primary);color:white;border:0;cursor:pointer}.jobs-list-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-16);font-size:14px;margin-bottom:var(--space-20)}.jobs-feedback{color:var(--status-error)}.jobs-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-20)}.jobs-card{border:1px solid var(--gray-200);padding:26px;min-width:0;background:white}.jobs-badges{display:flex;gap:var(--space-8);flex-wrap:wrap;font-size:12px;color:var(--gray-500);margin-bottom:18px}.jobs-badge{padding:var(--space-4) var(--space-8);background:#f4f0fa;color:#5427af;border-radius:var(--radius-small)}.jobs-card h2{font-size:22px;line-height:1.5;word-break:keep-all;overflow-wrap:anywhere;margin:10px 0 var(--space-16)}.jobs-company{font-size:14px;color:var(--gray-500)}.jobs-meta{font-size:14px;line-height:1.8;overflow-wrap:anywhere;color:var(--gray-500)}.jobs-card button{margin-top:22px;padding:10px var(--space-16);border:1px solid var(--gray-200);background:white;font-size:14px;cursor:pointer}.jobs-card button:not(:disabled):not([aria-disabled=true]):hover{background:#f4f0fa}.jobs-pagination{display:flex;justify-content:center;align-items:center;gap:var(--space-20);margin:var(--space-32) 0;font-size:14px}.jobs-pagination button{min-height:var(--control-compact-height);border-radius:var(--radius-control);padding:10px var(--space-16);border:1px solid var(--gray-200);background:white;cursor:pointer}.jobs-pagination button:disabled{opacity:.4;cursor:default}.jobs-empty{padding:54px var(--space-20);background:var(--gray-50);grid-column:1/-1;text-align:center;color:var(--gray-500);line-height:1.8}.jobs-disclaimer{font-size:13px;color:var(--gray-500);line-height:1.8;border-top:1px solid var(--gray-200);padding-top:var(--space-24)}.jobs-dialog{margin:auto;width:min(820px,calc(100% - 40px));max-height:88dvh;padding:0;border:1px solid var(--gray-200);border-radius:var(--radius-large);color:var(--gray-800);overflow:hidden;box-shadow:0 24px 80px #0003}.jobs-dialog[open]{display:flex;flex-direction:column}.jobs-dialog::backdrop{background:#15121999}.jobs-dialog-top{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:var(--space-20);padding:18px var(--space-32);border-bottom:1px solid var(--gray-200);font-size:13px;color:var(--gray-500);background:var(--gray-white)}.jobs-dialog-top button{border:1px solid var(--gray-200);border-radius:var(--radius-control);background:var(--gray-white);padding:9px var(--space-12);font-size:13px;color:var(--gray-700);cursor:pointer}.jobs-dialog-top button:not(:disabled):not([aria-disabled=true]):hover{background:var(--gray-100)}#jobs-detail-body{min-height:0;overflow:auto;overscroll-behavior:contain;padding:30px 36px 34px;background:var(--gray-white)}.jobs-detail-header .jobs-badges{margin-bottom:var(--space-20)}.jobs-detail-header .jobs-company{font-size:15px;color:var(--gray-500)}.jobs-dialog h2{font-size:30px;line-height:1.45;letter-spacing:-.035em;margin:var(--space-8) 0 26px;word-break:keep-all;overflow-wrap:anywhere}.jobs-badge-closed{background:var(--gray-100);color:var(--gray-500)}.jobs-detail-facts{display:grid;grid-template-columns:1fr 1fr;gap:22px 28px;padding:var(--space-24);border:1px solid var(--gray-200);background:var(--gray-50);border-radius:var(--radius-card);margin:0 0 var(--space-32)}.jobs-detail-facts div{min-width:0}.jobs-detail-facts dt{font-size:12px;color:var(--gray-500);margin-bottom:7px}.jobs-detail-facts dd{margin:0;font-size:15px;font-weight:500;line-height:1.7;word-break:keep-all;overflow-wrap:anywhere}.jobs-detail-section{padding:var(--space-24) 0;border-top:1px solid var(--gray-200)}.jobs-detail-section h3{font-size:17px;font-weight:600;margin:0 0 var(--space-16);letter-spacing:-.02em}.jobs-detail-copy p{white-space:pre-wrap;line-height:1.9;font-size:15px;color:var(--gray-600);word-break:keep-all;overflow-wrap:anywhere}.jobs-detail-copy p+p{margin-top:var(--space-12)}.jobs-detail-list{margin:0;padding-left:var(--space-20);list-style:disc}.jobs-detail-list li{padding-left:3px;line-height:1.85;font-size:15px;color:var(--gray-600);word-break:keep-all;overflow-wrap:anywhere}.jobs-detail-list li+li{margin-top:10px}.jobs-detail-list li::marker{color:var(--gray-500)}.jobs-detail-notes{padding:22px var(--space-24);margin:var(--space-8) 0 0;border:1px solid #e6def1;border-radius:var(--radius-card);background:#f8f5fc}.jobs-detail-notes h3{color:#5427af;font-size:15px}.jobs-detail-notes p{font-size:14px}.jobs-detail-actions{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:var(--space-20);padding:var(--space-20) var(--space-32);border-top:1px solid var(--gray-200);background:white}.jobs-detail-actions[hidden]{display:none}.jobs-detail-caption{font-size:12px;color:var(--gray-500);line-height:1.7}.jobs-detail-caption p+p{margin-top:3px}.jobs-source{flex-shrink:0;display:flex;align-items:center;justify-content:center;min-height:var(--control-height);text-align:center;margin:0;background:var(--action-primary);color:white;padding:14px var(--space-20);border-radius:var(--radius-control);font-size:14px;text-decoration:none}.jobs-source:not([aria-disabled=true]):hover{background:var(--action-primary-hover)}.jobs-dialog :focus-visible,.jobs-page :focus-visible{outline:2px solid var(--action-primary);outline-offset:3px}
@media(max-width:760px){.jobs-page{padding:110px var(--space-20) 60px}.jobs-filters{grid-template-columns:1fr 1fr;padding:18px;gap:14px}.jobs-filters label:first-child{grid-column:1/-1}.jobs-filters button{grid-column:1/-1}.jobs-grid{grid-template-columns:1fr}.jobs-card{padding:22px}.jobs-card h2{font-size:20px}.jobs-dialog{width:calc(100% - 24px);max-height:92dvh;border-radius:var(--radius-card)}.jobs-dialog-top{padding:14px var(--space-20)}#jobs-detail-body{padding:var(--space-24) var(--space-20)}.jobs-dialog h2{font-size:25px;margin-bottom:22px}.jobs-detail-facts{gap:18px;padding:18px;margin-bottom:var(--space-24)}.jobs-detail-facts div:nth-child(3){grid-column:1/-1}.jobs-detail-facts div:nth-child(4){grid-column:1/-1}.jobs-detail-facts dd{font-size:14px}.jobs-detail-section{padding:22px 0}.jobs-detail-notes{padding:var(--space-20)}.jobs-detail-actions{display:block;padding:14px var(--space-20) max(14px,env(safe-area-inset-bottom))}.jobs-detail-caption{font-size:11px;margin-bottom:10px}.jobs-source{width:100%;padding:13px var(--space-16)}}

/* Freeze the page while the dialog scrolls, including touches on its fixed areas. */
html.jobs-detail-open{overflow:hidden;overscroll-behavior:none}
body.jobs-detail-open{position:fixed;top:var(--jobs-scroll-offset,0px);left:0;right:0;width:100%;overflow:hidden;padding-right:var(--jobs-scroll-gap,0px)}
.jobs-dialog{overscroll-behavior:none}
#jobs-detail-body{-webkit-overflow-scrolling:touch;touch-action:pan-y pinch-zoom}
#jobs-detail-body:focus{outline:none}
#jobs-detail-body:focus-visible{outline:2px solid var(--action-primary);outline-offset:-3px}

.jobs-sort{display:flex;align-items:center;gap:10px;margin-left:auto;font-size:13px;color:var(--gray-500)}.jobs-sort select{min-height:var(--control-compact-height);padding:9px var(--space-12);background:white;border:1px solid var(--gray-200);border-radius:var(--radius-control);font-size:13px}.jobs-list-heading .jobs-feedback:empty{display:none}.jobs-card-facts{display:grid;gap:9px;margin:var(--space-20) 0}.jobs-card-facts>div{display:grid;grid-template-columns:40px minmax(0,1fr);gap:var(--space-12);font-size:14px;line-height:1.7}.jobs-card-facts dt{color:var(--gray-500)}.jobs-card-facts dd{margin:0;color:var(--gray-600);overflow-wrap:anywhere}.jobs-card-deadline{padding-top:var(--space-16);border-top:1px solid var(--gray-200);font-size:13px;color:var(--gray-500)}.jobs-badge-neutral{background:var(--gray-100);color:var(--gray-500)}.jobs-badge-deadline{background:#f8efe8;color:#965228;margin-left:auto}.jobs-card .jobs-badges{align-items:center}.jobs-card h2{min-height:3em}.jobs-detail-header .jobs-badge-deadline{margin-left:0}@media(max-width:1000px){.jobs-filters{grid-template-columns:1fr 1fr 1fr}.jobs-filters label:first-child{grid-column:1/3}.jobs-filters button{grid-column:3;grid-row:1}}@media(max-width:760px){.jobs-filters{grid-template-columns:1fr 1fr}.jobs-filters label:first-child{grid-column:1/-1}.jobs-filters button{grid-column:auto;grid-row:auto}.jobs-sort{gap:var(--space-8)}.jobs-card h2{min-height:0}.jobs-badge-deadline{margin-left:0}}

/* Compact job list; detailed employment and location stay in the dialog. */
.jobs-grid{grid-template-columns:minmax(0,1fr);gap:0;border-top:1px solid var(--gray-200)}
.jobs-row{display:grid;grid-template-columns:150px minmax(0,1fr) 96px 105px 140px 100px;align-items:center;gap:18px;padding:22px var(--space-8);border:0;border-bottom:1px solid var(--gray-200)}
.jobs-row:hover{background:var(--gray-50)}.jobs-row>*{min-width:0}
.jobs-row .jobs-company{font-size:13px;line-height:1.6;overflow-wrap:anywhere}
.jobs-row h2{font-size:16px;line-height:1.6;margin:0;min-height:0;word-break:keep-all;overflow-wrap:anywhere}
.jobs-row-category{display:flex;flex-wrap:wrap;gap:6px}.jobs-row .jobs-badge{font-size:11px;line-height:1.5;width:fit-content;white-space:nowrap}
.jobs-row-closing{display:flex;flex-direction:column;gap:7px;align-items:flex-start}
.jobs-row .jobs-badge-deadline{margin-left:0}.jobs-row .jobs-card-deadline{margin:0;padding:0;border:0;font-size:12px;line-height:1.5}
.jobs-row button{margin:0;padding:10px var(--space-12);border-radius:5px;font-size:12px;white-space:nowrap}
@media(max-width:1100px) and (min-width:761px){.jobs-row{grid-template-columns:110px minmax(0,1fr) 86px 94px 120px 90px;gap:10px}.jobs-row h2{font-size:15px}.jobs-row button{padding:9px var(--space-8)}}
@media(max-width:760px){.jobs-row{grid-template-columns:minmax(0,1fr) auto;gap:10px var(--space-12);padding:22px 0}.jobs-row .jobs-company{grid-column:1/-1;font-size:12px}.jobs-row h2{grid-column:1/-1;font-size:17px}.jobs-row-category{grid-column:1;grid-row:3}.jobs-row>.jobs-badge-neutral{grid-column:2;grid-row:3}.jobs-row-closing{grid-column:1;grid-row:4;flex-direction:row;align-items:center;flex-wrap:wrap;gap:var(--space-8)}.jobs-row button{grid-column:2;grid-row:4;padding:9px 10px}.jobs-row .jobs-card-deadline{font-size:11px}}

/* The entire listing opens its detail dialog. */
.jobs-row{grid-template-columns:150px minmax(0,1fr) 110px 110px 150px;cursor:pointer;transition:background-color .15s}
.jobs-row:hover h2{color:#5427af}.jobs-row:focus-visible{outline:2px solid var(--action-primary);outline-offset:-2px;background:var(--gray-50)}
@media(max-width:1100px) and (min-width:761px){.jobs-row{grid-template-columns:110px minmax(0,1fr) 96px 94px 125px}}
@media(max-width:760px){.jobs-row{grid-template-columns:minmax(0,1fr) auto}.jobs-row-closing{grid-column:1/-1}}

.jobs-row{text-decoration:none;color:inherit}.jobs-single{max-width:820px}.jobs-single>.jobs-detail-header{margin-top:var(--space-32)}.jobs-single .jobs-detail-header h1{font-size:clamp(25px,4vw,36px);line-height:1.5;margin:var(--space-12) 0 28px}.jobs-single .jobs-detail-section h2{font-size:18px;margin-bottom:var(--space-16)}.jobs-pagination a{display:inline-flex;align-items:center;justify-content:center;min-width:var(--control-compact-height);min-height:var(--control-compact-height);border-radius:var(--radius-control);padding:var(--space-8) var(--space-12)}.jobs-single .jobs-badges{margin-bottom:var(--space-12)}

.jobs-filters{grid-template-columns:170px 150px 150px minmax(0,1fr);gap:var(--space-20) var(--space-24);border:0;border-radius:var(--radius-card)}
.jobs-career-filter{grid-column:1/-1;border:0;padding:0;margin:0;min-width:0}.jobs-career-filter legend{font-size:13px;margin-bottom:10px}
.jobs-filter-chips{display:flex;flex-wrap:wrap;gap:var(--space-8)}.jobs-filter-chips button{width:auto;min-height:40px;height:auto;padding:9px var(--space-16);border-radius:24px;background:var(--gray-white);color:var(--gray-500);border:1px solid transparent;line-height:1.5}
.jobs-filter-chips button[aria-pressed=true]{background:var(--gray-800);color:var(--gray-white)}
.jobs-search-tools{display:flex;gap:var(--space-8);align-items:flex-end;min-width:0}.jobs-search-tools label{flex:1;min-width:0}.jobs-search-tools>button{width:auto;flex-shrink:0;white-space:nowrap;padding-inline:18px}.jobs-search-tools #jobs-reset{background:transparent;color:var(--gray-500);padding-inline:10px}.jobs-filters [hidden]{display:none!important}
@media(max-width:767px){.jobs-filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px var(--space-12);padding:var(--space-20)}.jobs-search-tools{grid-column:1/-1;flex-wrap:wrap}.jobs-search-tools label{min-width:160px}.jobs-search-tools>button{padding-inline:14px}.jobs-filter-chips{gap:6px}.jobs-filter-chips button{font-size:13px;padding:9px var(--space-12)}}

/* Reading text and supporting metadata use distinct semantic roles. */
.jobs-intro,.jobs-meta,.jobs-detail-copy p{color:var(--text-muted)}.jobs-company,.jobs-card-deadline,.jobs-detail-caption{color:var(--text-secondary)}

/* Shared action states and secondary control geometry. */
.jobs-search-tools>button[type=submit]:not(:disabled):not([aria-disabled=true]):hover{background:var(--action-primary-hover)}
.jobs-pagination button:not(:disabled):not([aria-disabled=true]):hover,.jobs-pagination a:not([aria-disabled=true]):hover{background:var(--surface-muted)}
.jobs-filters button:disabled,.jobs-sort select:disabled,.jobs-card button:disabled,.jobs-dialog-top button:disabled,.jobs-source[aria-disabled=true],.jobs-pagination a[aria-disabled=true]{opacity:.5;cursor:not-allowed}

.jobs-loading{padding:var(--space-16);margin-bottom:var(--space-16);background:var(--surface-muted);border-radius:var(--radius-control);color:var(--text-secondary)}
.jobs-loading[hidden]{display:none}
.jobs-page #jobs-list[aria-busy=true]{opacity:.5}

@media(min-width:768px) and (max-width:1100px){.jobs-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.jobs-search-tools{grid-column:1/-1}}
@media(max-width:767px){.jobs-region-filter{grid-column:1/-1}}
