@charset "utf-8";

/* ============================================================
   加入我们 · 左右结构新版（jobs.html 专属）
   ============================================================ */
:root{ --ink:#0b0f17; --brand:#2f6bff; --grad:linear-gradient(120deg,#2f6bff,#7c5cff); --muted:#6a7283; --soft:#f6f7f9; --line:#eceef2; }
.jobs-body{ font-family:"PingFang SC","Microsoft YaHei",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif; color:var(--ink); background:#fff; -webkit-font-smoothing:antialiased; }
.jobs-body *{ box-sizing:border-box; }
.jobs-body a{ text-decoration:none; }
.jw{ max-width:none; margin:0 auto; padding:0 5vw; }

/* ================= HERO · 全屏左右结构 ================= */
.jobs-hero{ min-height:100vh; display:flex; align-items:center; position:relative; overflow:hidden; background:#fff; }
.jobs-hero::before{ content:""; position:absolute; width:520px; height:520px; border-radius:50%; background:radial-gradient(circle,rgba(47,107,255,.16),transparent 70%); top:-160px; left:-140px; filter:blur(40px); }
.jobs-hero::after{ content:""; position:absolute; width:460px; height:460px; border-radius:50%; background:radial-gradient(circle,rgba(124,92,255,.14),transparent 70%); bottom:-140px; right:-120px; filter:blur(40px); }
.jobs-hero__inner{ width:100%; max-width:none; margin:0 auto; padding:0 5vw; display:grid; grid-template-columns:1.15fr .85fr; gap:60px; align-items:center; position:relative; z-index:2; }
.jobs-kicker{ display:flex; align-items:center; gap:14px; font-size:12px; letter-spacing:.32em; text-transform:uppercase; font-weight:700; color:var(--brand); }
.jobs-kicker span{ width:34px; height:1.5px; background:var(--brand); }
.jobs-hero__title{ font-size:clamp(40px,5.6vw,70px); line-height:1.12; font-weight:800; letter-spacing:1px; margin:30px 0 24px; color:var(--ink); }
.jobs-hero__title span{ color:transparent; background:var(--grad); -webkit-background-clip:text; background-clip:text; }
.jobs-hero__desc{ font-size:clamp(15px,1.6vw,18px); line-height:2; color:var(--muted); max-width:540px; margin:0 0 36px; }
.jobs-hero__actions{ display:flex; gap:14px; flex-wrap:wrap; }
.jobs-btn{ display:inline-flex; align-items:center; gap:8px; padding:16px 32px; border-radius:6px; font-size:15px; font-weight:600; transition:.3s; }
.jobs-btn--solid{ color:#fff; background:var(--grad); box-shadow:0 16px 32px -12px rgba(47,107,255,.5); }
.jobs-btn--solid:hover{ transform:translateY(-2px); box-shadow:0 22px 40px -12px rgba(47,107,255,.6); }
.jobs-btn--ghost{ color:var(--brand); border:1px solid var(--brand); background:transparent; }
.jobs-btn--ghost:hover{ background:var(--brand); color:#fff; }
.jobs-hero__right{ position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:420px; }
.jobs-hero__num{ font-size:clamp(110px,15vw,200px); font-weight:800; line-height:.9; color:transparent; background:var(--grad); -webkit-background-clip:text; background-clip:text; position:relative; z-index:2; }
.jobs-hero__label{ font-size:14px; letter-spacing:.24em; text-transform:uppercase; color:var(--muted); margin-top:8px; position:relative; z-index:2; }
.jobs-hero__ring{ position:absolute; width:340px; height:340px; border:1px solid var(--line); border-radius:50%; top:50%; left:50%; transform:translate(-50%,-50%); }
.jobs-hero__ring::before,.jobs-hero__ring::after{ content:""; position:absolute; border-radius:50%; }
.jobs-hero__ring::before{ inset:64px; border:1px dashed var(--line); }
.jobs-hero__ring::after{ inset:130px; background:rgba(47,107,255,.06); }

/* ================= 数据条 ================= */
.jobs-stats{ background:var(--ink); padding:60px 0; }
.jobs-stats__grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.jobs-stat{ text-align:center; padding:6px; }
.jobs-stat__num{ font-size:clamp(36px,4vw,52px); font-weight:800; color:#fff; line-height:1; display:inline-flex; align-items:baseline; }
.jobs-stat__num em{ font-style:normal; font-size:.5em; font-weight:700; color:#7c8cff; margin-left:4px; }
.jobs-stat__label{ margin-top:12px; font-size:13px; letter-spacing:.12em; color:rgba(255,255,255,.6); }

/* ================= 团队文化 · 左右结构 ================= */
.jobs-culture{ padding:110px 0; background:#fff; }
.jobs-culture__inner{ display:grid; grid-template-columns:1.05fr .95fr; gap:70px; align-items:center; }
.jobs-culture__kicker{ display:flex; align-items:center; gap:14px; font-size:12px; letter-spacing:.32em; text-transform:uppercase; font-weight:700; color:var(--brand); }
.jobs-culture__kicker span{ width:34px; height:1.5px; background:var(--brand); }
.jobs-culture__title{ font-size:clamp(30px,3.4vw,46px); line-height:1.28; font-weight:800; letter-spacing:.5px; margin:24px 0 22px; color:var(--ink); }
.jobs-culture__title em{ font-style:normal; color:var(--brand); }
.jobs-culture__text p{ font-size:15.5px; line-height:2; color:var(--muted); margin:0 0 18px; }
.jobs-culture__sign{ display:flex; align-items:center; gap:16px; margin-top:30px; padding-top:26px; border-top:1px solid var(--line); }
.jobs-culture__sign-mark{ font-size:15px; font-weight:800; color:var(--brand); }
.jobs-culture__sign-sub{ font-size:13px; color:var(--muted); letter-spacing:.04em; }
.jobs-culture__right{ display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.jobs-culture__card{ border:1px solid var(--line); border-radius:14px; padding:34px 28px; background:#fff; transition:.35s; }
.jobs-culture__card:hover{ box-shadow:0 24px 60px rgba(20,30,60,.1); transform:translateY(-4px); }
.jobs-culture__ico{ width:52px; height:52px; border-radius:12px; background:var(--grad); color:#fff; display:flex; align-items:center; justify-content:center; font-size:20px; margin-bottom:20px; box-shadow:0 12px 26px rgba(47,107,255,.28); }
.jobs-culture__card h4{ font-size:19px; font-weight:800; color:var(--ink); margin:0 0 10px; }
.jobs-culture__card p{ font-size:13.5px; line-height:1.85; color:var(--muted); margin:0; }

/* ================= 招聘流程 · 左右结构 ================= */
.jobs-welfare{ padding:110px 0; background:var(--soft); }
.jobs-welfare__inner{ display:grid; grid-template-columns:.9fr 1.1fr; gap:70px; align-items:center; }
.jobs-kicker{ display:flex; align-items:center; gap:14px; font-size:12px; letter-spacing:.32em; text-transform:uppercase; font-weight:700; color:var(--brand); }
.jobs-kicker span{ width:34px; height:1.5px; background:var(--brand); }
.jobs-welfare__title{ font-size:clamp(30px,3.4vw,46px); line-height:1.28; font-weight:800; letter-spacing:.5px; margin:24px 0 22px; color:var(--ink); }
.jobs-welfare__title em{ font-style:normal; color:var(--brand); }
.jobs-welfare__text p{ font-size:15.5px; line-height:2; color:var(--muted); margin:0 0 18px; }
.jobs-welfare__btn{ margin-top:16px; }
.jobs-welfare__grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.jobs-welfare__item{ background:#fff; border:1px solid var(--line); border-radius:14px; padding:30px 22px; text-align:center; transition:.35s; }
.jobs-welfare__item:hover{ border-color:var(--brand); box-shadow:0 20px 50px rgba(20,30,60,.1); transform:translateY(-4px); }
.jobs-welfare__item i{ font-size:30px; color:var(--brand); margin-bottom:16px; display:block; }
.jobs-welfare__item b{ display:block; font-size:16px; font-weight:700; color:var(--ink); margin-bottom:8px; }
.jobs-welfare__item span{ font-size:12.5px; color:var(--muted); line-height:1.7; display:block; }
/* 招聘流程：2 列 + 序号 */
.jobs-welfare__grid--flow{ grid-template-columns:repeat(2,1fr); counter-reset:flow; }
.jobs-welfare__grid--flow .jobs-welfare__item{ position:relative; text-align:left; padding:34px 28px; overflow:hidden; counter-increment:flow; }
.jobs-welfare__grid--flow .jobs-welfare__item::after{ content:"0" counter(flow); position:absolute; right:-6px; bottom:-18px; font-size:96px; font-weight:800; color:rgba(47,107,255,.08); line-height:1; }
.jobs-welfare__grid--flow .jobs-welfare__item i{ font-size:24px; margin-bottom:18px; display:inline-flex; width:50px; height:50px; align-items:center; justify-content:center; border-radius:12px; background:var(--grad); color:#fff; box-shadow:0 12px 26px rgba(47,107,255,.28); }
.jobs-welfare__grid--flow .jobs-welfare__item b{ font-size:18px; margin-bottom:12px; }
.jobs-welfare__grid--flow .jobs-welfare__item span{ font-size:13.5px; line-height:1.85; }

/* ================= 招聘岗位 · 左右结构 ================= */
.jobs-posts{ padding:110px 0; background:#fff; }
.jobs-posts__inner{ display:grid; grid-template-columns:.92fr 1.08fr; gap:64px; align-items:start; }
.jobs-posts__side{ position:sticky; top:100px; }
.jobs-posts__side h2{ font-size:clamp(30px,3.4vw,46px); line-height:1.28; font-weight:800; letter-spacing:.5px; margin:24px 0 18px; color:var(--ink); }
.jobs-posts__side p{ font-size:15.5px; line-height:2; color:var(--muted); margin:0 0 22px; }
.jobs-posts__mail{ display:inline-flex; align-items:center; gap:12px; padding:16px 26px; border-radius:8px; background:#0f1526; color:#ffffff !important; font-size:15px; font-weight:700; letter-spacing:.02em; transition:.3s; box-shadow:0 12px 30px rgba(20,30,60,.2); }
.jobs-posts__mail i{ color:#7c8cff; }
.jobs-posts__mail:hover{ background:var(--brand); color:#fff !important; transform:translateY(-2px); }
.jobs-posts__list{ display:flex; flex-direction:column; gap:22px; }
/* content 正文排版（职位卡片化） */
.jobs-posts__list p{ font-size:14.5px; line-height:2; color:var(--muted); margin:0 0 14px; }
.jobs-posts__list strong{ color:var(--ink); font-weight:800; }
.jobs-posts__list strong:first-child{
    display:block; font-size:22px; font-weight:800; color:var(--ink); padding:22px 26px;
    background:linear-gradient(90deg,rgba(47,107,255,.08),transparent); border-left:4px solid var(--brand);
    border-radius:8px; margin:0 0 18px;
}

/* ================= CTA ================= */
.jobs-cta{ padding:120px 0; background:var(--ink); text-align:center; }
.jobs-cta__inner{ max-width:900px; margin:0 auto; padding:0 32px; }
.jobs-cta__title{ font-size:clamp(28px,3.6vw,46px); line-height:1.3; font-weight:800; color:#fff; margin:0 0 16px; }
.jobs-cta__sub{ font-size:17px; color:rgba(255,255,255,.68); margin:0 0 40px; }
.jobs-cta__actions{ display:flex; gap:16px; justify-content:center; flex-wrap:wrap; }
.jobs-cta .jobs-btn--ghost{ color:#fff; border:1px solid rgba(255,255,255,.45); }
.jobs-cta .jobs-btn--ghost:hover{ border-color:#fff; background:transparent; }

/* ================= 快捷导航（沿用 abt-quick） ================= */
.jobs-body .abt-quick{ padding:24px 0; }

/* ================= 响应式 ================= */
@media (max-width:1080px){
    .jobs-culture__inner,.jobs-welfare__inner,.jobs-posts__inner{ grid-template-columns:1fr; }
    .jobs-posts__side{ position:static; }
    .jobs-welfare__grid{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:980px){
    .jobs-hero__inner{ grid-template-columns:1fr; text-align:center; }
    .jobs-hero__right{ min-height:auto; margin-top:10px; }
    .jobs-hero__desc{ margin-left:auto; margin-right:auto; }
    .jobs-hero__actions{ justify-content:center; }
    .jobs-hero__ring{ display:none; }
}
@media (max-width:640px){
    .jobs-culture__right,.jobs-welfare__grid,.jobs-welfare__grid--flow{ grid-template-columns:1fr; }
    .jobs-stats__grid{ grid-template-columns:repeat(2,1fr); }
    .jobs-posts__job{ flex-direction:column; align-items:flex-start; }
    .jobs-cta{ padding:80px 0; }
}
/* 区块默认可见，避免「不滚动就不显示」的隐藏问题 */
.reveal-sec{ opacity:1; transform:none; }
