/* MARENC careers: uses the site's own tokens (--navy, --teal-text, --line, --mist, --ink) */
.careers-root{ display:block; }

/* banner */
.career-banner{ height:auto !important; min-height:500px; padding:84px 0; }
.career-banner h1{ color:#fff; max-width:860px; font-size:clamp(40px,4.8vw,68px); letter-spacing:-.04em; line-height:1.04; }
.career-banner .lead{ color:#dbe8ee; max-width:660px; margin-top:26px; }
.career-actions{ margin-top:34px; display:flex; gap:14px; flex-wrap:wrap; }

/* listing */
.job-head{ display:flex; align-items:end; justify-content:space-between; gap:24px; flex-wrap:wrap; margin-bottom:28px; }
.job-head .section-heading h2{ margin-bottom:0; }
.job-count{ margin:0; color:var(--ink); font-size:16px; }
.job-count strong{ color:var(--navy); font-size:28px; letter-spacing:-.02em; margin-right:4px; }

.job-filters{ display:grid; grid-template-columns:minmax(260px,420px) 1fr; gap:18px 28px; align-items:center; padding:20px 0 26px; border-bottom:1px solid var(--line); }
.job-filters .search-field{ grid-column:auto; }
.job-chips{ display:flex; flex-wrap:wrap; gap:10px; }
.chip{
  font:inherit; font-size:14px; font-weight:700; color:var(--navy); background:#fff;
  border:1px solid #a3b3bd; border-radius:999px; padding:10px 18px; min-height:44px; cursor:pointer;
  transition:background .16s,border-color .16s,color .16s;
}
.chip:hover{ border-color:var(--teal-text); color:var(--teal-text); }
.chip.is-active{ background:var(--navy); border-color:var(--navy); color:#fff; }
.chip:focus-visible{ outline:3px solid #7dd7cf; outline-offset:2px; }

.job-list{ list-style:none; margin:0; padding:0; }
.job-item[hidden]{ display:none; }
.job-item{ border-bottom:1px solid var(--line); }
.job-row{
  display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,1.1fr) auto; align-items:center; gap:18px 36px;
  padding:30px 14px; color:var(--navy); position:relative; transition:background .22s;
}
.job-row::before{
  content:""; position:absolute; inset-block:0; inset-inline-start:0; width:3px; background:linear-gradient(#008c82,#0faedd);
  transform:scaleY(0); transform-origin:50% 0; transition:transform .3s;
}
.job-row:hover, .job-row:focus-visible{ background:var(--mist); }
.job-row:hover::before, .job-row:focus-visible::before{ transform:scaleY(1); }
.job-fn{ display:block; letter-spacing:.12em; text-transform:uppercase; font-size:12px; font-weight:700; color:var(--teal-text); margin-bottom:10px; }
.job-row h3{ font-size:clamp(22px,2.1vw,29px); letter-spacing:-.025em; margin:0; }
.job-sub{ margin:8px 0 0; color:var(--ink); font-size:16px; }
.job-facts{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:9px; color:var(--ink); font-size:15px; }
.job-facts li{ display:flex; align-items:center; gap:10px; }
.job-facts svg{ color:var(--teal-text); flex:none; }
.job-cta{ display:inline-flex; align-items:center; gap:10px; font-weight:700; font-size:15px; border-bottom:1px solid var(--teal); padding-bottom:3px; white-space:nowrap; }
.job-cta svg{ transition:transform .25s; }
.job-row:hover .job-cta svg{ transform:translateX(5px); }
[dir=rtl] .job-row:hover .job-cta svg{ transform:translateX(-5px); }
.job-empty{ padding:36px 0; color:var(--ink); font-size:17px; }

.career-values{ display:grid; grid-template-columns:repeat(3,1fr); gap:32px; margin-top:40px; }
.career-values article{ border-top:1px solid #c6d5da; padding-top:22px; }
.career-values h3{ margin:10px 0 12px; }
.career-values p{ color:var(--ink); margin:0; }

.career-apply{ gap:10px; margin-top:28px; }
.career-mail-link{ color:var(--navy); font-weight:700; border-bottom:1px solid var(--teal); }
.career-mail-link:hover{ color:var(--teal-text); }

/* detail */
.career-hero h1{ max-width:980px; }
.job-facts-hero{ flex-direction:row; flex-wrap:wrap; gap:12px 32px; margin-top:30px; color:var(--ink); font-size:16px; font-weight:600; }
.job-facts-hero svg{ color:var(--teal-text); }

.job-layout{ display:grid; grid-template-columns:minmax(0,1fr) 380px; gap:64px; align-items:start; }
.job-body > .lead{ max-width:none; margin-top:0; }
.job-body p{ max-width:760px; }
.job-body h2{ font-size:clamp(26px,2.4vw,34px); margin:52px 0 20px; }
.job-bullets{ margin:0; padding:0; list-style:none; max-width:780px; }
.job-bullets > li{ position:relative; padding:12px 0 12px 26px; border-top:1px solid #dbe5e8; color:var(--ink); font-size:17px; line-height:1.6; }
.job-bullets > li:last-child{ border-bottom:1px solid #dbe5e8; }
.job-bullets > li::before{ content:""; position:absolute; inset-inline-start:2px; top:21px; width:9px; height:9px; border-radius:2px; background:linear-gradient(135deg,#008c82,#0faedd); }
[dir=rtl] .job-bullets > li{ padding:12px 26px 12px 0; }
.job-bullets ul{ list-style:none; margin:10px 0 4px; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:6px 24px; }
.job-bullets ul li{ font-size:15.5px; padding-inline-start:16px; position:relative; }
.job-bullets ul li::before{ content:"–"; position:absolute; inset-inline-start:0; color:var(--teal-text); }
.job-note{ margin:28px 0 12px; font-weight:700; color:var(--navy); }
.job-highlight{ margin-top:34px; padding:22px 26px; border-inline-start:4px solid var(--teal-text); background:var(--mist); color:var(--navy); font-size:18px; line-height:1.6; }

.job-aside{ position:sticky; top:132px; display:flex; flex-direction:column; gap:6px; }
.job-apply-card{ border:1px solid #d7e2e5; border-top:3px solid var(--blue); background:#fff; padding:30px 28px 32px; box-shadow:0 24px 44px -34px #04204a66; }
.job-apply-card .eyebrow{ margin-bottom:16px; }
.job-apply-card h3{ font-size:20px; margin:26px 0 10px; }
.job-apply-card p{ font-size:15.5px; color:var(--ink); margin:0 0 10px; }
.job-dl{ margin:0; }
.job-dl > div{ padding:12px 0; border-top:1px solid #e0e9eb; }
.job-dl dt{ font-size:12px; letter-spacing:.1em; text-transform:uppercase; font-weight:700; color:var(--teal-text); }
.job-dl dd{ margin:4px 0 0; color:var(--navy); font-weight:600; font-size:15.5px; }
.job-bullets-tight > li{ font-size:15px; padding:9px 0 9px 24px; }
.job-bullets-tight > li::before{ top:17px; }
.job-apply-card .career-apply{ width:100%; }
.job-aside-note{ margin-top:14px !important; font-size:13.5px !important; }

@media (max-width:1100px){
  .job-layout{ grid-template-columns:1fr; gap:44px; }
  .job-aside{ position:static; }
}
@media (max-width:900px){
  .job-row{ grid-template-columns:1fr; gap:16px; padding:26px 6px; }
  .job-facts{ flex-direction:row; flex-wrap:wrap; gap:8px 22px; }
  .job-filters{ grid-template-columns:1fr; }
  .career-values{ grid-template-columns:1fr; gap:26px; }
  .job-bullets ul{ grid-template-columns:1fr; }
  .career-banner{ min-height:440px; padding:60px 0; }
}

.career-h1-sub{ display:block; margin-top:16px; font-size:.46em; font-weight:500; letter-spacing:-.01em; line-height:1.2; color:var(--teal-text); }
