/* ============================================================
   加入我们 · join.html
   同框架：homepage-v3 + about-page
   ============================================================ */

/* ---------- 职位卡片（Maersk People Stories 风格） ---------- */
.job-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

.job-card {
  position: relative;
  display: flex;
  flex-direction: column;
  padding: 24px;
  background: #fff;
  border: 1px solid #eaeaea;
  transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}

.job-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 30px -10px rgba(0,0,0,.08);
  border-color: #d0d0d0;
}

.job-tag {
  font-size: 12px;
  font-weight: 400;
  color: var(--text-muted);
  letter-spacing: .06em;
  text-transform: uppercase;
  margin-bottom: 12px;
}

.job-title {
  font-family: 'MiSans','HarmonyOS Sans SC','Microsoft YaHei',sans-serif;
  font-size: 18px;
  font-weight: 400;
  color: var(--gray-900);
  line-height: 1.4;
  margin-bottom: 16px;
}

.job-desc {
  font-size: 14px;
  color: var(--text-body);
  line-height: 1.7;
  margin-bottom: 20px;
  flex-grow: 1;
}

.job-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: 16px;
  border-top: 1px solid #f0f0f0;
}

.job-link {
  font-size: 13px;
  color: var(--primary);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition: gap .2s ease;
}

.job-link::after {
  content: '\2192';
}

.job-link:hover {
  gap: 10px;
}

/* ---------- 职位区块头部 ---------- */
.job-section-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: 48px;
  flex-wrap: wrap;
  gap: 16px;
}

.job-section-head .section-title-wrap {
  flex: 1;
}

.job-section-head .eyebrow {
  font-size: 12px;
  font-weight: 400;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--text-muted);
  margin-bottom: 8px;
}

.job-section-head h2 {
  font-size: var(--fs-3xl);
  font-weight: 400;
  color: var(--gray-900);
  line-height: 1.2;
}

.job-section-head .btn-outline {
  background: transparent;
  border: 1px solid var(--border);
  color: var(--gray-700);
  padding: 10px 20px;
  font-size: 14px;
  border-radius: 0;
  transition: all .25s ease;
  text-decoration: none;
  display: inline-block;
}

.job-section-head .btn-outline:hover {
  border-color: var(--primary);
  color: var(--primary);
}

@media (max-width: 992px) {
  .job-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 576px) {
  .job-grid { grid-template-columns: 1fr; }
  .job-section-head { flex-direction: column; align-items: flex-start; }
}
