:root { --company-ink:#122a49; --company-blue:#1769ff; --company-muted:#607087; --company-line:#dce5f0; --company-soft:#f5f8fc; }
.company-page { color:var(--company-ink); overflow:hidden; font-family:"PingFang SC","Microsoft YaHei",sans-serif; }
.company-hero { min-height:440px; display:flex; align-items:center; position:relative; overflow:hidden; color:#fff; background:linear-gradient(118deg,#082d6f,#0f55b2 60%,#2d79d8); }
.company-hero::after { content:""; position:absolute; width:580px; height:580px; right:-120px; top:-180px; border:1px solid rgba(255,255,255,.22); border-radius:50%; box-shadow:0 0 0 68px rgba(255,255,255,.06),0 0 0 136px rgba(255,255,255,.035); }
.company-hero-copy { position:relative; z-index:1; max-width:650px; padding:90px 0; }
.company-kicker { display:block; margin-bottom:12px; color:var(--company-blue); font-size:13px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.company-hero .company-kicker { color:#a9cbff; }
.company-hero h1,.company-section-head h2,.company-fallback h1 { margin:0; font-weight:800; line-height:1.22; }
.company-hero h1 { font-size:48px; }
.company-hero p { max-width:580px; margin:22px 0 0; color:rgba(255,255,255,.82); font-size:17px; line-height:1.9; }
.company-section { padding:88px 0; }
.company-section-soft { background:var(--company-soft); }
.company-section-head { max-width:720px; margin-bottom:38px; }
.company-section-head h2 { font-size:36px; }
.contact-card-grid,.benefit-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.contact-card,.benefit-card,.job-card { background:#fff; border:1px solid var(--company-line); border-radius:10px; box-shadow:0 10px 30px rgba(18,42,73,.06); }
.contact-card { min-height:228px; padding:30px; transition:transform .2s ease,box-shadow .2s ease; }
.contact-card:hover { transform:translateY(-4px); box-shadow:0 16px 36px rgba(18,42,73,.12); }
.contact-card-icon { display:inline-flex; margin-bottom:20px; color:var(--company-blue); font-size:27px; }
.contact-card-label,.benefit-card > span,.job-card-title span { display:block; margin-bottom:9px; color:var(--company-blue); font-size:13px; font-weight:700; }
.contact-card h3,.benefit-card h3,.job-card h3 { margin:0; color:var(--company-ink); font-weight:800; line-height:1.45; }
.contact-card h3 { font-size:19px; overflow-wrap:anywhere; }
.contact-card p,.benefit-card p,.job-card p { margin:13px 0 0; color:var(--company-muted); font-size:15px; line-height:1.8; white-space:pre-line; }
.contact-card a,.job-card a { display:inline-block; margin-top:18px; color:var(--company-blue); font-weight:700; text-decoration:none; }
.benefit-card { min-height:210px; padding:28px; border-top:3px solid var(--company-blue); }
.benefit-card .iconify { display:block; margin-bottom:20px; color:var(--company-blue); font-size:28px; }
.job-list { display:grid; gap:18px; }
.job-card { padding:28px 30px; border-left:4px solid var(--company-blue); }
.job-card-title { display:flex; align-items:baseline; gap:16px; flex-wrap:wrap; }
.job-card h3 { font-size:23px; }
.job-card-title span { margin:0; }
.company-fallback { padding:100px 0; }
@media (max-width:991.98px) { .contact-card-grid,.benefit-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:767.98px) { .company-hero { min-height:350px; } .company-hero-copy { padding:70px 0; } .company-hero h1 { font-size:36px; } .company-hero p { font-size:16px; } .company-section { padding:62px 0; } .company-section-head h2 { font-size:29px; } .contact-card-grid,.benefit-grid { grid-template-columns:1fr; } .contact-card,.benefit-card,.job-card { padding:24px; } }

/* 联系页沿用关于智能的轻盈留白与低对比几何背景。 */
.contact-page { background:linear-gradient(135deg,rgba(236,238,241,.8),rgba(255,255,255,.92)); }
.contact-reference-layout { position:relative; min-height:720px; padding:82px 0 72px; overflow:hidden; background:linear-gradient(135deg,rgba(255,255,255,.75),rgba(244,244,247,.9)); }
.contact-reference-layout::before { content:""; position:absolute; inset:0; opacity:.58; background:repeating-linear-gradient(45deg,transparent 0,transparent 50px,rgba(140,148,160,.11) 51px,transparent 53px); pointer-events:none; }
.contact-reference-layout::after { content:""; position:absolute; left:6%; bottom:-220px; width:410px; height:410px; border:1px solid rgba(98,108,119,.24); border-radius:50%; box-shadow:0 0 0 94px rgba(98,108,119,.035),0 0 0 188px rgba(98,108,119,.025); pointer-events:none; }
.contact-reference-layout .container { position:relative; z-index:1; }
.contact-reference-title { margin-left:6%; }
.contact-reference-title span { display:block; color:#2c2f34; font-size:42px; font-weight:300; letter-spacing:.01em; line-height:1.1; text-transform:uppercase; }
.contact-reference-title h1 { margin:12px 0 0; color:#30343a; font-size:17px; font-weight:400; }
.contact-reference-title p { max-width:440px; margin:16px 0 0; color:#70757d; font-size:14px; line-height:1.8; }
.contact-reference-grid { display:grid; grid-template-columns:260px minmax(360px,1fr) minmax(460px,1.18fr); gap:42px; align-items:center; margin-top:82px; }
.contact-reference-labels { display:grid; gap:104px; align-self:stretch; padding-top:18px; }
.contact-reference-labels strong,.contact-reference-labels span { display:block; color:#5e6268; font-size:16px; font-weight:400; line-height:1.5; }
.contact-reference-labels span { margin-top:6px; color:#767b83; font-size:15px; }
.contact-reference-details { padding:12px 0; color:#33363b; }
.contact-hours { font-size:52px; font-weight:300; letter-spacing:.02em; line-height:1.08; }
.contact-week { margin:14px 0 42px; color:#9a9da2; font-size:16px; }
.contact-phone,.contact-detail { margin:15px 0; color:#45494f; font-size:16px; letter-spacing:.02em; line-height:1.7; }
.contact-detail span { color:#30343a; }
.contact-detail small { display:block; margin-left:92px; color:#747981; font-size:14px; }
.contact-map-frame { height:364px; overflow:hidden; border:0; background:#e8edf0; box-shadow:0 18px 36px rgba(49,58,70,.08); }
.contact-map-frame iframe { display:block; width:100%; height:100%; border:0; filter:saturate(.78) contrast(.96); }
#contact-baidu-map { width:100%; height:100%; filter:saturate(.78) contrast(.96); }
@media (max-width:1199.98px) { .contact-reference-grid { grid-template-columns:190px minmax(300px,1fr) minmax(360px,1fr); gap:28px; } .contact-hours { font-size:44px; } }
@media (max-width:991.98px) { .contact-reference-layout { min-height:0; padding:70px 0; } .contact-reference-title { margin-left:0; } .contact-reference-grid { grid-template-columns:190px 1fr; margin-top:58px; } .contact-map-frame { grid-column:1 / -1; height:360px; } .contact-reference-labels { gap:58px; } }
@media (max-width:767.98px) { .contact-reference-layout { padding:54px 0 58px; } .contact-reference-title span { font-size:34px; } .contact-reference-grid { grid-template-columns:1fr; gap:28px; margin-top:42px; } .contact-reference-labels { grid-template-columns:1fr 1fr; gap:20px; padding:0; } .contact-reference-details { padding:0; } .contact-hours { font-size:39px; } .contact-week { margin-bottom:28px; } .contact-detail small { margin-left:0; } .contact-map-frame { grid-column:auto; height:270px; } }

/* 现代企业官网联系页：信息卡片与整宽地图。 */
.contact-modern-layout { padding:94px 0 104px; background:linear-gradient(180deg,#f7faff 0,#fff 38%,#f7f9fc 100%); }
.contact-modern-heading { max-width:640px; margin:0 auto 48px; text-align:center; }
.contact-modern-heading span,.contact-map-panel header span { display:block; color:#2d6df6; font-size:12px; font-weight:800; letter-spacing:.14em; }
.contact-modern-heading h1 { margin:11px 0 0; color:#132a49; font-size:40px; font-weight:800; line-height:1.2; }
.contact-modern-heading p { margin:16px 0 0; color:#718096; font-size:16px; line-height:1.8; }
.contact-cards-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.contact-modern-card { min-height:205px; padding:30px 30px 28px; border:1px solid #e2eaf4; border-radius:12px; background:#fff; box-shadow:0 12px 30px rgba(28,57,96,.06); transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease; }
.contact-modern-card:hover { border-color:#b9d0ff; box-shadow:0 20px 38px rgba(28,57,96,.12); transform:translateY(-5px); }
.contact-modern-card .iconify { display:inline-flex; width:24px; height:24px; align-items:center; justify-content:center; color:#2f6fe6; background:transparent; font-size:24px; }
.contact-modern-card p { margin:19px 0 7px; color:#6d7b8f; font-size:14px; }
.contact-modern-card h2 { margin:0; color:#183455; font-size:20px; font-weight:750; line-height:1.42; overflow-wrap:anywhere; }
.contact-modern-card small { display:block; margin-top:10px; color:#8b97a7; font-size:13px; line-height:1.7; }
.contact-map-panel { margin-top:50px; overflow:hidden; border:1px solid #e2eaf4; border-radius:14px; background:#fff; box-shadow:0 14px 34px rgba(28,57,96,.07); }
.contact-map-panel header { display:flex; align-items:baseline; justify-content:flex-start; gap:16px; padding:18px 30px; border-bottom:1px solid #edf1f6; }
.contact-map-panel header h2 { margin:0; color:#183455; font-size:18px; font-weight:750; }
.contact-map-panel .contact-map-frame { height:430px; box-shadow:none; }
@media (max-width:991.98px) { .contact-modern-layout { padding:76px 0 82px; } .contact-cards-grid { grid-template-columns:1fr; } .contact-modern-card { min-height:0; } }
@media (max-width:767.98px) { .contact-modern-layout { padding:58px 0 66px; } .contact-modern-heading { margin-bottom:34px; text-align:left; } .contact-modern-heading h1 { font-size:32px; } .contact-map-panel { margin-top:30px; border-radius:10px; } .contact-map-panel header { padding:19px 20px; } .contact-map-panel .contact-map-frame { height:300px; } }

/* 招聘页采用同页岗位切换，避免职位详情页造成额外跳转。 */
.recruitment-platform { padding:92px 0 112px; background:linear-gradient(180deg,#f6f9fe 0,#fff 32%,#f8fafc 100%); }
.recruitment-platform-heading { max-width:680px; margin:0 auto 52px; text-align:center; }
.recruitment-platform-heading > span { display:block; color:#2d6df6; font-size:12px; font-weight:800; letter-spacing:.15em; }
.recruitment-platform-heading h1 { margin:12px 0 0; color:#132a49; font-size:42px; font-weight:800; line-height:1.2; }
.recruitment-platform-heading p { margin:16px 0 0; color:#718096; font-size:16px; line-height:1.8; }
.recruitment-board { overflow:hidden; border:1px solid #e0e8f2; border-radius:14px; background:#fff; box-shadow:0 18px 42px rgba(28,57,96,.08); }
.recruitment-tabs { display:flex; flex-wrap:wrap; overflow:visible; justify-content:center; border-bottom:1px solid #e6edf5; background:#fbfcfe; }
.recruitment-tabs button { flex:1 1 140px; min-width:0; position:relative; padding:22px 18px; border:0; color:#5e6d82; background:transparent; font:600 15px/1.4 "PingFang SC","Microsoft YaHei",sans-serif; cursor:pointer; transition:color .2s ease,background .2s ease; }
.recruitment-tabs button::after { position:absolute; right:24px; bottom:-1px; left:24px; height:3px; border-radius:3px 3px 0 0; background:#2d6df6; content:""; opacity:0; transform:scaleX(.45); transition:opacity .2s ease,transform .2s ease; }
.recruitment-tabs button:hover,.recruitment-tabs button.is-active { color:#1d57c7; background:#fff; }
.recruitment-tabs button.is-active::after { opacity:1; transform:scaleX(1); }
.recruitment-panel { padding:50px 56px 58px; }
.recruitment-panel > header { display:flex; align-items:baseline; gap:14px; padding-bottom:26px; border-bottom:1px solid #e7edf4; }
.recruitment-panel > header h2 { margin:0; color:#17365d; font-size:26px; font-weight:800; line-height:1.35; }
.recruitment-panel > header span { color:#8491a3; font-size:14px; }
.recruitment-panel > section { margin-top:34px; }
.recruitment-panel > section + section { margin-top:42px; }
.recruitment-panel h3 { margin:0 0 16px; color:#17365d; font-size:19px; font-weight:750; }
.recruitment-panel h3::before { display:inline-block; width:4px; height:19px; margin-right:10px; border-radius:4px; background:#2d6df6; content:""; vertical-align:-3px; }
.recruitment-panel p { margin:0; color:#526277; font-size:16px; line-height:2; white-space:pre-line; }
@media (max-width:767.98px) { .recruitment-platform { padding:58px 0 68px; } .recruitment-platform-heading { margin-bottom:34px; text-align:left; } .recruitment-platform-heading h1 { font-size:32px; } .recruitment-board { border-radius:10px; } .recruitment-tabs button { padding:18px 20px; font-size:14px; } .recruitment-tabs button::after { right:18px; left:18px; } .recruitment-panel { padding:32px 22px 38px; } .recruitment-panel > header { display:block; padding-bottom:20px; } .recruitment-panel > header h2 { font-size:23px; } .recruitment-panel > header span { display:block; margin-top:7px; } .recruitment-panel > section { margin-top:28px; } .recruitment-panel > section + section { margin-top:34px; } .recruitment-panel p { font-size:15px; line-height:1.9; } }
