.jobs-page { background:#f7faf8; color:#173a2a; }
.jobs-page .site-header { background:#fff; }
.jobs-page button,.jobs-page input,.jobs-page textarea { font:inherit; }
.jobs-eyebrow { margin:0 0 .65rem; color:#168548; font-size:.76rem; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.jobs-hero { overflow:hidden; border-bottom:1px solid #dce9df; background:radial-gradient(circle at 86% 18%,rgba(121,202,152,.19),transparent 32%),linear-gradient(130deg,#f7fbf8 5%,#eaf5ee 100%); }
.jobs-hero-inner { display:grid; grid-template-columns:minmax(0,1fr) 260px; gap:clamp(1.5rem,5vw,5rem); align-items:center; padding:clamp(2.6rem,5vw,4.5rem) 0; }
.jobs-hero h1 { max-width:770px; margin:0 0 1rem; font-family:Arial,Helvetica,sans-serif; font-size:clamp(1.85rem,2.9vw,2.55rem); line-height:1.18; letter-spacing:-.035em; color:#0e3525; }
.jobs-hero p:not(.jobs-eyebrow) { max-width:670px; margin:0; color:#496456; line-height:1.7; font-size:1rem; }
.jobs-hero-note { display:grid; gap:.8rem; padding:1.45rem; border:1px solid #cbded0; border-radius:20px; background:rgba(255,255,255,.8); box-shadow:0 15px 38px rgba(14,59,36,.07); }
.jobs-hero-note .jobs-note-icon { display:grid; place-items:center; width:38px; height:38px; border-radius:12px; background:#e4f5e8; color:#118545; font-size:1.45rem; }
.jobs-hero-note strong { font-size:1.03rem; line-height:1.35; }
.jobs-hero-note span:last-child { color:#53695b; line-height:1.55; font-size:.9rem; }
.jobs-openings { padding:clamp(2.5rem,4.5vw,4.4rem) 0 clamp(3rem,5vw,5rem); }
.jobs-section-heading { display:flex; align-items:end; justify-content:space-between; gap:1.5rem; margin-bottom:1.35rem; }
.jobs-section-heading h2,.jobs-process h2 { margin:0 0 .5rem; color:#123927; font-family:Arial,Helvetica,sans-serif; font-size:clamp(1.5rem,2.25vw,1.95rem); letter-spacing:-.025em; }
.jobs-section-heading p:last-child { max-width:680px; margin:0; color:#5a7062; line-height:1.6; font-size:.96rem; }
.jobs-refresh,.jobs-refresh-question { align-self:center; border:1px solid #b8d1c1; border-radius:999px; padding:.65rem 1rem; color:#155b35; background:#fff; font-weight:700; cursor:pointer; white-space:nowrap; }
.jobs-refresh:hover,.jobs-refresh-question:hover { border-color:#20964c; background:#edf8f0; }
.jobs-count { min-height:1.3rem; margin:0 0 1rem; color:#526d5c; font-size:.88rem; font-weight:700; }
.jobs-list { display:grid; gap:1rem; }
.jobs-card { display:grid; grid-template-columns:minmax(0,1fr) 270px; gap:clamp(1.5rem,3vw,2.5rem); padding:clamp(1.25rem,2.4vw,2rem); border:1px solid #c9dfce; border-left:5px solid #21a552; border-radius:18px; background:#fff; box-shadow:0 12px 30px rgba(21,66,39,.06); }
.jobs-card.is-closed { border-left-color:#a7b7ab; background:#fbfcfb; }
.jobs-card h3 { margin:.65rem 0 .55rem; color:#113827; font-size:1.35rem; line-height:1.3; letter-spacing:-.02em; }
.jobs-card p { margin:.45rem 0 0; color:#4f6557; line-height:1.65; }
.jobs-card-intro { white-space:pre-line; }
.jobs-full-description { margin-top:.6rem; }
.jobs-full-description summary { width:max-content; color:#147c40; font-size:.88rem; font-weight:800; cursor:pointer; text-decoration:underline; text-underline-offset:3px; }
.jobs-full-description p { margin:.7rem 0 0; padding:1rem; border-radius:10px; background:#f5faf6; }
.jobs-card-topline { display:flex; flex-wrap:wrap; gap:.55rem; align-items:center; }
.jobs-badge { display:inline-flex; align-items:center; border-radius:999px; padding:.34rem .7rem; font-size:.76rem; font-weight:800; letter-spacing:.01em; }
.jobs-badge.open { color:#0c7135; background:#e7f7eb; }
.jobs-badge.closed { color:#5b6960; background:#e9eeea; }
.jobs-badge.type { color:#235a73; background:#eaf4f8; }
.jobs-requirements { margin-top:1.25rem; padding-top:1.15rem; border-top:1px solid #e5eee7; }
.jobs-requirements h4 { margin:0 0 .75rem; color:#163b29; font-size:.95rem; }
.jobs-requirements ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.45rem 1.25rem; margin:0; padding:0; list-style:none; }
.jobs-requirements li { position:relative; padding-left:1.35rem; color:#4b6152; line-height:1.5; font-size:.9rem; }
.jobs-requirements li::before { content:'✓'; position:absolute; left:0; color:#159347; font-weight:900; }
.jobs-preference { margin-top:1rem !important; font-size:.9rem; }
.jobs-preference strong { color:#173b29; }
.jobs-extra { margin-top:.65rem !important; white-space:pre-line; font-size:.9rem; }
.jobs-card-side { display:flex; flex-direction:column; gap:.9rem; padding:1.15rem; border-radius:13px; background:#f3f9f5; align-self:start; }
.jobs-card.is-closed .jobs-card-side { background:#f0f3f1; }
.jobs-fact { display:grid; gap:.2rem; padding-bottom:.85rem; border-bottom:1px solid #dceade; }
.jobs-fact:last-of-type { border-bottom:0; padding-bottom:0; }
.jobs-fact span { color:#63796a; font-size:.75rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.jobs-fact strong { color:#173c29; font-size:.98rem; line-height:1.35; }
.jobs-apply { width:100%; justify-content:center; margin-top:.3rem; border-radius:10px !important; }
.jobs-closed-note { margin:.25rem 0 0 !important; color:#66766b !important; font-size:.86rem; }
.jobs-empty { border:1px dashed #bdd5c3; border-radius:18px; padding:2rem; background:#fff; }
.jobs-empty h3 { margin:0 0 .45rem; font-size:1.15rem; }
.jobs-empty p { margin:0; color:#617568; }
.jobs-process { border-top:1px solid #dce9df; background:#eef6f0; }
.jobs-process-inner { display:grid; grid-template-columns:290px minmax(0,1fr); gap:2rem; padding:clamp(2.2rem,4vw,3.3rem) 0; }
.jobs-process-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.jobs-process-steps p { margin:0; padding:1rem 1.15rem; border:1px solid #d4e4d8; border-radius:13px; background:#fff; color:#557060; line-height:1.55; font-size:.9rem; }
.jobs-process-steps strong { display:block; color:#185d34; margin-bottom:.4rem; }
.jobs-dialog { width:min(710px,calc(100% - 2rem)); max-height:min(90vh,900px); padding:0; border:1px solid #c8ddce; border-radius:18px; box-shadow:0 30px 100px rgba(0,24,12,.28); background:#fff; color:#183b2a; }
.jobs-dialog::backdrop { background:rgba(7,32,18,.66); backdrop-filter:blur(3px); }
.jobs-dialog-header { position:sticky; top:0; z-index:2; display:flex; justify-content:space-between; align-items:start; gap:1rem; padding:1.4rem 1.7rem 1.1rem; border-bottom:1px solid #e1ebe3; background:#fff; }
.jobs-dialog-header h2 { margin:0; font-size:1.35rem; line-height:1.3; }
.jobs-dialog-close { width:36px; height:36px; border:1px solid #d5e3d8; border-radius:10px; background:#f6faf7; color:#315740; font-size:1.5rem; line-height:1; cursor:pointer; }
.jobs-dialog [data-job-form-wrap] { padding:1.35rem 1.7rem 1.7rem; }
.jobs-form-intro { margin:0 0 1.1rem; color:#5b705f; font-size:.9rem; }
.jobs-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.jobs-field { display:grid; gap:.42rem; min-width:0; }
.jobs-field-wide { grid-column:1 / -1; }
.jobs-field label { color:#254632; font-size:.9rem; font-weight:750; }
.jobs-optional { font-weight:500; color:#738678; font-size:.8rem; }
.jobs-field input:not([type=file]),.jobs-field textarea { width:100%; border:1.5px solid #aecab5; border-radius:10px; padding:.75rem .85rem; background:#f8fbf8; color:#173b29; outline:none; }
.jobs-field input[type=file] { width:100%; padding:.7rem; border:1.5px dashed #9dbfa8; border-radius:10px; background:#f7faf7; color:#355f43; }
.jobs-field input:focus,.jobs-field textarea:focus { border-color:#188e48; box-shadow:0 0 0 3px rgba(28,151,76,.13); }
.jobs-field small { color:#687d6e; line-height:1.45; }
.jobs-security { display:grid; grid-template-columns:minmax(0,1fr) 170px auto; gap:1rem; align-items:end; margin:1.3rem 0; padding:1rem; border-radius:12px; background:#eef7f0; }
.jobs-security > div:first-child { display:grid; gap:.25rem; align-self:center; font-size:.87rem; }
.jobs-security > div:first-child span { color:#657a6a; }
.jobs-consent { display:flex; gap:.65rem; align-items:start; color:#4f6756; font-size:.87rem; line-height:1.5; }
.jobs-consent input { width:18px; height:18px; flex:0 0 18px; margin-top:.12rem; accent-color:#159548; }
.jobs-consent a { color:#0c7939; text-decoration:underline; }
.jobs-response-note { margin:.9rem 0; color:#6a7a6d; font-size:.83rem; line-height:1.5; }
.jobs-form-status { min-height:1.4rem; margin:.4rem 0 .8rem; color:#a62e21; font-size:.87rem; font-weight:700; }
.jobs-form-actions { display:flex; gap:.75rem; flex-wrap:wrap; }
.jobs-form-actions .button { border-radius:10px; }
.jobs-secondary-button { border:1px solid #bcd0c1; border-radius:10px; padding:.75rem 1.2rem; background:#fff; color:#2f5c40; font-weight:700; cursor:pointer; }
.jobs-success { padding:2rem 1.7rem 2.3rem; text-align:center; }
.jobs-success[hidden],.jobs-dialog [hidden] { display:none !important; }
.jobs-success-mark { display:grid; place-items:center; width:52px; height:52px; margin:0 auto .7rem; border-radius:50%; background:#e4f7e9; color:#168842; font-size:1.6rem; font-weight:800; }
.jobs-success h3 { margin:.3rem 0 .55rem; font-size:1.3rem; }
.jobs-success p { max-width:510px; margin:0 auto 1.25rem; color:#5e7263; line-height:1.6; }
.jobs-page .honeypot { position:absolute !important; left:-10000px !important; width:1px !important; height:1px !important; opacity:0 !important; }
@media (max-width:780px) {
  .jobs-hero-inner,.jobs-process-inner,.jobs-card { grid-template-columns:1fr; }
  .jobs-hero-note { display:none; }
  .jobs-hero-inner { padding:2.25rem 0; }
  .jobs-card-side { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:start; }
  .jobs-fact { border:0; padding:0; }
  .jobs-card-side .jobs-apply,.jobs-closed-note { grid-column:1 / -1; }
  .jobs-process-steps { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:560px) {
  .jobs-section-heading { align-items:start; flex-direction:column; }
  .jobs-requirements ul,.jobs-form-grid,.jobs-process-steps { grid-template-columns:1fr; }
  .jobs-card { padding:1.15rem; }
  .jobs-card-side { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .jobs-fact:last-of-type { grid-column:1 / -1; }
  .jobs-dialog { width:calc(100% - 1rem); max-height:94vh; }
  .jobs-dialog-header,.jobs-dialog [data-job-form-wrap] { padding-left:1.05rem; padding-right:1.05rem; }
  .jobs-security { grid-template-columns:1fr auto; }
  .jobs-security > div:first-child { grid-column:1 / -1; }
  .jobs-security .jobs-field { min-width:0; }
  .jobs-security .jobs-refresh-question { padding:.75rem; }
  .jobs-form-actions .button { flex:1 1 auto; }
}
