@charset "utf-8";

/* =========================================================
   子页面通用样式（企业介绍 / 发展历程 / 企业党建 / 资质荣誉）
   ========================================================= */

/* ---------- 页面横幅 ---------- */
.page-hero{
  position:relative;
  height:296px;
  background-image:url(/img/page-banner.jpg);
  background-size:cover;
  background-position:50% 60%;
  background-repeat:no-repeat;
  overflow:hidden;
}
.page-hero::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(8,24,42,.42),rgba(8,24,42,.06) 62%,rgba(8,24,42,0));
}

/* ---------- 通用页标题 ---------- */
.page-sec{background:#fff;}
.page-title{
  font-size:36px;
  font-weight:400;
  color:#333;
  line-height:1.5;
  letter-spacing:2px;
}
.page-title--center{text-align:center;}

/* =========================================================
   企业介绍 qyjs.html
   ========================================================= */
.intro{
  padding:60px 0 30px;
}
.intro-grid{
  display:flex;
  align-items:stretch;
  gap:37px;
  padding:0 10px;
}
.intro-stat{
  flex:0 0 436px;
  width:436px;
  background:var(--blue);
  color:#fff;
  padding:42px 34px 30px;
  display:flex;
  flex-direction:column;
}
.intro-stat h2{
  font-size:38px;
  font-weight:bold;
  line-height:1.5;
  letter-spacing:2px;
}
.intro-stat .stat-line{
  border:0;
  border-top:1px solid rgba(255,255,255,.45);
  margin:22px 0;
}
.intro-stat .stat-row{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  font-size:14px;
  line-height:2.2;
}
.intro-stat .stat-row strong{
  font-size:20px;
  font-weight:bold;
  letter-spacing:.5px;
}
.intro-stat .stat-note{
  font-size:14px;
  opacity:.92;
  line-height:2;
}
.intro-text{
  flex:1;
  min-width:0;
  padding-top:22px;
}
.intro-text p{
  font-size:16px;
  color:#666;
  line-height:2;
  text-align:justify;
  margin-bottom:26px;
}
.intro-text p:last-child{margin-bottom:0;}

/* 数据卡片 */
.qy-cards{
  padding:36px 0 96px;
}
.qy-cards .wrap{padding:0 10px;}
.qy-grid{
  display:flex;
  flex-wrap:wrap;
  gap:32px 35px;
}
.qy-card{
  flex:0 0 calc((100% - 175px)/6);
  width:calc((100% - 175px)/6);
  border:1px solid #ececec;
  background:#fff;
  padding:26px 24px 22px;
  transition:box-shadow .3s ease, transform .3s ease;
}
.qy-card:hover{
  box-shadow:0 12px 30px rgba(0,96,174,.12);
  transform:translateY(-4px);
}
/* 屏幕不足 1400px 时一行放 4 个，避免 6 个一行导致标题折行 */
@media (max-width:1400px){
  .qy-card{flex:0 0 calc((100% - 105px)/4);width:calc((100% - 105px)/4);}
}
.qy-card h3{
  font-size:20px;
  font-weight:bold;
  color:var(--blue);
  line-height:1.75;
  min-height:35px;
}
.qy-card .sc-row{
  margin-top:14px;
}
.qy-card .sc-k{
  display:block;
  font-size:14px;
  color:#666;
  line-height:1.6;
}
.qy-card .sc-v{
  display:block;
  font-size:18px;
  color:#666;
  font-weight:bold;
  line-height:1.8;
}

/* =========================================================
   发展历程 fzlc.html
   ========================================================= */
.history{
  padding:56px 0 90px;
}
.history .wrap{padding:0 10px;}
.history .page-title{
  margin:0 0 12px 42px;
}
.timeline{
  margin-top:34px;
  padding-left:44px;
  border-left:2px solid #d9e6f2;
  margin-left:22px;
}
.tl-item{
  position:relative;
  padding:0 0 44px 34px;
}
.tl-item:last-child{padding-bottom:0;}
.tl-item::before{
  content:"";
  position:absolute;
  left:-53px;
  top:12px;
  width:12px;
  height:12px;
  border-radius:50%;
  background:#fff;
  border:3px solid var(--blue);
}
.tl-item h3{
  font-size:26px;
  font-weight:bold;
  color:var(--blue);
  line-height:1.6;
  margin-bottom:8px;
}
.tl-item ul li{
  font-size:16px;
  color:#333;
  line-height:2;
}
.tl-item ul li::before{
  content:"▪";
  color:var(--blue);
  margin-right:10px;
}

/* =========================================================
   企业党建 qydj.html
   ========================================================= */
.party-intro{
  padding:56px 0 40px;
}
.party-intro .wrap{padding:0 10px;}
.party-intro .page-title{margin-bottom:26px;}
.party-intro .party-desc{
  font-size:16px;
  color:#333;
  line-height:2;
  text-align:justify;
  text-indent:2em;
  margin-bottom:44px;
}
.party-org{
  display:block;
  width:1071px;
  max-width:100%;
  margin:0 auto;
}

.party-news{
  background:#fff;
  padding:26px 0 96px;
}
.party-news .wrap{padding:0 10px;}
.party-news .page-title{margin-bottom:38px;}
.pn-grid{
  display:flex;
  gap:44px;
}
.pn-feature{
  flex:0 0 614px;
  max-width:614px;
}
.pn-feature-pic{
  display:block;
  width:100%;
  height:340px;
  overflow:hidden;
  background:#eaeef2;
}
.pn-feature-pic img{
  width:100%;height:100%;
  object-fit:cover;
  transition:transform .6s ease;
}
.pn-feature:hover .pn-feature-pic img{transform:scale(1.06);}
.pn-tit{
  display:block;
  font-size:18px;
  color:var(--txt);
  line-height:1.8;
  transition:color .3s ease;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.pn-feature .pn-tit{margin-top:22px;}
a:hover .pn-tit{color:var(--blue);}
.pn-date{
  display:block;
  font-size:14px;
  color:var(--gray-light);
  line-height:1.8;
  margin-top:8px;
}
.pn-list{
  flex:1;
  min-width:0;
  display:flex;
  flex-direction:column;
}
.pn-item{
  display:flex;
  gap:26px;
  align-items:center;
  padding:22px 0;
  border-bottom:1px dashed #d5d9de;
}
.pn-item:first-child{padding-top:0;}
.pn-item:last-child{border-bottom:0;}
.pn-thumb{
  flex:0 0 216px;
  width:216px;
  height:124px;
  overflow:hidden;
  background:#eef1f4;
}
.pn-thumb img{
  width:100%;height:100%;
  object-fit:cover;
  transition:transform .5s ease;
}
.pn-item:hover .pn-thumb img{transform:scale(1.08);}
.pn-item-body{flex:1;min-width:0;}
.pn-item .pn-tit{font-size:16px;}

/* =========================================================
   资质荣誉 zzry.html
   ========================================================= */
.honors{
  padding:56px 0 30px;
}
.honors .wrap{padding:0 10px;}
.cert-grid{
  margin-top:36px;
  display:flex;
  flex-wrap:wrap;
  gap:44px 62px;
  justify-content:center;
}
.cert-card{
  flex:0 0 calc((100% - 124px)/3);
  width:calc((100% - 124px)/3);
  max-width:352px;
}
.cert-pic{
  display:block;
  width:100%;
  aspect-ratio:4016/2835;
  overflow:hidden;
  background:#f4f6f8;
  border:1px solid #eef0f2;
}
.cert-pic img{
  width:100%;height:100%;
  object-fit:cover;
  transition:transform .5s ease;
}
.cert-card:hover .cert-pic img{transform:scale(1.05);}
.cert-name{
  display:block;
  font-size:16px;
  color:#333;
  line-height:1.7;
  text-align:center;
  margin-top:18px;
  transition:color .3s ease;
}
.cert-card:hover .cert-name{color:var(--blue);}

.patents{
  padding:56px 0 96px;
}
.patents .wrap{padding:0 10px;}
.patent-grid{
  margin-top:36px;
  display:flex;
  flex-wrap:wrap;
  gap:48px 62px;
  justify-content:center;
}
.patent-card{
  flex:0 0 calc((100% - 124px)/3);
  width:calc((100% - 124px)/3);
  max-width:352px;
}
.patent-pic{
  display:block;
  width:100%;
  aspect-ratio:1240/1754;
  overflow:hidden;
  background:#f4f6f8;
  border:1px solid #eef0f2;
}
.patent-pic img{
  width:100%;height:100%;
  object-fit:cover;
  object-position:top center;
  transition:transform .5s ease;
}
.patent-card:hover .patent-pic img{transform:scale(1.04);}
.patent-name{
  display:block;
  font-size:15px;
  color:#333;
  line-height:1.7;
  text-align:center;
  margin-top:16px;
  transition:color .3s ease;
}
.patent-card:hover .patent-name{color:var(--blue);}

/* =========================================================
   官宣视频 gxsp.html / 公司新闻 gsxw.html
   ========================================================= */
.page-head{
  background:#fff;
  padding:60px 0 0;
}
.page-head .wrap{padding:0 10px;}
.page-head .page-title{margin-bottom:36px;}

/* ---------- 公司新闻列表 ---------- */
.news-page{
  background:#fff;
  padding:0 0 96px;
}
.news-page .wrap{padding:0 10px;}
.news-grid{
  display:flex;
  flex-wrap:wrap;
  gap:33px;
}
.news-card{
  flex:0 0 calc((100% - 99px)/4);
  width:calc((100% - 99px)/4);
  overflow:hidden;
}
.news-pic{
  display:block;
  width:100%;
  height:216px;
  overflow:hidden;
  background:#f1f3f6;
}
.news-pic img{
  width:100%;height:100%;
  object-fit:cover;
  transition:transform .35s linear;
}
.news-card:hover .news-pic img{transform:scale(1.1);}
.news-page .news-tit{
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  font-size:16px;
  font-weight:bold;
  color:#404040;
  line-height:28px;
  padding-top:5px;
  text-align:left;
  transition:color .2s linear;
}
.news-card:hover .news-tit{color:var(--blue);}
.news-page .news-info{
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  font-size:14px;
  color:#999;
  line-height:29px;
  font-family:Tahoma,var(--font-cn);
  text-align:left;
}
.news-page .news-date{
  font-size:14px;
  color:var(--blue);
  line-height:26px;
  text-align:left;
}

/* =========================================================
   公德文化 gdwh.html
   ========================================================= */
.cul-sec{
  background:#fff;
  padding:60px 0 0;
}
.cul-sec .wrap{padding:0 10px;}
.cul-sec .page-title{margin-bottom:36px;}

.cul-grid{
  display:flex;
  flex-wrap:wrap;
  gap:28px 90px;
}
.cul-card{
  flex:0 0 calc((100% - 180px)/3);
  width:calc((100% - 180px)/3);
  min-height:281px;
  padding:22px 32px 26px;
  text-align:center;
  transition:transform .3s ease, background-color .3s ease, box-shadow .3s ease;
}
.cul-card:hover{
  transform:translateY(-3px);
  background:#fff;
  box-shadow:0 2px 0 rgba(102,102,102,.1);
}
.cul-icon{
  width:100px;
  height:100px;
  margin:0 auto;
  border-radius:50%;
  background:url(/img/culture-icon-bg.png) center/cover no-repeat;
  display:flex;
  align-items:center;
  justify-content:center;
}
.cul-icon img{
  width:28px;
  height:28px;
  object-fit:contain;
}
.cul-card h3{
  font-size:18px;
  font-weight:bold;
  color:var(--txt);
  line-height:1.75;
  margin-top:14px;
}
.cul-card p{
  font-size:14px;
  color:#666;
  line-height:1.75;
  margin-top:8px;
  text-align:center;
}

/* ---------- 感恩文化 ---------- */
.thanks-sec{
  padding:98px 0 115px;
  background:url(/img/thanks-bg.jpg) center/cover no-repeat;
}
.thanks-sec .wrap{padding:0 10px;}
.thanks-sec .page-title{margin-bottom:51px;}
.thanks-box{
  display:flex;
  background:transparent;
}
.thanks-tabs{
  flex:0 0 190px;
  width:190px;
}
.thanks-tab{
  position:relative;
  display:flex;
  align-items:center;
  height:116px;
  padding:0 16px;
  border-bottom:1px solid #e6e6e6;
  border-left:1px solid rgba(0,0,0,.08);
  border-right:1px solid rgba(0,0,0,.08);
  cursor:pointer;
  background:transparent;
  transition:background-color .25s ease;
}
.thanks-tab:first-child{border-top:1px solid rgba(0,0,0,.08);}
.thanks-tab span{
  font-family:Tahoma,var(--font-cn);
  font-size:16px;
  font-weight:bold;
  color:#181e2c;
  line-height:1.4;
}
.thanks-tab::after{
  content:"";
  position:absolute;
  left:0;
  top:0;
  width:3px;
  height:0;
  background:var(--blue);
  transition:height .25s ease;
}
.thanks-tab.on::after{height:100%;}
.thanks-tab.on span{color:var(--blue);}
.thanks-tab:hover span{color:var(--blue);}

.thanks-panel{
  flex:1;
  min-width:0;
  margin-left:24px;
  display:flex;
  gap:25px;
}
.thanks-pic{
  flex:0 0 699px;
  width:699px;
  height:470px;
  border-radius:20px;
  overflow:hidden;
  background:#f1f3f6;
}
.thanks-pic img{
  width:100%;height:100%;
  object-fit:cover;
}
.thanks-card{
  flex:1;
  min-width:0;
  background:#f3f3f3;
  border-radius:20px;
  padding:48px 27px;
}
.thanks-card h4{
  font-size:24px;
  font-weight:bold;
  color:var(--txt);
  line-height:1.2;
}
.thanks-card .thanks-line{
  width:100%;
  border:0;
  border-top:1px dashed #ccc;
  margin:13px 0;
}
.thanks-card p{
  font-size:20px;
  color:#555;
  line-height:1.75;
  font-family:var(--font-cn);
}

/* =========================================================
   人在公德 rzgd.html
   ========================================================= */
.act-sec{
  background:#fff;
  padding:60px 0 0;
}
.act-sec .wrap{padding:0 10px;}
.act-sec .page-title{margin-bottom:36px;}

.act-grid{
  display:flex;
  gap:18px;
}
.act-col{
  flex:0 0 569px;
  width:569px;
  display:flex;
  flex-direction:column;
  gap:21px;
}
.act-card{
  position:relative;
  display:block;
  border-radius:10px;
  overflow:hidden;
  background:#22344a center/cover no-repeat;
}
.act-card img{
  position:absolute;
  inset:0;
  width:100%;height:100%;
  object-fit:cover;
  transition:transform .6s ease;
}
.act-card:hover img{transform:scale(1.06);}
.act-card--big{
  flex:1;
  min-width:0;
  min-height:486px;
}
.act-card--mid{height:258px;}
.act-row{
  display:flex;
  gap:20px;
}
.act-card--sm{flex:1;height:205px;}
.act-cap{
  position:absolute;
  left:25px;
  bottom:16px;
  z-index:2;
  font-size:28px;
  font-weight:bold;
  color:#fff;
  line-height:1.4;
  text-shadow:0 2px 10px rgba(0,0,0,.45);
}
.act-card--sm .act-cap{left:24px;bottom:12px;font-size:26px;}

/* ---------- 工作业态 ---------- */
.work-sec{
  padding:114px 0 81px;
  background:url(/img/work-bg.jpg) center/cover no-repeat;
}
.work-sec .wrap{padding:0 10px;}
.work-sec .page-title{margin-bottom:36px;}
.work-grid{
  display:flex;
  flex-wrap:wrap;
  gap:26px;
}
.work-item{
  flex:0 0 calc((100% - 78px)/4);
  width:calc((100% - 78px)/4);
}
.work-pic{
  display:block;
  width:100%;
  height:222px;
  border-radius:4px;
  overflow:hidden;
  background:#f1f3f6;
}
.work-pic img{
  width:100%;height:100%;
  object-fit:cover;
  transition:transform .5s ease;
}
.work-item:hover .work-pic img{transform:scale(1.07);}
.work-name{
  display:block;
  text-align:center;
  font-size:18px;
  color:var(--txt);
  line-height:1.6;
  margin-top:10px;
  transition:color .25s ease;
}
.work-item:hover .work-name{color:var(--blue);}

/* =========================================================
   我要应聘 wyyp.html
   ========================================================= */
.recruit-sec{
  padding:99px 0 122px;
  background:url(/img/recruit-bg.jpg) center/cover no-repeat;
}
.recruit-sec .wrap{padding:0 10px;}
.recruit-grid{
  display:flex;
  gap:80px;
}
.rec-col{
  flex:1;
  min-width:0;
}
.rec-col h2{
  font-size:36px;
  font-weight:bold;
  color:var(--txt);
  line-height:1.5;
  letter-spacing:2px;
  margin-bottom:14px;
}
.rec-slider{
  position:relative;
  height:372px;
  border-radius:2px;
  overflow:hidden;
  background:#1d2c3e;
}
.rec-frames{
  position:relative;
  height:100%;
}
.rec-frame{
  position:absolute;
  inset:0;
  opacity:0;
  transition:opacity .6s ease;
}
.rec-frame.on{opacity:1;}
/* 有链接时整张海报可点击 */
.rec-frame>a{display:block;width:100%;height:100%;cursor:pointer;}
.rec-frame img{
  width:100%;height:100%;
  object-fit:cover;
  display:block;
  transition:transform .4s ease;
}
.rec-frame>a:hover img{transform:scale(1.03);}
.rec-arrow{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:44px;
  height:44px;
  border-radius:50%;
  background:rgba(0,0,0,.28);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  transition:background-color .25s ease;
}
.rec-arrow:hover{background:rgba(0,96,174,.85);}
.rec-arrow svg{width:20px;height:20px;}
.rec-arrow--prev{left:12px;}
.rec-arrow--next{right:12px;}

/* =========================================================
   响应式
   ========================================================= */
@media (max-width:1200px){
  .intro-grid{flex-direction:column;}
  .intro-stat{flex:none;width:100%;}
  .intro-text{padding-top:0;}
  .qy-card{flex:0 0 calc((100% - 70px)/3);width:calc((100% - 70px)/3);}
  .pn-grid{flex-direction:column;}
  .pn-feature{flex:none;max-width:100%;}
  .cert-card,.patent-card{flex:0 0 calc((100% - 62px)/2);width:calc((100% - 62px)/2);max-width:none;}

  .news-card{flex:0 0 calc((100% - 33px)/2);width:calc((100% - 33px)/2);}
  .cul-grid{gap:24px 40px;}
  .cul-card{flex:0 0 calc((100% - 80px)/3);width:calc((100% - 80px)/3);min-height:0;padding-bottom:20px;}
  .cul-card p{font-size:13px;}
  .thanks-box{flex-direction:column;}
  .thanks-tabs{flex:none;width:100%;display:flex;flex-wrap:wrap;}
  .thanks-tab{
    flex:1 1 25%;
    height:64px;
    justify-content:center;
    border-top:1px solid rgba(0,0,0,.08);
  }
  .thanks-tab:first-child{border-top:1px solid rgba(0,0,0,.08);}
  .thanks-panel{margin-left:0;margin-top:26px;}
  .thanks-pic{flex:none;width:100%;height:auto;aspect-ratio:699/470;}
  .act-grid{flex-direction:column;}
  .act-col{flex:none;width:100%;}
  .act-card--big{min-height:340px;}
  .work-item{flex:0 0 calc((100% - 26px)/2);width:calc((100% - 26px)/2);}
  .work-pic{height:200px;}
  .recruit-grid{flex-direction:column;gap:48px;}
}

@media (max-width:768px){
  .page-hero{height:180px;}
  .intro{padding:32px 0 10px;}
  .intro-stat{padding:28px 22px 22px;}
  .intro-stat h2{font-size:28px;}
  .intro-text p{font-size:14px;}
  .qy-cards{padding:24px 0 50px;}
  .qy-grid{gap:18px;}
  .qy-card{flex:0 0 calc((100% - 18px)/2);width:calc((100% - 18px)/2);padding:18px 16px;}
  .qy-card h3{font-size:16px;}
  .qy-card .sc-v{font-size:15px;}
  .history{padding:32px 0 50px;}
  .history .page-title{margin-left:0;font-size:28px;}
  .timeline{margin-left:8px;padding-left:24px;}
  .tl-item{padding-left:18px;}
  .tl-item::before{left:-37px;}
  .tl-item h3{font-size:20px;}
  .tl-item ul li{font-size:14px;}
  .party-intro{padding:32px 0 20px;}
  .party-intro .page-title{font-size:28px;}
  .party-intro .party-desc{font-size:14px;}
  .party-news{padding:10px 0 50px;}
  .party-news .page-title{font-size:28px;margin-bottom:20px;}
  .pn-feature-pic{height:210px;}
  .pn-item{gap:14px;}
  .pn-thumb{flex:0 0 130px;width:130px;height:80px;}
  .pn-item .pn-tit{font-size:14px;}
  .honors{padding:32px 0 10px;}
  .honors .page-title,.patents .page-title{font-size:28px;}
  .cert-grid,.patent-grid{gap:26px 18px;margin-top:22px;}
  .cert-card,.patent-card{flex:0 0 calc((100% - 18px)/2);width:calc((100% - 18px)/2);}
  .cert-name{font-size:14px;}
  .patent-name{font-size:13px;}
  .patents{padding:36px 0 50px;}

  .page-head{padding:32px 0 0;}
  .page-head .page-title{font-size:28px;margin-bottom:20px;}
  .news-page{padding-bottom:50px;}
  .news-grid{gap:16px;}
  .news-card{flex:0 0 100%;width:100%;}
  .news-pic{height:190px;}
  .cul-sec{padding:32px 0 0;}
  .cul-sec .page-title{font-size:28px;}
  .cul-grid{gap:18px;}
  .cul-card{flex:0 0 100%;width:100%;}
  .cul-icon{width:80px;height:80px;}
  .thanks-sec{padding:44px 0 50px;}
  .thanks-sec .page-title{font-size:28px;margin-bottom:22px;}
  .thanks-tab{flex:1 1 50%;}
  .thanks-card{padding:26px 20px;}
  .thanks-card h4{font-size:20px;}
  .thanks-card p{font-size:16px;}
  .act-sec{padding:32px 0 0;}
  .act-sec .page-title{font-size:28px;}
  .act-col{gap:12px;}
  .act-card--big{min-height:220px;}
  .act-card--mid{height:150px;}
  .act-card--sm{height:130px;}
  .act-cap{font-size:18px;left:14px;bottom:10px;}
  .act-card--sm .act-cap{font-size:16px;left:14px;}
  .work-sec{padding:44px 0 50px;}
  .work-sec .page-title{font-size:28px;}
  .work-grid{gap:14px;}
  .work-item{flex:0 0 calc((100% - 14px)/2);width:calc((100% - 14px)/2);}
  .work-pic{height:150px;}
  .work-name{font-size:15px;}
  .recruit-sec{padding:36px 0 50px;}
  .rec-col h2{font-size:26px;}
  .rec-slider{height:230px;}
  .rec-arrow{width:34px;height:34px;}
}
