:root {
  --ems-blue: #2f8fbf;
  --ems-green: #4caf7d;
  --ems-dark: #1f2d3a;
  --ems-bg: #f6f8f9;
  --ems-card: #ffffff;
  --ems-border: #e2e8ec;
}
* { box-sizing: border-box; }
body { margin:0; font-family:"Segoe UI",Arial,sans-serif; background:var(--ems-bg); color:var(--ems-dark); line-height:1.55; }
header.site-header { background:#fff; border-bottom:1px solid var(--ems-border); padding:20px 24px; }
.logo { font-size:28px; font-weight:700; text-decoration:none; }
.logo .ems { color:var(--ems-blue); }
.logo .work { color:var(--ems-green); }
.logo-sub { display:block; font-size:12px; font-weight:400; color:#7a8a94; letter-spacing:1px; margin-top:2px; }
main { max-width:860px; margin:0 auto; padding:32px 20px 60px; }
h1 { font-size:26px; margin:0 0 6px; }
.intro { color:#55636c; margin-bottom:28px; }
.job-list { display:grid; gap:14px; }
.job-card { display:block; background:var(--ems-card); border:1px solid var(--ems-border); border-radius:10px; padding:18px 20px; text-decoration:none; color:inherit; transition: box-shadow .15s ease, border-color .15s ease; }
.job-card:hover { box-shadow:0 4px 14px rgba(31,45,58,0.08); border-color:var(--ems-blue); }
.job-card h2 { font-size:18px; margin:0 0 6px; color:var(--ems-dark); }
.job-meta { font-size:14px; color:#66757e; display:flex; flex-wrap:wrap; gap:10px; }
.job-meta span { white-space:nowrap; }
.back-link { display:inline-block; margin-bottom:18px; color:var(--ems-blue); text-decoration:none; font-size:14px; }
.back-link:hover { text-decoration:underline; }
.job-detail h1 { font-size:24px; margin-bottom:4px; }
.job-detail .subtitle { color:#55636c; margin-bottom:24px; font-size:15px; }
.job-body { background:var(--ems-card); border:1px solid var(--ems-border); border-radius:12px; padding:28px 30px; }
.job-body h2 { font-size:18px; margin:28px 0 10px; }
.job-body h2:first-child { margin-top:0; }
.job-body ul { margin:0 0 8px; padding-left:22px; }
.job-body li { margin-bottom:6px; }
.job-body p { margin:0 0 14px; }
.contact-box { margin-top:28px; padding-top:20px; border-top:1px dashed var(--ems-border); }
.contact-box p { margin:4px 0; }
.contact-box a { color:var(--ems-blue); text-decoration:none; }
.contact-box a:hover { text-decoration:underline; }
.cta-row { margin-top:18px; }
.cta-button { display:inline-block; background:var(--ems-blue); color:#fff; padding:12px 22px; border-radius:8px; text-decoration:none; font-weight:600; margin-right:10px; }
.cta-button.alt { background:var(--ems-green); }
footer.site-footer { text-align:center; color:#93a1a9; font-size:13px; padding:30px 20px 40px; }


.hero-banner { width:100%; margin:0; }
.hero-banner img { width:100%; height:auto; display:block; }
body { margin:0; }
.job-search { margin-bottom:14px; }
.job-search input { width:100%; padding:12px 16px; font-size:15px; border:1px solid var(--ems-border); border-radius:10px; background:var(--ems-card); color:var(--ems-dark); font-family:inherit; }
.job-search input:focus { outline:none; border-color:var(--ems-blue); }
.no-results { display:none; color:#66757e; padding:6px 0 20px; }
