:root { --jobs-bg: #0d0e0e; --jobs-gold: #cda246; --jobs-gold-dark: #b38730; --jobs-text: #e7e6e5; --jobs-muted: #a2a2a1; }
.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; }
body:has(.jobs-intro) { background-color: var(--jobs-bg); color: var(--jobs-text); }
.jobs-intro, .jobs-catalog { width: min(1410px, calc(100% - 48px)); margin-inline: auto; }
.jobs-intro { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(360px, 520px); gap: 22px 42px; padding: 46px 0 20px; }
.jobs-intro__heading h1 { margin: 0; color: var(--jobs-text); font-family: "Cormorant Garamond", Georgia, serif; font-size: clamp(3rem, 4vw, 4.25rem); font-weight: 600; line-height: .95; letter-spacing: -.02em; text-wrap: balance; }
.jobs-intro__heading p { margin: 14px 0 0; color: var(--jobs-muted); font-size: .96rem; text-wrap: pretty; }
.jobs-count { align-self: center; display: grid; grid-template-columns: 38px auto; column-gap: 10px; min-width: 152px; color: var(--jobs-muted); font-size: .78rem; }
.jobs-count::before { content: ""; grid-row: 1 / span 2; align-self: center; width: 38px; height: 38px; background: center / contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='%23cda246' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='16' cy='9' r='4'/%3E%3Cpath d='M9 28v-5a7 7 0 0 1 14 0v5H9ZM7 6a4 4 0 0 0 0 8M25 6a4 4 0 0 1 0 8M6 18a5 5 0 0 0-4 5v3h3M26 18a5 5 0 0 1 4 5v3h-3'/%3E%3C/svg%3E"); }
.jobs-count strong { color: var(--jobs-gold); font-family: "Cormorant Garamond", Georgia, serif; font-size: 1.75rem; font-weight: 600; line-height: 1; font-variant-numeric: tabular-nums; }
.jobs-controls { display: grid; align-self: start; gap: 20px; min-width: 0; }
.jobs-search { display: flex; align-items: center; min-height: 52px; padding: 0 16px; border: 1px solid rgba(205, 162, 70, .36); border-radius: 8px; background: rgba(10, 11, 11, .72); }
.jobs-search:focus-within { border-color: var(--jobs-gold); box-shadow: 0 0 0 3px rgba(205, 162, 70, .14); }
.jobs-search svg, .jobs-filters svg, .jobs-filter-toggle svg { width: 22px; height: 22px; flex: 0 0 auto; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.jobs-search svg { margin-right: 12px; color: var(--jobs-text); }
.jobs-search input { width: 100%; border: 0; outline: 0; background: transparent; color: var(--jobs-text); font: inherit; }
.jobs-search input::placeholder { color: #898989; }
.jobs-control-row { display: flex; justify-content: end; gap: 16px; }
.jobs-sort, .jobs-filter-toggle { min-height: 42px; border: 1px solid rgba(205, 162, 70, .48); border-radius: 7px; background: rgba(12, 13, 13, .82); color: var(--jobs-text); }
.jobs-sort { display: flex; align-items: center; gap: 4px; padding: 0 14px 0 22px; font-size: .82rem; }
.jobs-sort span { color: var(--jobs-gold); font-weight: 700; }
.jobs-sort select { width: auto; min-width: 0; height: 42px; margin: 0; padding: 0 4px; border: 0; border-radius: 0; outline: 0; appearance: auto; background: transparent; color: var(--jobs-text); color-scheme: dark; font: inherit; cursor: pointer; }
.jobs-sort select option { background: #171818; color: #e7e6e5; }
.jobs-sort:focus-within { outline: 2px solid var(--jobs-gold); outline-offset: 3px; }
.jobs-search { height: 52px; box-sizing: border-box; }
.jobs-search input { min-width: 0; height: 50px; margin: 0; padding: 0; box-shadow: none; }
.jobs-control-row { align-items: start; }
.jobs-sort, .jobs-filter-toggle { height: 46px; box-sizing: border-box; }
.jobs-filter-toggle { flex-shrink: 0; }
.jobs-filter-toggle { display: grid; width: 52px; place-items: center; cursor: pointer; color: var(--jobs-gold); }
.jobs-filters { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 16px; }
.jobs-filters button { display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-height: 48px; padding: 0 20px; border: 1px solid rgba(205, 162, 70, .26); border-radius: 7px; background: rgba(12, 13, 13, .74); color: var(--jobs-text); font: 500 .88rem Manrope, sans-serif; cursor: pointer; transition-property: transform, border-color, box-shadow, background-color; transition-duration: 180ms; }
.jobs-filters button:hover, .jobs-filters button[aria-pressed="true"] { border-color: rgba(205, 162, 70, .72); background: linear-gradient(135deg, rgba(205, 162, 70, .22), rgba(179, 135, 48, .08)); box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 12px 26px rgba(0,0,0,.18); color: #f0cf7a; }
.jobs-filters button:active, .job-card__actions .button:active { transform: scale(.96); }
.jobs-catalog { padding-bottom: 56px; }
.jobs-catalog .job-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.jobs-catalog .job-card { position: relative; display: grid; grid-template-rows: auto auto auto auto 1fr auto; min-height: 360px; gap: 14px; padding: 22px 30px 24px; border: 1px solid rgba(205, 162, 70, .52); border-radius: 14px; background: linear-gradient(145deg, rgba(25, 27, 26, .94), rgba(11, 12, 12, .98)); box-shadow: inset 0 1px 0 rgba(255,255,255,.035), 0 18px 40px rgba(0,0,0,.22); transition-property: transform, border-color, box-shadow; transition-duration: 180ms; }
.jobs-catalog .job-card:hover { transform: translateY(-2px); border-color: rgba(205, 162, 70, .86); box-shadow: inset 0 1px 0 rgba(255,255,255,.05), 0 26px 52px rgba(0,0,0,.34); }
.jobs-catalog .job-card[hidden] { display: none; }
.jobs-catalog .job-card__meta { display: flex; flex-wrap: wrap; gap: 9px; padding-right: 42px; }
.jobs-catalog .tag { min-height: 31px; border-radius: 5px; border-color: rgba(205, 162, 70, .5); background: rgba(205, 162, 70, .08); color: #f0cf7a; font-size: .72rem; letter-spacing: .02em; }
.jobs-catalog .job-card h3 { margin: 0; padding-right: 38px; color: var(--jobs-text); font-family: "Cormorant Garamond", Georgia, serif; font-size: clamp(1.8rem, 2.15vw, 2.25rem); font-weight: 600; line-height: .98; text-wrap: balance; }
.jobs-catalog .salary { margin: 0; color: var(--jobs-gold); font-family: "Cormorant Garamond", Georgia, serif; font-size: 1.7rem; font-weight: 600; line-height: 1; }
.jobs-catalog .muted { margin: 0; color: #c0bfbc; font-size: .88rem; line-height: 1.55; text-wrap: pretty; }
.jobs-catalog .bullet-list { display: grid; gap: 5px; margin: 0; padding: 0; list-style: none; color: #c6c5c1; font-size: .86rem; }
.jobs-catalog .bullet-list li { position: relative; padding-left: 24px; }
.jobs-catalog .bullet-list li::before { content: ""; position: absolute; top: .45em; left: 1px; width: 11px; height: 11px; border: 1px solid var(--jobs-gold); border-radius: 50%; box-shadow: inset 0 0 0 3px rgba(205,162,70,.1); }
.jobs-catalog .bullet-list li::after { content: ""; position: absolute; top: .68em; left: 4px; width: 5px; height: 3px; border-left: 1px solid var(--jobs-gold); border-bottom: 1px solid var(--jobs-gold); transform: rotate(-45deg); }
.job-bookmark { position: absolute; top: 72px; right: 28px; display: grid; width: 32px; height: 38px; place-items: center; border: 0; background: transparent; color: var(--jobs-gold); cursor: pointer; }
.job-bookmark svg { width: 22px; height: 26px; fill: none; stroke: currentColor; stroke-width: 1.6; }
.job-bookmark[aria-pressed="true"] svg { fill: rgba(205,162,70,.24); }
.jobs-catalog .job-card__actions { display: flex; align-items: center; gap: 26px; margin-top: 2px; }
.jobs-catalog .job-card__actions .button { width: min(100%, 412px); min-height: 45px; margin: 0; border: 0; border-radius: 6px; background: linear-gradient(135deg, #e3bb5d, #b38730); color: #17130d; box-shadow: inset 0 1px 0 rgba(255,255,255,.34), 0 10px 20px rgba(0,0,0,.22); }
.jobs-catalog .job-status--closed { color: var(--jobs-muted); font-size: .9rem; }
.jobs-empty { width: min(680px, 100%); margin: 0 auto 30px; padding: 18px 22px; border: 1px solid rgba(205,162,70,.42); border-radius: 10px; color: var(--jobs-text); text-align: center; }
.jobs-empty button { border: 0; border-bottom: 1px solid var(--jobs-gold); background: transparent; color: var(--jobs-gold); font: inherit; cursor: pointer; }
@media (max-width: 980px) { .jobs-intro { grid-template-columns: 1fr 1fr; }.jobs-controls { grid-column: 1 / -1; }.jobs-catalog .job-grid { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 760px) { .jobs-intro, .jobs-catalog { width: min(100% - 32px, 520px); }.jobs-intro { grid-template-columns: 1fr; gap: 20px; padding-top: 30px; }.jobs-count { justify-self: start; }.jobs-controls { grid-column: auto; }.jobs-control-row { justify-content: stretch; }.jobs-sort { flex: 1; justify-content: space-between; }.jobs-filters { grid-column: auto; display: grid; grid-template-columns: 1fr; gap: 9px; }.jobs-filters button { width: 100%; justify-content: flex-start; }.jobs-catalog .job-grid { grid-template-columns: 1fr; overflow: visible; }.jobs-catalog .job-card { min-height: 0; padding: 20px; }.jobs-catalog .job-card h3 { font-size: 2rem; }.job-bookmark { top: 66px; right: 16px; }.jobs-catalog .job-card__actions .button { width: 100%; } }

.jobs-filters button:focus-visible, .jobs-filter-toggle:focus-visible, .jobs-sort:focus-visible, .job-bookmark:focus-visible, .jobs-empty button:focus-visible { outline: 2px solid var(--jobs-gold); outline-offset: 3px; }
@media (max-width: 380px) {
  .jobs-intro { grid-template-columns: minmax(0, 1fr); }
  .jobs-intro__heading h1 { font-size: 2.4rem; }
  .jobs-control-row { gap: 8px; }
  .jobs-sort { display: grid; justify-content: stretch; min-width: 0; height: 68px; padding: 4px 10px; gap: 0; }
  .jobs-sort select { width: 100%; height: 32px; padding: 0; }
  .jobs-filter-toggle { width: 44px; height: 68px; }
}

/* 2026-09-03 catalog reference: native 1672 × 941 coordinate system. */
body.jobs-reference-page {
  --ju: min(.05980861244vw, 1px);
  --jobs-bg: #0d0e0e;
  --jobs-gold: #cda246;
  --jobs-gold-dark: #b38730;
  --jobs-text: #e7e6e5;
  --jobs-muted: #a2a2a1;
  background-color: var(--jobs-bg) !important;
  background-image: linear-gradient(#0d0e0e70,#0d0e0e70),url('./black-gold-marble.webp') !important;
  background-position: center top !important;
  background-size: auto, 1672px auto !important;
  font-family: Arial, Helvetica, sans-serif;
}
@media (min-width:1201px) {
  body.jobs-reference-page .site-shell:has(> .topbar) { width: 100%; max-width: none; margin: 0; padding: calc(90 * var(--ju)) 0 56px !important; }
  body.jobs-reference-page .site-shell > .topbar {
    position: absolute; inset: 0 auto auto 0; display: block; width: 100%; height: calc(90 * var(--ju)); min-height: 0; margin: 0; padding: 0 !important;
    border: 0; border-bottom: 1px solid #cda24694; border-radius: 0; background: #090a09d9; box-shadow: none; backdrop-filter: none; transform: none;
  }
  body.jobs-reference-page .topbar::after { display: block; left: calc(429 * var(--ju)); right: auto; bottom: -1px; width: calc(183 * var(--ju)); height: 2px; background: radial-gradient(ellipse,#e3bb5d 0 2%,#cda246 5%,transparent 70%); opacity: 1; }
  body.jobs-reference-page .topbar .brand { position: absolute; left: calc(75 * var(--ju)); top: calc(18 * var(--ju)); display: flex; width: calc(325 * var(--ju)); height: calc(58 * var(--ju)); gap: 0 !important; font: 700 calc(42 * var(--ju))/calc(52 * var(--ju)) 'Cormorant Garamond',Georgia,serif; letter-spacing: 0; }
  body.jobs-reference-page .brand::before { display: none; }
  body.jobs-reference-page .topbar .brand__logo { position: absolute; left: 0; top: calc(-2 * var(--ju)); width: calc(88 * var(--ju)) !important; height: calc(92 * var(--ju)) !important; flex-basis: auto !important; clip-path: inset(24% 12% 14% 14%); transform: none !important; }
  body.jobs-reference-page .topbar .brand .brand__name { margin-left: calc(85 * var(--ju)) !important; color: var(--jobs-text) !important; letter-spacing: 0 !important; }
  body.jobs-reference-page .topbar .brand .brand__name span { margin-left: 0 !important; color: var(--jobs-gold) !important; }
  body.jobs-reference-page .topbar .nav { position: absolute; left: calc(481 * var(--ju)); top: calc(23 * var(--ju)); display: flex; flex-wrap: nowrap; gap: calc(42 * var(--ju)); margin: 0 !important; color: var(--jobs-text); font: 400 calc(18 * var(--ju))/calc(45 * var(--ju)) Arial,sans-serif; white-space: nowrap; }
  body.jobs-reference-page .topbar .nav a { min-height: 0; padding: 0; line-height: inherit; }
  body.jobs-reference-page .topbar .nav a[aria-current='page'] { color: var(--jobs-gold); text-decoration: none; font-weight: 600; }
  body.jobs-reference-page .topbar > .button { position: absolute; left: calc(1421 * var(--ju)); top: calc(25 * var(--ju)); width: calc(194 * var(--ju)); height: calc(46 * var(--ju)); min-width: 0; min-height: 0; padding: 0; border-radius: calc(7 * var(--ju)); font-size: calc(17 * var(--ju)); font-weight: 600; }
  body.jobs-reference-page .jobs-intro, body.jobs-reference-page .jobs-catalog { width: calc(1402 * var(--ju)); max-width: none; margin-left: calc((100vw - (1402 * var(--ju))) / 2 - (5 * var(--ju))); margin-right: auto; }
  body.jobs-reference-page .jobs-intro { grid-template-columns: calc(589 * var(--ju)) calc(168 * var(--ju)) calc(522 * var(--ju)); column-gap: calc(42 * var(--ju)); row-gap: calc(22 * var(--ju)); height: calc(239 * var(--ju)); padding: calc(39 * var(--ju)) 0 calc(20 * var(--ju)); }
  body.jobs-reference-page .jobs-intro__heading h1 { font: 700 calc(48 * var(--ju))/calc(52 * var(--ju)) 'Times New Roman',Times,serif; letter-spacing: 0; text-wrap: nowrap; }
  body.jobs-reference-page .jobs-intro__heading p { margin-top: calc(8 * var(--ju)); color: var(--jobs-muted); font-size: calc(16 * var(--ju)); line-height: calc(22 * var(--ju)); white-space: nowrap; }
  body.jobs-reference-page .jobs-count { align-self: start; margin-top: calc(22 * var(--ju)); grid-template-columns: calc(43 * var(--ju)) auto; column-gap: calc(10 * var(--ju)); min-width: 0; height: calc(44 * var(--ju)); font-size: calc(13 * var(--ju)); }
  body.jobs-reference-page .jobs-count::before { width: calc(43 * var(--ju)); height: calc(43 * var(--ju)); }
  body.jobs-reference-page .jobs-count strong { font: 400 calc(30 * var(--ju))/calc(30 * var(--ju)) 'Times New Roman',Times,serif; }
  body.jobs-reference-page .jobs-controls { width: calc(522 * var(--ju)); height: calc(112 * var(--ju)); margin-left: calc(28 * var(--ju)); gap: calc(19 * var(--ju)); }
  body.jobs-reference-page .jobs-search { width: 100%; height: calc(52 * var(--ju)); min-height: 0; padding: 0 calc(20 * var(--ju)); border-radius: calc(8 * var(--ju)); }
  body.jobs-reference-page .jobs-search svg { width: calc(24 * var(--ju)); height: calc(24 * var(--ju)); margin-right: calc(14 * var(--ju)); }
  body.jobs-reference-page .jobs-search input { height: calc(50 * var(--ju)); font-size: calc(16 * var(--ju)); }
  body.jobs-reference-page .jobs-control-row { height: calc(41 * var(--ju)); gap: calc(17 * var(--ju)); }
  body.jobs-reference-page .jobs-sort { width: calc(231 * var(--ju)); height: calc(41 * var(--ju)); min-height: 0; padding: 0 calc(15 * var(--ju)) 0 calc(24 * var(--ju)); font-size: calc(14 * var(--ju)); }
  body.jobs-reference-page .jobs-sort select { height: calc(39 * var(--ju)); font-size: inherit; }
  body.jobs-reference-page .jobs-filter-toggle { width: calc(52 * var(--ju)); height: calc(41 * var(--ju)); min-height: 0; }
  body.jobs-reference-page .jobs-filters { grid-column: 1/-1; height: calc(47 * var(--ju)); gap: calc(18 * var(--ju)); flex-wrap: nowrap; }
  body.jobs-reference-page .jobs-filters button { width: auto; height: calc(47 * var(--ju)); min-height: 0; padding: 0 calc(20 * var(--ju)); gap: calc(12 * var(--ju)); border-radius: calc(7 * var(--ju)); font: 400 calc(15 * var(--ju))/1 Arial,sans-serif; white-space: nowrap; }
  body.jobs-reference-page .jobs-filters button:first-child { width: calc(170 * var(--ju)); }
  body.jobs-reference-page .jobs-filters button svg { width: calc(22 * var(--ju)); height: calc(22 * var(--ju)); }
  body.jobs-reference-page .jobs-catalog { padding-bottom: calc(56 * var(--ju)); }
  body.jobs-reference-page .jobs-catalog .job-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: calc(19 * var(--ju)) calc(23 * var(--ju)); }
  body.jobs-reference-page .jobs-catalog .job-card { grid-template-rows: auto auto auto auto 1fr auto; min-height: calc(375 * var(--ju)); height: calc(375 * var(--ju)); gap: calc(12 * var(--ju)); padding: calc(22 * var(--ju)) calc(30 * var(--ju)) calc(24 * var(--ju)); border-radius: calc(14 * var(--ju)); background: linear-gradient(125deg,#191b1af2,#0b0c0cfa 78%); }
  body.jobs-reference-page .jobs-catalog .job-card::after { content: ''; position: absolute; right: -1px; top: 45%; width: 2px; height: 35%; background: linear-gradient(transparent,#cda246,transparent); opacity: .7; }
  body.jobs-reference-page .jobs-catalog .job-card__meta { height: calc(34 * var(--ju)); gap: calc(10 * var(--ju)); padding-right: calc(130 * var(--ju)); }
  body.jobs-reference-page .jobs-catalog .tag { height: calc(34 * var(--ju)); min-height: 0; padding: 0 calc(14 * var(--ju)); font-size: calc(14 * var(--ju)); }
  body.jobs-reference-page .jobs-catalog .job-card h3 { padding-right: calc(38 * var(--ju)); font: 700 calc(30 * var(--ju))/calc(34 * var(--ju)) 'Times New Roman',Times,serif; text-wrap: nowrap; }
  body.jobs-reference-page .jobs-catalog .salary { font: 700 calc(29 * var(--ju))/calc(31 * var(--ju)) 'Times New Roman',Times,serif; }
  body.jobs-reference-page .jobs-catalog .muted { font-size: calc(15 * var(--ju)); line-height: calc(22 * var(--ju)); text-wrap: nowrap; overflow: hidden; }
  body.jobs-reference-page .jobs-catalog .bullet-list { padding-top: calc(9 * var(--ju)); border-top: 1px solid #3e3421; gap: calc(5 * var(--ju)); font-size: calc(15 * var(--ju)); line-height: calc(20 * var(--ju)); overflow: hidden; }
  body.jobs-reference-page .jobs-catalog .bullet-list li { padding-left: calc(29 * var(--ju)); white-space: nowrap; }
  body.jobs-reference-page .jobs-catalog .bullet-list li::before { top: calc(4 * var(--ju)); width: calc(14 * var(--ju)); height: calc(14 * var(--ju)); }
  body.jobs-reference-page .jobs-catalog .bullet-list li::after { top: calc(8 * var(--ju)); left: calc(5 * var(--ju)); }
  body.jobs-reference-page .job-bookmark { top: calc(72 * var(--ju)); right: calc(25 * var(--ju)); width: calc(31 * var(--ju)); height: calc(34 * var(--ju)); }
  body.jobs-reference-page .job-bookmark svg { width: calc(22 * var(--ju)); height: calc(26 * var(--ju)); }
  body.jobs-reference-page .job-hot-badge { position: absolute; top: calc(22 * var(--ju)); right: calc(26 * var(--ju)); display: inline-flex; align-items: center; gap: calc(8 * var(--ju)); height: calc(33 * var(--ju)); padding: 0 calc(14 * var(--ju)); border: 1px solid #cda2464f; border-radius: calc(5 * var(--ju)); background: #cda24610; color: var(--jobs-gold); font-size: calc(14 * var(--ju)); }
  body.jobs-reference-page .jobs-catalog .job-card__actions { gap: calc(54 * var(--ju)); height: calc(45 * var(--ju)); margin-top: 0; }
  body.jobs-reference-page .jobs-catalog .job-card__actions .button { width: calc(412 * var(--ju)); min-height: 0; height: calc(45 * var(--ju)); padding: 0; border-radius: calc(6 * var(--ju)); font-size: calc(16 * var(--ju)); }
  body.jobs-reference-page .job-more { display: inline-flex; align-items: center; gap: calc(19 * var(--ju)); color: #c4c3c0; font-size: calc(15 * var(--ju)); white-space: nowrap; }
  body.jobs-reference-page .job-more span { color: var(--jobs-gold); font-size: calc(29 * var(--ju)); line-height: 1; }
}
@media (min-width:981px) and (max-width:1200px) {
  body.jobs-reference-page .jobs-intro { grid-template-columns: 1fr 180px; }
  body.jobs-reference-page .jobs-controls { grid-column: 1/-1; }
  body.jobs-reference-page .jobs-catalog .job-grid { grid-template-columns: minmax(0,1fr); }
  body.jobs-reference-page .jobs-catalog .job-card { min-height: 375px; }
}
@media (max-width:1200px) {
  body.jobs-reference-page .job-more { margin-left: auto; display: inline-flex; align-items: center; gap: 14px; color: #c4c3c0; }
  body.jobs-reference-page .job-hot-badge { position: absolute; top: 20px; right: 22px; color: var(--jobs-gold); }
}
