/* 公共版式：页头 / 页脚 / 侧边工具 / 动态列表（1920 画布，绝对定位） */

/* ---- 页头 ---- */
.hd-logo{left:126.88px;top:27px;width:25px;height:32px;background:url("../img/image-11-a46b0e.png") center/cover no-repeat}
.hd-brand{left:162px;top:33px;width:80px;height:22px;font-size:16px;font-weight:500;line-height:22px;color:#fff;white-space:pre}
.hd-nav{left:318px;top:31px;width:632px;height:20px}
.hd-nav a{top:0;width:56px;height:20px;font-size:14px;font-weight:400;line-height:20px;color:#fff;white-space:pre}
.hd-nav a.on{font-weight:500}
.hd-line{top:82px;width:56px;height:4px;background:#fff}
.hd-hot{left:1086px;top:32px;width:185px;height:20px}
.hd-hot img{left:0;top:3px;width:14px;height:14px}
.hd-hot p{left:22px;top:0;width:163px;height:20px;font-size:14px;font-weight:400;line-height:20px;color:#fff;white-space:pre}
.hd-tools{left:1404px;top:31px;width:373px;height:22px}
.hd-lang{left:305px;top:0;width:68px;height:22px}
.hd-lang-ic{left:0;top:4px;width:14px;height:14px}
.hd-lang-box{left:22px;top:0;width:46px;height:22px}
.hd-lang-box p{left:0;top:0;width:32px;height:22px;font-size:16px;font-weight:400;line-height:22px;color:#fff;white-space:pre}
.hd-lang-box img{left:36px;top:6px;width:10px;height:10px}
.hd-search{left:0;top:0;width:135px;height:20px}
.hd-search img{left:0;top:3px;width:14px;height:14px}
.hd-search input{left:23px;top:0;width:112px;height:20px;font-size:14px;font-weight:400;line-height:20px;color:#fff;white-space:pre}

/* ---- 内页横幅（560 高） ---- */
.bn{left:0;top:0;width:1920px;height:560px}
.bn-img{left:0;top:0;width:1920px;height:560px;background:url("../img/image-10-284e9a.jpg") center/cover no-repeat}
.bn-mask{left:0;top:0;width:1920px;height:560px;background:url("../img/contact-1-5f9fc3.png") center/cover no-repeat}
.bn-text{top:210px;height:139px}
.bn-text h1{position:absolute;left:0;top:0;width:100%;height:90px;margin:0;font-size:64px;font-weight:500;line-height:90px;color:#fff;text-align:center;white-space:pre}
.bn-text p{left:0;top:105px;width:100%;height:34px;font-size:24px;font-weight:400;line-height:34px;color:#fff;text-align:center;white-space:pre-wrap}

/* ---- 侧边工具 ---- */
.sw{left:1822px;width:78px;height:78px}
.sw-bg{left:0;top:0;width:78px;height:78px;background:#103784;border-radius:10px}
.sw-bg.line{background:none;box-shadow:inset 0 0 0 1px #103784}
.sw img{left:23px;top:10px;width:32px;height:32px}
.sw p{left:11px;top:47px;width:56px;height:20px;font-size:14px;font-weight:400;line-height:20px;color:#fff;white-space:pre}
.sw p.blue{color:#103784}
.sw-qr{left:-214px;top:-61px;width:200px;height:200px;background:#fff;border-radius:10px;box-shadow:0 8px 32px rgba(0,0,0,.18);opacity:0;visibility:hidden;transition:opacity .25s ease,visibility 0s .25s}
.sw-qr::after{content:"";position:absolute;right:-8px;top:92px;border:8px solid transparent;border-right:0;border-left-color:#fff}
.sw-qr img{left:8px;top:8px;width:184px;height:184px}
.sw:hover .sw-qr,.sw.open .sw-qr{opacity:1;visibility:visible;transition-delay:0s}

/* ---- 页脚 ---- */
.ft{left:0;width:1920px;height:496px}
.ft-bg{left:0;top:0;width:1920px;height:496px;background:#1a1a1a}
.ft-qr{left:171px;top:49px;width:183px;height:183px;background:url("../img/rectangle-65-7102ae.png") center/cover no-repeat}
.ft-copy{left:171px;top:416px;width:586px;height:20px;font-size:14px;font-weight:400;line-height:20px;color:rgba(255,255,255,.6);text-align:center;white-space:pre}
.ft-copy a{position:static;display:inline;color:inherit;text-decoration:none;transition:color .2s ease}
.ft-copy a:hover,.ft-copy a:focus-visible{color:#fff}
.ft-h{top:49px;width:64px;height:22px;font-size:16px;font-weight:400;line-height:22px;color:#fff;text-align:center;white-space:pre}
.ft-h.w32{width:32px}
.ft-h.tl{text-align:left}
.ft-s{width:120px;height:20px;font-size:14px;font-weight:400;line-height:20px;color:rgba(255,255,255,.6);white-space:pre}
.ft-addr{left:1407px;top:101px;width:345px;font-size:14px;font-weight:400;line-height:20px;color:rgba(255,255,255,.6);white-space:pre-wrap}
.ft a:hover{color:#fff}

/* ---- 表单（联系我们 / 投递简历），沿用设计稿 560×78 输入框 ---- */
.fm-field{height:78px}
.fm-field .fm-box{left:0;top:0;width:100%;height:78px;box-shadow:inset 0 0 0 1px #e2e2e2;background:#fff;transition:box-shadow .2s}
.fm-field label{position:absolute;left:30px;top:23px;font-size:22px;font-weight:500;line-height:32px;color:#a9a9a9;pointer-events:none;transition:opacity .2s}
.fm-field label b{color:#e2352b;font-weight:400}
.fm-field input,.fm-field textarea,.fm-field select{position:absolute;left:30px;top:0;width:calc(100% - 60px);height:78px;border:0;outline:0;background:none;padding:0;margin:0;font:inherit;font-size:20px;line-height:78px;color:#333;-webkit-appearance:none;appearance:none}
.fm-field select{cursor:pointer}
.fm-field textarea{top:23px;height:calc(100% - 46px);line-height:32px;resize:none}
.fm-field.has-value label,.fm-field:focus-within label{opacity:0}
.fm-field:focus-within .fm-box{box-shadow:inset 0 0 0 2px #103784}
.fm-field.ta{height:auto}
.fm-field.ta .fm-box{height:100%}
.fm-file{height:78px}
.fm-file .fm-box{left:0;top:0;width:100%;height:78px;box-shadow:inset 0 0 0 1px #e2e2e2;background:#fff}
.fm-file label{position:absolute;left:30px;top:23px;font-size:22px;font-weight:500;line-height:32px;color:#a9a9a9;cursor:pointer}
.fm-file label span{color:#103784;text-decoration:underline}
.fm-file input{left:0;top:0;width:100%;height:78px;opacity:0;cursor:pointer}
.fm-file.has-value label{color:#333}
.fm-btn{width:208px;height:66px;cursor:pointer}
.fm-btn .fm-box{left:0;top:0;width:100%;height:100%;background:#103784;border-radius:48px;transition:background .25s cubic-bezier(.16,1,.3,1)}
.fm-btn:hover .fm-box{background:#0c2b6a}
.fm-btn button{position:absolute;left:0;top:0;width:100%;height:100%;border:0;background:none;padding:0;margin:0;font:inherit;font-size:20px;font-weight:500;line-height:66px;color:#fff;cursor:pointer;border-radius:48px}
.fm-btn button:focus-visible,.fm-field input:focus-visible,.fm-field textarea:focus-visible,.fm-field select:focus-visible{outline:2px solid #103784;outline-offset:2px}
.fm-msg{font-size:18px;line-height:28px;white-space:pre-wrap}
.fm-msg.ok{color:#1e7f4c}
.fm-msg.err{color:#c8321d}
.fm-hint{font-size:16px;line-height:22px;color:#a9a9a9;white-space:pre}
.hero .slide-link{left:0;top:0;width:1920px;height:1080px}
.cat-pill{width:178px;height:55px}
.cat-pill .pill-bg{left:0;top:0;width:178px;height:55px;border-radius:48px;box-shadow:inset 0 0 0 1px #e2e2e2;transition:background .25s cubic-bezier(.16,1,.3,1),box-shadow .25s}
.cat-pill p{left:0;top:17px;width:178px;height:22px;font-size:16px;font-weight:400;line-height:22px;color:#333;text-align:center;white-space:pre}
.cat-pill:hover .pill-bg{box-shadow:inset 0 0 0 1px #103784}
.cat-pill.on .pill-bg{background:#103784;box-shadow:none}
.cat-pill.on p{color:#fff;font-weight:500}
.pcard{width:387.5px;height:436px}
.pcard .pcard-bg{left:0;top:0;width:387.5px;height:387.5px;background:#f8f8f8;transition:background .25s}
.pcard .pcard-img{left:44px;top:44px;width:299.5px;height:299.5px;background:center/contain no-repeat;transition:transform .35s cubic-bezier(.16,1,.3,1)}
.pcard p{left:0;top:408px;width:387.5px;height:28px;font-size:20px;font-weight:400;line-height:28px;color:#333;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pcard:hover .pcard-bg{background:#f1f3f7}
.pcard:hover .pcard-img{transform:scale(1.04)}

/* ---- 分页 ---- */
.pg{height:44px;display:flex;gap:10px;justify-content:center}
.pg a,.pg span{position:relative;display:block;min-width:44px;height:44px;padding:0 14px;box-sizing:border-box;line-height:44px;text-align:center;font-size:16px;color:#333;box-shadow:inset 0 0 0 1px #e2e2e2;transition:background .2s,color .2s}
.pg a:hover{background:#f8f8f8;color:#103784}
.pg span.cur{background:#103784;color:#fff;box-shadow:none}
.pg span.dis{color:#bbb}

/* ---- 空状态 ---- */
.empty{font-size:20px;line-height:28px;color:#999;text-align:center;white-space:pre}

/* ---- 正文（新闻详情/产品详情/岗位详情） ---- */
.rich{font-size:18px;line-height:34px;color:#555;white-space:normal}
.rich p,.rich h2,.rich h3,.rich h4,.rich ul,.rich ol,.rich blockquote,.rich table,.rich div{position:relative;margin:0 0 20px}
.rich img{position:relative;display:block;max-width:100%;height:auto;margin:10px 0}
.rich h2{font-size:26px;line-height:38px;color:#333;font-weight:500}
.rich h3{font-size:22px;line-height:34px;color:#333;font-weight:500}
.rich ul,.rich ol{padding-left:28px}
.rich li{position:relative;margin:0 0 6px}
.rich a{position:relative;display:inline;color:#103784;text-decoration:underline}
.rich strong,.rich b{font-weight:500;color:#333}
.rich blockquote{padding-left:20px;border-left:3px solid #103784;color:#666}
.rich table{border-collapse:collapse;width:100%}
.rich th,.rich td{border:1px solid #e2e2e2;padding:8px 12px;font-size:16px;line-height:26px}
.rich span{position:static}
.rich hr{border:0;border-top:1px solid #e2e2e2;margin:30px 0}
.rich pre{position:relative;margin:0 0 20px;padding:16px 20px;background:#f5f7fb;font:15px/26px ui-monospace,Menlo,Consolas,monospace;white-space:pre-wrap}
.rich th{background:#f5f7fb;font-weight:500;color:#333}
.rich s,.rich del{text-decoration:line-through}
.rich sub,.rich sup{font-size:.7em}

/* ---- 详情页公共 ---- */
.dt-title{font-size:36px;font-weight:500;line-height:50px;color:#333;white-space:pre-wrap}
.dt-meta{font-size:16px;line-height:22px;color:#999;white-space:pre}
.dt-meta a{position:relative;display:inline;color:#103784}
.dt-hr{height:1px;background:#e2e2e2}
.dt-nav{height:22px;font-size:16px;line-height:22px;white-space:pre}
.dt-nav a{position:static;color:#333}
.dt-nav a:hover{color:#103784}
.dt-nav span{position:static;color:#999}
.dt-back{height:55px;width:178px}
.dt-back .bx{left:0;top:0;width:178px;height:55px;box-shadow:inset 0 0 0 1px #e2e2e2;border-radius:48px;transition:box-shadow .25s}
.dt-back:hover .bx{box-shadow:inset 0 0 0 1px #103784}
.dt-back p{left:0;top:17px;width:178px;height:22px;font-size:16px;line-height:22px;color:#333;text-align:center;white-space:pre}

@media (prefers-reduced-motion:reduce){.page *{transition:none!important}}

/* 流式区域：详情页等高度不固定的内容，页脚随内容下移 */
.page .flow{position:relative;width:1920px;box-sizing:border-box}
.page .flow div,.page .flow p,.page .flow a,.page .flow img{position:relative}
.page .flow .abs{position:absolute}
.page .ft.rel{position:relative;top:auto;height:496px}
.page .ft.rel div,.page .ft.rel p,.page .ft.rel a,.page .ft.rel img{position:absolute}
.dt-wrap{margin:0 auto;width:1200px;padding:80px 0 120px}
.dt-wrap .dt-title{margin:0 0 18px}
.dt-wrap .dt-meta{margin:0 0 30px}
.dt-wrap .dt-hr{margin:0 0 40px}
.dt-wrap .rich{margin:0 0 60px}
.dt-wrap .dt-nav{margin:0 0 40px;display:flex;justify-content:space-between}
.dt-wrap .dt-nav a{display:inline;max-width:560px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dt-wrap .dt-back{display:block;margin:0 auto}
.dt-wrap .dt-back .bx{position:absolute}
.dt-wrap .dt-back span{position:absolute;left:0;top:17px;width:178px;text-align:center;font-size:16px;line-height:22px;color:#333}
.dt-cover{display:block;max-width:100%;max-height:600px;margin:0 auto 40px}
.dt-side{left:1420px;width:330px}
.dt-side h3{margin:0 0 20px;font-size:20px;font-weight:500;line-height:28px;color:#333}
.dt-side a{display:block;margin:0 0 14px;font-size:16px;line-height:24px;color:#555;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dt-side a:hover{color:#103784}
.dt-wrap.narrow{width:1200px;margin-left:170px}

/* 新闻列表 */
.nw-feat-bg{left:546px;top:725px;width:1374px;height:657px;background:#103784}
.nw-feat-pic{left:100px;top:808px;width:876px;height:574px;background:#d9d9d9 center/cover no-repeat}
.nw-feat-title{left:1006px;top:808px;width:814px;height:124px;font-size:44px;font-weight:500;line-height:62px;color:#fff;white-space:pre-wrap;overflow:hidden}
.nw-feat-date{left:1006px;top:959px;width:300px;height:31px;font-size:22px;font-weight:400;line-height:31px;color:rgba(255,255,255,.6);white-space:pre}
.nw-feat-sum{left:1006px;top:1124px;width:700px;height:93px;font-size:22px;font-weight:400;line-height:31px;color:rgba(255,255,255,.8);white-space:pre-wrap;overflow:hidden}
.nw-arrow{top:1289px;width:36px;height:36px;transition:transform .25s cubic-bezier(.16,1,.3,1)}
.nw-arrow img{left:0;top:0;width:36px;height:36px}
.nw-arrow:hover{transform:translateX(3px)}
.nw-item{left:100px;width:1720px;height:297px}
.nw-item .nw-pic{left:0;top:0;width:453px;height:297px;background:#d9d9d9 center/cover no-repeat}
.nw-item .nw-date{left:513px;top:64px;width:300px;height:28px;font-size:20px;font-weight:400;line-height:28px;color:#999;white-space:pre}
.nw-item .nw-title{left:513px;top:116px;width:1100px;height:39px;font-size:28px;font-weight:500;line-height:39px;color:#333;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .2s}
.nw-item .nw-sum{left:513px;top:183px;width:1000px;height:50px;font-size:18px;font-weight:400;line-height:25px;color:#666;white-space:pre-wrap;overflow:hidden}
.nw-item .nw-more{left:1681px;top:125px;width:39px;height:21px;transition:transform .25s cubic-bezier(.16,1,.3,1)}
.nw-item:hover .nw-title{color:#103784}
.nw-item:hover .nw-more{transform:translateX(6px)}

/* 招聘 */
.page form{position:absolute;left:0;top:0;width:1920px;height:0}
.jb-head{left:173px;top:650px;width:400px;height:116px}
.jb-h1{left:0;top:0;width:400px;height:78px;font-size:56px;font-weight:500;line-height:78px;color:#333;white-space:pre}
.jb-h2{left:0;top:88px;width:400px;height:28px;font-size:20px;font-weight:400;line-height:28px;color:#666;white-space:pre}
.jb-q{left:173px;top:826px;width:560px}
.jb-q input{width:373px}
.jb-go{position:absolute;left:433px;top:0;width:127px;height:78px;border:0;margin:0;padding:0;background:#103784;font:inherit;font-size:22px;font-weight:500;line-height:78px;color:#fff;text-align:center;cursor:pointer;transition:background .25s}
.jb-go:hover{background:#0c2b6a}
.jb-go:focus-visible{outline:2px solid #103784;outline-offset:2px}
.jb-sel{top:826px;width:285px}
.jb-sel select{left:0;width:100%;padding:0 60px 0 30px;box-sizing:border-box;color:#a9a9a9;font-size:22px;font-weight:500}
.jb-sel.has-value select{color:#333}
.jb-sel .jb-arrow{left:239px;top:27px;width:23px;height:23px;pointer-events:none}
.jb-th{left:173px;top:964px;width:1574px;height:80px;background:#fff;box-shadow:inset 0 0 0 .5px #e2e2e2,0 0 0 .5px #e2e2e2}
.jb-th p{top:27px;width:200px;height:25px;font-size:18px;font-weight:500;line-height:25px;color:#333;white-space:pre}
.jb-row{left:173px;width:1574px;height:100px;background:#fff;box-shadow:inset 0 0 0 .5px #e2e2e2,0 0 0 .5px #e2e2e2;transition:background .2s}
.jb-row.alt{background:#f8f8f8}
.jb-row:hover{background:#eef1f7}
.jb-row.on{background:#fff;box-shadow:inset 3px 0 0 #103784,inset 0 0 0 .5px #e2e2e2,0 0 0 .5px #e2e2e2}
.jb-row p{top:37px;height:25px;font-size:18px;font-weight:500;line-height:25px;color:#333;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.jb-row.on p:nth-child(2){color:#103784}
.jb-panel{left:173px;width:1574px;background:#fff;box-shadow:inset 0 0 0 .5px #e2e2e2,0 0 0 .5px #e2e2e2}
.jb-desc{left:50px;top:60px;width:1200px;font-size:16px;font-weight:400;line-height:22px;color:#000;white-space:pre-wrap}
.jb-apply{left:50px;width:208px;height:66px}
.jb-apply-bg{left:0;top:0;width:208px;height:66px;background:#103784;transition:background .25s cubic-bezier(.16,1,.3,1)}
.jb-apply:hover .jb-apply-bg{background:#0c2b6a}
.jb-apply p{left:36px;top:18px;width:100px;height:31px;font-size:22px;font-weight:400;line-height:31px;color:#fff;white-space:pre}
.jb-apply img{left:144px;top:25px;width:29px;height:15px;transition:transform .25s cubic-bezier(.16,1,.3,1)}
.jb-apply:hover img{transform:translateX(5px)}

/* 联系我们 */
.ct-head{left:100px;top:620px;width:700px;height:116px}
.ct-h1{left:0;top:0;width:700px;height:78px;font-size:56px;font-weight:500;line-height:78px;color:#333;white-space:pre}
.ct-h2{left:0;top:88px;width:700px;height:28px;font-size:20px;font-weight:400;line-height:28px;color:#666;white-space:pre}
.ct-lab{left:921px;top:622px;width:44px;height:31px;font-size:22px;font-weight:500;line-height:31px;color:#999;white-space:pre}
.ct-addr{top:674px;width:416px;height:62px;font-size:22px;font-weight:500;line-height:31px;color:#333;white-space:pre-wrap}
.ct-map{left:100px;top:776px;width:1720px;height:540px;background:#e9edf3 url("../img/image-22-f2ba30.png") center/cover no-repeat}
.ct-pin{left:762px;top:248px;width:auto;min-width:107px;height:34px;padding:0 14px;box-sizing:border-box;background:#fff;box-shadow:0 2px 8px rgba(16,55,132,.14)}
.ct-pin p{position:relative;left:0;top:6px;width:auto;height:22px;font-size:16px;font-weight:400;line-height:22px;color:#333;white-space:pre}
.ct-slogan{left:100px;top:1376px;width:1500px;height:56px;font-size:40px;font-weight:400;line-height:56px;color:#333;white-space:pre}
.ct-hint{left:100px;top:1917px;width:900px;height:62px;font-size:22px;font-weight:400;line-height:31px;color:#666;white-space:pre-wrap}
.ap-done{left:173px;top:826px;width:1574px;height:300px;background:#f8f8f8;box-shadow:inset 0 0 0 1px #e2e2e2}
.ap-done-h{left:0;top:96px;width:1574px;height:50px;font-size:36px;font-weight:500;line-height:50px;color:#103784;text-align:center;white-space:pre}
.ap-done-p{left:0;top:166px;width:1574px;height:31px;font-size:20px;font-weight:400;line-height:31px;color:#666;text-align:center;white-space:pre}

/* 管理员登录后浏览已关闭的网站时，顶部的提示条（在 .page 之外，不受画布缩放影响） */
.closed-bar{position:fixed;top:0;left:0;right:0;z-index:1000;display:flex;align-items:center;justify-content:center;gap:16px;padding:0 20px;background:#103784;color:#fff;font-size:13px;line-height:36px}
.closed-bar a{color:#fff;text-decoration:underline;opacity:.9}
.closed-bar a:hover{opacity:1}
