@charset "utf-8";
/* ============================================================
   湖北中天宏建设项目管理有限公司 官网全局样式
   风格:亮堂大气 + 红金点缀 · 内容宽 1200px
   ============================================================ */
:root {
  --blue: #B81D2E;        /* 主色 正红(标题/强调/点缀) */
  --blue-dark: #8E1320;
  --blue-light: #D84A58;
  --red: #B81D2E;         /* 强调 同主红 */
  --red-dark: #8E1320;
  --gold: #C9A063;        /* 经典金(点缀) */
  --gold-light: #DFC08A;
  --gold-soft: #EBD9B4;
  --gray-bg: #F6F5F2;
  --gray-line: #E5E3DE;
  --text: #333333;
  --text-light: #6E6A64;
  --white: #FFFFFF;
  --topbar-bg: #FBF6EF;   /* 顶栏亮米白底 */
  --topbar-text: #5A4A42; /* 顶栏深字 */
  --topbar-accent: #B81D2E; /* 顶栏强调(热线)红色 */
  --nav-text: #4A3A3C;    /* 导航文字深灰褐 */
  --nav-hover-bg: #FBEEF0; /* 导航hover浅粉底 */
  --deep-bg: #FBF7F0;     /* 亮色区块基底(暖米白,亮堂) */
  --deep-text: #3A2A24;   /* 亮底深字 */
  --deep-muted: #7C6B60;  /* 亮底次级字 */
  --w: 1200px;
  --shadow-card: 0 6px 16px rgba(43,29,31,.08);
  --shadow-card-hover: 0 14px 30px rgba(43,29,31,.16);
  /* 统一字体体系(三层):正文黑体 / 楷体(信条文化) / 衬线数字 */
  --font-body: "Microsoft YaHei", "PingFang SC", "Source Han Sans SC", sans-serif;
  --font-serif: "STKaiti", "KaiTi", "STSong", "SimSun", serif;
  --font-num: Georgia, "Palatino Linotype", "Times New Roman", serif;
}

/* 精致滚动条 + 金色选区 */
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: var(--gray-bg); }
::-webkit-scrollbar-thumb {
  background: linear-gradient(var(--blue-light), var(--blue));
  border-radius: 5px; border: 2px solid #fff;
}
::-webkit-scrollbar-thumb:hover { background: var(--gold); }
::selection { background: var(--blue); color: var(--gold-light); }

* { margin: 0; padding: 0; box-sizing: border-box; font-family: inherit; }  /* 统一按钮/输入框等控件字体,避免浏览器默认字体插入 */
body {
  font-family: var(--font-body);
  color: var(--text);
  background: var(--white);
  font-size: 16.5px;
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
a { text-decoration: none; color: inherit; }
ul, ol { list-style: none; }
img { display: block; max-width: 100%; }
.wrap { width: var(--w); margin: 0 auto; }

/* ============ 集团品牌条(顶端) ============ */
.group-brand { background: linear-gradient(90deg, #8E0E1F 0%, #B81D2E 55%, #8E0E1F 100%); color: #F6E7D4; font-size: 14.5px; }
.group-brand .wrap { display: flex; align-items: center; justify-content: space-between; height: 44px; }
.group-brand .gb-l { display: flex; align-items: center; gap: 14px; flex-shrink: 0; }
.group-brand .gb-r { display: flex; align-items: center; gap: 22px; flex-shrink: 0; }
.group-brand .gb-group { height: 30px; width: auto; opacity: .98; filter: drop-shadow(0 0 3px rgba(0,0,0,.25)); }
.group-brand .gb-company { height: 22px; width: auto; opacity: .95; }
.group-brand .gb-sep { opacity: .6; font-size: 15px; }
.group-brand .slogan { letter-spacing: 1px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; color: #F6E7D4; opacity: .92; }
.group-brand .links { display: flex; align-items: center; flex-shrink: 0; }
.group-brand .links span { white-space: nowrap; color: #F6E7D4; }
.group-brand .links a { color: #F6E7D4; margin-left: 18px; text-decoration: none; transition: opacity .2s; opacity: .92; }
.group-brand .links a:hover { opacity: 1; text-decoration: underline; }

/* ============ 顶部工具条(浅底深字) ============ */
.topbar { background: var(--topbar-bg); color: var(--topbar-text); font-size: 14px; }
.topbar .wrap {
  display: flex; justify-content: space-between; align-items: center; height: 42px;
}
.topbar a { color: var(--topbar-text); margin-left: 18px; transition: opacity .2s; }
.topbar a:hover { opacity: .75; }
.topbar .slogan { letter-spacing: 1px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; }
.topbar .links { display: flex; align-items: center; flex-shrink: 0; }
.topbar .links a.hot { color: var(--topbar-accent); font-weight: 600; }

/* ============ Logo 区 ============ */
.header { background: #fff; border-bottom: 1px solid var(--gray-line); position: relative; }
.header::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; z-index: 1;
  background: linear-gradient(90deg, var(--red) 0%, var(--gold) 45%, var(--blue) 80%, transparent 100%);
  opacity: .5;
}
.header .wrap { display: flex; align-items: center; justify-content: space-between; height: 92px; }
.logo { display: flex; align-items: center; gap: 14px; }
.logo .logo-ic { width: 64px; height: 64px; border-radius: 50%; box-shadow: 0 3px 10px rgba(176,151,106,.25); }
.logo .name { line-height: 1.3; }
.logo .name .cn { font-size: 26px; font-weight: 700; color: var(--blue-dark); letter-spacing: 2px; font-family: var(--font-serif); }
.logo .name .cn b { color: var(--gold); }
.logo .name .cn-img { height: 58px; width: auto; display: block; max-width: 100%; }
.logo .name .en {
  font-size: 11px; color: var(--text-light); letter-spacing: 1px; text-transform: uppercase;
}
.header .tel { text-align: right; }
.header .tel .t { font-size: 15px; color: var(--red); font-weight: 600; letter-spacing: 1px; white-space: nowrap; }
.header .tel .n { font-size: 22px; font-weight: 700; color: var(--red); font-family: var(--font-num); display: flex; align-items: center; justify-content: flex-end; }
.header .tel .n svg { width: 18px; height: 18px; margin-right: 6px; flex-shrink: 0; }
.header .tel .n span + span { margin-left: 14px; }
.header .tel .n span + span::before { content: "·"; margin-right: 14px; color: var(--red); opacity: .5; font-weight: 400; }

/* ============ 导航(白底深字) ============ */
.nav { background: #fff; border-top: 2px solid var(--gray-line); position: relative; }
.nav .wrap { display: flex; }
.nav a {
  display: block; color: var(--nav-text); padding: 0 26px; line-height: 52px;
  font-size: 16.5px; position: relative; transition: background .2s, color .2s; white-space: nowrap;
}
.nav a::before {
  content: ""; position: absolute; left: 50%; top: 0; transform: translateX(-50%) scaleX(0);
  width: 100%; height: 3px; background: linear-gradient(90deg, var(--blue-light), var(--gold));
  transition: transform .28s ease;
}
.nav a:hover::before, .nav a.active::before { transform: translateX(-50%) scaleX(1); }
.nav a:hover, .nav a.active { color: var(--blue-dark); }
.nav a:hover::before, .nav a.active::before { background: linear-gradient(90deg, var(--red), var(--blue-light)); }
.nav a.active::after {
  content: ""; position: absolute; left: 50%; bottom: 0; transform: translateX(-50%);
  border: 6px solid transparent; border-bottom-color: #fff; border-top: none;
}
/* 移动端汉堡按钮 */
.nav-toggle {
  display: none; position: absolute; right: 10px; top: 3px; z-index: 30;
  width: 46px; height: 46px; background: transparent; border: none; cursor: pointer;
  flex-direction: column; align-items: center; justify-content: center; gap: 5px;
}
.nav-toggle span { display: block; width: 22px; height: 2px; background: var(--nav-text); border-radius: 2px; transition: all .25s; }
.nav-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.nav-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.nav-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* ============ Banner 轮播 ============ */
.banner { position: relative; height: 560px; overflow: hidden; background: #241A1C; }
.banner::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 5px; z-index: 4;
  background: linear-gradient(90deg, transparent, var(--gold) 30%, var(--gold) 70%, transparent);
}
/* 去除滤镜:金色光晕层移除(保留干净的图片展示) */
/* 左侧轻微暗渐变仅用于标题文字可读, 已调浅避免遮罩感过重 */
.banner::before {
  content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background: linear-gradient(100deg, rgba(15,15,20,.28) 0%, rgba(15,15,20,.16) 40%, rgba(15,15,20,.05) 72%, transparent 92%);
}
.banner .slides { position: relative; height: 100%; display: flex; transition: transform .5s ease; }
.banner .slide {
  position: relative;
  flex: 0 0 100%; width: 100%; height: 100%; background-size: cover;
  background-position: center; display: flex; align-items: flex-start;
}
.banner .slide::after { display: none; }
/* banner 文字区: 必须覆盖通用 .inner(内页左右栏 grid)的样式, 否则会被 grid 两列污染导致换行/高度异常 */
.banner .slide .inner {
  position: absolute;
  display: block;
  grid-template-columns: none;
  gap: 0;
  align-items: normal;
  padding: 0;
  margin: 0;
  width: max-content;
  max-width: min(920px, 66vw);
  color: #fff;
  z-index: 2;
}
/* 文字位置跟随图片留白: pos-tl 靠左 / pos-tr 靠右 / pos-tc 居中 */
.banner .slide.pos-tl .inner {
  left: 8%;
  top: 132px;
  transform: none;
  text-align: left;
}
.banner .slide.pos-tr .inner {
  left: auto;
  right: 8%;
  top: 132px;
  transform: none;
  text-align: right;
}
.banner .slide.pos-tc .inner {
  left: 50%;
  top: 150px;
  transform: translateX(-50%);
  text-align: center;
}
.banner .slide .inner .tag {
  display: inline-block;
  background: rgba(0,0,0,.22);
  border: 1px solid rgba(255,235,180,.95);
  color: #F2DFA9;
  padding: 7px 18px 8px;
  font-size: 14px;
  margin-bottom: 26px;
  letter-spacing: 4px;
  border-radius: 2px;
  backdrop-filter: blur(1px);
}
.banner .slide .inner h2 {
  margin: 0 0 12px;
  line-height: 1.1;
  font-size: clamp(36px, 3.6vw, 62px);
  font-weight: 700;
  letter-spacing: 0.12em;
  text-align: left;
}
.banner .slide .inner h2 em {
  display: block;
  white-space: nowrap;
  font-style: normal;
  font-size: clamp(34px, 3.4vw, 58px);
  font-weight: 700;
  letter-spacing: 0.12em;
  color: #F2DFA9;
  text-shadow: 0 6px 18px rgba(0,0,0,.50), 0 0 30px rgba(180,140,70,.35);
}
.banner .slide .inner h2 em + em {
  margin-top: 12px;
  color: #F2DFA9;
}
.banner .slide .inner .en {
  font-size: 16px;
  color: #F2DFA9;
  letter-spacing: 0.34em;
  margin-top: 6px;
  text-transform: uppercase;
  font-weight: 300;
  text-align: left;
  text-shadow: 0 2px 8px rgba(0,0,0,.55);
}
.banner .bn-orn { display: none; }
.banner .dots {
  position: absolute; bottom: 28px; left: 50%; transform: translateX(-50%);
  display: flex; gap: 10px; z-index: 5;
}
.banner .dots i { width: 12px; height: 12px; border-radius: 50%; background: rgba(255,255,255,.45); cursor: pointer; }
.banner .dots i.active { background: var(--gold); }
.banner .arrow {
  position: absolute; top: 50%; transform: translateY(-50%); z-index: 5;
  width: 46px; height: 60px; background: rgba(0,0,0,.25); color: #fff; border: none;
  font-size: 26px; cursor: pointer; line-height: 60px; text-align: center;
}
.banner .arrow:hover { background: var(--red); }
.banner .arrow.prev { left: 0; }
.banner .arrow.next { right: 0; }

/* ============ 企业愿景 · 效果呈现 ============ */
.vision .vision-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 36px; }
.vision .vision-item { position: relative; overflow: hidden; border-radius: 6px; box-shadow: 0 18px 50px rgba(110,40,48,.28); transition: transform .5s ease, box-shadow .5s ease; }
.vision .vision-item:hover { transform: translateY(-8px); box-shadow: 0 28px 64px rgba(110,40,48,.38); }
.vision .vision-item::after {
  content: ""; position: absolute; inset: 14px; z-index: 2; pointer-events: none;
  border: 1px solid rgba(216,196,156,.55); border-radius: 3px;
}
.vision .vision-item img { width: 100%; display: block; aspect-ratio: 4 / 3; object-fit: cover; transition: transform .9s ease; }
.vision .vision-item:hover img { transform: scale(1.05); }
.vision .v-no {
  position: absolute; top: 20px; left: 20px; z-index: 3; width: 46px; height: 46px;
  line-height: 44px; text-align: center; font-family: var(--font-num); font-size: 18px;
  background: rgba(51,66,58,.72); color: var(--gold); border: 1px solid rgba(176,151,106,.65); border-radius: 3px;
}
.vision .v-title {
  position: absolute; top: 20px; right: 20px; z-index: 3;
  padding: 4px 14px; font-size: 12px; letter-spacing: 4px; color: #E3D6B8;
  border: 1px solid rgba(176,151,106,.55); background: rgba(51,66,58,.6); border-radius: 2px;
}
.vision .vision-item .cap {
  position: absolute; left: 0; right: 0; bottom: 0; padding: 70px 24px 24px; z-index: 1;
  background: linear-gradient(transparent, rgba(51,66,58,.96) 60%); color: #fff; text-align: center;
}
.vision .vision-item .cap b { display: block; font-size: 24px; letter-spacing: 6px; color: var(--gold); font-weight: 700; margin-bottom: 8px; font-family: var(--font-serif); }
.vision .vision-item .cap span { font-size: 13.5px; letter-spacing: 3px; color: #D7DCD8; }

/* ============ 区块通用 ============ */
.section { padding: 64px 0; }
.section.gray { background: var(--gray-bg); }

/* ============ 首页大板块固定背景(滚动视差, 参照华进官网) ============ */
.sec-fixed-biz, .sec-fixed-proj, .sec-fixed-cul {
  position: relative; background-size: cover; background-position: center;
  background-attachment: fixed;
}
.sec-fixed-biz { background-image: url('../images/biz_tower.jpg'); }
.section.gray.sec-fixed-biz { background-color: transparent; background-image: url('../images/biz_tower.jpg'); background-attachment: fixed; }
.sec-fixed-proj { background-image: url('../images/projects/case/p12_c37.png'); }
.sec-fixed-cul { background-image: url('../images/cul_park.png'); }
/* 固定背景遮罩层,保证卡片内容可读 */
.sec-fixed-biz::before, .sec-fixed-proj::before, .sec-fixed-cul::before {
  content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none;
  background: linear-gradient(180deg, rgba(255,255,255,.72), rgba(255,255,255,.55));
}
.sec-fixed-biz > .wrap, .sec-fixed-proj > .wrap, .sec-fixed-cul > .wrap { position: relative; z-index: 1; }

.section .sec-head { text-align: center; margin-bottom: 44px; position: relative; }
.section .sec-head .cn {
  font-size: 30px; font-weight: 700; color: var(--blue); letter-spacing: 4px;
  position: relative; display: inline-block; padding-bottom: 14px;
}
.section .sec-head .cn::after {
  content: ""; position: absolute; left: 50%; bottom: 0; transform: translateX(-50%);
  width: 60px; height: 3px; border-radius: 2px;
  background: linear-gradient(90deg, var(--red) 0%, var(--gold) 60%, var(--gold) 100%);
}
.section .sec-head .en {
  font-size: 14px; color: var(--gold); letter-spacing: 5px; text-transform: uppercase; margin-top: 10px;
}
.section .sec-head .en::before { content: "— "; color: var(--gold); }
.section .sec-head .en::after { content: " —"; color: var(--gold); }
.section .sec-head .more { position: absolute; right: 0; top: 8px; font-size: 13px; color: var(--blue-light); }
.section .sec-head .more:hover { color: var(--gold); }

/* ============ 关于中天宏 ============ */
.about-grid { display: grid; grid-template-columns: 1fr 1.35fr 1fr; gap: 30px; align-items: center; }
.about-grid .about-pic { overflow: hidden; border-radius: 10px; box-shadow: var(--shadow-card-hover); position: relative; align-self: stretch; }
.about-grid .about-pic img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .6s; }
.about-grid .about-pic:hover img { transform: scale(1.04); }
.about-txt h3 { font-size: 23px; color: var(--blue); margin-bottom: 18px; letter-spacing: 1px; position: relative; padding-left: 14px; border-left: 4px solid var(--red); }
.about-txt p { color: var(--text-light); line-height: 1.9; margin-bottom: 14px; text-align: justify; }
.about-txt b { color: var(--blue); }
.about-txt .hl { color: var(--red); font-weight: 600; }
.btn-more { display: inline-block; margin-top: 8px; padding: 11px 30px; background: var(--blue); color: #fff; border-radius: 6px; font-size: 14.5px; letter-spacing: 2px; border: 1px solid transparent; transition: all .25s; }
.btn-more:hover { background: var(--blue-dark); transform: translateY(-2px); box-shadow: 0 8px 20px rgba(140,19,32,.22); }

/* ============ 主营业务 大图卡片 ============ */
.biz-cards { display: block; }
.biz-track { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.biz-card { background: #fff; border: 1px solid var(--gray-line); border-radius: 10px; padding: 30px 24px; text-align: center; transition: all .3s; position: relative; overflow: hidden; min-width: 0; }
.biz-card::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 4px; background: linear-gradient(90deg, var(--red), var(--gold)); transform: scaleX(0); transform-origin: left; transition: transform .3s; }
.biz-card:hover { transform: translateY(-6px); box-shadow: var(--shadow-card-hover); border-color: rgba(176,151,106,.5); }
.biz-card:hover::before { transform: scaleX(1); }
.biz-card .bc-ico {
  width: 68px; height: 68px; border-radius: 50%; margin: 0 auto 18px;
  background:
    radial-gradient(circle at 32% 28%, rgba(255,255,255,.42) 0%, rgba(255,255,255,0) 46%),
    linear-gradient(150deg, var(--blue-light) 0%, var(--blue) 55%, var(--blue-dark) 100%);
  color: #fff; display: flex; align-items: center; justify-content: center;
  box-shadow: 0 0 0 2px rgba(255,255,255,.9), 0 8px 18px rgba(184,29,46,.22);
  transition: all .3s; position: relative;
}
.biz-card:hover .bc-ico {
  background:
    radial-gradient(circle at 32% 28%, rgba(255,255,255,.55) 0%, rgba(255,255,255,0) 46%),
    linear-gradient(150deg, var(--gold-light) 0%, var(--gold) 55%, #A8843C 100%);
  color: var(--blue);
  box-shadow: 0 0 0 2px rgba(255,255,255,.9), 0 10px 22px rgba(176,151,106,.4);
  transform: translateY(-3px) scale(1.04);
}
.biz-card .bc-ico svg { width: 32px; height: 32px; filter: drop-shadow(0 1px 2px rgba(0,0,0,.25)); }
.biz-card h4 { font-size: 19px; color: var(--blue); margin-bottom: 6px; letter-spacing: 1px; }
.biz-card p { font-size: 14px; color: var(--text-light); }

/* ============ 首页分类项目展示 ============ */
.proj-cats { display: flex; flex-direction: column; gap: 22px; }
.pc-tabs { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; }
.pc-tabs button { padding: 9px 22px; border: 1px solid var(--gray-line); border-radius: 30px; background: #fff; color: var(--text); font-size: 14px; letter-spacing: 1px; cursor: pointer; transition: all .25s; }
.pc-tabs button:hover { border-color: var(--gold); color: var(--blue); }
.pc-tabs button.active { background: #FBEEF0; color: var(--blue-dark); border-color: var(--blue-light); box-shadow: 0 4px 12px rgba(200,16,46,.10); }
.pc-panels { position: relative; }
.pc-panel { display: none; }
.pc-panel.active { display: block; }
.pc-panel .pc-track { overflow: hidden; }
.pc-panel .pc-item { flex: 0 0 calc((100% - 60px) / 4); }

/* ============ 集团文化 图文卡 ============ */
.cult-lead {
  text-align: center; margin: -6px 0 30px; font-size: 15px; letter-spacing: 8px;
  color: var(--gold); font-family: var(--font-serif);
  white-space: nowrap;
}
.culture-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; }
.cul-card { position: relative; padding: 34px 20px 28px; background: #fff; color: var(--deep-text); border-radius: 10px; text-align: center; overflow: hidden; transition: all .3s; border: 1px solid rgba(201,160,99,.4); box-shadow: var(--shadow-card); }
.cul-card::before { content: ""; position: absolute; top: -40px; right: -40px; width: 120px; height: 120px; border: 1px solid rgba(201,160,99,.35); border-radius: 50%; }
.cul-card:hover { transform: translateY(-6px); box-shadow: 0 16px 34px rgba(184,29,46,.12); border-color: rgba(201,160,99,.7); }
.cul-card .cul-k { font-size: 14px; letter-spacing: 4px; color: #A8843C; margin-bottom: 14px; }
.cul-card .cul-v { font-size: 21px; font-weight: 700; letter-spacing: 2px; font-family: var(--font-serif); line-height: 1.6; color: var(--blue); }
.cul-card .cul-e { font-size: 11.5px; letter-spacing: 1px; color: var(--deep-muted); margin-top: 12px; text-transform: uppercase; }
.c-red { color: var(--red); }
/* ============ 集团文化三列(企业理念/企业文化/企业精神) ============ */
.cult3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(246,245,242,.95)); border: 1px solid rgba(201,160,99,.45); border-radius: 12px; overflow: hidden; box-shadow: var(--shadow-card); }
.cult3-col + .cult3-col { border-left: 1px dashed #C7BBA0; }
.cult3-head { text-align: center; font-size: 20px; font-weight: 700; letter-spacing: 6px; color: #fff; background: linear-gradient(135deg, var(--blue) 0%, var(--blue-dark) 100%); padding: 15px 10px; }
.cult3-list { list-style: none; margin: 0; padding: 24px 26px 30px; }
.cult3-list li { position: relative; padding: 9px 0 9px 26px; font-family: "KaiTi", "楷体", "STKaiti", var(--font-body); font-size: 21px; letter-spacing: 3px; color: #611a20; }
.cult3-list li::before { content: "•"; position: absolute; left: 3px; top: 9px; color: var(--red); }
@media (max-width: 860px) {
  .cult3 { grid-template-columns: 1fr; }
  .cult3-col + .cult3-col { border-left: 0; border-top: 1px dashed #C7BBA0; }
  .cult3-list { padding: 16px 24px 18px; }
}

/* ============ 数据统计区 ============ */
.stats {
  background: linear-gradient(180deg, #FDFBF7 0%, #FBF6EF 100%);
  padding: 44px 0 48px; color: var(--deep-text); position: relative;
  border-top: 1px solid rgba(201,160,99,.25);
}
.stats::before {
  content: ""; position: absolute; left: 0; right: 0; top: 0; height: 3px;
  background: linear-gradient(90deg, transparent, var(--gold), transparent);
}
.stats-slogan {
  text-align: center; font-size: 15px; letter-spacing: 10px; color: #A8843C;
  font-weight: 300; margin-bottom: 30px;
}
.stats .wrap { display: flex; justify-content: space-between; text-align: center; position: relative; z-index: 1; }
.stats .item { flex: 1; border-right: 1px solid rgba(184,29,46,.12); position: relative; }
.stats .item:last-child { border-right: none; }
.stats .num {
  font-size: 52px; font-weight: 700; color: var(--blue);
  font-family: var(--font-num);
  text-shadow: 0 0 24px rgba(184,29,46,.15);
}
.stats .num small { font-size: 20px; }
.stats .label { font-size: 15px; color: var(--deep-muted); margin-top: 6px; letter-spacing: 2px; }

/* ============ 核心业务 图标导航条 ============ */
.biz-strip { display: grid; grid-template-columns: repeat(6, 1fr); gap: 1px; background: var(--gray-line); border: 1px solid var(--gray-line); }
.biz-item {
  background: #fff; display: flex; flex-direction: column; align-items: center; justify-content: center;
  padding: 22px 10px; text-align: center; transition: all .25s; min-width: 0; position: relative;
}
.biz-item:hover { background: var(--blue); box-shadow: inset 0 0 0 2px rgba(176,151,106,.65); }
.biz-item .ico {
  width: 46px; height: 46px; border-radius: 50%; background: var(--blue); color: #fff;
  display: flex; align-items: center; justify-content: center; margin-bottom: 10px; transition: all .25s;
}
.biz-item:hover .ico { background: linear-gradient(135deg, var(--gold-light), var(--gold)); color: var(--blue); box-shadow: 0 4px 12px rgba(176,151,106,.4); }
.biz-item .ico svg { width: 22px; height: 22px; }
.biz-item .t { font-size: 16px; font-weight: 600; color: var(--blue); transition: color .2s; }
.biz-item:hover .t { color: #fff; }
.biz-item .d {
  font-size: 13px; color: var(--text-light); margin-top: 4px;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100%; transition: color .2s;
}
.biz-item:hover .d { color: #D7DCD8; }

/* ============ 经典项目 横向轮播画廊 ============ */
.proj-carousel { position: relative; }
.pc-track {
  display: flex; gap: 20px; overflow-x: auto; scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch; scrollbar-width: none;
}
.pc-track::-webkit-scrollbar { display: none; }
.pc-item {
  flex: 0 0 calc((100% - 40px) / 3); scroll-snap-align: start;
  background: #fff; border: 1px solid var(--gray-line); overflow: hidden; transition: all .25s; min-width: 0;
  border-radius: 10px; box-shadow: var(--shadow-card); position: relative;
}
.pc-item::before {
  content: ""; position: absolute; top: 0; left: 0; right: 0; height: 3px; z-index: 2;
  background: linear-gradient(90deg, var(--red), var(--gold)); transform: scaleX(0); transform-origin: left;
  transition: transform .3s;
}
.pc-item:hover { box-shadow: var(--shadow-card-hover); transform: translateY(-4px); }
.pc-item:hover::before { transform: scaleX(1); }
.pc-item .img { height: 170px; overflow: hidden; }
.pc-item .img img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.pc-item:hover .img img { transform: scale(1.08); }
.pc-item .body { padding: 12px 14px 16px; }
.pc-item .body h4 {
  font-size: 14.5px; color: var(--blue); line-height: 1.5;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
  overflow: hidden; min-height: 43px; /* 两行保底,保证卡片等高 */
}
.pc-item .body .date { font-size: 13.5px; color: #9AA29C; margin-top: 6px; }
.pc-arrow {
  position: absolute; top: 50%; transform: translateY(-50%); width: 38px; height: 50px;
  background: rgba(140,40,55,.75); color: #fff; border: none; font-size: 24px; cursor: pointer;
  z-index: 3; line-height: 50px; transition: background .2s;
}
.pc-arrow:hover { background: var(--red); }
.pc-arrow.prev { left: 0; }
.pc-arrow.next { right: 0; }
.biz-card .go:hover { text-decoration: underline; }

/* ============ 公告双栏 ============ */
.dual { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; }
.dual > * { min-width: 0; }
.panel { background: #fff; border: 1px solid var(--gray-line); min-width: 0; border-radius: 10px; overflow: hidden; box-shadow: var(--shadow-card); }
.panel .p-head {
  display: flex; justify-content: space-between; align-items: center;
  background: linear-gradient(135deg, #EEF0EC, #DDE2DF); color: var(--blue-dark); padding: 12px 20px;
  position: relative;
}
.panel .p-head::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 2px;
  background: linear-gradient(90deg, var(--gold), rgba(176,151,106,0) 70%);
}
.panel .p-head .t { font-size: 17px; font-weight: 700; letter-spacing: 2px; }
.panel .p-head .t::before {
  content: ""; display: inline-block; width: 4px; height: 16px; background: var(--gold);
  margin-right: 10px; vertical-align: -2px;
}
.panel .p-head a { font-size: 13px; color: #CDD2CE; }
.panel .p-head a:hover { color: var(--gold-light); }
.panel ul li {
  display: flex; justify-content: space-between; align-items: center; min-width: 0;
  padding: 12px 20px; border-bottom: 1px dashed var(--gray-line); font-size: 14px;
}
.panel ul li:last-child { border-bottom: none; }
.panel ul li a {
  color: var(--text); overflow: hidden; white-space: nowrap; text-overflow: ellipsis;
  min-width: 0; flex: 1 1 auto;
}
.panel ul li a:hover { color: var(--red); }
.panel ul li .date { color: #9AA29C; font-size: 14px; flex-shrink: 0; margin-left: 16px; font-family: var(--font-num); }

/* ============ 新闻/项目卡片墙 ============ */
.card-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
/* 团队风采墙: 瀑布流(multi-column), 卡片按各自高度紧凑排列, 避免 Grid 行高对齐产生的纵向空白 */
.card-grid.team-grid { display: block; column-count: 3; column-gap: 24px; }
.card-grid.team-grid .news-card { break-inside: avoid; margin-bottom: 24px; }
/* 团队风采墙: 集体合影横跨整行 */
.card-grid.team-grid .team-wide { column-span: all; }
/* 团队风采卡片: 图片按真实比例展示(aspect-ratio 由内联样式按原图比例设置), 文字放图片下方 */
.card-grid.team-grid .news-card .img {
  position: relative; width: 100%; height: auto; aspect-ratio: 4 / 3; overflow: hidden;
  cursor: zoom-in; background: var(--gray-bg);
}
.card-grid.team-grid .news-card .img img {
  width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s;
}
.card-grid.team-grid .news-card .img:hover img { transform: scale(1.06); }
.card-grid.team-grid .news-card .img::after { display: none; }
.card-grid.team-grid .team-wide .img { aspect-ratio: 664 / 248; }
.card-grid.team-grid .team-wide .img img { object-position: center; }
/* 竖图(拼接图拆分): 限制最大高度, 避免过高, cover 保留主体 */
.card-grid.team-grid .news-card.team-tall .img img { object-position: center 30%; }
/* 极窄竖图(206:440)单独限高, 与其他竖图卡协调, cover 保留横幅顶部 */
.card-grid.team-grid .news-card.team-xnarrow .img { max-height: 560px; }
.card-grid.team-grid .news-card.team-xnarrow .img img { object-position: center 15%; }
.card-grid.team-grid .news-card .body { padding: 13px 16px 16px; }
.card-grid.team-grid .news-card .body h4 {
  font-size: 15px; color: var(--blue); line-height: 1.5;
  display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical;
  overflow: hidden; min-height: 22px;
}
.news-card {
  background: #fff; border: 1px solid var(--gray-line); overflow: hidden; position: relative;
  border-radius: 10px; box-shadow: var(--shadow-card); transition: all .25s;
}
.news-card::before {
  content: ""; position: absolute; top: 0; left: 0; right: 0; height: 3px; z-index: 2;
  background: linear-gradient(90deg, var(--red), var(--gold)); transform: scaleX(0); transform-origin: left;
  transition: transform .3s;
}
.news-card:hover { box-shadow: var(--shadow-card-hover); transform: translateY(-4px); }
.news-card:hover::before { transform: scaleX(1); }
.news-card .img { height: 132px; overflow: hidden; }
.news-card .img img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; display: block; }
.news-card:hover .img img { transform: scale(1.08); }
.news-card .body { padding: 14px 16px 18px; }
.news-card .body h4 {
  font-size: 15px; color: var(--blue); line-height: 1.5;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
  overflow: hidden; min-height: 45px; /* 两行保底,保证卡片等高 */
}
.news-card .body .date { font-size: 13.5px; color: #9AA29C; margin-top: 8px; }

/* ============ 项目筛选按钮 ============ */
.filter { text-align: center; margin-bottom: 30px; }
.filter button {
  border: 1px solid var(--gray-line); background: #fff; color: var(--text);
  padding: 8px 24px; margin: 0 6px 8px; font-size: 15px; cursor: pointer; transition: all .2s;
  font-family: inherit; border-radius: 20px;
}
.filter button:hover { border-color: var(--gold); color: var(--gold-dark, var(--blue)); box-shadow: 0 2px 8px rgba(176,151,106,.18); }
.filter button.active { background: #FBEEF0; border-color: var(--blue-light); color: var(--blue-dark); }
.filter button.active::before { content: "◆ "; color: var(--gold); font-size: 10px; }

/* ============ Logo 墙(合作单位) ============ */
.partner-group { margin-bottom: 42px; }
.partner-group:last-child { margin-bottom: 0; }
.pg-title {
  display: flex; align-items: baseline; gap: 10px;
  font-size: 21px; color: var(--blue-dark); letter-spacing: 2px;
  padding: 0 0 14px; margin: 0 0 18px; position: relative;
}
.pg-title::after { content: ""; position: absolute; left: 0; bottom: 0; width: 56px; height: 3px; background: var(--blue); border-radius: 2px; }
.logo-wall { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.logo-wall .u {
  background: #fff; border: 1px solid var(--gray-line); text-align: center;
  padding: 26px 12px 20px; font-size: 15px; color: var(--text); letter-spacing: 1px;
  transition: all .2s; cursor: default; border-radius: 10px; min-width: 0; overflow: hidden;
}
.logo-wall .u:hover { border-color: var(--blue); color: var(--blue); box-shadow: 0 6px 20px rgba(140,40,55,.14); transform: translateY(-3px); }
.logo-wall .u .ic { width: 100%; max-width: 120px; height: 92px; margin: 0 auto 10px; color: var(--blue); display: flex; align-items: center; justify-content: center; }
.logo-wall .u .ic img { width: 100%; height: 100%; object-fit: contain; display: block; }

/* ============ 合作单位 横向跑马灯(首页) ============ */
.partner-marquee {
  overflow: hidden; background: #fff; border: 1px solid var(--gray-line);
  padding: 0; position: relative;
}
.partner-marquee::before,
.partner-marquee::after {
  content: ""; position: absolute; top: 0; bottom: 0; width: 46px; z-index: 2; pointer-events: none;
}
.partner-marquee::before { left: 0; background: linear-gradient(90deg, #fff, rgba(255,255,255,0)); }
.partner-marquee::after { right: 0; background: linear-gradient(270deg, #fff, rgba(255,255,255,0)); }
.pm-row { border-bottom: 1px solid var(--gray-line); padding: 7px 0; overflow: hidden; }
.pm-row:last-child { border-bottom: none; }
.pm-track {
  display: flex; width: max-content; animation: pm-scroll 90s linear infinite;  /* 速度放缓 */
}
.pm-track.reverse { animation-name: pm-scroll-reverse; }  /* 中间一行反向 */
.pm-item {
  display: flex; align-items: center; gap: 10px; white-space: nowrap;
  padding: 4px 28px; font-size: 14.5px; color: var(--text);
  border-right: 1px solid var(--gray-line); transition: color .2s;
}
.pm-item:hover { color: var(--red); }
.pm-item .ic { width: 40px; height: 34px; color: var(--blue); flex-shrink: 0; display: block; }
.pm-item .ic img { width: 100%; height: 100%; object-fit: contain; display: block; }
@keyframes pm-scroll { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@keyframes pm-scroll-reverse { from { transform: translateX(-50%); } to { transform: translateX(0); } }

/* ============ 页脚 ============ */
.footer { background: var(--deep-bg); color: var(--deep-muted); font-size: 15px; position: relative; border-top: 1px solid rgba(201,160,99,.3); }
.footer::before {
  content: ""; position: absolute; top: 0; left: 0; right: 0; height: 3px;
  background: linear-gradient(90deg, transparent, var(--red) 25%, var(--gold) 50%, var(--red) 75%, transparent);
}
.footer .cols { display: grid; grid-template-columns: 1.6fr 2fr 1.4fr; gap: 30px; padding: 48px 0 36px; }
.footer h4 { color: var(--blue); font-size: 17px; margin-bottom: 18px; letter-spacing: 2px; position: relative; padding-bottom: 10px; }
.footer h4::after { content: ""; position: absolute; left: 0; bottom: 0; width: 36px; height: 2px; background: var(--gold); }
.footer .f-logo { display: flex; align-items: center; gap: 12px; margin-bottom: 16px; }
.footer .f-logo img { width: 52px; height: 52px; border-radius: 50%; box-shadow: 0 0 0 2px rgba(201,160,99,.45); }
.footer .f-logo .cn { font-size: 18px; font-weight: 700; color: var(--blue-dark); letter-spacing: 1px; }
.footer .f-logo .en { font-size: 10px; color: var(--deep-muted); letter-spacing: 1px; }
.footer p { margin-bottom: 6px; }
.footer .f-motto {
  margin: 18px auto 6px; padding-top: 14px; border-top: 1px dashed rgba(201,160,99,.45);
  font-size: 24px; letter-spacing: 3px; color: #A8843C;
  font-family: var(--font-serif); line-height: 1.6; text-align: center; white-space: nowrap;
}
.footer a { color: var(--deep-muted); }
.footer a:hover { color: var(--red); }
.footer .f-nav { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; }  /* 快速导航 | 业务范围 并排两列 */
.footer .f-col li { margin-bottom: 8px; transition: transform .2s; }
.footer .f-col li:hover { transform: translateX(4px); }
.footer .f-col li a::before { content: "› "; color: var(--red); }
.footer .f-contact li { display: flex; margin-bottom: 10px; }
.footer .f-contact .k { color: var(--red); margin-right: 10px; flex-shrink: 0; }
.footer .copy { border-top: 1px solid rgba(184,29,46,.12); text-align: center; padding: 16px 0; font-size: 12.5px; color: var(--deep-muted); }
.footer .copy a { color: var(--deep-muted); }
.footer .copy a:hover { color: var(--red); }
.footer .copy .f-admin { display: inline-block; margin-left: 6px; }
.footer .copy .f-admin a {
  display: inline-block; padding: 3px 12px 4px; border: 1px solid rgba(184,29,46,.35); border-radius: 3px;
  color: var(--red); font-size: 12px; line-height: 1.4; transition: background .2s, color .2s;
}
.footer .copy .f-admin a:hover { background: var(--red); color: #fff; }

/* ============ 内页通用 ============ */
.page-banner {
  height: 220px;
  background: linear-gradient(120deg, #F9F1EE 0%, #FDF9F3 55%, #F5E7E3 100%);
  background-image: linear-gradient(100deg, rgba(255,250,245,.96) 0%, rgba(253,244,239,.92) 45%, rgba(250,232,228,.72) 75%, rgba(246,216,214,.35) 100%), var(--page-banner-bg, url('images/page_banners/pb_city.jpg'));
  background-size: cover;
  background-position: 68% center;
  background-repeat: no-repeat;
  display: flex;
  align-items: center;
  position: relative;
  overflow: hidden;
}
.page-banner::before {
  content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 3px;
  background: linear-gradient(90deg, transparent, var(--red) 40%, var(--gold) 60%, transparent);
  opacity: .8;
}
.page-banner::after {
  content: ""; position: absolute; right: -60px; top: -80px; width: 320px; height: 320px;
  border: 2px solid rgba(184,29,46,.18); border-radius: 50%;
}
.page-banner h1 { font-size: 34px; color: var(--blue); letter-spacing: 5px; position: relative; display: inline-block; }
.page-banner h1::before {
  content: ""; position: absolute; left: -22px; top: 50%; transform: translateY(-50%) rotate(45deg);
  width: 9px; height: 9px; background: var(--gold); box-shadow: 0 0 10px rgba(201,160,99,.6);
}
.page-banner h1::after {
  content: ""; position: absolute; left: -34px; top: 50%; transform: translateY(-50%);
  width: 8px; height: 1px; background: linear-gradient(90deg, transparent, rgba(201,160,99,.8));
}
.page-banner p { color: var(--deep-muted); margin-top: 8px; letter-spacing: 1px; }
.crumb {
  background: var(--gray-bg); border-bottom: 1px solid var(--gray-line); padding: 10px 0; font-size: 13px;
}
.crumb a { color: var(--blue-light); }
.crumb a:hover { color: var(--red); }
.crumb .sep { margin: 0 8px; color: #B7BDB9; }
.crumb .cur { color: var(--text-light); }

/* 内页左右布局 */
.inner { display: grid; grid-template-columns: 230px 1fr; gap: 30px; padding: 40px 0 60px; align-items: start; }
.side { border: 1px solid var(--gray-line); background: #fff; position: sticky; top: 16px; max-height: calc(100vh - 32px); overflow-y: auto; align-self: start; }
.side .s-t { background: #FBEEF0; color: var(--blue-dark); font-size: 18px; padding: 16px 20px; letter-spacing: 2px; border-bottom: 2px solid var(--blue-light); }
.side .s-t small { display: block; font-size: 11px; color: #BBC0BC; letter-spacing: 1px; margin-top: 2px; }
.side a { display: block; padding: 13px 20px; border-bottom: 1px dashed var(--gray-line); font-size: 15px; color: var(--text); }
.side a::before { content: "· "; color: var(--red); }
.side a:hover, .side a.active { background: var(--gray-bg); color: var(--red); }
.content { background: #fff; border: 1px solid var(--gray-line); padding: 34px 36px; min-height: 480px; min-width: 0; }

/* 网格子项最小宽度保护:防止长标题/内容撑破响应式网格 */
.biz-strip > *, .card-grid > *, .logo-wall > *, .cert-grid > *, .qual-strip > *, .contact-grid > *, .dual > *, .inner > * { min-width: 0; }
.content h2 {
  font-size: 22px; color: var(--blue); margin-bottom: 16px; letter-spacing: 1px;
  padding-left: 14px; border-left: 4px solid var(--red); position: relative;
}
.content h2::before {
  content: "◆"; position: absolute; left: -20px; top: 50%; transform: translateY(-50%);
  color: var(--gold); font-size: 8px;
}
/* 全宽页(projects/partners)区块标题:与 .content h2 风格统一 */
.page-box { padding: 40px 0 60px; }
.page-box .pb-title {
  font-size: 22px; color: var(--blue); margin-bottom: 24px; letter-spacing: 1px;
  padding-left: 14px; border-left: 4px solid var(--red); position: relative;
}
.page-box .pb-title::before {
  content: "◆"; position: absolute; left: -20px; top: 50%; transform: translateY(-50%);
  color: var(--gold); font-size: 8px;
}
.page-box .pb-note {
  text-indent: 0; font-size: 13px; color: #999; margin-top: 22px; line-height: 1.8;
}
/* 招标信息页(全宽): 标题+Tab 行 */
.bid-head { display: flex; align-items: flex-end; justify-content: space-between; flex-wrap: wrap; gap: 14px; margin-bottom: 8px; }
.bid-head h2 {
  font-size: 22px; color: var(--blue); margin-bottom: 0; letter-spacing: 1px;
  padding-left: 14px; border-left: 4px solid var(--red); position: relative;
}
.bid-head h2::before { content: "◆"; position: absolute; left: -20px; top: 50%; transform: translateY(-50%); color: var(--gold); font-size: 8px; }
/* 招标服务提示条 */
.bid-tip {
  margin-top: 34px; padding: 18px 24px; display: flex; align-items: center; gap: 18px;
  background: linear-gradient(90deg, rgba(184,29,46,.06), rgba(184,29,46,.01));
  border: 1px solid rgba(184,29,46,.16); border-left: 4px solid var(--red); border-radius: 10px;
  font-size: 14.5px; color: var(--text-light); line-height: 1.8;
}
.bid-tip b { color: var(--blue); }
.bid-tip .bid-tip-ico {
  flex-shrink: 0; width: 46px; height: 46px; border-radius: 50%; display: flex; align-items: center; justify-content: center;
  background: linear-gradient(150deg, var(--blue-light), var(--blue)); color: #fff; font-size: 22px;
}
.bid-tip .bid-tip-ico svg { width: 24px; height: 24px; display: block; }
@media (max-width: 640px) { .bid-tip { flex-direction: column; text-align: center; gap: 10px; } }
.content h3 { font-size: 18px; color: var(--blue); margin: 22px 0 12px; }
.content p { margin-bottom: 12px; text-indent: 2em; }

/* ============ 企业理念卡(企业理念/精神/文化/宗旨 4 连,与全站卡片风格统一) ============ */
.idea-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; margin: 6px 0 28px; }
.idea-card {
  position: relative; background: #fff; border: 1px solid var(--gray-line);
  border-radius: 10px; padding: 20px 22px 18px; overflow: hidden; transition: all .3s;
}
.idea-card::before {
  content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 4px;
  background: linear-gradient(180deg, var(--gold), var(--red));
}
.idea-card:hover { box-shadow: var(--shadow-card-hover); transform: translateY(-4px); border-color: rgba(176,151,106,.5); }
.idea-card .ic-no { font-size: 12px; color: var(--gold); letter-spacing: 3px; font-weight: 600; }
.idea-card h4 { font-size: 17px; color: var(--blue); margin: 8px 0 8px; letter-spacing: 1px; }
.idea-card p { text-indent: 0; font-size: 15px; color: var(--text); margin: 0; line-height: 1.85; }
@media (max-width: 640px) { .idea-grid { grid-template-columns: 1fr; gap: 14px; } }

/* ============ 总经理致辞: 办公实景大图 + 引语卡 + 信条落款 ============ */
.gm-wrap { margin: 0 0 22px; }
.gm-photo {
  position: relative; border-radius: 12px; overflow: hidden;
  width: 100%; max-width: none;   /* 撑满整行(用户要求) */
  border: 1px solid rgba(201,160,99,.45);
  box-shadow: 0 12px 30px rgba(184,29,46,.12), inset 0 0 0 1px rgba(255,255,255,.6);
}
.gm-photo img { width: 100%; display: block; object-fit: cover; height: auto; max-height: 640px; transition: transform .6s; }
.gm-photo:hover img { transform: scale(1.02); }
.gm-cap {
  position: absolute; left: 0; right: 0; bottom: 0; padding: 40px 24px 14px; text-align: center;
  background: linear-gradient(transparent, rgba(36,20,22,.72)); color: #F4E9DF;
  font-size: 13px; letter-spacing: 4px; font-family: var(--font-serif);
}
.address-quote {
  margin: 2px 0 18px; padding: 22px 28px; text-align: center;
  background: linear-gradient(160deg, #FBFCFA 0%, #F3F5F2 100%);
  border: 1px solid var(--gray-line); border-left: 4px solid var(--gold);
  border-radius: 10px; font-family: var(--font-serif);
  font-size: 18px; color: var(--blue); line-height: 2; letter-spacing: 2px;
}
.address-motto {
  margin: 18px 0 0; text-align: center; font-size: 16px; letter-spacing: 2px;
  color: var(--gold); font-family: var(--font-serif); font-weight: 600;
}

/* ============ 组织架构 (HTML 层级图, 替代扫描图) ============ */
.org-tree {
  display: flex; flex-direction: column; align-items: center; margin: 26px 0 6px;
  position: relative; background:
    radial-gradient(circle at 85% 12%, rgba(201,160,99,.10) 0%, transparent 40%),
    linear-gradient(180deg, #FDFBF7 0%, #F9F3EC 100%);
  border: 1px solid rgba(201,160,99,.28); border-radius: 14px;
  padding: 36px 24px 30px;
}
.org-tree::before {
  content: ""; position: absolute; top: 0; left: 0; right: 0; height: 4px;
  border-radius: 14px 14px 0 0;
  background: linear-gradient(90deg, transparent, var(--red) 30%, var(--gold) 55%, var(--red) 80%, transparent);
}
/* 每一层: 左侧层级标签 + 右侧节点区 */
.org-lv-row { display: grid; grid-template-columns: 74px 1fr; align-items: center; gap: 18px; width: 100%; max-width: 820px; }
.org-lv-row + .org-lv-row { margin-top: 16px; }
.org-lv {
  grid-column: 1; justify-self: center; width: 100%;
  font-size: 12.5px; letter-spacing: 2px; color: var(--blue); font-weight: 600;
  padding: 6px 0; border: 1px solid rgba(184,29,46,.25); border-radius: 6px;
  background: linear-gradient(180deg, rgba(184,29,46,.06), rgba(184,29,46,.02));
  line-height: 1.4; text-align: center;
}
/* 节点区: 宽度贴合内容(不占满整行), 在标签右侧居中 */
.org-nodes {
  grid-column: 2; justify-self: center; max-width: 100%;
  display: inline-flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: 14px;
  position: relative;
}
.org-node { border-radius: 10px; text-align: center; box-shadow: var(--shadow-card); line-height: 1.3; position: relative; }
.org-lead {
  background: linear-gradient(150deg, var(--blue) 0%, var(--blue-dark) 100%);
  color: #F6E7D4; font-size: 19px; font-weight: 700; letter-spacing: 4px;
  padding: 17px 54px; border: 1px solid rgba(201,160,99,.7);
  box-shadow: 0 12px 28px rgba(184,29,46,.25), inset 0 1px 0 rgba(255,255,255,.18);
}
.org-lead::after {
  content: ""; position: absolute; left: 14px; right: 14px; bottom: 6px; height: 1px;
  background: linear-gradient(90deg, transparent, rgba(216,196,156,.65), transparent);
}
/* 监督层——白卡 + 金色顶条 */
.org-sup-n {
  background: #fff; border: 1px solid rgba(201,160,99,.45); color: var(--blue);
  font-size: 14px; padding: 12px 22px; letter-spacing: 1px;
  box-shadow: 0 4px 12px rgba(184,29,46,.06);
}
.org-sup-n::before {
  content: ""; position: absolute; left: 12px; right: 12px; top: 0; height: 3px;
  background: linear-gradient(90deg, var(--gold), var(--gold-light)); border-radius: 0 0 3px 3px;
}
/* 总经理——浅粉红卡 + 左侧红条 */
.org-mid-n {
  background: #FBEEF0; color: var(--blue);
  font-size: 16px; font-weight: 600; letter-spacing: 3px; padding: 13px 46px;
  border: 1px solid rgba(184,29,46,.32);
  box-shadow: 0 6px 16px rgba(184,29,46,.10);
}
.org-mid-n::before {
  content: ""; position: absolute; left: 0; top: 8px; bottom: 8px; width: 4px;
  border-radius: 0 4px 4px 0; background: linear-gradient(var(--red), var(--gold));
}
/* 高管层——白卡红框 */
.org-as-n {
  background: #fff; border: 1px solid rgba(184,29,46,.28); color: var(--blue);
  font-size: 14px; font-weight: 600; padding: 10px 20px;
  transition: all .25s;
}
.org-as-n:hover { transform: translateY(-3px); border-color: var(--gold); box-shadow: 0 8px 18px rgba(184,29,46,.12); }
/* 部门层——浅底卡片 */
.org-dept {
  background: #FBF7F1; border: 1px solid rgba(184,29,46,.14); color: var(--blue-dark);
  font-size: 13px; padding: 9px 16px; transition: all .25s;
}
.org-dept::before {
  content: ""; position: absolute; left: 0; top: 5px; bottom: 5px; width: 3px;
  border-radius: 0 3px 3px 0; background: var(--gold); opacity: .7;
}
.org-dept:hover { transform: translateY(-3px); border-color: var(--gold); color: var(--red); box-shadow: 0 6px 14px rgba(184,29,46,.10); }
/* 职能部门 10 卡: 网格 5 列 × 2 行 */
.org-nodes-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; width: max-content; max-width: 100%; }
.org-legend {
  margin: 22px auto 4px; font-size: 13px; color: #8A7A6E; text-align: center;
  letter-spacing: 1px; position: relative;
}
.org-legend::before {
  content: "◆"; display: block; margin: 0 auto 8px; width: fit-content;
  color: var(--gold); font-size: 10px;
}

/* ============ 管理体系 (党建引领 + 四核心 + 制度, 参考画册核心竞争力页) ============ */
.mgmt-grid { display: grid; grid-template-columns: 1.5fr 1fr; gap: 22px; margin: 16px 0; align-items: stretch; }
/* 左卡: 亮米白渐变 + 1+4+N 图形化 */
.mgmt-core {
  position: relative; background:
    radial-gradient(circle at 50% 12%, rgba(201,160,99,.10) 0%, transparent 55%),
    linear-gradient(160deg, #FDFAF4 0%, #F8F1EA 100%);
  border-radius: 12px; padding: 30px 18px 22px;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  overflow: hidden; border: 1px solid rgba(201,160,99,.45);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.8), 0 12px 30px rgba(184,29,46,.08);
}
.mgmt-core::before,
.mgmt-core::after {
  content: ""; position: absolute; border-radius: 50%; border: 1px solid rgba(201,160,99,.3); pointer-events: none;
}
.mgmt-core::before { top: -52px; right: -52px; width: 150px; height: 150px; }
.mgmt-core::after { bottom: -70px; left: -70px; width: 190px; height: 190px; border-color: rgba(201,160,99,.18); }
.mgmt-kicker {
  position: absolute; top: 12px; left: 16px; font-size: 9.5px; letter-spacing: 2.5px;
  color: #A8843C; font-weight: 300;
}
/* 1+4+N 图形: 左齿轮列 | 中心四圆+党建 | 右齿轮列 */
.mgmt-1plus4 {
  display: grid; grid-template-columns: 1fr 2.2fr 1fr; gap: 10px;
  width: 100%; align-items: center; position: relative; z-index: 1; margin-top: 14px;
}
.mp4-col { display: flex; flex-direction: column; gap: 12px; }
.mp4-gear {
  display: flex; align-items: center; gap: 7px; font-size: 11.5px; color: #6B5A4E;
  line-height: 1.35; letter-spacing: .5px;
}
.mp4-gear-ico {
  flex-shrink: 0; width: 24px; height: 24px; border-radius: 50%; display: flex;
  align-items: center; justify-content: center; font-size: 13px;
  background: #fff; color: #8A6D4A; border: 1px solid rgba(201,160,99,.55);
  box-shadow: 0 2px 6px rgba(184,29,46,.08);
}
.mp4-center {
  position: relative; display: grid;
  grid-template-columns: 1fr 1fr; gap: 16px;
  place-items: center; padding: 8px 0;
}
.mp4-orb {
  width: 96px; height: 96px; border-radius: 50%; background: #fff;
  border: 1px solid rgba(107,90,78,.14); color: #6B5A4E;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 6px; box-shadow: 0 8px 18px rgba(184,29,46,.08);
  transition: all .25s;
}
.mp4-orb svg { width: 26px; height: 26px; }
.mp4-orb span { font-size: 11px; letter-spacing: 1px; color: #5A4A3E; }
.mp4-orb:hover { transform: translateY(-3px); border-color: rgba(201,160,99,.6); box-shadow: 0 12px 24px rgba(184,29,46,.12); }
/* 中心党建圆: 红色圆形(公司logo红圆+白图案的放大造型) */
.mp4-logo {
  position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%);
  width: 86px; height: 86px; border-radius: 50%; z-index: 2;
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px;
  background:
    radial-gradient(circle at 32% 26%, rgba(255,255,255,.55) 0%, rgba(255,255,255,0) 45%),
    linear-gradient(150deg, #D84A58 0%, var(--red) 48%, #8E1320 100%);
  color: #fff;
  box-shadow: 0 0 0 3px rgba(255,255,255,.95), 0 0 0 5px rgba(201,160,99,.55), 0 14px 28px rgba(184,29,46,.35);
}
.mp4-logo svg { width: 24px; height: 24px; color: #fff; }
.mp4-logo b { font-size: 13px; letter-spacing: 3px; font-weight: 700; text-shadow: 0 1px 3px rgba(0,0,0,.35); }
.mp4-logo small { font-size: 5.5px; letter-spacing: 1px; color: rgba(255,255,255,.85); white-space: nowrap; }
.mp4-system {
  margin-top: 18px; font-size: 15px; letter-spacing: 3px; color: var(--blue);
  font-weight: 700; text-align: center;
  border-top: 1px dashed rgba(201,160,99,.45); padding-top: 14px;
}
/* 右卡: 制度清单 */
.mgmt-rule {
  background: #F6F6F5; border: 1px solid var(--gray-line); border-radius: 12px;
  padding: 0; overflow: hidden; position: relative;
}
.mgmt-rule-t {
  display: flex; align-items: baseline; justify-content: space-between;
  background: linear-gradient(90deg, var(--blue), var(--blue-light));
  padding: 13px 20px; color: #fff;
}
.mgmt-rule-t span { font-size: 15px; font-weight: 600; letter-spacing: 2px; }
.mgmt-rule-t small { font-size: 10px; letter-spacing: 2px; color: rgba(216,196,156,.85); font-weight: 300; }
.mgmt-rule ul { list-style: none; padding: 4px 0; margin: 0; }
.mgmt-rule li { position: relative; padding: 9px 20px 9px 40px; font-size: 13.5px; color: var(--text); line-height: 1.6; }
.mgmt-rule li::before {
  content: "◆"; position: absolute; left: 20px; top: 50%; transform: translateY(-50%);
  color: var(--gold); font-size: 8px;
}
.mgmt-rule li { border-bottom: 1px dotted rgba(140,40,55,.1); }
.mgmt-rule li:last-child { border-bottom: none; }
.mgmt-rule li b { color: var(--blue); }
.mgmt-rule li.mgmt-4in1 {
  background: linear-gradient(90deg, rgba(176,151,106,.14), rgba(176,151,106,.02));
  color: var(--blue-dark); font-weight: 600;
}
p.mgmt-note {
  text-indent: 0; background: linear-gradient(90deg, rgba(176,151,106,.12), rgba(176,151,106,.02));
  border-left: 3px solid var(--gold); padding: 12px 18px; border-radius: 6px; font-size: 14px; color: var(--text); margin: 6px 0 18px;
}
p.mgmt-note b { color: var(--blue); }
p.mgmt-note .c-red { font-weight: 600; }
/* ============ 折叠区块(点击展开/收起) ============ */
details.fold {
  background: #fff; border: 1px solid var(--gray-line); border-radius: 10px;
  margin: 14px 0 22px; overflow: hidden;
}
details.fold > summary {
  list-style: none; cursor: pointer; user-select: none;
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  padding: 16px 22px; font-size: 16px; font-weight: 700; color: var(--blue-dark);
  background: linear-gradient(90deg, rgba(184,29,46,.06), rgba(184,29,46,.01));
  border-bottom: 1px solid transparent; transition: background .2s;
}
details.fold > summary::-webkit-details-marker { display: none; }
details.fold > summary:hover { background: linear-gradient(90deg, rgba(184,29,46,.10), rgba(184,29,46,.03)); }
details.fold > summary::before {
  content: '▸'; display: inline-block; font-size: 18px; color: var(--gold); transition: transform .25s;
}
details.fold[open] > summary::before { transform: rotate(90deg); }
details.fold[open] > summary { border-bottom-color: var(--gray-line); }
details.fold .fold-hint { font-size: 12px; font-weight: 400; color: var(--text-light); white-space: nowrap; }
details.fold .fold-body { padding: 18px 22px; }
details.fold > *:not(summary) { padding: 18px 22px 4px; }
details.fold > summary + .mgmt-grid,
details.fold > summary + .tbl-wrap,
details.fold > summary + .cert-grid { padding: 18px 22px 22px; }
details.fold .tbl-wrap { margin: 0; }
/* 收起时露出内容预览(有限高度+底部渐变遮罩), 点击展开查看完整 */
details.fold:not([open]) > *:not(summary) {
  max-height: 300px; overflow: hidden;
  position: relative;
  mask-image: linear-gradient(180deg, #000 55%, transparent 100%);
  -webkit-mask-image: linear-gradient(180deg, #000 55%, transparent 100%);
}
details.fold:not([open]) > .fold-preview,
details.fold:not([open]) > summary + .mgmt-grid,
details.fold:not([open]) > summary + .cert-grid {
  max-height: 300px; overflow: hidden;
  mask-image: linear-gradient(180deg, #000 55%, transparent 100%);
  -webkit-mask-image: linear-gradient(180deg, #000 55%, transparent 100%);
}
/* 表格预览: 竖向限高渐隐, 但保留横向滚动(避免表格被裁切无法查看) */
details.fold:not([open]) > .tbl-wrap {
  max-height: 300px; overflow-x: auto; overflow-y: hidden;
  mask-image: linear-gradient(180deg, #000 55%, transparent 100%);
  -webkit-mask-image: linear-gradient(180deg, #000 55%, transparent 100%);
}
/* 业绩表"加载更多"按钮 */
button.load-more {
  display: block; margin: 14px auto 4px; padding: 9px 28px;
  background: #fff; border: 1px solid var(--blue); color: var(--blue);
  border-radius: 24px; font-size: 13.5px; cursor: pointer; transition: all .2s;
}
button.load-more:hover { background: var(--blue); color: #fff; }
@media (max-width: 640px) {
  details.fold > summary { padding: 13px 16px; font-size: 14.5px; }
  details.fold .fold-hint { display: none; }
}
/* 分支机构分区展示(正式网格, 替代便签式标签墙) */
.branch-grid { display: flex; flex-direction: column; gap: 18px; margin: 14px 0 10px; }
.branch-group { border: 1px solid var(--gray-line); border-radius: 10px; padding: 14px 16px 16px; background: #fff; }
.bg-title {
  display: inline-block; font-size: 14px; font-weight: 700; color: var(--blue); letter-spacing: 2px;
  padding: 4px 14px; border-radius: 4px; background: linear-gradient(90deg, rgba(140,40,55,.08), rgba(140,40,55,.02));
  border-left: 3px solid var(--red); margin-bottom: 12px;
}
.branch-group .items { display: flex; flex-wrap: wrap; gap: 10px; }
.branch-group .bi {
  display: inline-flex; align-items: center; gap: 6px; background: #F5F6F4; border: 1px solid var(--gray-line);
  border-radius: 6px; padding: 7px 14px; font-size: 13.5px; color: var(--text); transition: all .25s;
}
.branch-group .bi::before { content: "▍"; color: var(--gold); font-size: 12px; }
.branch-group .bi:hover { background: var(--blue); color: var(--gold-light); border-color: var(--blue); transform: translateY(-2px); box-shadow: var(--shadow-card); }
.branch-group .bi.hot { border-color: rgba(176,151,106,.6); background: #fdf9f0; color: var(--blue); font-weight: 600; }
.branch-group .bi.hot::before { color: var(--red); }

/* 组织架构响应式 */
@media (max-width: 640px) {
  .mgmt-grid { grid-template-columns: 1fr; }
  .mgmt-core { padding: 26px 10px 18px; }
  /* 隐藏溢出装饰圆, 避免撑宽滚动区 */
  .mgmt-core::before, .mgmt-core::after { display: none; }
  .mgmt-1plus4 { grid-template-columns: 1fr 1.6fr 1fr; gap: 4px; min-width: 0; }
  .mp4-col { gap: 8px; min-width: 0; }
  .mp4-gear { font-size: 8.5px; gap: 3px; line-height: 1.35; }
  .mp4-gear span { line-height: 1.35; }
  .mp4-gear-ico { width: 16px; height: 16px; font-size: 9px; flex-shrink: 0; }
  .mp4-orb { width: 64px; height: 64px; }
  .mp4-orb svg { width: 20px; height: 20px; }
  .mp4-orb span { font-size: 9px; }
  .mp4-logo { width: 60px; height: 60px; }
  .mp4-logo b { font-size: 10px; letter-spacing: 1px; }
  .mp4-system { font-size: 12px; letter-spacing: 1px; }
  .org-tree { padding: 28px 12px 22px; }
  .org-lead { font-size: 16px; padding: 13px 32px; letter-spacing: 2px; }
  .org-mid-n { font-size: 15px; padding: 11px 28px; }
  .org-as-n { font-size: 13px; padding: 8px 14px; }
  .org-dept { font-size: 12.5px; padding: 8px 12px; }
  /* 移动端: 层级标签变窄, 节点区收紧 */
  .org-lv-row { grid-template-columns: 60px 1fr; gap: 10px; }
  .org-lv-row + .org-lv-row { margin-top: 12px; }
  .org-lv { font-size: 11px; letter-spacing: 1px; padding: 5px 2px; }
  .org-nodes { gap: 8px; }
  .org-nodes-grid { grid-template-columns: repeat(2, 1fr); gap: 8px; width: 100%; }
}

/* ============ 表格 ============ */
.tbl { width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14.5px; margin: 16px 0; overflow: hidden; border-radius: 10px; border: 1px solid var(--gray-line); box-shadow: 0 4px 14px rgba(43,29,31,.05); }
.tbl th {
  background: linear-gradient(90deg, var(--red) 0%, var(--blue) 100%);
  color: #fff; padding: 12px 14px; font-weight: 600; text-align: left;
  letter-spacing: 1px;
}
.tbl th:first-child { width: 160px; }
.tbl td { padding: 12px 14px; border-bottom: 1px solid var(--gray-line); color: var(--text); }
.tbl tr:last-child td { border-bottom: none; }
.tbl tr:nth-child(even) td { background: #FBF6F2; }
.tbl tr:hover td { background: #F7EDE9; }
.tbl-wrap { width: 100%; overflow-x: auto; min-width: 0; }
.tbl-wrap .tbl { min-width: 640px; }
/* 表格文字不换行(证书编号等长文本保持单行, 容器内横向滚动查看) */
.tbl td { white-space: nowrap; }
.tbl td:last-child, .tbl th:last-child { white-space: normal; min-width: 180px; }
.sf-note { font-size: 13.5px; color: var(--text-light); margin: -6px 0 12px; letter-spacing: .5px; }
.sf-note b { color: var(--blue); }

/* ============ 公告列表页 ============ */
.bid-tabs { display: flex; border-bottom: 2px solid var(--blue); margin-bottom: 24px; }
.bid-tabs a {
  padding: 11px 30px; font-size: 15px; color: var(--text-light); background: var(--gray-bg);
  border: 1px solid var(--gray-line); border-bottom: none; margin-right: 6px;
}
.bid-tabs a.active { background: #FBEEF0; color: var(--blue-dark); border-bottom: 2px solid var(--blue); }
.bid-list li {
  display: flex; justify-content: space-between; padding: 13px 4px;
  border-bottom: 1px dashed var(--gray-line); font-size: 14.5px;
}
.bid-list li a:hover { color: var(--red); }
.bid-list li .date { color: #9AA29C; font-size: 14px; flex-shrink: 0; margin-left: 16px; }
.bid-list li .tag {
  flex-shrink: 0; font-size: 12px; color: var(--red); border: 1px solid var(--red);
  padding: 0 6px; margin-left: 10px; border-radius: 2px;
}

/* 招标信息页:列表项为文章标题,点击后展示文章阅读卡片(停留本页) */
.bid-item { display: flex; justify-content: space-between; padding: 13px 4px; border-bottom: 1px dashed var(--gray-line); font-size: 14.5px; }
.bid-item a { color: var(--text); text-decoration: none; }
.bid-item a:hover { color: var(--red); }
.bid-item .date { color: #9AA29C; font-size: 14px; flex-shrink: 0; margin-left: 16px; }

/* 文章阅读卡片(与详情页文章风格一致,内嵌当前页) */
.bid-article { margin-top: 8px; }
.ba-inner { background: #fff; border: 1px solid var(--line); border-radius: 6px; padding: 34px 40px; box-shadow: 0 6px 22px rgba(0,0,0,.05); position: relative; }
.ba-close { position: absolute; right: 18px; top: 18px; background: var(--gray-bg); border: 1px solid var(--line); color: var(--text); padding: 6px 14px; border-radius: 4px; cursor: pointer; font-size: 13px; font-family: inherit; }
.ba-close:hover { background: var(--blue); color: #fff; border-color: var(--blue); }
.ba-title { font-size: 26px; color: var(--blue); line-height: 1.5; letter-spacing: 1px; padding-right: 90px; }
.ba-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; margin: 14px 0 22px; padding-bottom: 16px; border-bottom: 1px solid var(--line); font-size: 13px; color: var(--muted); }
.ba-meta .ba-tag { color: var(--red); border: 1px solid var(--red); padding: 0 8px; border-radius: 2px; }
.ba-copy { margin-left: auto; background: var(--gray-bg); border: 1px solid var(--line); color: var(--blue); padding: 5px 12px; border-radius: 4px; cursor: pointer; font-size: 12.5px; font-family: inherit; line-height: 1.5; }
.ba-copy:hover { background: var(--blue); color: #fff; border-color: var(--blue); }
.ba-copy.copied { background: var(--gold); border-color: var(--gold); color: #fff; }
.ba-content { font-size: 16px; line-height: 1.9; }
.ba-content p { margin: 0 0 14px; text-align: justify; }
.ba-content .ba-empty { color: #9AA29C; }
.ba-content img { max-width: 100%; height: auto; border-radius: 4px; }
/* 相关附件(位于正文底部, 文件卡片样式) */
.ba-att { margin: 6px 0 4px; }
.ba-att-title { font-size: 15px; font-weight: 700; color: var(--blue); margin: 10px 0 12px; letter-spacing: 1px; }
.ba-files { display: flex; flex-direction: column; gap: 10px; }
.ba-file { display: flex; align-items: center; gap: 12px; padding: 10px 14px; background: #fff; border: 1px solid #EBE2D0; border-radius: 8px; text-decoration: none; color: var(--text); transition: box-shadow .15s, transform .15s; }
.ba-file:hover { box-shadow: 0 4px 14px rgba(184,29,46,.12); transform: translateY(-1px); }
.ba-f-ic { flex: none; width: 46px; height: 46px; border-radius: 9px; color: #fff; font-size: 12px; font-weight: 800; letter-spacing: .5px; display: flex; align-items: center; justify-content: center; }
.ba-f-ic.doc { background: linear-gradient(135deg,#2B7CD3,#1E5FA8); }
.ba-f-ic.ppt { background: linear-gradient(135deg,#FF9430,#E4570B); }
.ba-f-ic.pdf { background: linear-gradient(135deg,#EF5A4D,#C22A1E); }
.ba-f-ic.xls { background: linear-gradient(135deg,#3FB25B,#1F7A33); }
.ba-f-ic.zip { background: linear-gradient(135deg,#9298A1,#5B616B); }
.ba-f-ic.file { background: linear-gradient(135deg,#B58A55,#7C5A33); }
.ba-f-meta { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.ba-f-nm { font-size: 15px; font-weight: 600; color: #2F2F2F; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ba-file:hover .ba-f-nm { color: var(--blue); }
.ba-f-sz { font-size: 12px; color: #9A948A; margin-top: 2px; }
.ba-f-go { flex: none; font-size: 13px; color: var(--blue); border: 1px solid var(--blue); padding: 4px 15px; border-radius: 5px; }
.ba-file:hover .ba-f-go { background: var(--blue); color: #fff; }
/* Word/表格内容展示: 标题与表格基础样式(忠实排版, 不加修饰) */
.ba-content h1, .ba-content h2, .ba-content h3, .ba-content h4 { line-height: 1.7; margin: 18px 0 10px; font-weight: 700; }
.ba-content h1 { font-size: 23px; }
.ba-content h2 { font-size: 21px; }
.ba-content h3 { font-size: 19px; }
.ba-content h4 { font-size: 17px; }
.ba-content table { border-collapse: collapse; width: 100%; margin: 6px 0 16px; font-size: 15px; }
.ba-content th, .ba-content td { border: 1px solid var(--gray-line); padding: 7px 12px; text-align: left; vertical-align: top; }
@media (max-width:640px){ .ba-inner{ padding:24px 20px; } .ba-title{ font-size:20px; } }

/* ============ 资质证书墙 ============ */
.cert-grid { display: block; column-count: 3; column-gap: 24px; }
.cert-grid .cert-item { break-inside: avoid; margin-bottom: 24px; }
/* 营业执照(正本/副本)2张: 大屏两列并排、占满整行 */
#lic-grid.cert-grid { column-count: 2; column-gap: 24px; }
.cert-item { border: 1px solid var(--gray-line); background: #fff; overflow: hidden; transition: all .25s; border-radius: 10px; position: relative; }
.cert-item::before {
  content: ""; position: absolute; top: 0; left: 0; right: 0; height: 3px; z-index: 2;
  background: linear-gradient(90deg, var(--red), var(--gold)); transform: scaleX(0); transform-origin: left;
  transition: transform .3s;
}
.cert-item:hover { box-shadow: var(--shadow-card-hover); transform: translateY(-3px); }
.cert-item:hover::before { transform: scaleX(1); }
.cert-item .thumb { overflow: hidden; cursor: zoom-in; background: var(--gray-bg); aspect-ratio: 3 / 4; }
.cert-item .thumb img { width: 100%; height: 100%; object-fit: contain; }
.cert-item .cap { padding: 13px 16px; border-top: 1px solid var(--gray-line); }
.cert-item .cap h4 { font-size: 15.5px; color: var(--blue); }
.cert-item .cap p { font-size: 13.5px; color: #9AA29C; margin-top: 3px; }

/* ============ 资质亮点条 ============ */
.qual-strip { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; margin-bottom: 34px; }
.qual-strip .q {
  text-align: center; background: var(--gray-bg); border: 1px solid var(--gray-line);
  padding: 26px 12px; transition: all .25s;
}
.qual-strip .q:hover { background: var(--blue); color: #fff; border-color: var(--blue); }
.qual-strip .q .n { font-size: 26px; font-weight: 700; color: var(--red); }
.qual-strip .q:hover .n { color: var(--gold); }
.qual-strip .q .t { font-size: 14.5px; margin-top: 6px; color: var(--text-light); }
.qual-strip .q:hover .t { color: #D7DCD8; }
/* 资质亮点带封面图 */
.qual-strip .q.has-img { padding: 0; overflow: hidden; text-align: center; }
.qual-strip .q.has-img .q-img { overflow: hidden; cursor: zoom-in; }
.qual-strip .q.has-img .q-img img { width: 100%; height: 150px; object-fit: cover; display: block; transition: transform .35s; }
.qual-strip .q.has-img:hover .q-img img { transform: scale(1.05); }
.qual-strip .q.has-img .q-txt { padding: 18px 12px 22px; }

/* ============ 联系我们 ============ */
.contact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.contact-grid.cg3 { grid-template-columns: repeat(3, 1fr); }
.contact-card {
  position: relative; overflow: hidden;
  border: 1px solid var(--gray-line); border-radius: 12px;
  padding: 26px 24px 24px; background: #fff;
  box-shadow: 0 4px 14px rgba(43,29,31,.05);
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.contact-card::before {
  content: ""; position: absolute; top: 0; left: 0; right: 0; height: 4px;
  background: linear-gradient(90deg, var(--red) 0%, var(--gold) 60%, var(--gold-light) 100%);
  opacity: .9;
}
.contact-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 32px rgba(43,29,31,.13);
  border-color: rgba(201,160,99,.55);
}
.contact-card h3 {
  display: flex; align-items: center; gap: 10px;
  font-size: 17px; color: var(--blue); margin-bottom: 16px;
  padding-bottom: 13px; border-bottom: 1px dashed var(--gray-line);
  letter-spacing: .5px;
}
.contact-card h3 svg {
  width: 36px; height: 36px; padding: 8px; box-sizing: border-box;
  border-radius: 50%; flex-shrink: 0;
  background: linear-gradient(150deg, var(--blue-light) 0%, var(--blue) 60%, var(--blue-dark) 100%);
  color: #fff;
  box-shadow: 0 4px 10px rgba(184,29,46,.22);
}
.contact-card .row {
  display: flex; margin-bottom: 12px; font-size: 15px; line-height: 1.65;
}
.contact-card .row:last-child { margin-bottom: 0; }
.contact-card .row .k {
  color: var(--red); width: 58px; flex-shrink: 0; font-weight: 600;
  position: relative; padding-left: 11px;
}
.contact-card .row .k::before {
  content: ""; position: absolute; left: 0; top: 50%; transform: translateY(-50%);
  width: 3px; height: 12px; border-radius: 2px;
  background: linear-gradient(180deg, var(--red), var(--gold));
}
.contact-card .row .v { color: var(--text); }
/* 联系页信息卡电话/地址高亮 */
.contact-card .row .v b { color: var(--blue); font-weight: 600; }

/* ============ 证书灯箱 ============ */
.lightbox {
  position: fixed; inset: 0; background: rgba(0,0,0,.85); z-index: 999; display: none;
  align-items: center; justify-content: center;
}
.lightbox.show { display: flex; }
.lightbox img { max-width: 86vw; max-height: 86vh; border: 4px solid #fff; }
.lightbox .close {
  position: absolute; top: 20px; right: 30px; color: #fff; font-size: 40px; cursor: pointer;
}

/* ============ 招聘卡片 ============ */
.job-list li {
  border: 1px solid var(--gray-line); padding: 18px 22px; margin-bottom: 14px; background: #fff;
  transition: all .2s;
}
.job-list li:hover { border-color: var(--blue); box-shadow: 0 4px 14px rgba(140,40,55,.1); }
.job-list .jt { display: flex; justify-content: space-between; align-items: center; }
.job-list .jt h4 { font-size: 17px; color: var(--blue); }
.job-list .jt .n { color: var(--red); font-size: 14px; }
.job-list .jd { font-size: 14.5px; color: var(--text-light); margin-top: 10px; }

/* 招聘页 福利待遇 */
.job-benefit { list-style: none; margin: 14px 0 0; padding: 0; }
.job-benefit li {
  position: relative; padding: 10px 0 10px 26px; font-size: 14.5px; color: var(--text);
  border-bottom: 1px dashed var(--gray-line); line-height: 1.7;
}
.job-benefit li:last-child { border-bottom: none; }
.job-benefit li::before {
  content: ""; position: absolute; left: 0; top: 12px; width: 9px; height: 9px;
  border-radius: 50%; background: var(--blue);
}
.job-benefit li b { color: var(--blue-dark); font-weight: 600; }

/* ============ 分页 ============ */
.pager { display: flex; justify-content: center; gap: 8px; margin-top: 26px; }
.pager a {
  min-width: 34px; height: 34px; line-height: 34px; text-align: center; border: 1px solid var(--gray-line);
  color: var(--text); font-size: 13.5px; padding: 0 8px;
}
.pager a:hover, .pager a.active { background: #FBEEF0; color: var(--blue-dark); border-color: var(--blue-light); }

/* ============ 返回顶部 ============ */
.backtop {
  position: fixed; right: 24px; bottom: 70px; width: 48px; height: 48px; border-radius: 50%;
  display: none; align-items: center; justify-content: center;
  background: linear-gradient(150deg, var(--blue-light) 0%, var(--blue) 55%, var(--blue-dark) 100%);
  color: #fff; z-index: 99; cursor: pointer;
  border: 1px solid rgba(255,255,255,.25); box-sizing: border-box;
  box-shadow: 0 6px 20px rgba(110,40,48,.4), inset 0 0 0 3px rgba(255,255,255,.18);
  transition: all .25s;
}
.backtop svg { width: 22px; height: 22px; display: block; filter: drop-shadow(0 1px 2px rgba(0,0,0,.25)); }
.backtop:hover {
  background: linear-gradient(150deg, var(--gold-light) 0%, var(--gold) 55%, #A8843C 100%);
  color: var(--blue); transform: translateY(-3px);
  box-shadow: 0 10px 24px rgba(140,40,55,.4), inset 0 0 0 3px rgba(255,255,255,.35);
}
.backtop:hover svg { filter: drop-shadow(0 1px 2px rgba(0,0,0,.18)); }

/* ============ 滚动显现动画 ============ */
.reveal { opacity: 0; transform: translateY(24px); transition: opacity .6s ease, transform .6s ease; }
.reveal.visible { opacity: 1; transform: none; }

/* ============================================================
   响应式:6 档断点体系
   ≥1241 桌面完整(默认) / ≤1240 笔记本 / ≤1024 平板横屏 /
   ≤960 平板竖屏(汉堡菜单) / ≤860 大手机 / ≤640 手机 / ≤480 小手机
   ============================================================ */

/* --- 笔记本 ≤1240 --- */
@media (max-width: 1240px) {
  .wrap { width: 96%; }
  .banner .slide .inner { width: 96%; }
  /* 单行品牌条收窄: 隐藏副公司名与分隔符, 避免与标语/热线挤 */
  .group-brand .gb-company { display: none; }
  .group-brand .gb-sep { display: none; }
  .group-brand .gb-r { gap: 14px; }
  .nav a { padding: 0 15px; font-size: 15px; }        /* 10 项导航收窄 */
  .card-grid, .card-grid.team-grid { grid-template-columns: repeat(3, 1fr); }
  .card-grid.team-grid { column-count: 3; }
  .logo-wall { grid-template-columns: repeat(3, 1fr); }
  .footer .cols { grid-template-columns: 1fr 1fr; }
  .footer .cols > :last-child { grid-column: 1 / -1; }  /* 联系我们横跨整行 */
  .biz-track { grid-template-columns: repeat(2, 1fr); }
  .culture-grid { grid-template-columns: repeat(2, 1fr); }
  .about-grid { grid-template-columns: 1fr 1.3fr 1fr; gap: 20px; }
  .about-grid .about-pic { min-height: 320px; }
  /* 组织架构部门 10 卡: ≤1240 收为 3 列, 避免 5 列 max-content 在窄内容区溢出 */
  .org-nodes-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); width: 100%; }
}

/* --- 平板横屏 ≤1024 --- */
@media (max-width: 1024px) {
  .nav a { padding: 0 11px; font-size: 14px; }
  .inner { grid-template-columns: 200px 1fr; gap: 22px; }
  /* 管理体系装饰圆在 ≤1024 隐藏, 避免撑宽滚动区 */
  .mgmt-core::before, .mgmt-core::after { display: none; }
  /* 平板: 管理体系齿轮列收窄时字号调小, 避免长制度名挤成超高多行 */
  .mp4-gear { font-size: 10.5px; gap: 5px; line-height: 1.35; }
  .mp4-gear-ico { width: 20px; height: 20px; font-size: 11px; }
  .mp4-orb { width: 74px; height: 74px; }
  .mp4-orb svg { width: 22px; height: 22px; }
  .mp4-orb span { font-size: 10px; }
  .mp4-logo { width: 66px; height: 66px; }
  .mp4-logo svg { width: 20px; height: 20px; }
  .mp4-logo b { font-size: 11px; letter-spacing: 2px; }
  .mp4-logo small { font-size: 4.5px; letter-spacing: .6px; }
  /* 平板: 部门 10 卡从 5 列收窄为 3 列, 避免 max-content 撑出滚动区 */
  .biz-strip { grid-template-columns: repeat(3, 1fr); }
  .qual-strip { grid-template-columns: repeat(2, 1fr); }
  .pc-item { flex-basis: calc((100% - 20px) / 2); }
  .pc-panel .pc-item { flex-basis: calc((100% - 20px) / 2); }
  /* 平板: 组织架构部门 10 卡从 5 列收窄为 3 列, 避免 max-content 撑出横向滚动 */
  .org-nodes-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); width: 100%; }
}

/* --- 平板竖屏 ≤960:导航改两行紧贴式(无卡片、清爽) --- */
@media (max-width: 960px) {
  .nav-toggle { display: none; }  /* 不再用汉堡按钮 */
  .group-brand .gb-company { display: none; }
  .group-brand .gb-sep { display: none; }
  .nav .wrap {
    display: grid; grid-template-columns: repeat(5, 1fr); position: static;
    background: var(--gray-bg); box-shadow: none; padding: 2px 0;
  }
  .nav a {
    display: flex; align-items: center; justify-content: center; text-align: center;
    padding: 0 2px; line-height: 42px; font-size: 13.5px; white-space: nowrap;
    background: transparent; border: none; margin: 0; border-radius: 0;
    color: var(--nav-text); border-bottom: 3px solid transparent; position: relative;
  }
  .nav a:hover { color: var(--blue-dark); }
  .nav a.active { color: var(--blue-dark); border-bottom-color: var(--gold); background: transparent; }
  .nav a.active::after { display: none; }
  .inner { grid-template-columns: 1fr; }
  .side { position: static; max-height: none; overflow-y: visible; }
  .dual { grid-template-columns: 1fr; }
  .card-grid, .card-grid.team-grid { grid-template-columns: repeat(2, 1fr); }
  .card-grid.team-grid { column-count: 2; }
  .section { padding: 44px 0; }
  /* 平板: 部门 10 卡从 5 列收窄为 3 列, 避免 max-content 撑出滚动区 */
  .org-nodes-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); width: 100%; }
  /* 窄屏: header 标签+两号码收紧, 避免与 logo 重叠 */
  .logo .name .cn-img { height: 46px; }
  .header .tel .t { font-size: 12.5px; color: var(--red); font-weight: 600; letter-spacing: 0; }
  .header .tel .n { font-size: 17px; }
  .header .tel .n svg { width: 15px; height: 15px; margin-right: 4px; }
  .header .tel .n span + span { margin-left: 8px; }
  .header .tel .n span + span::before { margin-right: 8px; }
}

/* --- 大手机 ≤860 --- */
@media (max-width: 860px) {
  /* 移动端禁用固定背景(视差), 恢复普通滚动背景但保留背景图(避免变纯色无图), 兼容 iOS */
  .sec-fixed-biz, .sec-fixed-proj, .sec-fixed-cul,
  .section.gray.sec-fixed-biz, .section.sec-fixed-proj, .section.sec-fixed-cul {
    background-attachment: scroll;
  }
  /* 管理体系装饰圆在平板/手机隐藏, 避免撑宽滚动区 */
  .mgmt-core::before, .mgmt-core::after { display: none; }
  .section .sec-head .cn { padding-bottom: 12px; }
  .section .sec-head .en { letter-spacing: 3px; }
  /* 内页标题左侧装饰窄屏收窄,避免出界 */
  .page-banner h1 { padding-left: 26px; }
  .page-banner h1::before { left: 8px; }
  .page-banner h1::after { left: -4px; }
  .group-brand { font-size: 12.5px; }
  .group-brand .wrap { height: 38px; gap: 10px; }
  .group-brand .gb-group { height: 26px; }
  .group-brand .slogan { display: none; }  /* 中屏起隐藏标语 */
  /* 窄屏不再隐藏红条"联系我们"链接: 红条热线已移除, 保留其为小屏联系入口 */
  .group-brand .links a { display: inline; }
  .banner { height: 340px; }
  .banner .slide.pos-tl .inner, .banner .slide.pos-tc .inner, .banner .slide.pos-tr .inner { top: 24px; left: 4%; right: auto; transform: none; }
  .banner .slide .inner h2 { font-size: 30px; letter-spacing: 3px; }
  .banner .slide .inner h2 em { font-size: 30px; letter-spacing: 3px; }
  .banner .slide .inner h2 em + em { font-size: 30px; letter-spacing: 3px; }
  .banner .slide .inner p { font-size: 14px; letter-spacing: 4px; }
  .banner .slide .inner .en { font-size: 12px; letter-spacing: 4px; }
  .banner .bn-orn { width: 280px; }
  .biz-track { grid-template-columns: 1fr 1fr; }
  .culture-grid { grid-template-columns: 1fr 1fr; }
  .pc-tabs button { padding: 8px 16px; font-size: 14px; }
  .about-txt h3 { font-size: 20px; }
  .motto { padding: 36px 0 40px; }
  .m-frame { padding: 26px 24px 30px; }
  .m-kicker { font-size: 11px; letter-spacing: 5px; }
  .motto .motto-main { font-size: 26px; letter-spacing: 5px; }
  .motto .motto-sub { font-size: 14px; letter-spacing: 6px; }
  .vision .vision-grid { grid-template-columns: 1fr; gap: 24px; }
  .vision .vision-item img { aspect-ratio: 16 / 10; }
  .section .sec-head .cn { font-size: 26px; }
  .section .sec-head .more { top: 6px; }
  .stats { padding: 36px 0; }
  .stats .wrap { flex-wrap: wrap; }
  .stats .item { flex: 0 0 50%; border-right: none; margin-bottom: 20px; }
  .stats .num { font-size: 30px; }
  .content { padding: 20px; }
  /* 小屏: header 内容分两行 —— 第1行紧贴集团红条下方: 招商标签+双电话合成一行(红条与logo之间); 第2行: logo */
  .header .wrap { flex-wrap: wrap; height: auto; justify-content: center; padding: 4px 0 6px; row-gap: 0; column-gap: 14px; }
  .header .tel { order: 1; flex: 0 0 100%; display: flex; flex-direction: row; flex-wrap: nowrap; align-items: center; justify-content: center; column-gap: 8px; text-align: center; line-height: 1.3; white-space: nowrap; }
  .header .logo { order: 2; flex: 1 1 100%; justify-content: center; gap: 10px; }
  .header .logo .logo-ic { width: 38px; height: 38px; }
  .header .logo .name .cn { font-size: 17px; letter-spacing: 1px; line-height: 1.3; }
  .header .logo .name .cn-img { height: 30px; }
  .header .logo .name .en { display: none; }
  .header .tel .t { font-size: 11px; color: var(--red); font-weight: 600; letter-spacing: 0; line-height: 1.3; }
  .header .tel .n { font-size: 14px; justify-content: center; line-height: 1.3; }
  .header .tel .n svg { width: 12px; height: 12px; margin-right: 4px; }
  /* 两个号码之间留空收紧(间距从 8px 收窄到 3px) */
  .header .tel .n span + span { margin-left: 3px; }
  .header .tel .n span + span::before { margin-right: 3px; }
  .cert-grid { column-count: 2; }
  .contact-grid { grid-template-columns: 1fr; }
  .contact-grid.cg3 { grid-template-columns: 1fr; }
  .backtop { right: 12px; bottom: 50px; }
}

/* --- 手机 ≤640 --- */
@media (max-width: 640px) {
  .page-banner { height: 160px; }
  .page-banner h1 { font-size: 26px; letter-spacing: 3px; }
  .page-banner p { font-size: 13px; }
  .banner .slide .inner { width: 100%; padding: 20px 14px 0; max-width: none; }
  .banner .slide.pos-tl .inner, .banner .slide.pos-tc .inner, .banner .slide.pos-tr .inner { width: 100%; margin: 0; text-align: left; left: 4%; right: auto; transform: none; top: 12px; }
  .stats { padding: 32px 0 34px; }
  .stats-slogan { font-size: 13px; letter-spacing: 4px; margin-bottom: 22px; white-space: nowrap; }
  .cult-lead { font-size: 13px; letter-spacing: 3px; white-space: normal; line-height: 1.9; margin: 0 0 24px; }
  .biz-strip { grid-template-columns: repeat(3, 1fr); }
  .biz-item { padding: 18px 6px; }
  .biz-item .d { display: none; }  /* 小屏只显示图标+名称 */
  .card-grid, .card-grid.team-grid { grid-template-columns: 1fr; }
  .card-grid.team-grid { column-count: 1; }
  /* 手机: 大图按真实比例展示(内联 aspect-ratio 生效), 不设固定高度避免裁切 */
  .card-grid.team-grid .team-wide .img img { object-position: center; }
  .pc-item { flex-basis: 82%; }
  /* 手机竖屏:主营业务改为横向滑动卡片,避免6卡垂直堆叠过高 */
  /* 手机竖屏:主营业务 无缝循环跑马灯, 每屏显示2张,既滚动又能一眼看到更多业务 */
  .biz-cards { overflow: hidden; }
  .biz-track { display: flex; gap: 14px; width: max-content; animation: biz-scroll 14s linear infinite; }
  .biz-track .biz-card { flex: 0 0 46vw; padding: 20px 14px; }
  .biz-cards.paused .biz-track { animation-play-state: paused; }
  @keyframes biz-scroll { from { transform: translateX(0); } to { transform: translateX(-50%); } }
  /* 手机竖屏:关于我们 图-文字-图 上下堆叠, 每张图完整显示 */
  .about-grid { grid-template-columns: 1fr; gap: 12px; }
  .about-grid .about-pic { min-height: 0; }
  .about-grid .about-pic-tall { height: 320px; }
  .about-grid .about-pic-wide { height: 200px; }
  .about-txt h3 { font-size: 19px; margin-bottom: 12px; }
  .about-txt p { font-size: 14.5px; line-height: 1.8; margin-bottom: 10px; }
  .cul-card { padding: 22px 14px 18px; }
  .cul-card .cul-v { font-size: 17px; letter-spacing: 1px; }
  .cul-card .cul-k { margin-bottom: 8px; letter-spacing: 2px; }
  .cul-card .cul-e { margin-top: 8px; }
  .footer .cols { grid-template-columns: 1fr; }
  .logo-wall { grid-template-columns: repeat(2, 1fr); }
  .logo-wall .u { padding: 16px 8px; font-size: 13.5px; }
  .cert-grid { column-count: 2; column-gap: 14px; }
  .cert-grid .cert-item { margin-bottom: 14px; }
  /* 手机/平板页脚信条放大, 视觉更饱满 */
  .footer .f-motto { font-size: 30px; letter-spacing: 3px; line-height: 1.5; margin: 20px auto 8px; }
  .cert-item .thumb { aspect-ratio: 3 / 4; }
  .qual-strip { gap: 12px; }
  .qual-strip .q { padding: 18px 10px; }
  .qual-strip .q .n { font-size: 22px; }
  .content { overflow-x: auto; -webkit-overflow-scrolling: touch; }  /* 长表格横向滚动 */
  /* 手机: 表格转卡片式布局(字段纵向排列, 完整可读) */
  .tbl-wrap { overflow: visible; }
  .tbl-wrap .tbl, .tbl-wrap .tbl * { box-sizing: border-box; }
  .tbl-wrap .tbl { min-width: 0; width: 100%; border: none; box-shadow: none; }
  .tbl-wrap .tbl thead { display: none; }
  .tbl-wrap .tbl tbody { display: block; }
  .tbl-wrap .tbl tr { display: block; border: 1px solid var(--gray-line); border-radius: 10px; margin: 0 0 14px; padding: 2px 14px; box-shadow: 0 4px 14px rgba(43,29,31,.05); background: #fff; }
  .tbl-wrap .tbl tr:nth-child(even) { background: #FBF6F2; }
  .tbl-wrap .tbl td { display: block; width: 100%; white-space: normal; min-width: 0; border: none; border-bottom: 1px dashed var(--gray-line); padding: 10px 0; background: transparent !important; }
  .tbl-wrap .tbl td:last-child { border-bottom: none; }
  /* 需要为业绩表的列加伪标签(仅当 td 无 data-l 时兜底) -- 见 JS 修改, 这里用 data-l */
  .tbl-wrap .tbl td[data-l]::before { content: attr(data-l); display: block; font-weight: 600; color: var(--blue); margin-bottom: 3px; font-size: 13px; }
  /* 静态 2 列表(careers/contact)表头行整行隐藏, 不占卡片位 */
  .tbl-wrap .tbl tr.tbl-hd { display: none; }
  .bid-tabs { overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .bid-tabs a { flex-shrink: 0; padding: 10px 18px; }
  .filter button { padding: 7px 14px; font-size: 14px; margin: 0 4px 8px; }
  .pm-item { padding: 3px 18px; font-size: 14px; }
  .job-list .jt { flex-direction: column; align-items: flex-start; gap: 4px; }
  .dual .panel .p-head { padding: 11px 14px; }
  .dual .panel ul li { padding: 11px 14px; }
  .contact-card { padding: 20px 16px; }
  .contact-card .row { flex-direction: column; }
  .contact-card .row .k { width: auto; margin-bottom: 2px; }
  .banner .arrow { width: 36px; height: 48px; font-size: 20px; line-height: 48px; }
}

/* --- 小手机 ≤480 --- */
@media (max-width: 480px) {
  .banner { height: 300px; }
  .banner .slide .inner h2 { font-size: 24px; letter-spacing: 2px; }
  .banner .slide .inner h2 em { font-size: 24px; letter-spacing: 2px; }
  .banner .slide .inner h2 em + em { font-size: 24px; letter-spacing: 2px; }
  .banner .slide .inner p { font-size: 13px; letter-spacing: 3px; }
  .banner .slide .inner .tag { font-size: 11px; padding: 2px 10px; letter-spacing: 2px; }
  .banner .bn-orn { width: 220px; }
  .culture-grid { grid-template-columns: 1fr; }
  .biz-track .biz-card { padding: 20px 12px; }
  .m-frame { padding: 22px 14px 26px; }
  .motto .motto-main { font-size: 20px; letter-spacing: 3px; }
  .motto .motto-sub { font-size: 13px; letter-spacing: 4px; }
  .vision .v-no { top: 14px; left: 14px; width: 40px; height: 40px; line-height: 38px; font-size: 16px; }
  .vision .v-title { top: 14px; right: 14px; font-size: 11px; letter-spacing: 3px; }
  .stats .num { font-size: 26px; }
  .cert-grid { column-count: 1; }
  /* 营业执照保持单列纵向, 不并排 */
  #lic-grid.cert-grid { column-count: 1; column-gap: 0; }
  .cert-item .thumb { aspect-ratio: 3 / 4; }
  /* 极窄页脚信条: 随屏宽自动放大到接近撑满一行, 不折行 */
  .footer .f-motto { font-size: clamp(22px, 7.1vw, 32px); letter-spacing: 1px; line-height: 1.5; margin: 20px auto 8px; }
  .logo .name .cn { font-size: 16px; }
  .logo .name .cn-img { height: 30px; }
  .logo .name .en { display: none; }
  .logo .logo-ic { width: 38px; height: 38px; }
  .group-brand .gb-company { display: none; }
  .group-brand .gb-sep { display: none; }
  .group-brand .wrap { height: 34px; gap: 0; justify-content: space-between; padding: 0 10px; }
  .group-brand .gb-group { height: 16px; }
  .group-brand .gb-r { gap: 10px; }
  .group-brand .links span { font-size: 11.5px; white-space: nowrap; }
  .group-brand .slogan { display: none; }  /* 小屏只保留品牌 + 热线 */
  .group-brand { font-size: 12px; }
  .group-brand .links a { margin-left: 10px; }
  .section { padding: 36px 0; }
  .section .sec-head { margin-bottom: 26px; }
  .section .sec-head .cn { font-size: 23px; }
  .footer .copy { font-size: 11px; padding: 12px 8px; }
  /* 招商标签+双电话单行在 361-480px 再收紧一档 */
  .header .tel { column-gap: 6px; }
  .header .tel .t { font-size: 10px; }
  .header .tel .n { font-size: 12.5px; }
  .header .tel .n svg { width: 11px; height: 11px; margin-right: 3px; }
}

/* --- 极窄 ≤360 招商+电话单行兜底 --- */
@media (max-width: 360px) {
  .header .tel { column-gap: 5px; }
  .header .tel .t { font-size: 9.5px; }
  .header .tel .n { font-size: 12px; }
  .header .tel .n svg { width: 10px; height: 10px; margin-right: 2px; }
}

/* ============ 减少动画偏好 ============ */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .banner .slides { transition: none; }
  .reveal { opacity: 1 !important; transform: none !important; transition: none !important; }
  .pm-track { animation-duration: 90s !important; }  /* 合作单位跑马灯保持原速持续滚动 */
  * { animation-duration: .001s !important; transition-duration: .001s !important; }
}

/* ============ 超宽屏适配 ============ */
@media (min-width: 1600px) {
  :root { --w: 1360px; }
  body { background: var(--gray-bg); }
  .nav, .header, .topbar, .footer, .banner, .page-banner,
  .sec-fixed-biz, .sec-fixed-proj, .sec-fixed-cul {
    background-attachment: scroll;  /* 超宽屏固定视差容易出片状, 关掉保平滑 */
  }
}
@media (min-width: 1800px) {
  :root { --w: 1520px; }
}
@media (min-width: 2200px) {
  :root { --w: 1600px; }
}
@media (min-width: 2560px) {
  :root { --w: 1760px; }
}
