/* Live careers listing, scoped to the Openings page. */
.openings-hero-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,.42fr);align-items:center;gap:clamp(32px,5vw,72px)}
.openings-hero-copy{min-width:0}
.openings-hero-certification{display:flex;align-items:center;justify-content:center}
.openings-hero-certification img{display:block;width:clamp(190px,20vw,250px);max-width:100%;height:auto;object-fit:contain}
@media(max-width:700px){.openings-hero-layout{grid-template-columns:minmax(0,1fr);gap:32px}.openings-hero-certification{justify-content:flex-start}.openings-hero-certification img{width:160px}}
.openings-hero h1 em{color:#b9d4ff;font-style:normal}.openings-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:30px}.openings-heading h2{font-size:clamp(28px,3vw,44px);margin:12px 0 0}.openings-heading>a{white-space:nowrap}.job-filters{padding:24px;background:#fff;border:1px solid #cad6e6;border-radius:18px;display:grid;grid-template-columns:2fr 1.2fr 1fr 1fr;gap:16px;box-shadow:0 12px 35px #14244108}.job-filters label,.job-dialog label{display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:600;min-width:0}.job-filters input,.job-filters select,.job-dialog input,.job-dialog textarea{font:inherit;color:#172541;background:#f4f7fc;border:1px solid #cbd7e7;border-radius:9px;width:100%;padding:12px;min-height:46px;box-sizing:border-box}.job-reset{justify-self:start;border:0;background:none;color:#3d5c86;text-decoration:underline;cursor:pointer}#jobs-status{margin:24px 0;color:#476080}.jobs-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.job-card{display:flex;flex-direction:column;background:#fff;border:1px solid #cbd7e7;border-radius:18px;padding:28px;box-shadow:0 12px 32px #12254405}.job-card-top{display:flex;align-items:start;justify-content:space-between;gap:12px;font-size:11px;color:#547092}.job-department{color:#315c83;background:#e8f1fa;border-radius:7px;padding:7px 9px;font-weight:600}.job-card h3{font-size:22px;line-height:1.35;margin:22px 0 12px}.job-meta{font-size:13px;color:#486080;line-height:1.8}.job-summary{color:#485b78;line-height:1.75;font-size:14px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.job-skills{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 24px}.job-skills span{font-size:11px;border:1px solid #d9e2ee;padding:5px 9px;border-radius:30px}.job-actions{margin-top:auto;display:flex;gap:12px;align-items:center}.job-actions .button{font-size:13px;padding:13px 18px}.job-share{border:0;background:transparent;color:#385b81;cursor:pointer}.jobs-empty{text-align:center;padding:60px 24px;border:1px dashed #a9bdd7;border-radius:18px;background:#ffffff77}.openings-invitation{background:linear-gradient(115deg,#172943,#2b506d);color:white;border-radius:24px;padding:48px;display:flex;align-items:center;justify-content:space-between;gap:32px}.openings-invitation h2{font-size:clamp(28px,3vw,42px);margin:14px 0}.openings-invitation p{color:#cad9ed;max-width:620px}.openings-invitation .eyebrow{color:#bad2ed}.openings-invitation .button{flex-shrink:0}.job-dialog{border:1px solid #cbd7e7;border-radius:22px;max-width:760px;width:calc(100% - 32px);max-height:88vh;padding:32px;color:#172541;background:#f8faff;overflow:auto;box-sizing:border-box}.job-dialog::backdrop{background:#0b1b35b8;backdrop-filter:blur(6px)}.job-dialog-head{display:flex;justify-content:space-between;align-items:center;gap:20px}.job-dialog-head button{border:0;background:#e3ebf7;border-radius:50%;width:38px;height:38px;cursor:pointer}.job-dialog h2{font-size:28px;line-height:1.3}.job-dialog h3{margin-top:32px}.job-dialog #job-description{white-space:pre-line;font-size:14px;line-height:1.8;border-bottom:1px solid #d5deeb;padding-bottom:24px}.job-dialog form{display:grid;gap:17px}.job-name-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}.job-dialog small{font-weight:400}.application-privacy{font-size:12px}.job-dialog .button{justify-self:start}.job-dialog :focus-visible,.openings-section :focus-visible{outline:3px solid #5598d2;outline-offset:3px}.openings-section [hidden],.job-dialog [hidden]{display:none!important}@media(max-width:1000px){.jobs-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.job-filters{grid-template-columns:1fr 1fr}}@media(max-width:600px){.jobs-grid,.job-filters,.job-name-fields{grid-template-columns:1fr}.openings-heading,.openings-invitation{align-items:start;flex-direction:column}.openings-invitation{padding:28px}.job-dialog{padding:22px}.job-card{padding:24px}.openings-hero{padding-bottom:60px}}

.openings-section{scroll-margin-top:100px}

/* Loading and compact opportunity actions. */
#jobs-status.is-loading{display:flex;align-items:center;justify-content:center;gap:14px;min-height:160px;padding:24px;border:1px solid #cbd7e7;border-radius:18px;background:#fff}
.jobs-spinner{display:inline-block;width:26px;height:26px;flex:0 0 auto;border:3px solid #dbe5f2;border-top-color:#385b81;border-radius:50%;animation:jobs-spin .8s linear infinite}
#application-status.is-loading{display:flex;align-items:center;gap:10px}
#application-status .jobs-spinner{width:18px;height:18px;border-width:2px}
.job-actions{position:relative}
.job-actions .button{gap:8px}
.job-actions .link-arrow,.job-dialog .button .link-arrow{width:14px;height:14px;min-width:14px;flex:0 0 14px}
.job-share{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;flex:0 0 44px;padding:0;border:1px solid #d9e2ee;border-radius:50%;background:#f4f7fc;transition:background .2s,color .2s}
.job-share:hover{background:#e3ebf7;color:#172541}
.job-share:disabled{cursor:wait;opacity:.65}
.job-share-icon{width:20px;height:20px;flex:0 0 20px}
.job-share-status{position:absolute;top:calc(100% + 5px);right:0;max-width:100%;font-size:11px;color:#385b81}
.job-copy-field{position:fixed;top:0;left:-9999px}
@keyframes jobs-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.jobs-spinner{animation:none}}

/* These standalone sections sit outside the shared source-content wrapper. */
main > .openings-section{padding:72px 0 0}
main > .openings-contact-section{padding:64px 0 80px}
@media(max-width:600px){main > .openings-section{padding-top:44px}main > .openings-contact-section{padding:40px 0 48px}}
