/* Recruitment views: typography, cards and applications. */
.ix-careers { color: #25364a; background: #f7f9fc; padding: 0 0 64px; }
.ix-careers *, .ix-careers *::before, .ix-careers *::after { box-sizing: border-box; }
.ix-careers-container { width: min(1200px, calc(100% - 64px)); margin-inline: auto; }
.ix-careers-hero { padding: 30px 0 42px; background: linear-gradient(115deg, #eef4fc, #f2faf7); border-bottom: 1px solid #e2e9f0; }
.ix-breadcrumbs { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin-bottom: 28px; color: #617185; font-size: 12px; line-height: 1.7; }
.ix-breadcrumbs a { color: #52667d; }
.ix-breadcrumbs a:hover { color: #003faf; }
.ix-careers .ix-eyebrow { color: #127254; font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; margin: 0 0 10px; }
.ix-careers-hero h1 { color: #163653; font-size: clamp(28px, 3vw, 38px); font-weight: 700; line-height: 1.3; letter-spacing: -.025em; max-width: 850px; margin: 0 0 14px; text-transform: none; }
.ix-careers .ix-hero-description { max-width: 700px; font-size: 15px; line-height: 1.8; color: #52667d; margin: 0; }
.ix-careers-grid { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 32px; align-items: start; padding-top: 38px; }
.ix-job-list, .ix-cv-panel, .ix-job-sidebar, .ix-job-article { min-width: 0; }
.ix-careers section.ix-job-list { padding: 0 !important; }
.ix-section-heading { margin-bottom: 22px; }
.ix-section-heading h2 { color: #163653; font-size: 25px; font-weight: 700; line-height: 1.4; margin: 0 0 5px; }
.ix-section-heading p { color: #69798b; font-size: 13px; margin: 0; }
.ix-careers div.job_listings { margin: 0; }
.ix-careers .job_filters, .ix-careers .showing_jobs { display: none !important; }
.ix-careers ul.job_listings { padding: 0; margin: 0; border: 0; }
ul.job_listings li.job_listing.ix-job-card { display: grid; grid-template-columns: 44px minmax(0, 1fr) auto; column-gap: 18px; row-gap: 16px; align-items: start; background: #fff; padding: 24px; margin: 0 0 16px; border: 1px solid #e1e8f0; border-radius: 12px; list-style: none; transition: border-color .18s, box-shadow .18s; }
ul.job_listings li.job_listing.ix-job-card::after { display: none; }
ul.job_listings li.job_listing.ix-job-card:hover { background: #fff; border-color: #aac3e3; box-shadow: 0 4px 18px #16365308; }
.ix-job-card-mark { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; background: #edf4fc; color: #225ca0; border: 1px solid #e0eaf6; border-radius: 10px; }
.ix-job-card-content { min-width: 0; }
.ix-job-card .ix-job-company { margin: 0 0 7px; font-size: 11px; line-height: 1.6; font-weight: 600; color: #617185; text-transform: uppercase; letter-spacing: .02em; overflow-wrap: anywhere; }
.ix-job-card .ix-job-title { padding: 0; margin: 0 0 12px; font-size: 20px; line-height: 1.5; font-weight: 700; letter-spacing: -.015em; text-transform: none; }
ul.job_listings li.ix-job-card .ix-job-title a { display: inline; float: none; padding: 0; margin: 0; font-size: inherit; line-height: inherit; font-weight: inherit; color: #183a62; -webkit-text-stroke: 0; background: transparent; text-decoration: none; overflow-wrap: break-word; }
ul.job_listings li.ix-job-card .ix-job-title a:hover { color: #003faf; text-decoration: underline; text-underline-offset: 4px; background: transparent; }
.ix-job-card .ix-job-location { display: flex; gap: 6px; margin: 0 0 12px; color: #617185; font-size: 12px; line-height: 1.75; }
.ix-job-location svg { flex: 0 0 16px; margin-top: 3px; }
.ix-job-location span { min-width: 0; overflow-wrap: anywhere; }
.ix-job-tags { display: flex; flex-wrap: wrap; gap: 7px; }
.ix-job-tags:empty { display: none; }
.ix-job-tags span { display: inline-block; padding: 4px 9px; background: #f1f6f4; border-radius: 5px; color: #35735e; font-size: 11px; line-height: 1.5; font-weight: 500; }
ul.job_listings li.ix-job-card a.ix-job-card-action { display: inline-flex; float: none; align-items: center; justify-content: center; align-self: center; gap: 8px; flex-shrink: 0; width: max-content; min-width: 126px; padding: 10px 13px; margin: 0; background: #fff; border: 1px solid #c7d8ee; border-radius: 7px; color: #194fa1; font-size: 12px; font-weight: 600; line-height: 1.5; white-space: nowrap; text-decoration: none; }
ul.job_listings li.ix-job-card a.ix-job-card-action:hover { background: #003faf; color: #fff; border-color: #003faf; }
.ix-careers a:focus-visible, .ix-careers input:focus-visible, .ix-careers textarea:focus-visible { outline: 3px solid #83b3f0; outline-offset: 3px; }
.ix-cv-panel { scroll-margin-top: 110px; }
.ix-cv-panel .wpcf7 { margin: 0; }
.ix-cv-panel .recruitment-form { background: #fff; border: 1px solid #e1e8f0; border-radius: 12px; padding: 26px; box-shadow: none; }
.ix-cv-panel .form-header { border-left: 3px solid #1c9971; padding-left: 14px; margin-bottom: 24px; }
.ix-cv-panel .form-title { color: #163653 !important; font-size: 19px; line-height: 1.55; font-weight: 700 !important; }
.ix-cv-panel .ix-cv-intro { color: #69798b; font-size: 12px; line-height: 1.8; margin: 8px 0 0 !important; }
.ix-cv-panel .form-group { width: 100%; padding: 0; margin-bottom: 16px; }
.ix-cv-panel .form-group p { margin: 0; }
.ix-cv-panel label + br { display: none; }
.ix-cv-panel .custom-contact-form label { display: block; color: #46566b; font-size: 12px; font-weight: 600; margin-bottom: 6px; }
.ix-cv-panel .custom-contact-form input:not([type="file"]):not([type="submit"]), .ix-cv-panel .custom-contact-form textarea { width: 100%; background: #f8fafc !important; border: 1px solid #dce4ed !important; color: #25364a !important; border-radius: 7px !important; box-shadow: none; font-size: 13px; padding: 10px 12px !important; }
.ix-cv-panel .custom-contact-form input::placeholder, .ix-cv-panel .custom-contact-form textarea::placeholder { color: #7b8795; }
.ix-cv-panel .custom-contact-form p { margin-bottom: 16px; }
.ix-cv-panel .custom-contact-form textarea { height: 110px; }
.ix-cv-panel .file-upload-wrapper { height: 115px; border: 1px dashed #bdcedf; background: #f8fafc; border-radius: 8px; }
.ix-cv-panel .file-custom-design i { font-size: 25px; color: #54708f; }
.ix-cv-panel .file-custom-design .file-text { font-size: 12px; color: #315d90; }
.ix-cv-panel .file-custom-design .file-limit { font-size: 11px; }
.ix-cv-panel .custom-contact-form input[type="submit"] { background: #164faa; color: #fff !important; border: 0 !important; border-radius: 7px !important; padding: 12px 14px !important; font-size: 13px; text-transform: none; line-height: 1.6; margin: 0; height: auto; }
.ix-cv-panel .custom-contact-form input[type="submit"]:hover { background: #103e88; color: #fff !important; }
.ix-cv-panel .wpcf7-spinner { display: block; margin: 8px auto 0; }
.ix-job-hero h1 { max-width: 960px; font-size: clamp(25px, 2.8vw, 34px); line-height: 1.4; margin-bottom: 20px; text-wrap: balance; }
.ix-hero-meta { display: flex; flex-wrap: wrap; gap: 12px 22px; color: #617185; font-size: 12px; line-height: 1.7; }
.ix-hero-meta span:first-child:not(:only-child) { color: #127254; font-weight: 600; }
.ix-job-article { background: #fff; border: 1px solid #e1e8f0; border-radius: 12px; padding: 32px; }
.ix-job-article .single_job_listing { margin: 0; }
.ix-job-article .job_description { color: #36475c; font-size: 15px; line-height: 1.85; }
.ix-job-article .job_description :is(p, li, div) { text-align: left !important; }
.ix-job-article .job_description :is(h2, h3, h4) { color: #193b5c; font-size: 19px; font-weight: 700; line-height: 1.6; text-transform: none; margin: 30px 0 14px !important; padding-bottom: 10px; border-bottom: 1px solid #edf1f5; }
.ix-job-article .job_description > :is(h2, h3):first-child, .ix-job-article .job_description > div > :is(h2, h3):first-child { margin-top: 0 !important; }
.ix-job-article .job_description p { margin-bottom: 16px; }
.ix-job-article .job_description ul, .ix-job-article .job_description ol { margin-left: 0; padding-left: 22px; }
.ix-job-article .job_description li { margin-left: 0; padding-left: 3px; margin-bottom: 9px; }
.ix-job-article .job_description img { max-width: 100%; height: auto; border-radius: 8px; }
.ix-job-article .job_description :is(a, td) { overflow-wrap: anywhere; }
.ix-job-article .job_description table { display: block; max-width: 100%; overflow-x: auto; }
.ix-job-sidebar { position: sticky; top: 110px; }
.ix-job-summary { background: #fff; border: 1px solid #e1e8f0; border-radius: 12px; padding: 26px; }
.ix-job-summary h2 { color: #193b5c; font-size: 20px; font-weight: 700; margin: 0 0 22px; }
.ix-job-summary dl { margin: 0 0 24px; }
.ix-job-summary dl > div { padding-bottom: 15px; margin-bottom: 15px; border-bottom: 1px solid #edf1f5; }
.ix-job-summary dl > div:last-child { margin-bottom: 0; }
.ix-job-summary dt, .ix-job-summary dd { display: block !important; text-transform: none !important; letter-spacing: normal; }
.ix-job-summary dt { color: #7a8797; font-size: 11px; font-weight: 500; margin: 0 0 5px; }
.ix-job-summary dd { color: #36475c; font-size: 13px; line-height: 1.8; font-weight: 500; margin: 0; overflow-wrap: anywhere; }
.ix-primary-button { display: flex; align-items: center; justify-content: center; gap: 12px; width: 100%; background: #164faa; color: #fff; border-radius: 7px; padding: 13px 16px; font-size: 13px; font-weight: 600; line-height: 1.6; white-space: nowrap; }
.ix-primary-button:hover { color: #fff; background: #103e88; }
.ix-back-link { display: block; text-align: center; color: #52677f; font-size: 12px; margin-top: 16px; }
.ix-career-help { background: #edf5f2; border: 1px solid #deebe5; border-radius: 12px; padding: 24px; margin-top: 18px; }
.ix-career-help h3 { font-size: 16px; color: #28594b; font-weight: 700; line-height: 1.6; margin-bottom: 10px; }
.ix-career-help p { font-size: 12px; line-height: 1.85; color: #55746a; margin-bottom: 14px; }
.ix-career-help a { color: #127254; font-size: 12px; font-weight: 600; }
.ix-job-article .ix-job-application { clear: both; float: none; width: 100%; padding: 24px !important; margin: 32px 0 0; background: #f0f5fc; border: 1px solid #dce7f5; border-radius: 9px; scroll-margin-top: 115px; }
.ix-job-application h2 { color: #193b5c; font-size: 20px; font-weight: 700; margin: 0 0 10px; }
.ix-job-application p { color: #617185; font-size: 13px; line-height: 1.8; }
.ix-job-article .ix-job-application .application_button { display: inline-block; float: none; width: auto; max-width: 100%; margin: 0; border: 0; background: #164faa; border-radius: 7px; color: #fff; font-size: 12px; line-height: 1.7; padding: 12px 18px; text-transform: none; white-space: normal; }
.ix-job-application .application_details { background: #fff; padding: 20px; margin-top: 20px; border: 1px solid #dce7f5; border-radius: 7px; overflow-wrap: anywhere; }
.ix-job-article .ix-job-application .application_details p { margin: 0; }
@media (max-width: 1120px) {
    .ix-careers-grid { grid-template-columns: minmax(0, 1fr) 310px; gap: 24px; }
    ul.job_listings li.job_listing.ix-job-card { grid-template-columns: 40px minmax(0, 1fr); padding: 22px; gap: 14px; }
    ul.job_listings li.ix-job-card a.ix-job-card-action { grid-column: 2; justify-self: start; }
    .ix-job-card .ix-job-title { font-size: 19px; }
    .ix-cv-panel .recruitment-form, .ix-job-summary { padding: 22px; }
    .ix-job-article { padding: 26px; }
}
@media (max-width: 849px) {
    .ix-careers-container { width: calc(100% - 40px); }
    .ix-careers-grid { grid-template-columns: minmax(0, 1fr); gap: 28px; padding-top: 28px; }
    .ix-careers-hero { padding: 24px 0 32px; }
    .ix-breadcrumbs { margin-bottom: 22px; }
    .ix-job-sidebar { position: static; grid-row: 1; }
    .ix-job-summary dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-bottom: 20px; }
    .ix-job-summary dl > div { margin: 0; padding-bottom: 12px; }
    .ix-career-help { display: none; }
    .ix-job-detail-grid { gap: 22px; }
}
@media (max-width: 549px) {
    .ix-careers { padding-bottom: 36px; }
    .ix-careers-container { width: calc(100% - 32px); }
    .ix-careers-hero h1 { font-size: 27px; line-height: 1.4; }
    .ix-job-hero h1 { font-size: 25px; }
    .ix-careers .ix-eyebrow { font-size: 10px; }
    .ix-careers .ix-hero-description { font-size: 13px; }
    .ix-section-heading h2 { font-size: 22px; }
    ul.job_listings li.job_listing.ix-job-card { grid-template-columns: 34px minmax(0, 1fr); column-gap: 12px; padding: 18px; }
    .ix-job-card-mark { width: 34px; height: 36px; border-radius: 7px; }
    .ix-job-card-mark svg { width: 20px; height: 20px; }
    .ix-job-card .ix-job-title { font-size: 17px; line-height: 1.55; }
    .ix-job-card .ix-job-company { font-size: 10px; }
    ul.job_listings li.ix-job-card a.ix-job-card-action { grid-column: 1 / -1; justify-self: stretch; width: 100%; }
    .ix-job-summary dl { grid-template-columns: minmax(0, 1fr); gap: 12px; }
    .ix-job-summary, .ix-cv-panel .recruitment-form { padding: 22px; }
    .ix-job-article { padding: 22px 18px; }
    .ix-job-article .job_description { font-size: 14px; }
    .ix-job-article .job_description :is(h2, h3, h4) { font-size: 17px; }
    .ix-job-article .ix-job-application { padding: 18px !important; }
}
