/* Careers positions and résumé intake. Shared navigation and branding remain canonical. */
.careers-page { margin:0; background:#fff; color:#18191c; }
.careers-page *, .careers-page *::before, .careers-page *::after { box-sizing:border-box; }
.careers-page button,.careers-page input,.careers-page textarea,.careers-page select { font:inherit; }
.careers-page a { color:#0a5b63; text-underline-offset:4px; }
.careers-page :focus-visible { outline:3px solid #0c6e78; outline-offset:4px; }
.careers-page [hidden] { display:none !important; }
.careers-page .careers-hero { min-height:0 !important; }
.careers-page .careers-hero .hero-inner { padding-top:142px; padding-bottom:58px; }
.careers-page .careers-hero .eyebrow { color:#b7d2d3 !important; }
.careers-page .careers-hero h1 { max-width:19ch; margin:0; font-size:clamp(44px,5.4vw,72px); line-height:1; letter-spacing:-.055em; }
.careers-page .careers-hero .careers-deck { max-width:65ch; margin:26px 0 20px; color:#d1e2e2; font-size:19px; line-height:1.65; }
.career-status-label { display:inline-block; margin:4px 0 0; padding:9px 13px; border:1px solid #73999c; border-radius:5px; color:#e7f0ef; font-size:14px; line-height:1.5; }
.careers-actions { display:flex; flex-wrap:wrap; align-items:center; gap:20px 26px; margin-top:28px; }
.career-button { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:12px 21px; border:1px solid #0a5b63; border-radius:6px; background:#0a5b63; color:#fff !important; font-weight:600; line-height:1.4; text-decoration:none; cursor:pointer; }
.career-button:hover { background:#073f45; }
.career-button:disabled { background:#dfe7e7; border-color:#c6d4d4; color:#566b6e !important; cursor:not-allowed; }
.career-button--light { border-color:#a9d0d4; background:#a9d0d4; color:#04181b !important; }
.career-button--light:hover { background:#c4e1e3; }
.careers-hero .career-text-link { color:#e7f0ef; font-weight:500; }
.careers-rail { width:100%; max-width:1320px; margin-inline:auto; padding-inline:clamp(20px,4vw,56px); }
.careers-section { padding-block:68px; scroll-margin-top:90px; }
.careers-section--paper { background:#fafaf8; border-block:1px solid #e5e9e5; }
.careers-intro-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:60px; }
.careers-page h2 { margin:0 0 24px; font-size:clamp(30px,3.2vw,42px); line-height:1.1; letter-spacing:-.04em; }
.careers-page main p { line-height:1.65; }
.careers-intro p { max-width:67ch; margin-top:0; color:#536367; font-size:18px; }
.careers-eyebrow { margin:0 0 16px; color:#0a5b63; font-size:12px; font-weight:700; letter-spacing:.15em; text-transform:uppercase; }
.careers-section-deck { max-width:65ch; color:#536367; font-size:18px; }
.career-filters { display:flex; flex-wrap:wrap; gap:9px; margin:27px 0 12px; }
.career-filters button { min-height:44px; padding:9px 14px; border:1px solid #bccdcd; border-radius:5px; background:#fff; color:#23454a; cursor:pointer; }
.career-filters button[aria-pressed="true"] { background:#073338; border-color:#073338; color:#fff; }
.career-filter-status { min-height:24px; margin:12px 0 25px; color:#536367; font-size:14px; }
.career-group { margin-top:38px; scroll-margin-top:100px; }
.career-group > h3 { display:flex; flex-wrap:wrap; align-items:baseline; gap:9px 18px; margin:0 0 16px; font-size:25px; letter-spacing:-.025em; }
.career-group-count { color:#617276; font-size:14px; font-weight:400; letter-spacing:0; }
.career-role-list { border-top:1px solid #bdcece; }
.career-role { background:#fff; border-bottom:1px solid #bdcece; scroll-margin-top:90px; }
.career-role summary { display:flex; gap:20px; align-items:baseline; padding:24px 23px; cursor:pointer; list-style:none; }
.career-role summary::-webkit-details-marker { display:none; }
.career-role summary::after { content:"+"; flex:none; margin-left:auto; font-size:27px; font-weight:400; color:#0a5b63; }
.career-role[open] summary::after { content:"−"; }
.career-role summary strong { display:block; font-size:20px; font-weight:600; line-height:1.35; letter-spacing:-.02em; }
.career-slot { flex:none; color:#708589; font-size:13px; font-weight:500; }
.career-role-meta { display:block; margin-top:6px; color:#607478; font-size:14px; line-height:1.45; }
.career-role-detail { max-width:900px; padding:0 62px 28px; }
.career-role-detail h4 { margin:22px 0 7px; color:#23454a; font-size:15px; }
.career-role-detail p { margin:0 0 14px; }
.career-role-detail ul { margin:0 0 18px; padding-left:22px; }
.career-role-detail li { margin:0 0 8px; line-height:1.65; }
.career-role-detail .career-role-note { color:#607478; font-size:14px; }
.career-select-role { display:inline-block; padding-block:6px; font-weight:600; }
.careers-interest-grid { display:grid; grid-template-columns:minmax(250px,.7fr) minmax(0,1.3fr); gap:60px; align-items:start; }
.careers-interest-intro { max-width:43ch; }
.careers-interest-intro > p { color:#536367; }
.career-form-panel { min-width:0; padding:30px; border:1px solid #ccd9d9; border-radius:12px; background:#fafaf8; }
.career-intake-notice { margin:0 0 24px; padding:16px 18px; border-left:3px solid #0c6e78; background:#edf4f3; color:#23454a; font-size:15px; }
.career-form-panel fieldset { min-width:0; margin:0; padding:0; border:0; }
.career-field-grid { display:grid; grid-template-columns:1fr 1fr; gap:0 18px; }
.career-field--wide { grid-column:1 / -1; }
.career-field { margin:0 0 23px; }
.career-field > label { display:block; margin-bottom:8px; color:#23454a; font-size:15px; font-weight:600; line-height:1.45; }
.career-field input:not([type="checkbox"]), .career-field select,.career-field textarea { display:block; width:100%; min-width:0; min-height:46px; padding:11px 12px; border:1px solid #a8bcbc; border-radius:5px; background:#fff; color:#18191c; line-height:1.4; }
.career-field input[type="file"] { padding:9px; font-size:14px; }
.career-field input[type="file"]::file-selector-button { margin-right:10px; padding:7px 10px; border:1px solid #c6d4d4; border-radius:3px; background:#edf4f3; color:#23454a; font:inherit; cursor:pointer; }
.career-field textarea { resize:vertical; }
.career-optional { color:#617276; font-weight:400; }
.career-help { margin:8px 0 0; color:#536367; font-size:13px; line-height:1.55; overflow-wrap:anywhere; }
.career-form-panel .career-role-picker { margin-bottom:24px; }
.career-role-picker legend { padding:0; color:#23454a; font-weight:600; font-size:15px; }
.career-role-picker > p { margin-top:7px; font-size:14px; color:#536367; }
.career-role-options { display:grid; grid-template-columns:1fr 1fr; gap:7px 16px; margin-top:15px; }
.career-role-option,.career-consent { display:flex; align-items:flex-start; gap:9px; min-width:0; padding-block:6px; color:#34545a; font-size:14px; line-height:1.5; }
.career-role-option input,.career-consent input { flex:none; width:18px; height:18px; margin:1px 0 0; accent-color:#0a5b63; }
.career-consent { margin:15px 0; }
.career-trap { position:absolute; left:0; top:0; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); clip-path:inset(50%); white-space:nowrap; }
.career-trap input { position:absolute; left:0; top:0; width:1px; max-width:1px; min-width:0; height:1px; padding:0; border:0; }
.career-form-status { margin-top:20px; color:#23454a; line-height:1.65; overflow-wrap:anywhere; }
.career-form-status:empty { display:none; }
.career-form-status[data-state="error"],.career-form-status[data-state="unknown"] { padding:15px; border-left:3px solid #a53d33; background:#fff3f1; color:#7d3028; }
.career-form-status[data-state="saved"] { padding:15px; border-left:3px solid #0a5b63; background:#edf4f3; }
.career-visually-hidden { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.careers-notice { max-width:1000px; padding-top:58px; padding-bottom:72px; }
.careers-notice h2 { margin-top:40px; font-size:28px; }
.careers-notice p { max-width:78ch; color:#465c61; font-size:17px; }
.careers-notice .career-notice-note { padding:18px; border-left:3px solid #9bbfc2; background:#f0f5f4; font-size:15px; }
@media(max-width:900px) {
  .careers-intro-grid,.careers-interest-grid { grid-template-columns:1fr; gap:25px; }
  .careers-interest-intro { max-width:68ch; }
  .careers-section { padding-block:48px; }
}
@media(max-width:560px) {
  .careers-page .careers-hero .hero-inner { padding-top:122px; padding-bottom:40px; }
  .careers-page .careers-hero h1 { font-size:43px; }
  .careers-page .careers-hero .careers-deck { font-size:17px; }
  .careers-actions { align-items:stretch; flex-direction:column; gap:18px; }
  .career-role summary { padding:20px 14px; gap:12px; }
  .career-role summary strong { font-size:18px; }
  .career-role-detail { padding:0 16px 24px 42px; }
  .career-form-panel { padding:21px 16px; }
  .career-field-grid,.career-role-options { grid-template-columns:1fr; }
}
@media(prefers-reduced-motion:reduce) { .careers-page { scroll-behavior:auto; } }
@media screen {
  .careers-page .careers-hero h1,
  .careers-page .mond-footer .mf-tagline { color:#fff; }
  .careers-page .mond-footer .mf-copy { color:rgba(255,255,255,.6); }
  .careers-page .mond-footer .mf-col a { color:rgba(255,255,255,.7); }
  .careers-page .mond-footer .mf-col a:hover,
  .careers-page .mond-footer .mf-col a:focus-visible { color:#fff; }
}
@media print {
  .careers-page .careers-hero .hero-inner { padding-top:20px; }
  .careers-page .careers-hero h1 { color:#18191c; }
  .careers-page .careers-hero .careers-deck,.career-status-label { color:#23454a; }
  .careers-actions,.career-filters,.career-select-role,#interest { display:none !important; }
  .career-role,.career-role summary { break-inside:avoid; }
  .careers-section { padding-block:24px; }
}

/* Work-location and application policies remain readable without JavaScript. */
.career-state-list { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px 24px; margin:24px 0; padding-left:20px; color:#23454a; line-height:1.6; }
.career-location-note { max-width:90ch; color:#536367; font-size:15px; }
.careers-equal-opportunity p { max-width:90ch; color:#536367; font-size:17px; }
.career-application-policy { margin:0 0 24px; padding:16px 18px; border-left:3px solid #0c6e78; background:#edf4f3; color:#23454a; font-size:14px; line-height:1.6; }
.career-application-policy p { margin:0 0 12px; }
.career-application-policy p:last-child { margin-bottom:0; }
@media(max-width:900px) { .career-state-list { grid-template-columns:repeat(2,minmax(0,1fr)); } }
