/* Job details: a single, readable column with three consistent cards. */
.position-page{background:#f4f5f0;padding-bottom:12px}
.position-page .position-heading,.position-page .position-layout{width:calc(100% - 64px);max-width:1100px;margin:0 auto;padding-left:0;padding-right:0}
.position-heading{padding-top:26px;padding-bottom:28px;background:transparent;border-bottom:1px solid #dce2d9}
.back-link{display:inline-flex;align-items:center;min-height:32px;font-size:14px;color:#5f7369;margin-bottom:18px}
.position-heading .eyebrow{font-size:12px;letter-spacing:2px;color:#62786c;margin-bottom:10px}
.position-heading h1{font-size:clamp(28px,3vw,42px);font-weight:600;line-height:1.4;letter-spacing:0;margin:0 0 16px;overflow-wrap:anywhere}
.position-tags{display:flex;gap:8px;flex-wrap:wrap}
.position-tags span{font-size:14px;line-height:1.6;padding:5px 14px;color:#34594a;background:#e5ece2;border-radius:6px}
.position-heading .job-conditions{display:flex;flex-wrap:wrap;gap:12px 32px;margin:20px 0 0;padding:0}
.position-heading .job-conditions>div{display:flex;align-items:baseline;gap:8px;background:none;border:0;padding:0}
.job-conditions dt{font-size:14px;color:#6c7b72;font-weight:400}
.job-conditions dd{font-size:15px;font-weight:500;margin:0}
.position-page .position-layout{display:block;padding-top:22px;padding-bottom:36px}
.source-note{font-size:12px;line-height:1.9;color:#718077;margin-bottom:22px;overflow-wrap:anywhere}
.source-note a{color:#496756;text-decoration:underline;text-underline-offset:3px}
.position-content{min-width:0}
.position-panel,.application-card{width:100%;background:#f9f8f3;border:1px solid #e2e5da;border-radius:14px;padding:28px 36px 30px;margin:0 0 20px;box-shadow:0 4px 18px #183e3403}
.panel-heading{display:flex;align-items:center;gap:14px;padding-bottom:20px;margin-bottom:20px;border-bottom:1px solid #e6e8df}
.panel-number{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:36px;height:36px;background:#eef3ea;border-radius:10px;color:#547259;font-size:13px;font-weight:600;font-variant-numeric:tabular-nums}
.panel-heading h2{font-size:24px;font-weight:600;letter-spacing:0;line-height:1.5;margin:0}
.panel-caption{margin-left:auto;color:#849187;font-size:12px;letter-spacing:1.5px}
.position-prose{font-size:16px;line-height:2;color:#435a4d;overflow-wrap:anywhere}
.position-prose p{margin:0 0 16px}
.position-prose p:last-child{margin-bottom:0}
.application-card{border-top:3px solid #345a48;scroll-margin-top:24px}
.application-card .panel-number{background:#345a48;color:white}
.application-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.application-field{min-width:0}
.application-field>label{display:block;font-size:14px;font-weight:500;margin-bottom:8px;color:#314e40}
.application-field>label span{color:#b15b3c;margin-left:3px}
.application-field input{font:inherit;font-size:15px;width:100%;min-width:0;min-height:48px;padding:11px 14px;border:1px solid #d7dfd1;border-radius:7px;background:#fafbf8;color:#263f32;transition:border-color .15s,box-shadow .15s}
.application-field input::placeholder{color:#7b877e}
.application-field input:focus-visible{outline:2px solid #5a7c60;outline-offset:2px;background:#fff}
.application-upload{grid-column:1/-1}
.application-upload input[type=file]{padding:20px;border:1px dashed #bacab3;background:#f7f9f3;cursor:pointer}
.application-upload input::file-selector-button{font:inherit;font-size:14px;color:#345a48;background:white;border:1px solid #c8d5c1;border-radius:6px;padding:9px 16px;margin-right:16px;cursor:pointer}
.application-upload small{display:block;font-size:12px;color:#748274;margin-top:8px}
.privacy-note{font-size:13px;color:#647367;border-top:1px solid #e6e8df;margin-top:24px;padding-top:18px}
.privacy-note summary{cursor:pointer;min-height:30px}
.privacy-note p{margin:8px 0 0;line-height:1.9}
.privacy-note a{text-decoration:underline}
.consent-label{display:flex;align-items:flex-start;gap:10px;font-size:14px;color:#455e4d;margin:16px 0 22px}
.consent-label input{flex-shrink:0;width:17px;height:17px;margin:4px 0 0;accent-color:#345a48}
.apply-submit{display:flex;justify-content:space-between;min-width:210px;gap:48px;border-radius:7px;min-height:48px;font-size:15px;font-weight:500;background:#345a48}
.application-alternative{display:inline-block;margin-top:16px;font-size:13px;color:#62786a}
.form-errors,.errorlist{color:#a23c2c;font-size:14px}
.form-errors{background:#fff3ed;border-radius:6px;padding:14px;margin-bottom:20px}
.errorlist{padding-left:20px;margin:8px 0 0}
.submission-success{background:#edf6e8;color:#345a48;border:1px solid #cbdcc3;border-radius:7px;padding:16px;font-size:15px;margin-bottom:22px}
.position-footnote{font-size:13px;color:#6d7f70;padding:2px 4px}
.position-footnote a{color:#42634e}
@media(max-width:760px){
.position-page .position-heading,.position-page .position-layout{width:calc(100% - 32px)}
.position-heading{padding-top:18px;padding-bottom:22px}
.position-heading h1{font-size:28px}
.position-page .position-layout{padding-top:18px}
.position-panel,.application-card{padding:22px 20px;margin-bottom:16px;border-radius:11px}
.panel-heading{gap:10px;padding-bottom:16px;margin-bottom:16px}
.panel-heading h2{font-size:22px}
.panel-caption{display:none}
.application-fields{grid-template-columns:1fr;gap:18px}
.application-upload input[type=file]{padding:14px 10px;font-size:13px}
.application-upload input::file-selector-button{padding:8px 12px;margin-right:8px}
.apply-submit{width:100%}
.position-prose{line-height:1.95}
}
@media(prefers-reduced-motion:reduce){.application-field input{transition:none}}
