:root { --career-ink:#151b26; --career-muted:#667085; --career-line:#e5e8ed; --career-gold:#f5bd28; --career-dark:#111722; }
.career-hero { padding:110px 0 90px; color:#fff; background:radial-gradient(circle at 88% 15%,rgba(245,189,40,.18),transparent 360px),linear-gradient(135deg,#171f2c,#0d121b); }
.career-hero-grid { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr); gap:70px; align-items:center; }
.career-eyebrow { display:inline-block; margin-bottom:15px; color:var(--career-gold); font-size:12px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.career-hero h1 { max-width:760px; margin:0; color:#fff; font-size:clamp(40px,5vw,68px); line-height:1.05; letter-spacing:-.045em; }
.career-hero > .container p,.career-hero-grid > div:first-child > p { max-width:680px; margin:25px 0 32px; color:#b9c1cd; font-size:18px; line-height:1.75; }
.career-primary-button { display:inline-flex; align-items:center; gap:10px; padding:14px 20px; border-radius:8px; color:#211a08!important; background:var(--career-gold); font-size:14px; font-weight:700; }
.career-primary-button:hover { background:#ffcd43; transform:translateY(-2px); }
.career-hero-card { padding:32px; border:1px solid rgba(255,255,255,.12); border-radius:18px; background:rgba(255,255,255,.06); box-shadow:0 22px 55px rgba(0,0,0,.2); backdrop-filter:blur(10px); }
.hero-card-icon { width:52px; height:52px; display:grid; place-items:center; margin-bottom:20px; border-radius:14px; color:#17120a; background:var(--career-gold); font-size:20px; }
.career-hero-card > strong { display:block; color:#fff; font-size:22px; }
.career-hero-card > p { margin:11px 0 22px; color:#aab3c1; line-height:1.65; }
.career-hero-card > div { display:grid; gap:12px; }
.career-hero-card > div span { display:flex; align-items:center; gap:9px; color:#dbe0e7; font-size:13px; }
.career-hero-card > div i { color:var(--career-gold); }
.career-values,.career-openings,.application-section { padding:90px 0; background:#f6f7f9; }
.career-section-heading { max-width:700px; margin:0 auto 42px; text-align:center; }
.career-section-heading > span { color:#b57d00; font-size:12px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.career-section-heading h2,.openings-header h2 { margin:8px 0 12px; color:var(--career-ink); font-size:36px; letter-spacing:-.035em; }
.career-section-heading p,.openings-header p { margin:0; color:var(--career-muted); font-size:16px; line-height:1.7; }
.career-values-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.career-values-grid article { padding:30px; border:1px solid var(--career-line); border-radius:15px; background:#fff; box-shadow:0 8px 24px rgba(16,24,40,.04); }
.career-values-grid article > span { width:48px; height:48px; display:grid; place-items:center; border-radius:12px; color:#765600; background:#fff1c1; font-size:18px; }
.career-values-grid h3 { margin:20px 0 9px; color:var(--career-ink); font-size:19px; }
.career-values-grid p { margin:0; color:var(--career-muted); line-height:1.7; }
.career-openings { background:#fff; }
.openings-header { display:flex; justify-content:space-between; align-items:flex-end; gap:30px; margin-bottom:35px; }
.general-application-link { flex:0 0 auto; color:#8d6705; font-weight:700; }
.job-list { display:grid; gap:22px; }
.job-card { overflow:hidden; border:1px solid var(--career-line); border-radius:16px; background:#fff; box-shadow:0 8px 26px rgba(16,24,40,.055); }
.job-card-main { display:grid; grid-template-columns:56px minmax(0,1fr); gap:18px; padding:28px 30px 22px; }
.job-icon { width:56px; height:56px; display:grid; place-items:center; border-radius:14px; color:#715200; background:#fff0ba; font-size:20px; }
.job-department { color:#ae7900; font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.job-copy h3 { margin:5px 0 10px; color:var(--career-ink); font-size:25px; }
.job-meta { display:flex; flex-wrap:wrap; gap:16px; margin-bottom:18px; }
.job-meta span { display:flex; align-items:center; gap:7px; color:#737d8b; font-size:13px; }
.job-meta i { color:#ad7c05; }
.job-copy > p { margin:0; color:#5f6875; font-size:14px; line-height:1.75; }
.job-requirements { padding:0 30px 24px 104px; }
.job-requirements h4 { margin:0 0 12px; color:#344054; font-size:14px; }
.job-requirements ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px 24px; margin:0; padding:0; list-style:none; }
.job-requirements li { display:flex; gap:8px; color:#687180; font-size:13px; line-height:1.5; }
.job-requirements li i { margin-top:4px; color:#169b62; font-size:10px; }
.job-card-footer { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:16px 30px; border-top:1px solid #edf0f3; background:#fafbfc; }
.job-card-footer > span { color:#7b8492; font-size:13px; }
.job-card-footer a { display:inline-flex; align-items:center; gap:9px; padding:11px 15px; border-radius:8px; color:#211a08; background:var(--career-gold); font-size:13px; font-weight:700; }
.career-empty { padding:55px 30px; border:1px dashed #d8dde5; border-radius:16px; text-align:center; background:#fafbfc; }
.career-empty > span { width:62px; height:62px; display:grid; place-items:center; margin:0 auto; border-radius:50%; color:#997000; background:#fff1c1; font-size:23px; }
.career-empty h3 { margin:18px 0 8px; color:var(--career-ink); }
.career-empty p { max-width:600px; margin:0 auto 22px; color:var(--career-muted); }

.application-hero { padding:65px 0 55px; color:#fff; background:linear-gradient(135deg,#171f2c,#0d121b); }
.application-hero a { display:inline-flex; align-items:center; gap:8px; margin-bottom:28px; color:#cbd2dc; font-size:13px; }
.application-hero > .container > span { display:block; color:var(--career-gold); font-size:11px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.application-hero h1 { margin:8px 0 10px; color:#fff; font-size:clamp(32px,4vw,48px); letter-spacing:-.04em; }
.application-hero p { max-width:720px; margin:0; color:#adb6c3; font-size:16px; }
.application-layout { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(300px,.55fr); gap:24px; align-items:start; }
.application-card,.selected-job-card,.application-help,.application-success { border:1px solid var(--career-line); border-radius:16px; background:#fff; box-shadow:0 8px 26px rgba(16,24,40,.05); }
.application-card { overflow:hidden; }
.application-card-heading { padding:27px 30px; border-bottom:1px solid #edf0f3; }
.application-card-heading > span { color:#ac7800; font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.application-card-heading h2 { margin:4px 0 6px; color:var(--career-ink); font-size:26px; }
.application-card-heading p { margin:0; color:var(--career-muted); }
.career-application-form { padding:6px 30px 30px; }
.career-application-form fieldset { margin:0; padding:26px 0; border:0; border-bottom:1px solid #edf0f3; }
.career-application-form legend { width:100%; margin:0 0 18px; color:#344054; font-size:16px; font-weight:700; }
.application-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.career-application-form label { display:flex; flex-direction:column; gap:8px; color:#475467; font-size:13px; font-weight:600; }
.full-field { grid-column:1/-1; }
.career-application-form input:not([type=checkbox]):not([type=file]),.career-application-form select,.career-application-form textarea { width:100%; border:1px solid #d5dae2; border-radius:9px; outline:0; color:#344054; background:#fff; font:inherit; font-size:14px; }
.career-application-form input:not([type=checkbox]):not([type=file]),.career-application-form select { height:48px; padding:0 13px; }
.career-application-form textarea { padding:13px; resize:vertical; line-height:1.6; }
.career-application-form input:focus,.career-application-form select:focus,.career-application-form textarea:focus { border-color:#d3a00e; box-shadow:0 0 0 4px rgba(245,189,40,.16); }
.upload-field input { position:absolute; width:1px; height:1px; overflow:hidden; opacity:0; }
.upload-box { display:flex; align-items:center; flex-direction:column; padding:25px; border:1px dashed #cbd1da; border-radius:10px; color:#667085; background:#fafbfc; cursor:pointer; }
.upload-box i { margin-bottom:8px; color:#b57e00; font-size:25px; }
.upload-box strong { color:#344054; }
.upload-box small { margin-top:4px; color:#98a2b3; font-weight:400; }
.selected-file { color:#667085; font-size:12px; font-weight:400; }
.application-consent { display:grid!important; grid-template-columns:18px 1fr; align-items:start; gap:10px!important; margin:22px 0!important; color:#667085!important; font-weight:400!important; line-height:1.55; }
.application-consent input { width:18px; height:18px; margin-top:2px; accent-color:#d5a00e; }
.application-submit { width:100%; height:52px; display:flex; align-items:center; justify-content:center; gap:10px; border:0; border-radius:9px; color:#211a08; background:var(--career-gold); font:inherit; font-weight:700; cursor:pointer; }
.application-aside { display:grid; gap:18px; }
.selected-job-card,.application-help { padding:24px; }
.selected-job-card > span { color:#ac7800; font-size:10px; font-weight:700; text-transform:uppercase; }
.selected-job-card h3,.application-help h3 { margin:6px 0; color:var(--career-ink); font-size:19px; }
.selected-job-card p,.application-help p { margin:0; color:var(--career-muted); line-height:1.65; }
.selected-job-card ul { display:grid; gap:9px; margin:19px 0 0; padding:15px 0 0; border-top:1px solid #edf0f3; list-style:none; }
.selected-job-card li { display:flex; align-items:center; gap:8px; color:#667085; font-size:13px; }
.selected-job-card li i { color:#ab7900; }
.application-help > span { width:42px; height:42px; display:grid; place-items:center; border-radius:11px; color:#7d5b00; background:#fff1c1; }
.application-help a { color:#987000; font-weight:600; }
.form-errors { display:flex; gap:12px; margin:22px 30px 0; padding:15px; border:1px solid #fecdca; border-radius:10px; color:#b42318; background:#fff4f3; }
.form-errors > i { margin-top:3px; }
.form-errors strong { font-size:13px; }
.form-errors ul { margin:5px 0 0; padding-left:18px; font-size:12px; }
.application-success { display:flex; gap:22px; max-width:800px; margin:0 auto; padding:35px; }
.application-success > span { flex:0 0 55px; width:55px; height:55px; display:grid; place-items:center; border-radius:50%; color:#067647; background:#d1fadf; font-size:20px; }
.application-success h2 { margin:0 0 8px; color:var(--career-ink); }
.application-success p { margin:0 0 15px; color:var(--career-muted); line-height:1.7; }
.application-success a { color:#8c6604; font-weight:700; }

@media (max-width:991px) { .career-hero-grid,.application-layout { grid-template-columns:1fr; } .career-values-grid { grid-template-columns:1fr; } .career-hero-card { max-width:600px; } }
@media (max-width:767px) {
  html,body { max-width:100%; overflow-x:hidden; }
  .career-hero { padding:75px 0 60px; }
  .career-hero h1 { font-size:39px; }
  .application-hero { padding:58px 0 48px; }
  .application-hero h1 { max-width:100%; font-size:30px; line-height:1.15; overflow-wrap:anywhere; }
  .application-hero p { max-width:100%; font-size:15px; line-height:1.7; }
  .career-values,.career-openings,.application-section { padding:60px 0; }
  .openings-header { align-items:flex-start; flex-direction:column; }
  .job-card-main { grid-template-columns:1fr; padding:23px; }
  .job-requirements { padding:0 23px 22px; }
  .job-requirements ul,.application-grid { grid-template-columns:1fr; }
  .job-card-footer { align-items:flex-start; flex-direction:column; padding:17px 23px; }
  .job-card-footer a { width:100%; justify-content:center; }
  .career-application-form { padding:4px 20px 24px; }
  .application-card-heading { padding:23px 20px; }
  .form-errors { margin:18px 20px 0; }
  .application-success { padding:25px; }
}
