/* Careers pages. Builds on application.css (palette, nav, footer, form controls). Mobile-first; works at 320px. */
.cr-main { width:min(100% - 32px,960px); margin:12px auto 56px; display:block; }
.cr-narrow { width:min(100% - 32px,760px); }
.cr-intro { padding:8px 0 20px; }
.cr-intro p { color:#655a51; max-width:60ch; margin:0 0 14px; }
.cr-h2 { font-size:22px; margin:8px 0 14px; }
.cr-h1s { font:500 28px/1.2 Georgia,serif; margin:0 0 12px; }
.cr-note { color:#6d6058; font-size:14px; margin:8px 0; }
.cr-filters { display:grid; grid-template-columns:1fr; gap:12px; margin:0 0 12px; align-items:end; }
.cr-filters label { display:block; font-size:13px; font-weight:600; margin-bottom:4px; }
.cr-filters select,.cr-field select { width:100%; min-height:44px; border:1px solid #bfb3a8; border-radius:7px; background:#fff; color:#28221f; font:inherit; font-size:16px; padding:8px 10px; }
.cr-linkbtn { justify-self:start; min-height:44px; background:none; border:0; color:#741b2a; font:inherit; font-size:14px; text-decoration:underline; text-underline-offset:3px; cursor:pointer; padding:0 4px; }
.cr-cards { list-style:none; margin:0; padding:0; display:grid; gap:14px; }
.cr-card { background:#fff; border:1px solid #ded6cd; border-radius:14px; padding:20px; }
.cr-card h2 { font-size:19px; margin:0 0 10px; }
.cr-card h2 a { color:#41151b; text-decoration:none; }
.cr-card h2 a:hover { text-decoration:underline; }
.cr-summary { color:#5d5149; font-size:15px; margin:12px 0; overflow-wrap:anywhere; }
.cr-more { font-size:14px; font-weight:600; display:inline-block; min-height:24px; }
.cr-chips { list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:8px; }
.cr-chip { background:#f1ebe3; color:#4a3a33; border-radius:999px; padding:4px 11px; font-size:13px; }
.cr-empty { background:#fff; border:1px solid #ded6cd; border-radius:14px; padding:24px 20px; }
.cr-empty h3 { font-size:18px; margin:0 0 8px; }
.cr-empty p { margin:0; color:#5d5149; }
.cr-back { font-size:14px; display:inline-block; margin-bottom:10px; }
.cr-role-head h1 { margin:6px 0 14px; }
.cr-meta { color:#6d6058; font-size:14px; margin:12px 0 0; }
.cr-share-row { margin:12px 0 0; display:flex; flex-wrap:wrap; gap:12px; align-items:center; }
.cr-share,.cr-btn { min-height:44px; padding:10px 16px; border:1px solid #741b2a; border-radius:7px; background:#fff; color:#741b2a; font:600 14px/1.4 system-ui,sans-serif; cursor:pointer; text-decoration:none; display:inline-block; }
.cr-btn { background:#741b2a; color:#fff; }
.cr-share-msg { font-size:13px; color:#51443c; overflow-wrap:anywhere; }
.cr-jd { background:#fff; border:1px solid #ded6cd; border-radius:14px; padding:20px; margin:22px 0; overflow-wrap:anywhere; }
.cr-jd h2,.cr-jd h3,.cr-jd h4 { margin:20px 0 8px; line-height:1.3; }
.cr-jd h2 { font-size:20px; } .cr-jd h3 { font-size:17px; } .cr-jd h4 { font-size:15px; }
.cr-jd>:first-child { margin-top:0; }
.cr-jd p { margin:0 0 12px; } .cr-jd ul,.cr-jd ol { margin:0 0 12px; padding-left:22px; }
.cr-jd blockquote { margin:0 0 12px; padding-left:14px; border-left:3px solid #d9cec2; color:#5d5149; }
.cr-apply { background:#fff; border:1px solid #ded6cd; border-radius:14px; padding:20px; margin-top:22px; }
.cr-formnote { font-size:14px; color:#6d6058; margin:0 0 18px; }
.cr-field { margin:0 0 18px; min-width:0; }
.cr-field.application-field>label { font-size:14px; }
.cr-field textarea { width:100%; min-height:120px; border:1px solid #bfb3a8; border-radius:7px; background:#fff; color:#28221f; font:inherit; font-size:16px; line-height:1.5; padding:10px 12px; resize:vertical; }
.cr-group { border:0; padding:0; }
.cr-group legend { padding:0; font-size:14px; font-weight:600; margin-bottom:6px; }
.cr-field small { display:block; color:#75675e; font-size:12px; margin:0 0 6px; }
.cr-req { color:#951f27; }
.cr-choices { display:grid; gap:2px; }
.cr-inline { grid-auto-flow:column; justify-content:start; gap:24px; }
.cr-choice { display:flex; align-items:center; gap:10px; min-height:44px; font-size:15px; cursor:pointer; }
.cr-choice input { width:20px; height:20px; flex:0 0 20px; margin:0; accent-color:#741b2a; }
.cr-err { color:#951f27; font-size:13px; margin:6px 0 0; }
.cr-err:empty { display:none; }
[aria-invalid="true"] { border-color:#951f27!important; outline:1px solid #951f27; }
.cr-field input[type="file"] { padding:8px; min-height:46px; }
.cr-consent { margin:8px 0 4px; }
.cr-consent .application-check { margin-bottom:4px; }
.cr-apply .application-error .cr-btn { margin-top:8px; }
.cr-closed,.cr-success { background:#fff; border:1px solid #ded6cd; border-radius:14px; padding:22px 20px; margin-top:22px; }
.cr-closed p,.cr-success p { color:#5d5149; margin:0 0 14px; }
.cr-share:focus-visible,.cr-btn:focus-visible,.cr-linkbtn:focus-visible { outline:3px solid #397ba3; outline-offset:3px; }
@media(min-width:620px) {
  .cr-main { margin-top:24px; }
  .cr-filters { grid-template-columns:repeat(3,1fr) auto; }
  .cr-card,.cr-jd,.cr-apply { padding:26px; }
}
