/* Careers page: extends the existing CFS palette without changing shared styles. */
.careersPage { background: #faf7f2; color: #203852; font-size: 16px; line-height: 1.65; }
.careersPage * { box-sizing: border-box; }
.careersPage h1, .careersPage h2, .careersPage h3,
.careersPage p, .careersPage a, .careersPage li { overflow-wrap: break-word; }
.careersPage p { font-size: 16px; line-height: 1.75; margin: 0 0 18px; }
.careersPage h2 {
    border: 0; color: #203852; font-size: 34px; font-weight: 700;
    letter-spacing: -0.5px; line-height: 1.25; margin: 0 0 18px;
    padding: 0; text-transform: none;
}
.careersPage h3 { color: #203852; font-size: 22px; line-height: 1.35; margin: 0 0 18px; }
.careersPage .careersKicker {
    color: #24595c; font-size: 14px; font-weight: 700; letter-spacing: 1.5px;
    line-height: 1.5; margin: 0 0 14px; text-transform: uppercase;
}
.careersHero { background: #203852; color: #f3f7fb; padding: 58px 0; }
.careersHeroGrid { align-items: center; display: grid; gap: 48px; grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr); }
.careersHeroGrid > * { min-width: 0; }
.careersHero .careersKicker { color: #cfe0dc; }
.careersHero h1 { color: #fff; font-size: 50px; font-weight: 700; letter-spacing: -1px; line-height: 1.12; margin: 0 0 24px; }
.careersHero h1 span { color: #eac678; }
.careersHero .careersHeroLead { font-size: 20px; line-height: 1.6; max-width: 600px; }
.careersActions { align-items: center; display: flex; flex-wrap: wrap; gap: 16px 24px; margin-top: 28px; }
.careersButton {
    border: 2px solid transparent; border-radius: 5px; display: inline-block;
    font-size: 16px; font-weight: 700; line-height: 1.5; max-width: 100%;
    padding: 14px 22px; text-align: center; text-decoration: none;
}
.careersButtonLight, .careersButtonLight:visited { background: #fff; border-color: #fff; color: #203852; }
.careersButtonLight:hover, .careersButtonLight:focus { background: #e4ece8; border-color: #e4ece8; color: #203852; text-decoration: none; }
.careersHeroLink, .careersHeroLink:visited { color: #fff; font-size: 14px; font-weight: 700; padding: 12px 0; text-decoration: underline; text-underline-offset: 4px; }
.careersHeroLink:hover, .careersHeroLink:focus { color: #eac678; }
.careersHeroVisual { border-bottom: 6px solid #d6a84b; border-radius: 8px; overflow: hidden; }
.careersHeroVisual img { display: block; height: auto; width: 100%; }
.careersNav { background: #fff; border-bottom: 1px solid #d7e1dc; }
.careersNav .container { display: flex; flex-wrap: wrap; gap: 0 26px; }
.careersNav a, .careersNav a:visited { color: #294867; font-size: 14px; font-weight: 700; padding: 18px 0; text-decoration: none; }
.careersNav a:hover, .careersNav a:focus { color: #24595c; text-decoration: underline; text-underline-offset: 5px; }
.careersSection { padding: 64px 0; scroll-margin-top: 24px; }
.careersTint { background: #e4ece8; }
.careersSectionHeading { max-width: 800px; margin-bottom: 30px; }
.careersSectionHeading p { color: #52636a; }
.careersSectionHeading a, .careersSectionHeading a:visited { color: #24595c; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.careersValues { display: grid; gap: 16px; grid-template-columns: repeat(6, minmax(0, 1fr)); list-style: none; margin: 0; padding: 0; }
.careersValues li { background: #fff; border: 1px solid #d7e1dc; border-radius: 6px; padding: 24px 12px; text-align: center; }
.careersValues span { color: #2f6f73; display: block; font-size: 42px; font-weight: 700; line-height: 1.2; margin-bottom: 16px; }
.careersValues strong { font-size: 14px; }
.careersBenefits { display: grid; gap: 20px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.careersBenefit { background: #fff; border: 1px solid #d3ded9; border-top: 4px solid #2f6f73; border-radius: 6px; padding: 30px; }
.careersBenefit ul, .careersQualifications ul { color: #394a50; margin: 0; padding-left: 22px; }
.careersBenefit li, .careersQualifications li { font-size: 16px; line-height: 1.7; padding-left: 4px; margin-bottom: 12px; }
.careersBenefit li:last-child, .careersQualifications li:last-child { margin-bottom: 0; }
.careersRoles { display: grid; gap: 24px; }
.careersRole { background: #fff; border: 1px solid #d7e1dc; border-left: 5px solid #2f6f73; border-radius: 8px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.7fr); }
.careersRole:nth-child(2) { border-left-color: #365581; }
.careersRole:nth-child(3) { border-left-color: #775b16; }
.careersRoleHeader { background: #f0f4f1; border-radius: 4px 0 0 4px; padding: 30px; }
.careersRoleHeader h3 { margin: 0; }
.careersRoleHeader .careersRoleTag { color: #24595c; font-size: 14px; font-weight: 700; line-height: 1.5; margin-bottom: 14px; }
.careersRoleBody { min-width: 0; padding: 30px; }
.careersRoleBody > p { color: #52636a; }
.careersQualifications { border-top: 1px solid #d7e1dc; margin-top: 22px; }
.careersQualifications summary { color: #24595c; cursor: pointer; font-size: 16px; font-weight: 700; line-height: 1.6; padding: 18px 4px; }
.careersQualifications summary:hover { background: #f0f4f1; }
.careersQualifications summary:focus { outline: 3px solid #775b16; outline-offset: 3px; }
.careersQualifications[open] summary { margin-bottom: 4px; }
.careersApplyPanel { align-items: center; background: #203852; border-radius: 8px; color: #fff; display: grid; gap: 38px; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); padding: 42px; }
.careersApplyPanel h2 { color: #fff; }
.careersApplyPanel .careersKicker { color: #cfe0dc; }
.careersApplyPanel p:last-child { margin-bottom: 0; }
.careersApplyActions { display: grid; gap: 12px; }
.careersButtonOutline, .careersButtonOutline:visited { border-color: #fff; color: #fff; }
.careersButtonOutline:hover, .careersButtonOutline:focus { background: #fff; color: #203852; text-decoration: none; }
.careersApplicationInfo { margin: 36px 0 28px; }
.careersApplicationInfo p, .careersEqualOpportunity p { color: #394a50; max-width: 1000px; }
.careersApplicationInfo h3, .careersEqualOpportunity h3 { font-size: 20px; margin-bottom: 12px; }
.careersEqualOpportunity { border-top: 1px solid #b8c9c1; padding-top: 26px; }
.careersEqualOpportunity p { margin-bottom: 0; }
@media (max-width: 991px) {
    .careersHeroGrid { gap: 30px; grid-template-columns: minmax(0, 1fr); }
    .careersHeroVisual { max-width: 520px; }
    .careersValues { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .careersRole { grid-template-columns: minmax(0, 1fr); }
    .careersApplyPanel { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 600px) {
    .careersHero { padding: 38px 0; }
    .careersHero h1 { font-size: 38px; }
    .careersHero .careersHeroLead { font-size: 18px; }
    .careersActions { align-items: stretch; flex-direction: column; }
    .careersHeroLink { text-align: center; }
    .careersNav .container { gap: 0 22px; }
    .careersNav a { padding: 14px 0; }
    .careersSection { padding: 42px 0; }
    .careersPage h2 { font-size: 28px; }
    .careersPage h3 { font-size: 22px; }
    .careersValues { gap: 12px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .careersBenefits { grid-template-columns: minmax(0, 1fr); }
    .careersBenefit, .careersRoleHeader, .careersRoleBody { padding: 24px 20px; }
    .careersApplyPanel { gap: 26px; padding: 30px 22px; }
    .careersApplicationInfo h3, .careersEqualOpportunity h3 { font-size: 20px; }
}
@media print {
    .careersHero, .careersApplyPanel { background: #fff; color: #203852; }
    .careersHero h1, .careersHero h1 span, .careersHero .careersKicker,
    .careersApplyPanel h2, .careersApplyPanel .careersKicker { color: #203852; }
    .careersHeroVisual, .careersNav, .careersActions, .careersApplyActions { display: none; }
}
