/* ============================================
   北洲股份 - 集团蓝 商务主题
   设计语言：深海军蓝+主蓝、银白留白、细字体、大图卡片、集团级秩序感
   ============================================ */
:root {
  --black: #0A2440;        /* 标题墨蓝 */
  --dark: #2A425C;         /* 正文 */
  --gray: #5C7A93;
  --gray-light: #8DA6BC;
  --bg: #fff;
  --bg-gray: #F2F8FD;      /* 淡天蓝 */
  --border: #DCE9F5;
  --accent: #3AA5E0;       /* 品牌天蓝（较浅一档） */
  --container: 1280px;
  /* 集团蓝体系 */
  --navy: #062B47;         /* 深钢蓝 */
  --navy-2: #0A5C95;
  --brand: #0B6FB4;
  --brand-light: #63BEEC;
  --ink: #0A2440;
  --blue-soft: #E9F4FC;
  --gold: #C9A063;         /* 极少量高级点缀 */
  --grad-navy: linear-gradient(150deg,#05243C 0%,#0A4F80 45%,#3AA5E0 100%);
}
* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body {
  font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Helvetica Neue", "Microsoft YaHei", sans-serif;
  color: var(--dark);
  line-height: 1.7;
  background: var(--bg);
  font-weight: 300;
  letter-spacing: 0.5px;
  overflow-x: hidden;
}
a { text-decoration: none; color: inherit; transition: all .3s ease; }
ul { list-style: none; }
img { max-width: 100%; }
.container { max-width: var(--container); margin: 0 auto; padding: 0 40px; }

/* ===== 顶部信息栏 ===== */
.top-bar {
  background: linear-gradient(90deg,#052A44 0%,#084869 55%,#0A5C95 100%);
  color: rgba(255,255,255,.62);
  font-size: 12px;
  padding: 11px 0;
  letter-spacing: 1.5px;
  border-bottom: 1px solid rgba(58,165,224,.18);
}
.top-bar-inner { display: flex; justify-content: space-between; align-items: center; }
.top-bar-left span { margin-right: 30px; }
.top-bar-left i { margin-right: 6px; font-size: 11px; color: #6CBCEC; }
.top-bar-right a { color: rgba(255,255,255,.5); }
.top-bar-right a:hover { color: #fff; }

/* ===== 主导航 ===== */
.main-header {
  background: #fff;
  position: sticky;
  top: 0;
  z-index: 1000;
  border-bottom: 1px solid var(--border);
  transition: all .3s;
}
.header-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 88px;
}
.logo img { height: 44px; display: block; }
.main-nav { display: flex; gap: 48px; }
.main-nav a {
  padding: 10px 0;
  font-size: 15px;
  font-weight: 400;
  color: var(--dark);
  position: relative;
  letter-spacing: 2px;
}
.main-nav a::after {
  content:''; position:absolute; bottom:0; left:0; width:0; height:1px;
  background: var(--accent); transition: width .3s ease;
}
.main-nav a:hover, .main-nav a.active { color: var(--black); }
.main-nav a:hover::after, .main-nav a.active::after { width: 100%; }
.nav-toggle { display: none; font-size: 22px; cursor: pointer; color: var(--dark); }

/* ===== Hero 首屏 ===== */
.hero {
  position: relative;
  height: 680px;
  background: var(--grad-navy);
  display: flex; align-items: center;
  overflow: hidden;
}
.hero::before {
  content:''; position:absolute; top:0; left:0; right:0; bottom:0;
  background:
    radial-gradient(ellipse at 72% 22%, rgba(58,165,224,.28) 0%, transparent 55%),
    radial-gradient(ellipse at 12% 85%, rgba(3,20,34,.55) 0%, transparent 60%);
}
.hero .container { position: relative; z-index: 1; }
.hero-tag {
  display: inline-block;
  font-size: 13px;
  color: rgba(255,255,255,.6);
  letter-spacing: 4px;
  margin-bottom: 30px;
  font-weight: 300;
}
.hero h1 {
  font-size: 60px;
  font-weight: 200;
  line-height: 1.28;
  color: #fff;
  margin-bottom: 28px;
  letter-spacing: 6px;
  text-shadow: 0 2px 30px rgba(4,26,44,.45);
}
.hero p.hero-sub {
  font-size: 17px;
  color: rgba(255,255,255,.7);
  max-width: 560px;
  margin-bottom: 44px;
  font-weight: 300;
  line-height: 1.9;
}
.hero-btns { display: flex; gap: 20px; }
.btn {
  display: inline-block;
  padding: 15px 44px;
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 3px;
  cursor: pointer;
  border: none;
  transition: all .3s ease;
}
.btn-line-light {
  background: rgba(255,255,255,.04);
  color: #fff;
  border: 1px solid rgba(255,255,255,.42);
}
.btn-line-light:hover { background: #fff; color: var(--navy); border-color: #fff; }
.btn-dark {
  background: linear-gradient(120deg, var(--navy) 0%, var(--brand) 100%);
  color: #fff;
  box-shadow: 0 8px 24px rgba(6,43,71,.22);
}
.btn-dark:hover { background: linear-gradient(120deg, var(--brand) 0%, var(--accent) 100%); box-shadow: 0 12px 30px rgba(46,111,208,.32); }

.hero-stats {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  background: rgba(4,30,50,.62);
  backdrop-filter: blur(12px);
  padding: 30px 0;
  border-top: 1px solid rgba(96,183,236,.22);
}
.hero-stats .container {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 30px;
}
.stat-item .num {
  font-size: 38px;
  font-weight: 200;
  color: #D9EDFC;
  line-height: 1;
  letter-spacing: 2px;
}
.stat-item .label { font-size: 13px; color: rgba(255,255,255,.5); margin-top: 8px; letter-spacing: 1px; }

/* ===== 通用区块 ===== */
.section { padding: 120px 0; }
.section-gray { background: var(--bg-gray); }
.section-head { margin-bottom: 80px; }
.section-head.center { text-align: center; }
.section-tag {
  display: inline-block;
  color: var(--accent);
  font-size: 13px;
  font-weight: 400;
  letter-spacing: 4px;
  margin-bottom: 16px;
}
.section-title {
  font-size: 44px;
  font-weight: 200;
  color: var(--ink);
  margin-bottom: 20px;
  letter-spacing: 4px;
  line-height: 1.3;
}
.section-desc {
  color: var(--gray);
  max-width: 600px;
  font-size: 16px;
  font-weight: 300;
  line-height: 1.9;
}
.section-head.center .section-desc { margin: 0 auto; }

/* ===== 业务板块 ===== */
.biz-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  border-top: 1px solid var(--border);
  border-left: 1px solid var(--border);
}
.biz-grid.biz-grid-five { grid-template-columns: repeat(5, 1fr); }
.biz-card {
  background: #fff;
  padding: 50px 36px;
  border-right: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
  transition: all .4s ease;
  position: relative;
  overflow: hidden;
}
.biz-card::before {
  content:''; position:absolute; top:0; left:0; width:100%; height:3px;
  background: linear-gradient(90deg, var(--brand), var(--accent));
  transform: scaleX(0); transform-origin: left;
  transition: transform .4s ease;
}
.biz-card:hover::before { transform: scaleX(1); }
.biz-card:hover { background: linear-gradient(180deg,rgba(237,243,250,.75),#fff); }
.biz-num {
  font-size: 14px;
  color: var(--gray-light);
  letter-spacing: 2px;
  margin-bottom: 30px;
  font-weight: 300;
}
.biz-icon {
  font-size: 36px;
  color: var(--brand);
  margin-bottom: 24px;
  font-weight: 200;
}
.biz-card h3 {
  font-size: 22px;
  color: var(--black);
  margin-bottom: 14px;
  font-weight: 400;
  letter-spacing: 2px;
}
.biz-card p {
  color: var(--gray);
  font-size: 14px;
  line-height: 1.9;
  margin-bottom: 24px;
  font-weight: 300;
}
.biz-card .more {
  color: var(--black);
  font-size: 13px;
  letter-spacing: 2px;
  font-weight: 400;
  border-bottom: 1px solid var(--border);
  padding-bottom: 2px;
}
.biz-card .more:hover { color: var(--accent); border-color: var(--accent); }

/* ===== 关于我们 ===== */
.about-wrap {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: center;
}
.about-visual {
  position: relative;
  height: 500px;
  background: linear-gradient(160deg,#06365A 0%,#0B62A0 55%,#3AA5E0 100%);
  overflow: hidden;
}
.about-visual::after {
  content:''; position:absolute; inset:40px;
  border: 1px solid rgba(255,255,255,.15);
}
.about-visual .big-icon {
  position: absolute; top:50%; left:50%; transform:translate(-50%,-50%);
  font-size: 80px; color: rgba(255,255,255,.15);
}
.about-text h2 {
  font-size: 38px;
  font-weight: 200;
  color: var(--black);
  margin-bottom: 30px;
  letter-spacing: 2px;
  line-height: 1.4;
}
.about-text p {
  color: var(--gray);
  margin-bottom: 20px;
  font-size: 15px;
  line-height: 2;
  font-weight: 300;
}
.about-features {
  display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-top: 36px;
}
.about-feature {
  display: flex; align-items: center; gap: 12px;
  font-size: 14px; color: var(--dark); font-weight: 400;
}
.about-feature i { color: var(--accent); font-size: 12px; }

/* ===== 新闻区块 ===== */
.news-grid {
  display: grid;
  grid-template-columns: 1.3fr 1fr;
  gap: 60px;
}
.news-feature { display: block; }
.news-feature-img {
  height: 320px;
  background: linear-gradient(135deg,#06365A,#0B62A0);
  margin-bottom: 28px;
  display: flex; align-items: center; justify-content: center;
  color: rgba(255,255,255,.2); font-size: 48px;
  transition: transform .4s ease;
}
.news-feature:hover .news-feature-img { transform: scale(1.02); }
.news-date {
  color: var(--accent);
  font-size: 13px;
  letter-spacing: 2px;
  margin-bottom: 10px;
  display: block;
}
.news-feature h3 {
  font-size: 24px;
  color: var(--black);
  margin-bottom: 14px;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 1px;
}
.news-feature p { color: var(--gray); font-size: 14px; line-height: 1.9; font-weight: 300; }

.news-list { border-top: 1px solid var(--border); }
.news-item {
  display: flex;
  padding: 28px 0;
  border-bottom: 1px solid var(--border);
  align-items: center;
  gap: 24px;
  transition: padding-left .3s ease;
}
.news-item:hover { padding-left: 10px; }
.news-item-date {
  min-width: 80px;
  font-size: 13px;
  color: var(--gray-light);
  letter-spacing: 1px;
  font-weight: 300;
}
.news-item-info h4 {
  font-size: 16px;
  color: var(--black);
  margin-bottom: 6px;
  font-weight: 400;
  line-height: 1.5;
}
.news-item-info p { font-size: 13px; color: var(--gray-light); }
.news-thumb {
  width: 120px;
  height: 80px;
  flex-shrink: 0;
  border-radius: 6px;
  overflow: hidden;
  background: var(--blue-soft);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #cbd5e1;
  font-size: 24px;
}
.news-thumb img { width: 100%; height: 100%; object-fit: cover; }
.news-feature-img img { width: 100%; height: 100%; object-fit: cover; }
.news-list-body { flex: 1; }

/* ===== CTA ===== */
.cta-section {
  background: linear-gradient(120deg,#05243C 0%,#0A4F80 50%,#3AA5E0 100%);
  padding: 100px 0;
  color: #fff;
  text-align: center;
}
.cta-section h2 {
  font-size: 40px;
  font-weight: 200;
  margin-bottom: 20px;
  letter-spacing: 3px;
}
.cta-section p {
  color: rgba(255,255,255,.5);
  margin-bottom: 40px;
  font-size: 16px;
  font-weight: 300;
  letter-spacing: 1px;
}

/* ===== 内页Banner ===== */
.page-banner {
  background:
    radial-gradient(ellipse at 78% 0%, rgba(58,165,224,.26) 0%, transparent 58%),
    linear-gradient(135deg,#052A44 0%,#0A4A7A 52%,#3AA5E0 100%);
  color: #fff;
  padding: 120px 0;
  text-align: center;
}
.page-banner h1 {
  font-size: 44px;
  font-weight: 200;
  margin-bottom: 16px;
  letter-spacing: 6px;
}
.breadcrumb { font-size: 13px; color: rgba(255,255,255,.5); letter-spacing: 1px; }
.breadcrumb a { color: rgba(255,255,255,.7); }
.breadcrumb a:hover { color: #fff; }

/* ===== 内容页 ===== */
.content-page { padding: 100px 0; }
.content-box { max-width: 800px; margin: 0 auto; }
.content-box p { margin-bottom: 20px; color: var(--gray); line-height: 2; font-size: 15px; }

/* 新闻列表页 */
.news-list-page { max-width: 900px; margin: 0 auto; }
.news-card {
  display: flex;
  gap: 40px;
  padding: 40px 0;
  border-bottom: 1px solid var(--border);
  align-items: center;
  transition: padding-left .3s ease;
}
.news-card:hover { padding-left: 12px; }
.news-card-thumb {
  width: 260px;
  height: 150px;
  flex-shrink: 0;
  border-radius: 8px;
  overflow: hidden;
  background: var(--blue-soft);
}
.news-card-thumb img { width: 100%; height: 100%; object-fit: cover; }
.news-card-date { min-width: 80px; text-align: left; }
.news-card-date .day {
  font-size: 42px; font-weight: 200; color: var(--black); line-height: 1;
}
.news-card-date .ym { font-size: 13px; color: var(--gray-light); margin-top: 8px; letter-spacing: 1px; }
.news-card-body h3 {
  font-size: 20px; color: var(--black); margin-bottom: 10px;
  font-weight: 400; line-height: 1.5; letter-spacing: 1px;
}
.news-card-body p { font-size: 14px; color: var(--gray); line-height: 1.8; }
.news-card-body .cat {
  display: inline-block; font-size: 12px; color: var(--accent);
  letter-spacing: 2px; margin-bottom: 10px;
}

/* 分页 */
.pagination { margin-top: 60px; text-align: center; }
.pagination a, .pagination span {
  display: inline-block; padding: 10px 18px; margin: 0 4px;
  border: 1px solid var(--border); font-size: 13px; color: var(--gray); letter-spacing: 1px;
}
.pagination a:hover { border-color: var(--accent); color: var(--accent); }
.pagination .current { background: linear-gradient(120deg,var(--navy),var(--brand)); color: #fff; border-color: var(--brand); }

/* 新闻详情 */
.article-detail { max-width: 800px; margin: 0 auto; }
.article-detail h1 {
  font-size: 32px; color: var(--black); text-align: center;
  margin-bottom: 24px; font-weight: 400; line-height: 1.5; letter-spacing: 2px;
}
.article-meta {
  text-align: center; color: var(--gray-light); font-size: 13px;
  margin-bottom: 50px; padding-bottom: 30px; border-bottom: 1px solid var(--border); letter-spacing: 1px;
}
.article-meta span { margin: 0 16px; }
.article-content { font-size: 16px; line-height: 2.2; color: var(--dark); font-weight: 300; }
.article-content p { margin-bottom: 20px; }

/* 业务详情 */
.biz-detail { max-width: 800px; margin: 0 auto; }
.biz-detail h1 { font-size: 36px; color: var(--black); margin-bottom: 40px; text-align: center; font-weight: 300; letter-spacing: 3px; }
.biz-detail-body { font-size: 16px; line-height: 2.2; }

/* 联系我们 */
.contact-grid { display: grid; grid-template-columns: 1fr 1.3fr; gap: 80px; }
.contact-info-item { display: flex; gap: 24px; margin-bottom: 40px; align-items: flex-start; }
.contact-info-item .icon-box {
  width: 56px; height: 56px; border: 1px solid var(--border);
  display: flex; align-items: center; justify-content: center;
  font-size: 20px; color: var(--black); flex-shrink: 0;
}
.contact-info-item h4 { font-size: 13px; color: var(--gray-light); margin-bottom: 6px; letter-spacing: 2px; font-weight: 400; }
.contact-info-item p { font-size: 16px; color: var(--black); font-weight: 400; }
.form-group { margin-bottom: 28px; }
.form-group label { display: block; font-size: 13px; color: var(--gray); margin-bottom: 10px; letter-spacing: 1px; }
.form-control {
  width: 100%; padding: 14px 0; border: none; border-bottom: 1px solid var(--border);
  border-radius: 0; font-size: 15px; background: transparent; transition: border-color .3s; font-family: inherit;
}
.form-control:focus { outline: none; border-bottom-color: var(--accent); }
textarea.form-control { resize: vertical; min-height: 120px; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; }
.form-msg { padding: 16px; margin-bottom: 20px; font-size: 14px; }
.form-msg.success { background: #f0f7f0; color: #2e7d32; }
.form-msg.error { background: #fdf0f0; color: #c62828; }

/* 党建工会 */
.party-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0; border: 1px solid var(--border); }
.party-card { padding: 60px; border-right: 1px solid var(--border); }
.party-card:last-child { border-right: none; }
.party-card-img { font-size: 40px; margin-bottom: 24px; font-weight: 200; }
.party-card-img.party { color: #c62828; }
.party-card-img.union { color: var(--accent); }
.party-card h3 { font-size: 24px; color: var(--black); margin-bottom: 20px; font-weight: 400; letter-spacing: 2px; }
.party-card p { color: var(--gray); font-size: 15px; line-height: 2; font-weight: 300; }

/* ===== 底部 ===== */
.main-footer {
  background: linear-gradient(180deg,#052A44 0%,#041B2E 100%); color: rgba(255,255,255,.55);
  padding-top: 80px; font-size: 13px; font-weight: 300;
}
.footer-grid {
  display: grid; grid-template-columns: 2fr 1fr 1fr 1.5fr;
  gap: 60px; padding-bottom: 60px;
}
.footer-logo img { height: 44px; max-width: 230px; object-fit: contain; margin-bottom: 24px; }
.footer-desc { color: rgba(255,255,255,.52); line-height: 2; font-size: 13px; }
.footer-col h4 { color: #fff; font-size: 13px; margin-bottom: 24px; letter-spacing: 2px; font-weight: 400; }
.footer-col ul li { margin-bottom: 12px; }
.footer-col ul li a { color: rgba(255,255,255,.52); font-size: 13px; }
.footer-col ul li a:hover { color: #fff; padding-left: 4px; }
.contact-list li { display: flex; gap: 12px; align-items: flex-start; margin-bottom: 14px; }
.contact-list i { color: rgba(96,183,236,.55); margin-top: 5px; width: 14px; font-size: 12px; }
.footer-bottom {
  border-top: 1px solid rgba(255,255,255,.1); padding: 24px 0; text-align: center;
  color: rgba(255,255,255,.3); font-size: 12px; letter-spacing: 1px;
}
.footer-bottom a { color: rgba(255,255,255,.4); }

.back-to-top {
  position: fixed; right: 30px; bottom: 30px; width: 48px; height: 48px;
  background: linear-gradient(135deg,var(--navy),var(--brand)); color: #fff; display: flex; align-items: center; justify-content: center;
  box-shadow: 0 8px 24px rgba(6,43,71,.25);
  font-size: 14px; z-index: 999;
}
.back-to-top:hover { background: var(--accent); }

/* 业务详情块 */
.biz-detail-block {
  display: grid; grid-template-columns: 1fr 2fr; gap: 60px;
  padding: 80px 0; border-bottom: 1px solid var(--border); align-items: center;
}
.biz-detail-block:last-child { border-bottom: none; }
.biz-detail-block .biz-num-big {
  font-size: 80px; font-weight: 100; color: var(--border); line-height: 1; letter-spacing: -2px;
}
.biz-detail-block h3 { font-size: 28px; color: var(--black); margin-bottom: 20px; font-weight: 300; letter-spacing: 2px; }
.biz-detail-block p { color: var(--gray); font-size: 15px; line-height: 2; margin-bottom: 24px; }

/* ===== 响应式 ===== */
@media (max-width: 992px) {
  .biz-grid { grid-template-columns: repeat(2, 1fr); }
  .hero h1 { font-size: 38px; }
  .hero-stats { position: static; }
  .hero-stats .container { grid-template-columns: repeat(2, 1fr); }
  .about-wrap { grid-template-columns: 1fr; gap: 40px; }
  .news-grid { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 40px; }
  .contact-grid { grid-template-columns: 1fr; gap: 40px; }
  .party-grid { grid-template-columns: 1fr; }
  .party-card { border-right: none; border-bottom: 1px solid var(--border); }
  .biz-detail-block { grid-template-columns: 1fr; gap: 20px; }
  .section { padding: 60px 0; }
  .section-title { font-size: 30px; }
  .container { padding: 0 20px; }
}
@media (max-width: 768px) {
  .main-nav {
    display: none; position: absolute; top: 88px; left: 0; right: 0;
    background: #fff; flex-direction: column; padding: 20px 40px; gap: 16px;
    border-bottom: 1px solid var(--border);
  }
  .main-nav.open { display: flex; }
  .nav-toggle { display: block; }
  .biz-grid { grid-template-columns: 1fr; }
  .hero { height: 500px; padding: 60px 0; }
  .hero h1 { font-size: 30px; letter-spacing: 2px; }
  .footer-grid { grid-template-columns: 1fr; }
  .form-row { grid-template-columns: 1fr; }
  .top-bar-left span:nth-child(2) { display: none; }
}

/* ============================================
   集团蓝主题增强层（覆盖在上面，不改布局）
   ============================================ */

/* 顶部信息栏：底部细蓝线 + 悬停更亮 */
.top-bar::after {
  content:''; display:block; height:1px; margin-top:11px;
  background: linear-gradient(90deg, rgba(58,165,224,0) 0%, rgba(58,165,224,.55) 50%, rgba(58,165,224,0) 100%);
}
.top-bar-right a:hover { color: var(--brand-light); }

/* 主导航：白底加一点悬浮阴影，选中状态更醒目 */
.main-header { box-shadow: 0 1px 0 rgba(6,43,71,.04), 0 8px 24px -18px rgba(6,43,71,.35); }
.main-nav a { color: #2F4E6B; }
.main-nav a:hover, .main-nav a.active { color: var(--brand); }
.main-nav a::after { height: 2px; background: linear-gradient(90deg, var(--brand), var(--accent)); }
.main-nav a.active::after { width: 100%; }

/* Hero：右侧竖向细光带 + 底部渐隐，增强纵深 */
.hero::after {
  content:''; position:absolute; right:7%; top:16%; bottom:26%; width:1px;
  background: linear-gradient(180deg, transparent, rgba(96,183,236,.5), transparent);
  pointer-events: none;
}
.hero-tag { color: rgba(217,237,252,.78); letter-spacing: 6px; }
.hero-tag::before {
  content:''; display:inline-block; width:34px; height:1px; margin-right:14px;
  background: var(--brand-light); vertical-align:middle;
}
.hero p.hero-sub { color: rgba(227,243,253,.8); }
.btn { font-weight: 400; }
.btn-line-light:hover { box-shadow: 0 12px 30px rgba(4,26,44,.25); }

/* 首屏数据条：数字与分隔 */
.hero-stats .container > div:not(:last-child) {}
.stat-item { position:relative; padding-left: 22px; }
.stat-item::before {
  content:''; position:absolute; left:0; top:6px; bottom:6px; width:2px;
  background: linear-gradient(180deg, rgba(96,183,236,.85), rgba(96,183,236,.15));
}
.stat-item .num { font-variant-numeric: tabular-nums; }
.stat-item .label { color: rgba(227,243,253,.62); letter-spacing: 2px; }

/* 区块：更强的集团秩序感 */
.section { padding: 128px 0; }
.section-tag { color: var(--accent); letter-spacing: 5px; font-size: 12px; }
.section-tag::after {
  content:''; display:block; width:28px; height:2px; margin-top:10px;
  background: linear-gradient(90deg, var(--accent), rgba(46,111,208,0));
}
.section-head.center .section-tag::after { margin-left:auto; margin-right:auto;
  background: linear-gradient(90deg, rgba(46,111,208,0), var(--accent), rgba(46,111,208,0)); }
.section-title { color: var(--ink); }
.section-desc { color: var(--gray); }
.section-gray { background: linear-gradient(180deg,#F7FBFE 0%,#EDF6FD 100%); }

/* 业务卡片：悬停抬升 + 蓝色投影 */
.biz-card { background: #fff; }
.biz-card:hover { transform: translateY(-4px); box-shadow: 0 18px 40px -22px rgba(6,43,71,.45); z-index: 2; }
.biz-num { color: #9DB6CB; font-weight: 400; }
.biz-card h3 { color: var(--ink); }
.biz-card .more { color: var(--brand); border-color: #D2E6F5; }
.biz-card .more:hover { color: var(--accent); border-color: var(--accent); }

/* 关于我们：右上角极细 L 形装饰线，像年报版式 */
.about-visual::after { border-color: rgba(72,169,230,.28); }
.about-visual .big-icon { color: rgba(217,237,252,.22); }
.about-text h2 { color: var(--ink); }
.about-feature i { color: var(--accent); }

/* 新闻区块 */
.news-date { color: var(--accent); font-weight: 400; }
.news-feature h3, .news-item-info h4 { color: var(--ink); }
.news-item-date { color: #96AFC5; }
.news-feature-img { box-shadow: 0 20px 50px -30px rgba(6,43,71,.6); }
.news-card-body h3 { color: var(--ink); }
.news-card-date .day { color: var(--ink); }

/* CTA：底部一条蓝线 + 中央柔光 */
.cta-section { position: relative; overflow: hidden; border-top: 3px solid rgba(58,165,224,.55); }
.cta-section::before {
  content:''; position:absolute; left:50%; top:-120px; width:520px; height:240px;
  transform: translateX(-50%);
  background: radial-gradient(ellipse at center, rgba(58,165,224,.28) 0%, transparent 68%);
  pointer-events: none;
}
.cta-section h2 { letter-spacing: 5px; }
.cta-section p { color: rgba(217,237,252,.72); }

/* 内页 Banner：更高、字距更大、底部过渡 */
.page-banner { padding: 132px 0; position: relative; }
.page-banner::after {
  content:''; position:absolute; left:0; right:0; bottom:0; height:1px;
  background: linear-gradient(90deg, rgba(96,183,236,0), rgba(96,183,236,.45), rgba(96,183,236,0));
}
.page-banner h1 { font-size: 46px; letter-spacing: 8px; font-weight: 200; }
.breadcrumb { color: rgba(217,237,252,.62); }
.breadcrumb a { color: rgba(217,237,252,.82); }

/* 内容页与正文 */
.content-box h2 { color: var(--ink); }
.article-detail h1, .biz-detail h1 { color: var(--ink); }
.article-meta { color: #8FA8BF; }
.article-content { color: var(--dark); }

/* 联系我们 */
.contact-info-item .icon-box { border-color: #D5E7F5; color: var(--brand); background: #fff; transition: all .3s; }
.contact-info-item .icon-box:hover { border-color: var(--accent); color: var(--accent); box-shadow: 0 10px 24px -14px rgba(46,111,208,.6); }
.contact-info-item p { color: var(--ink); }
.form-msg.success { background: #E9F4FC; color: var(--brand); }
.form-msg.error { background: #FDF1F1; color: #C0392B; }

/* 党建/工会：党徽保留暖红，工会改蓝，符合政治色彩惯例 */
.party-card h3 { color: var(--ink); }

/* 底部：顶部 3px 渐变亮线 + 专栏分隔 */
.main-footer { position: relative; border-top: 3px solid transparent; }
.main-footer::before {
  content:''; position:absolute; left:0; right:0; top:-1px; height:2px;
  background: linear-gradient(90deg, rgba(58,165,224,.15), rgba(58,165,224,.85), rgba(58,165,224,.15));
}
.footer-col h4 { letter-spacing: 3px; }
.footer-col h4::after {
  content:''; display:block; width:20px; height:1px; margin-top:12px; background: rgba(96,183,236,.5);
}
.footer-col ul li a:hover { color: var(--brand-light); }
.footer-bottom { border-top: 1px solid rgba(96,183,236,.16); color: rgba(255,255,255,.4); }

/* 回顶按钮 */
.back-to-top:hover { background: linear-gradient(135deg,var(--brand),var(--accent)); }

/* 细节：正文段落与表单更清爽 */
.content-box p { color: var(--gray); }
.form-group label { color: #647E96; letter-spacing: 1.5px; }
.form-control { border-bottom-color: #D8E8F5; color: var(--ink); }

/* 响应式微调 */
@media (max-width: 992px) {
  .section { padding: 72px 0; }
  .page-banner { padding: 92px 0; }
  .page-banner h1 { font-size: 34px; letter-spacing: 4px; }
  .hero::after { display: none; }
  .stat-item { padding-left: 16px; }
}
@media (max-width: 768px) {
  .hero h1 { letter-spacing: 3px; }
  .section-title { letter-spacing: 2px; }
}

/* ===== 服务流程板块 ===== */
.process-section { background: #fff; }
.process-section .section-head { margin-bottom: 72px; }
.process-grid {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 0;
  position: relative;
}
.process-grid::before {
  content:''; position:absolute; left:0; right:0; top:52px; height:1px;
  background: linear-gradient(90deg, rgba(46,111,208,.05), rgba(46,111,208,.35) 50%, rgba(46,111,208,.05));
}
.process-step { position: relative; padding: 0 34px 0 0; }
.process-num {
  font-size: 46px; font-weight: 200; line-height: 1; color: #C6D6E8;
  letter-spacing: 1px; margin-bottom: 56px; position: relative; z-index: 1;
  display: inline-block; background: #fff; padding-right: 16px;
}
.process-step:first-child .process-num { color: var(--accent); }
.process-step h3 {
  font-size: 19px; color: var(--ink); font-weight: 400; letter-spacing: 2px;
  margin-bottom: 14px;
}
.process-step p { font-size: 14px; color: var(--gray); line-height: 1.95; font-weight: 300; padding-right: 12px; }
.process-step::after {
  content:''; position:absolute; left:0; top:52px; width:7px; height:7px; margin-top:-3px;
  border-radius:50%; background: #fff; border:1px solid #C6D6E8;
}
.process-step:first-child::after { background: var(--accent); border-color: var(--accent); }

/* ===== 滚动出现动效 ===== */
.reveal { opacity: 0; transform: translateY(26px); transition: opacity .8s cubic-bezier(.22,.61,.36,1), transform .8s cubic-bezier(.22,.61,.36,1); }
.reveal.in { opacity: 1; transform: none; }
.reveal.delay-1 { transition-delay: .12s; }
.reveal.delay-2 { transition-delay: .24s; }
.reveal.delay-3 { transition-delay: .36s; }
@media (prefers-reduced-motion: reduce) {
  .reveal { opacity: 1 !important; transform: none !important; transition: none !important; }
}

/* 集团感细节：内容区首行标题左侧竖线 */
.section-head:not(.center) .section-tag { border-left: 2px solid var(--accent); padding-left: 12px; }
.section-head:not(.center) .section-tag::after { display: none; }

@media (max-width: 992px) {
  .process-grid { grid-template-columns: 1fr 1fr; row-gap: 40px; }
  .process-grid::before { display: none; }
  .process-num { margin-bottom: 24px; }
  .process-step::after { display: none; }
}
@media (max-width: 768px) {
  .process-grid { grid-template-columns: 1fr; }
  .process-step { padding-right: 0; }
  .process-step p { padding-right: 0; }
}

/* ============================================
   品牌天蓝升级层 v2（基准色现已调浅为 #3AA5E0）
   ============================================ */

/* 首屏：标题更有体量，数字做成渐变亮字 */
.hero h1 { font-size: 64px; letter-spacing: 7px; text-shadow: 0 3px 34px rgba(3,20,34,.5); }
.hero-tag::before { background: #63BEEC; }
.hero-sub { font-size: 17px; }
.hero-stats { border-top: 1px solid rgba(58,165,224,.35); background: rgba(4,30,50,.66); }
.stat-item .num {
  font-size: 40px;
  background: linear-gradient(180deg,#E8F4FD 0%,#9CC9EC 100%);
  -webkit-background-clip: text; background-clip: text;
  color: transparent; -webkit-text-fill-color: transparent;
}
.stat-item::before { background: linear-gradient(180deg, rgba(58,165,224,.95), rgba(58,165,224,.1)); }

/* 导航：选中项天蓝下划线 + 轻微发光 */
.main-nav a::after { background: linear-gradient(90deg,#0B6FB4,#3AA5E0); box-shadow: 0 0 10px rgba(58,165,224,.45); }

/* 按钮：主按钮改成品牌天蓝落点 */
.btn-dark { background: linear-gradient(120deg,#0A5C95 0%,#3AA5E0 100%); box-shadow: 0 10px 26px rgba(58,165,224,.28); }
.btn-dark:hover { background: linear-gradient(120deg,#3AA5E0 0%,#63BEEC 100%); box-shadow: 0 14px 34px rgba(58,165,224,.4); }
.btn-line-light { border-color: rgba(255,255,255,.45); }
.btn-line-light:hover { color: #0A5C95; }

/* 业务图标做成天蓝渐变小徽章，板块感更强 */
.biz-icon {
  width: 62px; height: 62px; display: flex; align-items: center; justify-content: center;
  font-size: 24px; color: #fff; border-radius: 14px;
  background: linear-gradient(135deg,#0B6FB4 0%,#3AA5E0 60%,#63BEEC 100%);
  box-shadow: 0 12px 26px -12px rgba(58,165,224,.6);
  margin-bottom: 26px;
}
.biz-card:hover .biz-icon { transform: translateY(-2px); box-shadow: 0 16px 30px -12px rgba(58,165,224,.75); }
.biz-icon, .biz-card .biz-icon { transition: all .35s ease; }
.biz-num { color: #8FB6D2; }
.biz-card:hover::before { transform: scaleX(1); }

/* 关于我们配图：加天蓝角标 */
.about-visual::before {
  content:''; position:absolute; left:0; top:0; width:64px; height:64px;
  border-left: 3px solid rgba(58,165,224,.9); border-top: 3px solid rgba(58,165,224,.9);
  z-index: 2;
}
.about-visual .big-icon { color: rgba(217,237,252,.2); }

/* CTA：更亮的天蓝聚光 */
.cta-section {
  background: linear-gradient(115deg,#05243C 0%,#0A4F80 45%,#3AA5E0 100%);
}
.cta-section::before { background: radial-gradient(ellipse at center, rgba(99,190,236,.35) 0%, transparent 70%); }
.cta-section::after {
  content:''; position:absolute; left:50%; bottom:0; width:180px; height:2px;
  transform: translateX(-50%);
  background: linear-gradient(90deg, rgba(58,165,224,0), #63BEEC, rgba(58,165,224,0));
}

/* 内页 Banner：加一层极淡斜纹，像集团年报的版式底 */
.page-banner {
  background-image:
    radial-gradient(ellipse at 78% 0%, rgba(99,190,236,.30) 0%, transparent 58%),
    repeating-linear-gradient(115deg, rgba(255,255,255,.045) 0 1px, transparent 1px 46px),
    linear-gradient(135deg,#052A44 0%,#0A4A7A 50%,#3AA5E0 100%);
}
.page-banner h1 { font-size: 48px; letter-spacing: 9px; }

/* 页脚：顶部蓝线更亮，联系方式图标跟着提亮 */
.main-footer::before { background: linear-gradient(90deg, rgba(58,165,224,.12), #63BEEC, rgba(58,165,224,.12)); }
.contact-list i { color: rgba(96,183,236,.7); }
.footer-col h4::after { background: rgba(99,190,236,.6); }

/* 回顶 / 分页 / 表单聚焦 */
.back-to-top { background: linear-gradient(135deg,#0A5C95,#3AA5E0); box-shadow: 0 10px 26px rgba(58,165,224,.3); }
.back-to-top:hover { background: linear-gradient(135deg,#3AA5E0,#63BEEC); }
.pagination .current { background: linear-gradient(120deg,#0A5C95,#3AA5E0); border-color: #3AA5E0; }
.pagination a:hover { border-color: #3AA5E0; color: #1E90CF; }
.form-control:focus { border-bottom-color: #3AA5E0; }

/* 新闻：日期与栏目标签用品牌天蓝，主图悬停浮起 */
.news-date, .news-card-body .cat { color: #1E90CF; }
.news-feature-img:hover, .news-feature:hover .news-feature-img { transform: scale(1.02); box-shadow: 0 26px 60px -30px rgba(58,165,224,.55); }

/* 联系信息图标盒子悬停天蓝 */
.contact-info-item .icon-box:hover { border-color: #3AA5E0; color: #1E90CF; box-shadow: 0 12px 26px -14px rgba(58,165,224,.65); }

/* 响应式 */
@media (max-width: 992px) {
  .hero h1 { font-size: 40px; letter-spacing: 4px; }
  .page-banner h1 { font-size: 36px; letter-spacing: 4px; }
  .biz-icon { width: 54px; height: 54px; font-size: 21px; }
}
@media (max-width: 768px) {
  .hero h1 { font-size: 30px; letter-spacing: 2px; }
  .stat-item .num { font-size: 32px; }
}

/* ============================================
   资质与授权条 v3（集团背书）
   ============================================ */
.honor-strip {
  background: #fff;
  border-bottom: 1px solid var(--border);
  box-shadow: inset 0 1px 0 rgba(58,165,224,.06);
}
.honor-inner {
  display: grid;
  grid-template-columns: 210px 1fr;
  align-items: center;
  gap: 40px;
  padding: 30px 0;
  position: relative;
}
.honor-inner::before {
  content: '';
  position: absolute; left: 0; top: 0; bottom: 0;
  width: 3px;
  background: linear-gradient(180deg, var(--accent), rgba(58,165,224,0));
  opacity: .55;
}
.honor-label { padding-left: 18px; }
.honor-label-cn {
  display: block;
  font-size: 17px;
  font-weight: 600;
  color: var(--ink);
  letter-spacing: 3px;
}
.honor-label-en {
  display: block;
  margin-top: 7px;
  font-size: 10px;
  color: var(--gray-light);
  letter-spacing: 2.2px;
  text-transform: uppercase;
}
.honor-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}
.honor-item {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px 16px;
  background: linear-gradient(135deg, #F7FBFE 0%, #EFF7FD 100%);
  border: 1px solid var(--border);
  border-radius: 4px;
  transition: border-color .25s ease, box-shadow .25s ease, transform .25s ease;
}
.honor-item:hover {
  border-color: rgba(58,165,224,.35);
  box-shadow: 0 8px 22px rgba(58,165,224,.12);
  transform: translateY(-2px);
}
.honor-icon {
  flex: 0 0 auto;
  width: 38px; height: 38px;
  display: flex; align-items: center; justify-content: center;
  border-radius: 50%;
  background: linear-gradient(140deg, #0A5C95, #3AA5E0);
  color: #fff;
  font-size: 15px;
  box-shadow: 0 6px 14px rgba(58,165,224,.26);
}
.honor-name {
  font-size: 14.5px;
  font-weight: 600;
  color: var(--ink);
  line-height: 1.35;
}
.honor-org {
  font-size: 11.5px;
  color: var(--gray);
  margin-top: 4px;
  letter-spacing: .5px;
}
@media (max-width: 992px) {
  .honor-inner { grid-template-columns: 1fr; gap: 20px; padding: 24px 0; }
  .honor-list { grid-template-columns: 1fr; gap: 12px; }
  .biz-grid.biz-grid-five { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 768px) {
  .biz-grid.biz-grid-five { grid-template-columns: 1fr; }
  .honor-label-cn { font-size: 15px; letter-spacing: 2px; }
}

/* ============================================
   首页自定义模块（后台“首页模块”里新增的区块）
   ============================================ */
.custom-block { padding: 100px 0; }
.custom-block.cb-white { background: #fff; }
.custom-block-inner { max-width: 900px; margin: 0 auto; }
.custom-block-head { display: flex; gap: 30px; align-items: flex-start; margin-bottom: 44px; }
.custom-block-head .cb-icon {
  width: 76px; height: 76px; flex-shrink: 0;
  border: 1px solid var(--border); background: #fff;
  display: flex; align-items: center; justify-content: center;
  font-size: 28px; color: var(--accent);
  box-shadow: 0 14px 34px rgba(58,165,224,.10);
}
.custom-block-head .cb-head-text .section-title { font-size: 38px; margin-bottom: 14px; }
.custom-block-head .cb-head-text .section-tag { margin-bottom: 10px; }
.custom-block-body p {
  color: var(--dark); font-size: 16px; line-height: 2.15; font-weight: 300;
  margin-bottom: 18px; text-align: justify;
}
.custom-block-body p:last-child { margin-bottom: 0; }
.custom-block-foot { margin-top: 46px; }

/* ============================================
   登录 / 注册 双模式
   ============================================ */
.auth-wrap { max-width: 460px; margin: 0 auto; }
.auth-tabs {
  display: flex; border: 1px solid var(--border); background: #fff; margin-bottom: 34px;
}
.auth-tabs button {
  flex: 1; padding: 16px 0; border: none; background: transparent; cursor: pointer;
  font-family: inherit; font-size: 15px; letter-spacing: 2px; color: var(--gray);
  transition: all .3s; border-bottom: 2px solid transparent;
}
.auth-tabs button.on { color: var(--ink); border-bottom-color: var(--accent); font-weight: 500; }
.auth-panel { display: none; }
.auth-panel.on { display: block; }
.auth-card { background: #fff; border: 1px solid var(--border); padding: 46px 44px; box-shadow: 0 20px 50px rgba(10,36,64,.06); }
.auth-card .field { margin-bottom: 24px; }
.auth-card .field label { display: block; font-size: 13px; color: var(--gray); margin-bottom: 8px; letter-spacing: 1px; }
.auth-input {
  width: 100%; padding: 13px 14px; border: 1px solid var(--border); background: #F8FBFE;
  font-size: 15px; font-family: inherit; color: var(--ink); transition: all .3s;
}
.auth-input:focus { outline: none; border-color: var(--accent); background: #fff; box-shadow: 0 0 0 3px rgba(58,165,224,.10); }
.auth-btn {
  width: 100%; padding: 15px 0; border: none; cursor: pointer; font-family: inherit;
  font-size: 15px; letter-spacing: 3px; color: #fff;
  background: linear-gradient(120deg, var(--navy) 0%, var(--brand) 100%);
  transition: all .3s;
}
.auth-btn:hover { background: linear-gradient(120deg, var(--brand) 0%, var(--accent) 100%); box-shadow: 0 12px 30px rgba(58,165,224,.28); }
.auth-note { text-align: center; font-size: 13px; color: var(--gray-light); margin-top: 22px; line-height: 2; }
.auth-note a { color: var(--navy-2); }
.auth-note a:hover { color: var(--accent); }
.auth-msg { padding: 13px 16px; font-size: 14px; margin-bottom: 24px; }
.auth-msg.error { background: #FDF1F1; color: #C0392B; border-left: 3px solid #E05B4B; }
.auth-msg.success { background: #EFF8F2; color: #25794A; border-left: 3px solid #3FA96B; }
.qr-row { display: flex; justify-content: center; gap: 22px; margin: 10px 0 28px; }
.qr-btn {
  width: 62px; height: 62px; border-radius: 50%; display: flex; align-items: center;
  justify-content: center; font-size: 26px; color: #fff;
}
.qr-btn:hover { transform: translateY(-3px); box-shadow: 0 12px 24px rgba(10,36,64,.18); }
.qr-title { text-align: center; font-size: 22px; font-weight: 300; color: var(--ink); letter-spacing: 3px; margin-bottom: 8px; }
.qr-sub { text-align: center; font-size: 13px; color: var(--gray-light); margin-bottom: 32px; }

/* ============================================
   会员中心
   ============================================ */
.member-hero {
  background: linear-gradient(120deg, #05243C 0%, #0A4F80 55%, #3AA5E0 100%);
  color: #fff; padding: 70px 0;
}
.member-hero-inner { display: flex; align-items: center; justify-content: space-between; gap: 30px; flex-wrap: wrap; }
.member-ident { display: flex; align-items: center; gap: 24px; }
.member-avatar {
  width: 78px; height: 78px; border-radius: 50%; background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.28); display: flex; align-items: center;
  justify-content: center; font-size: 30px; letter-spacing: 0; overflow: hidden;
}
.member-avatar img { width: 100%; height: 100%; object-fit: cover; }
.member-ident h2 { font-size: 30px; font-weight: 200; letter-spacing: 2px; margin-bottom: 6px; }
.member-ident .meta { font-size: 13px; color: rgba(255,255,255,.62); letter-spacing: 1px; }
.level-badge {
  display: inline-flex; align-items: center; gap: 8px; padding: 7px 16px; border-radius: 30px;
  background: rgba(255,255,255,.14); border: 1px solid rgba(255,255,255,.24); font-size: 13px;
}
.member-hero .actions a {
  display: inline-block; padding: 12px 26px; border: 1px solid rgba(255,255,255,.42);
  font-size: 13px; letter-spacing: 2px; color: #fff; margin-left: 12px;
}
.member-hero .actions a:hover { background: #fff; color: var(--navy); }
.member-body { padding: 70px 0 100px; background: var(--bg-gray); }
.member-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.member-card {
  background: #fff; border: 1px solid var(--border); padding: 34px 30px; transition: all .3s;
}
.member-card:hover { transform: translateY(-4px); box-shadow: 0 18px 40px rgba(10,36,64,.09); border-color: #CBE3F5; }
.member-card .mc-icon { font-size: 22px; color: var(--accent); margin-bottom: 18px; }
.member-card h3 { font-size: 17px; color: var(--ink); font-weight: 500; letter-spacing: 1px; margin-bottom: 8px; }
.member-card p { font-size: 13px; color: var(--gray); line-height: 1.9; }
.member-card.disabled { opacity: .5; }
.member-panel { background: #fff; border: 1px solid var(--border); padding: 46px; }
.member-panel h3 { font-size: 20px; font-weight: 400; color: var(--ink); letter-spacing: 2px; margin-bottom: 30px; }
.member-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.member-table th { text-align: left; font-weight: 400; color: var(--gray-light); font-size: 12px; letter-spacing: 1px; padding: 12px 14px; border-bottom: 1px solid var(--border); background: #FAFDFF; }
.member-table td { padding: 16px 14px; border-bottom: 1px solid #EDF4FA; color: var(--dark); }
.rights-list { display: grid; gap: 12px; }
.rights-item { display: flex; gap: 12px; align-items: flex-start; font-size: 14px; color: var(--dark); }
.rights-item i { color: var(--accent); margin-top: 5px; }
.member-form .field { margin-bottom: 26px; }
.member-form .field label { display: block; font-size: 13px; color: var(--gray); margin-bottom: 9px; letter-spacing: 1px; }
@media (max-width: 1100px) {
  .member-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
  .member-grid { grid-template-columns: 1fr; }
  .member-panel { padding: 30px 22px; }
  .auth-card { padding: 34px 24px; }
  .custom-block-head { flex-direction: column; gap: 18px; }
}
