/* ===================================================================
   湖南头等舱企业管理有限公司 官网样式 V2
   风格：中国红 + 金色 + 建筑工业风 + 现代科技感
   =================================================================== */

:root {
  --red: #C8102E;
  --red-dark: #9E0B24;
  --red-deep: #7A081C;
  --gold: #D4AF37;
  --gold-light: #E8C95F;
  --gold-dim: rgba(212, 175, 55, 0.15);
  --ink: #1a1f2e;
  --ink-soft: #5a6478;
  --bg: #F7F4F0;
  --card: #FFFFFF;
  --line: #E8DFD3;
  --shadow-sm: 0 2px 12px rgba(0,0,0,.06);
  --shadow-md: 0 8px 32px rgba(158, 11, 36, .10);
  --shadow-lg: 0 16px 48px rgba(0,0,0,.12);
  --radius: 16px;
  --radius-sm: 10px;
}

* { margin: 0; padding: 0; box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  font-family: "PingFang SC", "Microsoft YaHei", "Hiragino Sans GB", system-ui, -apple-system, sans-serif;
  color: var(--ink);
  background: var(--bg);
  line-height: 1.75;
  font-size: 16px;
  overflow-x: hidden;
}

a { color: var(--red); text-decoration: none; transition: color .2s; }
a:hover { color: var(--red-dark); }
img { max-width: 100%; display: block; }

/* ==================== 顶部导航 ==================== */
.site-header {
  background: rgba(255,255,255,.96);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-bottom: 3px solid var(--red);
  position: sticky;
  top: 0;
  z-index: 100;
  box-shadow: 0 2px 20px rgba(0,0,0,.06);
}
.nav-inner {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 24px;
  flex-wrap: wrap;
  gap: 10px;
  position: relative;
}
.brand { display: flex; align-items: center; gap: 12px; }
.brand .logo {
  width: 42px; height: 42px;
  background: linear-gradient(135deg, var(--red), var(--red-dark));
  color: var(--gold);
  border-radius: 10px;
  display: grid; place-items: center;
  font-weight: 900; font-size: 20px;
  border: 2px solid var(--gold);
  box-shadow: 0 4px 12px rgba(200,16,46,.3);
  position: relative;
  overflow: hidden;
}
.brand .logo::after {
  content: "";
  position: absolute; top: -50%; left: -50%;
  width: 200%; height: 200%;
  background: linear-gradient(45deg, transparent 40%, rgba(255,255,255,.1) 50%, transparent 60%);
  animation: logoShine 3s infinite;
}
@keyframes logoShine {
  0% { transform: translateX(-100%) rotate(45deg); }
  100% { transform: translateX(100%) rotate(45deg); }
}
.brand .name { font-weight: 800; font-size: 19px; letter-spacing: 1.5px; color: var(--ink); line-height: 1.15; }
.brand .name small {
  display: block; font-size: 12.5px; color: var(--red); font-weight: 700;
  letter-spacing: 1px; margin-top: 3px;
  background: linear-gradient(90deg, var(--red) 30%, #B8860B 100%);
  -webkit-background-clip: text; -webkit-text-fill-color: transparent;
  background-clip: text;
}
.brand .name small i { font-style: normal; color: #B8860B; -webkit-text-fill-color: #B8860B; }

/* 品牌口号毛笔体：马善政毛笔楷书（Ma Shan Zheng，SIL OFL 1.1，可商用）
   全量 TTF 5.8MB → 子集化 WOFF2 38.7KB（仅含口号/品牌/业务常用字，119 字）。
   文案若有变，重跑 webgen 同级目录 fontwork/subset_font.py 补字后重新推送。 */
@font-face {
  font-family: "MSZ Brush";
  src: url("fonts/mashanzheng-subset.woff2") format("woff2");
  font-weight: 100 900;   /* 声明覆盖全字重范围，避免浏览器对毛笔体做伪粗体合成 */
  font-style: normal;
  font-display: swap;
}

/* 品牌口号：牵手头等舱，生意响当当（毛笔艺术字 + 动画，居中） */
.brand-slogan {
  flex: 1 1 auto;
  text-align: center;
  font-family: "MSZ Brush", "STKaiti", "KaiTi", "Kaiti SC", "PingFang SC", "Microsoft YaHei", sans-serif;
  font-size: 26px;
  font-weight: 400;
  letter-spacing: 2px;
  white-space: nowrap;
  line-height: 1.1;
  padding: 0 10px;
  min-width: 0;
  overflow: hidden;
  background: linear-gradient(120deg, #E64A19 0%, #D84315 25%, #C8102E 60%, #A50D24 100%);
  -webkit-background-clip: text; -webkit-text-fill-color: transparent;
  background-clip: text;
  filter: drop-shadow(0 1px 1px rgba(122,8,28,.2));
  animation: sloganBreathe 3.2s ease-in-out infinite;
}
.brand-slogan::before, .brand-slogan::after {
  content: "✦";
  position: absolute; top: 50%; transform: translateY(-50%);
  font-size: 11px; color: var(--gold); -webkit-text-fill-color: var(--gold);
  animation: sloganStar 1.8s ease-in-out infinite;
}
.brand-slogan::before { left: -4px; }
.brand-slogan::after { right: -16px; animation-delay: .9s; }
@keyframes sloganBreathe {
  0%, 100% { transform: scale(1); filter: brightness(1); }
  50% { transform: scale(1.04); filter: brightness(1.22); }
}
@keyframes sloganStar {
  0%, 100% { opacity: .4; transform: translateY(-50%) scale(1); }
  50% { opacity: 1; transform: translateY(-50%) scale(1.35); }
}

.nav-links { display: flex; gap: 3px; flex-wrap: wrap; }
.nav-links a {
  color: var(--ink);
  padding: 10px 17px;
  border-radius: 8px;
  font-size: 14.5px;
  font-weight: 650;
  letter-spacing: .8px;
  position: relative;
  transition: all .25s;
}
.nav-links a::after {
  content: "";
  position: absolute; bottom: 2px; left: 50%; transform: translateX(-50%);
  width: 0; height: 3px;
  background: linear-gradient(90deg, var(--gold), #B8860B);
  border-radius: 3px;
  transition: width .3s;
}
.nav-links a:hover::after, .nav-links a.active::after { width: 78%; }
.nav-links a:hover, .nav-links a.active { color: var(--red); background: transparent; }
.nav-links a.active {
  font-weight: 700;
  background: linear-gradient(90deg, var(--red), #9E0B24);
  -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
}

/* ==================== 左右悬浮联系栏 ==================== */
.side-contact {
  position: fixed;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  z-index: 90;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.side-contact a {
  display: flex;
  align-items: center;
  gap: 8px;
  background: var(--red);
  color: #fff;
  padding: 14px 16px;
  border-radius: 10px 0 0 10px;
  font-size: 13.5px;
  font-weight: 600;
  box-shadow: -4px 4px 16px rgba(200,16,46,.3);
  transition: all .25s;
  white-space: nowrap;
  writing-mode: horizontal-tb;
}
.side-contact a:hover {
  background: var(--red-dark);
  padding-right: 22px;
  color: #fff;
}
.side-contact a svg { flex-shrink: 0; }
.side-contact .sc-label { opacity: .9; }

.side-contact-left {
  position: fixed;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  z-index: 90;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.side-contact-left a {
  display: flex;
  align-items: center;
  gap: 8px;
  background: linear-gradient(135deg, var(--red), var(--red-dark));
  color: #fff;
  padding: 14px 16px;
  border-radius: 0 10px 10px 0;
  font-size: 13.5px;
  font-weight: 600;
  box-shadow: 4px 4px 16px rgba(200,16,46,.25);
  transition: all .25s;
  white-space: nowrap;
}
.side-contact-left a:hover {
  background: linear-gradient(135deg, var(--red-dark), var(--red-deep));
  padding-left: 22px;
  color: #fff;
}
.side-contact-left a svg { flex-shrink: 0; }

/* ==================== Hero 首屏（重设计） ==================== */
.hero {
  position: relative;
  min-height: 560px;
  display: flex;
  align-items: center;
  overflow: hidden;
  background: linear-gradient(135deg, #7A081C 0%, #9E0B24 25%, #C8102E 55%, #D4243E 80%, #E8455A 100%);
  color: #fff;
  padding: 50px 20px 62px;
}

/* 建筑背景图案 - 用CSS绘制城市天际线 */
.hero::before {
  content: "";
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 280px;
  background:
    /* 远景建筑 */
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 280' preserveAspectRatio='none'%3E%3Cpath fill='rgba(0,0,0,.12)' d='M0,280 L0,180 L40,180 L40,140 L80,140 L80,190 L120,190 L120,120 L160,120 L160,160 L200,160 L200,100 L240,100 L240,150 L280,150 L280,80 L320,80 L320,130 L360,130 L360,170 L400,170 L400,110 L440,110 L440,140 L480,140 L480,90 L520,90 L520,140 L560,140 L560,70 L600,70 L600,120 L640,120 L640,160 L680,160 L680,100 L720,100 L720,150 L760,150 L760,60 L800,60 L800,130 L840,130 L840,170 L880,170 L880,105 L920,105 L920,145 L960,145 L960,85 L1000,85 L1000,135 L1040,135 L1040,165 L1080,165 L1080,95 L1120,95 L1120,140 L1160,140 L1160,75 L1200,75 L1200,125 L1240,125 L1240,155 L1280,155 L1280,88 L1320,88 L1320,138 L1360,138 L1360,168 L1400,168 L1400,115 L1440,115 L1440,280 Z'/%3E%3Cpath fill='rgba(0,0,0,.18)' d='M0,280 L0,210 L60,210 L60,170 L120,170 L120,200 L180,200 L180,150 L240,150 L240,185 L300,185 L300,140 L360,140 L360,175 L420,175 L420,135 L480,135 L480,170 L540,170 L540,145 L600,145 L600,180 L660,180 L660,140 L720,140 L720,175 L780,175 L780,130 L840,130 L840,165 L900,165 L900,145 L960,145 L960,178 L1020,178 L1020,140 L1080,140 L1080,172 L1140,172 L1140,148 L1200,148 L1200,180 L1260,180 L1260,142 L1320,142 L1320,176 L1380,176 L1380,152 L1440,152 L1440,280 Z'/%3E%3C/svg%3E") bottom center / cover no-repeat,
    /* 近景地面 */
    linear-gradient(to top, rgba(0,0,0,.25) 0%, transparent 60%);
  pointer-events: none;
}

/* 光效装饰 */
.hero::after {
  content: "";
  position: absolute;
  right: -100px; top: -100px;
  width: 500px; height: 500px;
  background: radial-gradient(circle, rgba(212,175,55,.25) 0%, transparent 65%);
  border-radius: 50%;
  pointer-events: none;
  animation: heroGlow 6s ease-in-out infinite alternate;
}
@keyframes heroGlow {
  0% { transform: scale(1) translate(0, 0); opacity: .6; }
  100% { transform: scale(1.2) translate(-30px, 20px); opacity: 1; }
}

/* —— V73 首页文字入场动画（与「关于我们」同风格） —— */
@keyframes fadeUp {
  from { opacity: 0; transform: translateY(24px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes titleReveal {
  from { opacity: 0; transform: translateY(30px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* 浮动粒子/网格 */
.hero-grid {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px);
  background-size: 60px 60px;
  pointer-events: none;
  mask-image: linear-gradient(to bottom, transparent, black 30%, black 70%, transparent);
  -webkit-mask-image: linear-gradient(to bottom, transparent, black 30%, black 70%, transparent);
}

.hero-inner {
  max-width: 1200px;
  margin: 0 auto;
  position: relative;
  z-index: 3;
  width: 100%;
  display: grid;
  grid-template-columns: 1fr 1.35fr;
  gap: 48px;
  align-items: start;
}

.hero-text { }
.hero .tag {
  display: inline-flex; align-items: center; gap: 6px;
  animation: fadeUp .7s ease-out both;
  background: rgba(212,175,55,.15);
  border: 1px solid rgba(212,175,55,.4);
  color: var(--gold-light);
  padding: 7px 18px; border-radius: 999px; font-size: 13px; margin-bottom: 22px;
  font-weight: 600;
  backdrop-filter: blur(4px);
}
.hero .tag::before {
  content: "";
  width: 8px; height: 8px;
  background: var(--gold);
  border-radius: 50%;
  animation: tagPulse 2s infinite;
}
@keyframes tagPulse {
  0%, 100% { opacity: 1; box-shadow: 0 0 0 0 rgba(212,175,55,.5); }
  50% { opacity: .7; box-shadow: 0 0 0 6px rgba(212,175,55,0); }
}
.hero h1 {
  font-size: clamp(27px, 2.6vw, 42px); line-height: 1.2; margin-bottom: 20px; font-weight: 900;
  animation: titleReveal .9s ease-out both;
  text-shadow: 0 2px 20px rgba(0,0,0,.2);
}
.hero h1 .hl {
  color: var(--gold-light);
  position: relative;
  display: inline-block;
}
.hero h1 .hl::after {
  content: "";
  position: absolute; bottom: 2px; left: 0; right: 0;
  height: 4px; background: var(--gold);
  border-radius: 2px;
  opacity: .5;
}
.hero h1 .hlg { color: var(--gold-light); }
.hero p.lead {
  font-size: 17.5px; max-width: 560px; color: rgba(255,233,236,.92); margin-bottom: 32px;
  line-height: 1.8;
  animation: fadeUp .9s ease-out .4s both;
}
.hero-keywords { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 28px;
  animation: fadeUp .8s ease-out .25s both; }
.hero-keywords span {
  font-size: 14px; font-weight: 800; color: var(--gold-light);
  padding: 6px 18px; border: 1px solid rgba(212,175,55,.55); border-radius: 999px;
  background: rgba(212,175,55,.14); letter-spacing: 2px;
  box-shadow: 0 2px 10px rgba(0,0,0,.12);
}
.hero-actions { display: flex; gap: 14px; flex-wrap: wrap;
  animation: fadeUp .9s ease-out .55s both; }

/* Hero 右侧 - 装饰卡片 */
.hero-visual {
  display: flex;
  flex-direction: column;
  gap: 16px;
  justify-content: flex-start;
}
.hero-stat-cards {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 12px;
}
.hsc {
  background: rgba(255,255,255,.12);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(255,255,255,.15);
  border-radius: var(--radius-sm);
  padding: 20px;
  text-align: center;
  transition: all .3s;
}
.hsc:hover {
  background: rgba(255,255,255,.18);
  transform: translateY(-3px);
}
.hsc .hsc-num {
  font-size: 32px; font-weight: 900; color: var(--gold-light);
  line-height: 1.2;
}
.hsc .hsc-lbl {
  font-size: 13px; color: rgba(255,233,236,.8); margin-top: 4px;
}

.btn {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 14px 30px; border-radius: 10px;
  font-weight: 700; font-size: 15px; transition: all .25s; cursor: pointer; border: none;
}
.btn-gold {
  background: linear-gradient(135deg, var(--gold), var(--gold-light));
  color: #3a2a00;
  box-shadow: 0 4px 16px rgba(212,175,55,.35);
}
.btn-gold:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 24px rgba(212,175,55,.5);
  color: #3a2a00;
}
.btn-outline {
  background: transparent; color: #fff;
  border: 1.5px solid rgba(255,255,255,.5);
  backdrop-filter: blur(4px);
}
.btn-outline:hover {
  border-color: #fff;
  background: rgba(255,255,255,.12);
  color: #fff;
  transform: translateY(-2px);
}

/* ==================== 通用容器 ==================== */
.container { max-width: 1200px; margin: 0 auto; padding: 0 24px; }
.section { padding: 80px 0; position: relative; }
.section.alt { background: #fff; }
.section-title { text-align: center; margin-bottom: 48px; }
.section-title .eyebrow {
  color: var(--red); font-weight: 700; letter-spacing: 3px; font-size: 13px;
  text-transform: uppercase; display: inline-block;
  position: relative;
  padding: 0 20px;
}
.section-title .eyebrow::before, .section-title .eyebrow::after {
  content: "";
  position: absolute; top: 50%; width: 30px; height: 1.5px;
  background: linear-gradient(90deg, transparent, var(--gold));
}
.section-title .eyebrow::before { left: -10px; background: linear-gradient(90deg, transparent, var(--gold)); }
.section-title .eyebrow::after { right: -10px; background: linear-gradient(270deg, transparent, var(--gold)); }
.section-title h2 { font-size: 34px; margin: 14px 0 14px; font-weight: 800; color: var(--ink); }
.section-title p { color: var(--ink-soft); max-width: 640px; margin: 0 auto; font-size: 16.5px; }

/* ==================== 数据统计条 ==================== */
.stats-bar {
  background: linear-gradient(135deg, var(--red), var(--red-dark));
  padding: 48px 0;
  position: relative;
  overflow: hidden;
}
.stats-bar::before {
  content: "";
  position: absolute; inset: 0;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='60'%3E%3Ccircle cx='30' cy='30' r='1' fill='rgba(255,255,255,.06)'/%3E%3C/svg%3E");
  pointer-events: none;
}
.stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; text-align: center; position: relative; z-index: 2; }
.stat {
  background: rgba(255,255,255,.1);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: var(--radius-sm);
  padding: 28px 16px;
  backdrop-filter: blur(6px);
  transition: all .3s;
}
.stat:hover {
  background: rgba(255,255,255,.16);
  transform: translateY(-3px);
}
.stat .num { font-size: 38px; font-weight: 900; color: var(--gold-light); line-height: 1.2; }
.stat .num small { font-size: 18px; font-weight: 700; }
.stat .lbl { color: rgba(255,233,236,.82); font-size: 14px; margin-top: 8px; font-weight: 500; }

/* ==================== 卡片网格 ==================== */
.grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.grid-2 { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; }
.card {
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 32px 28px;
  box-shadow: var(--shadow-sm);
  transition: all .3s;
  position: relative;
  overflow: hidden;
}
.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;
}
.card:hover {
  transform: translateY(-6px);
  box-shadow: var(--shadow-lg);
  border-color: rgba(200,16,46,.15);
}
.card:hover::before { transform: scaleX(1); }

.card .ic {
  width: 56px; height: 56px; border-radius: 14px;
  background: linear-gradient(135deg, rgba(200,16,46,.08), rgba(200,16,46,.14));
  color: var(--red);
  display: grid; place-items: center;
  margin-bottom: 18px;
  font-size: 26px;
  position: relative;
}
.card .ic svg { width: 28px; height: 28px; }
.card h3 { font-size: 20px; margin-bottom: 12px; font-weight: 700; color: var(--ink); }
.card p { color: var(--ink-soft); font-size: 15px; line-height: 1.75; }
.card .more {
  display: inline-flex; align-items: center; gap: 6px;
  margin-top: 18px; font-weight: 700; font-size: 14.5px;
  color: var(--red);
  transition: gap .2s;
}
.card:hover .more { gap: 10px; }

/* ==================== 业务线特色条 ==================== */
.feature-list { list-style: none; }
.feature-list li {
  padding: 11px 0 11px 32px; position: relative;
  border-bottom: 1px dashed var(--line);
  font-size: 15px;
}
.feature-list li:last-child { border-bottom: none; }
.feature-list li::before {
  content: ""; position: absolute; left: 0; top: 18px;
  width: 18px; height: 18px;
  background: var(--gold);
  border-radius: 50%;
  display: grid; place-items: center;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2 6l3 3 5-6' stroke='%237A081C' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-size: 12px;
  background-repeat: no-repeat;
  background-position: center;
}

/* ==================== 表格 ==================== */
.table-wrap { overflow-x: auto; border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow-sm); }
table { width: 100%; border-collapse: collapse; background: #fff; min-width: 560px; }
th, td { padding: 14px 18px; text-align: left; border-bottom: 1px solid var(--line); font-size: 15px; }
th { background: linear-gradient(135deg, var(--red), var(--red-dark)); color: #fff; font-weight: 600; font-size: 14.5px; letter-spacing: .3px; }
tbody tr { transition: background .2s; }
tbody tr:nth-child(even) { background: #FCFAF7; }
tbody tr:hover { background: rgba(200,16,46,.03); }

/* ==================== FAQ ==================== */
.faq-item {
  background: #fff; border: 1px solid var(--line); border-radius: var(--radius);
  padding: 24px 28px; margin-bottom: 14px;
  box-shadow: var(--shadow-sm);
  transition: all .25s;
  cursor: pointer;
  position: relative;
  padding-left: 56px;
}
.faq-item::before {
  content: "Q";
  position: absolute; left: 22px; top: 24px;
  width: 28px; height: 28px;
  background: linear-gradient(135deg, var(--red), var(--red-dark));
  color: var(--gold);
  border-radius: 8px;
  display: grid; place-items: center;
  font-weight: 900; font-size: 14px;
}
.faq-item:hover {
  border-color: rgba(200,16,46,.2);
  box-shadow: var(--shadow-md);
  transform: translateX(4px);
}
.faq-item h3 { font-size: 17px; color: var(--red-dark); margin-bottom: 8px; font-weight: 700; }
.faq-item p { color: var(--ink-soft); font-size: 15px; }

/* ==================== 面包屑 ==================== */
.crumb { padding: 18px 0; font-size: 14px; color: var(--ink-soft); }
.crumb a { color: var(--ink-soft); }
.crumb a:hover { color: var(--red); }

/* ==================== 页面头图（服务页）— 带动感 ==================== */
.page-hero {
  background: linear-gradient(135deg, var(--red-deep), var(--red-dark), var(--red));
  color: #fff; padding: 64px 20px 74px;
  position: relative; overflow: hidden;
}
/* 网格线背景 */
.page-hero::before {
  content: "";
  position: absolute; inset: 0;
  background-image:
    linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px);
  background-size: 46px 46px;
  mask-image: linear-gradient(to bottom, transparent, black 25%, black 75%, transparent);
  -webkit-mask-image: linear-gradient(to bottom, transparent, black 25%, black 75%, transparent);
  pointer-events: none;
}
/* 金色光晕呼吸 */
.page-hero::after {
  content: "";
  position: absolute; right: -100px; top: -110px;
  width: 460px; height: 460px;
  background: radial-gradient(circle, rgba(212,175,55,.28), transparent 62%);
  border-radius: 50%;
  pointer-events: none;
  animation: heroGlow 6s ease-in-out infinite alternate;
}
/* 底部城市天际线剪影 */
.page-hero .pb-skyline {
  position: absolute; left: 0; right: 0; bottom: 0;
  height: 150px;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 150' preserveAspectRatio='none'%3E%3Cpath fill='rgba(0,0,0,.16)' d='M0,150 L0,95 L48,95 L48,70 L96,70 L96,100 L144,100 L144,62 L192,62 L192,86 L240,86 L240,55 L288,55 L288,80 L336,80 L336,105 L384,105 L384,72 L432,72 L432,92 L480,92 L480,58 L528,58 L528,92 L576,92 L576,48 L624,48 L624,80 L672,80 L672,100 L720,100 L720,62 L768,62 L768,90 L816,90 L816,55 L864,55 L864,88 L912,88 L912,70 L960,70 L960,100 L1008,100 L1008,62 L1056,62 L1056,90 L1104,90 L1104,50 L1152,50 L1152,82 L1200,82 L1200,102 L1248,102 L1248,64 L1296,64 L1296,88 L1344,88 L1344,100 L1392,100 L1392,72 L1440,72 L1440,150 Z'/%3E%3C/svg%3E") bottom center / cover no-repeat,
    linear-gradient(to top, rgba(0,0,0,.22) 0%, transparent 70%);
  pointer-events: none;
}
.page-hero-inner { max-width: 1200px; margin: 0 auto; position: relative; z-index: 2; }
.page-hero h1 {
  font-size: 34px; font-weight: 900; letter-spacing: 1.5px;
  margin-bottom: 12px;
  text-shadow: 0 4px 20px rgba(0,0,0,.25);
  animation: pageTitleIn .7s ease-out both;
}
.page-hero p {
  color: #ffe9ec; font-size: 16px; letter-spacing: .5px;
  animation: fadeUp .7s ease-out .2s both;
}
/* 金色小横线装饰 */
.page-hero .pb-line {
  width: 64px; height: 3px;
  margin: 16px auto 0;
  background: linear-gradient(90deg, transparent, var(--gold), transparent);
  border-radius: 2px;
  animation: pbLineIn .7s ease-out .35s both;
}
/* 上升粒子 */
.page-hero .particle {
  position: absolute; bottom: -12px; border-radius: 50%;
  width: var(--sz, 7px); height: var(--sz, 7px);
  background: var(--pc, rgba(212,175,55,.5));
  left: var(--px, 50%);
  animation: float var(--dur, 7s) linear infinite;
  animation-delay: var(--del, 0s);
  pointer-events: none; z-index: 1;
  box-shadow: 0 0 8px var(--pc, rgba(212,175,55,.7)), 0 0 16px var(--pc, rgba(212,175,55,.4));
}

/* ==================== 联系信息 ==================== */
.contact-box {
  background: #fff; border: 1px solid var(--line); border-radius: var(--radius);
  padding: 36px; box-shadow: var(--shadow-md);
  position: relative; overflow: hidden;
}
.contact-box::before {
  content: "";
  position: absolute; top: 0; left: 0; right: 0; height: 5px;
  background: linear-gradient(90deg, var(--red), var(--gold), var(--red));
}
.contact-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  margin-top: 20px;
}
.contact-item {
  display: flex; gap: 14px; align-items: flex-start;
  padding: 18px; border-radius: var(--radius-sm);
  background: var(--bg);
  border: 1px solid var(--line);
  transition: all .25s;
}
.contact-item:hover {
  border-color: var(--gold);
  background: #fff;
  box-shadow: var(--shadow-sm);
}
.contact-item .ci-icon {
  width: 44px; height: 44px; flex-shrink: 0;
  background: linear-gradient(135deg, var(--red), var(--red-dark));
  color: #fff;
  border-radius: 10px;
  display: grid; place-items: center;
}
.contact-item .ci-icon svg { width: 22px; height: 22px; }
.contact-item .ci-body strong { display: block; font-size: 13px; color: var(--ink-soft); margin-bottom: 4px; }
.contact-item .ci-body span { font-size: 16px; font-weight: 600; color: var(--ink); }
.call-btn {
  display: inline-flex; align-items: center; gap: 8px;
  background: linear-gradient(135deg, var(--red), var(--red-dark)); color: #fff;
  padding: 16px 36px; border-radius: 10px; font-weight: 700; margin-top: 24px;
  font-size: 16px;
  box-shadow: 0 4px 16px rgba(200,16,36,.3);
  transition: all .25s;
}
.call-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 24px rgba(200,16,36,.45);
  color: #fff;
}

/* ==================== 页脚 ==================== */
.site-footer {
  background: linear-gradient(180deg, #1a1214 0%, #0f0a0c 100%);
  color: #d9c9c0; padding: 56px 20px 30px;
  position: relative;
  overflow: hidden;
}
.site-footer::before {
  content: "";
  position: absolute; top: 0; left: 0; right: 0;
  height: 4px;
  background: linear-gradient(90deg, var(--red), var(--gold), var(--red));
}
.footer-inner {
  max-width: 1200px; margin: 0 auto;
  display: grid; grid-template-columns: 2fr 1fr 1fr 1.2fr; gap: 36px;
  position: relative; z-index: 2;
}
.footer-inner h4 { color: var(--gold); font-size: 15px; margin-bottom: 16px; font-weight: 700; }
.footer-inner a, .footer-inner p { color: #bfa99e; font-size: 14px; line-height: 2.2; transition: color .2s; }
.footer-inner a:hover { color: var(--gold-light); }

.footer-contact-item {
  display: flex; align-items: center; gap: 10px; margin-bottom: 8px;
}
.footer-contact-item svg { width: 18px; height: 18px; flex-shrink: 0; color: var(--gold); }

.footer-bottom {
  max-width: 1200px; margin: 32px auto 0;
  padding-top: 22px;
  border-top: 1px solid rgba(255,255,255,.07);
  font-size: 13px; color: #8a7670; text-align: center;
}
.footer-bottom a { color: #bfa99e; }

/* OC 入口 */
.oc-entry {
  text-align: center; padding: 20px; font-size: 13px;
  background: rgba(200,16,46,.03);
  border-top: 1px dashed var(--line);
}
.oc-entry a { color: var(--ink-soft); border-bottom: 1px dotted #bbb; }
.oc-entry a:hover { color: var(--red); border-bottom-style: solid; }

/* ==================== Logo 图片 ==================== */
/* 导航 LOGO：真实镂空透明图（内容几乎满幅 98%），故不做圆形裁切；60px 保证看清 */
.brand .logo-img { width: 64px; height: 64px; border-radius: 0; object-fit: contain; border: none; background: transparent; box-shadow: none; flex-shrink: 0; }
@media (max-width: 600px) { .brand .logo-img { width: 54px; height: 54px; } }

/* ==================== 页面标题横幅（内页）— 带动感 ==================== */
.page-banner {
  position: relative;
  overflow: hidden;
  padding: 64px 20px 78px;
  text-align: center;
  color: #fff;
}
/* 网格线背景 */
.page-banner::before {
  content: "";
  position: absolute; inset: 0;
  background-image:
    linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px);
  background-size: 46px 46px;
  mask-image: linear-gradient(to bottom, transparent, black 25%, black 75%, transparent);
  -webkit-mask-image: linear-gradient(to bottom, transparent, black 25%, black 75%, transparent);
  pointer-events: none;
}
/* 金色光晕呼吸 */
.page-banner::after {
  content: "";
  position: absolute;
  top: -120px; right: -80px;
  width: 460px; height: 460px;
  background: radial-gradient(circle, rgba(212,175,55,.28) 0%, transparent 62%);
  border-radius: 50%;
  pointer-events: none;
  animation: heroGlow 6s ease-in-out infinite alternate;
}
/* 底部城市天际线剪影 */
.page-banner .pb-skyline {
  position: absolute; left: 0; right: 0; bottom: 0;
  height: 150px;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 150' preserveAspectRatio='none'%3E%3Cpath fill='rgba(0,0,0,.16)' d='M0,150 L0,95 L48,95 L48,70 L96,70 L96,100 L144,100 L144,62 L192,62 L192,86 L240,86 L240,55 L288,55 L288,80 L336,80 L336,105 L384,105 L384,72 L432,72 L432,92 L480,92 L480,58 L528,58 L528,92 L576,92 L576,48 L624,48 L624,80 L672,80 L672,100 L720,100 L720,62 L768,62 L768,90 L816,90 L816,55 L864,55 L864,88 L912,88 L912,70 L960,70 L960,100 L1008,100 L1008,62 L1056,62 L1056,90 L1104,90 L1104,50 L1152,50 L1152,82 L1200,82 L1200,102 L1248,102 L1248,64 L1296,64 L1296,88 L1344,88 L1344,100 L1392,100 L1392,72 L1440,72 L1440,150 Z'/%3E%3C/svg%3E") bottom center / cover no-repeat,
    linear-gradient(to top, rgba(0,0,0,.22) 0%, transparent 70%);
  pointer-events: none;
}
/* 标题入场 */
.page-banner h1 {
  position: relative; z-index: 2;
  font-size: 36px; font-weight: 900; letter-spacing: 3px;
  color: #fff; margin-bottom: 12px;
  text-shadow: 0 4px 20px rgba(0,0,0,.25);
  animation: pageTitleIn .7s ease-out both;
}
@keyframes pageTitleIn {
  from { opacity: 0; transform: translateY(26px); }
  to   { opacity: 1; transform: translateY(0); }
}
/* 副标题 */
.page-banner p {
  position: relative; z-index: 2;
  color: rgba(255,255,255,.9); font-size: 16px; letter-spacing: 1px;
  animation: fadeUp .7s ease-out .2s both;
}
/* 金色小横线装饰 */
.page-banner .pb-line {
  position: relative; z-index: 2;
  width: 64px; height: 3px;
  margin: 16px auto 0;
  background: linear-gradient(90deg, transparent, var(--gold), transparent);
  border-radius: 2px;
  animation: pbLineIn .7s ease-out .35s both;
}
@keyframes pbLineIn {
  from { width: 0; opacity: 0; }
  to   { width: 64px; opacity: 1; }
}
/* 上升粒子 */
.page-banner .particle {
  position: absolute; bottom: -12px; border-radius: 50%;
  width: var(--sz, 7px); height: var(--sz, 7px);
  background: var(--pc, rgba(212,175,55,.5));
  left: var(--px, 50%);
  animation: float var(--dur, 7s) linear infinite;
  animation-delay: var(--del, 0s);
  pointer-events: none; z-index: 1;
  box-shadow: 0 0 8px var(--pc, rgba(212,175,55,.7)), 0 0 16px var(--pc, rgba(212,175,55,.4));
}
@keyframes float {
  0%   { transform: translateY(0) scale(1); opacity: 0; }
  12%  { opacity: .85; }
  85%  { opacity: .55; }
  100% { transform: translateY(-360px) scale(.6); opacity: 0; }
}

/* ==================== 新闻/公告 列表 ==================== */
.news-list, .notice-list { display: flex; flex-direction: column; gap: 20px; }
.news-card {
  display: flex; gap: 20px;
  background: #fff; border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  padding: 24px;
  box-shadow: var(--shadow-sm);
  transition: all .3s;
}
.news-card:hover {
  transform: translateY(-3px);
  box-shadow: var(--shadow-md);
  border-color: rgba(200,16,46,.15);
}

/* 日期徽章 */
.news-date {
  flex-shrink: 0;
  width: 64px; height: 64px;
  background: linear-gradient(135deg, var(--red), var(--red-dark));
  border-radius: 12px;
  display: flex; flex-direction: column;
  align-items: center; justify-content: center;
  color: #fff;
  text-align: center;
}
.nd-day { font-size: 24px; font-weight: 900; line-height: 1.1; }
.nd-month { font-size: 11px; opacity: .85; margin-top: 2px; }

/* 新闻内容区 */
.news-body { flex: 1; min-width: 0; }
.news-body h4 { font-size: 17px; font-weight: 700; color: var(--ink); margin-bottom: 8px; line-height: 1.5; transition: color .2s; }
.news-card:hover .news-body h4 { color: var(--red); }
.news-body p { font-size: 14.5px; color: var(--ink-soft); line-height: 1.75; }

/* 标签 */
.news-tag {
  display: inline-block; padding: 5px 14px; border-radius: 999px;
  font-size: 14px; font-weight: 600; white-space: nowrap; cursor: pointer;
}
.tag-news { background: rgba(200,16,46,.08); color: var(--red); }
.tag-case { background: rgba(5,150,105,.08); color: #059669; }
.tag-notice { background: rgba(212,175,55,.15); color: #996B00; }
.tag-dynamic { background: rgba(79,70,229,.08); color: #4f46e5; }
.news-tag.active { background: var(--red); color: #fff; }
.lv-pill { display: inline-block; padding: 3px 10px; border-radius: 999px; font-size: 13px; font-weight: 600; white-space: nowrap; }
.nc-head { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-bottom: 8px; }
.nc-meta { font-size: 13px; color: #888; }
.nc-src { display: flex; align-items: center; gap: 12px; margin-top: 8px; font-size: 13px; flex-wrap: wrap; }
.nc-src-text { color: #888; }

/* ==================== 案例网格 ==================== */
.case-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; }
.case-card {
  background: #fff; border: 1px solid var(--line);
  border-radius: var(--radius);
  overflow: hidden;
  box-shadow: var(--shadow-sm);
  transition: all .3s;
}
.case-card:hover {
  transform: translateY(-6px);
  box-shadow: var(--shadow-lg);
}

/* ==================== 时间线（公司动态） ==================== */
.timeline { position: relative; padding-left: 40px; }
.timeline::before {
  content: ''; position: absolute; left: 15px; top: 0; bottom: 0;
  width: 3px; background: linear-gradient(to bottom, var(--red), #D4AF37, #059669, #1d4ed8, #4f46e5);
  border-radius: 2px;
}
.timeline-item { position: relative; margin-bottom: 36px; }
.timeline-dot {
  position: absolute; left: -33px; top: 6px;
  width: 14px; height: 14px; border-radius: 50%; z-index: 1;
}
.timeline-date { font-size: 13px; font-weight: 700; color: var(--ink-soft); margin-bottom: 8px; }
.timeline-card {
  background: #fff; border: 1px solid var(--line);
  border-radius: var(--radius-sm); padding: 24px;
  box-shadow: var(--shadow-sm); transition: all .3s;
}
.timeline-card:hover { box-shadow: var(--shadow-md); transform: translateY(-2px); }
.timeline-card h3 { font-size: 17px; font-weight: 700; color: var(--ink); margin: 8px 0 10px; line-height: 1.5; }
.timeline-card p { font-size: 14px; color: var(--ink-soft); line-height: 1.8; }

/* ==================== 左右悬浮联系栏（新版） ==================== */
.float-bar-left {
  position: fixed; left: 0; top: 50%; transform: translateY(-50%);
  z-index: 90; display: flex; flex-direction: column; gap: 2px;
}
.float-bar-left a {
  display: flex; align-items: center; gap: 8px;
  background: linear-gradient(135deg, var(--red), var(--red-dark));
  color: #fff; padding: 14px 16px;
  border-radius: 0 10px 10px 0;
  font-size: 13.5px; font-weight: 600;
  box-shadow: 4px 4px 16px rgba(200,16,46,.25);
  transition: all .25s; white-space: nowrap;
}
.float-bar-left a:hover { background: linear-gradient(135deg, var(--red-dark), var(--red-deep)); padding-left: 22px; color: #fff; }
.float-bar-left a svg { flex-shrink: 0; }

.float-bar-right {
  position: fixed; right: 0; top: 50%; transform: translateY(-50%);
  z-index: 90; display: flex; flex-direction: column; gap: 0;
  background: #fff; border: 1px solid var(--line);
  border-radius: 10px 0 0 10px;
  box-shadow: -4px 4px 20px rgba(0,0,0,.08);
  overflow: hidden;
}
.float-info {
  padding: 16px 18px; border-bottom: 1px solid var(--line);
  font-size: 13px; line-height: 1.6;
}
.float-info:last-child { border-bottom: none; }
.float-info strong { font-size: 12px; color: var(--ink-soft); }
.float-info span { font-weight: 600; color: var(--ink); }

/* ==================== 动画 ==================== */
.fade-in {
  opacity: 0; transform: translateY(24px);
  transition: opacity .6s ease, transform .6s ease;
}
.fade-in.visible {
  opacity: 1; transform: translateY(0);
}

/* ==================== 响应式 ==================== */
@media (max-width: 960px) {
  .hero-inner { grid-template-columns: 1fr; text-align: center; }
  .hero p.lead { margin-left: auto; margin-right: auto; }
  .hero-actions { justify-content: center; }
  .hero-visual { max-width: 480px; margin: 0 auto; }
  .hero-visual .hero-stat-cards { max-width: 360px; margin: 0 auto; }
  .side-contact, .side-contact-left, .float-bar-left, .float-bar-right { display: none; }
  .brand-slogan { display: none; }
  .stats { grid-template-columns: repeat(2, 1fr); }
  .footer-inner { grid-template-columns: 1fr 1fr; }
  .contact-grid { grid-template-columns: 1fr; }
  .news-card { flex-direction: column; gap: 16px; }
  .news-date { width: auto; flex-direction: row; gap: 8px; padding: 8px 16px; }
  .case-grid { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
  .grid-3, .grid-2, .stats { grid-template-columns: 1fr; }
  .footer-inner { grid-template-columns: 1fr; }
  .hero { min-height: auto; padding: 56px 20px 48px; }
  .hero h1 { font-size: 28px; }
  .section { padding: 56px 0; }
  .section-title h2 { font-size: 26px; }
  .nav-links { width: 100%; justify-content: center; margin-top: 8px; }
  .hero-stat-cards { grid-template-columns: 1fr 1fr; }
}

/* ===== 承装修试条件表（单一真源注入） ===== */
.std-table { width: 100%; border-collapse: collapse; background: #fff; border-radius: 12px; overflow: hidden; box-shadow: 0 2px 14px rgba(0,0,0,.06); margin: 6px 0; }
.std-table th, .std-table td { border: 1px solid var(--line); padding: 12px 14px; text-align: left; font-size: 14px; line-height: 1.6; vertical-align: top; }
.std-table thead th { background: var(--red); color: #fff; font-weight: 700; text-align: center; }
.std-table tbody th.row-h { background: #faf6f2; color: var(--ink); font-weight: 600; white-space: nowrap; }
.std-table tbody td { color: var(--ink-soft); }
.std-table tbody tr:nth-child(even) td { background: #fcfbfa; }
.std-note { font-size: 13px; color: var(--ink-soft); margin-top: 14px; line-height: 1.75; }
@media (max-width: 640px) { .std-table th, .std-table td { padding: 9px 8px; font-size: 12.5px; } }

/* ===== 版块页「相关成功案例」注入区块 ===== */
.related-cases .case-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; margin-top: 30px; }
.related-cases .case-card { border: 1px solid var(--line); border-radius: 14px; overflow: hidden; background: #fff; transition: box-shadow .2s, transform .2s; }
.related-cases .case-card:hover { box-shadow: 0 8px 24px rgba(0,0,0,.1); transform: translateY(-3px); }
.related-cases .case-banner { height: 150px; display: flex; align-items: center; justify-content: center; position: relative; overflow: hidden; }
.related-cases .case-info { padding: 20px; }
.related-cases .case-info h4 { font-size: 17px; font-weight: 700; color: var(--ink); margin-bottom: 10px; line-height: 1.5; }
.related-cases .case-info p { font-size: 14px; color: var(--ink-soft); line-height: 1.7; margin-bottom: 12px; }
.related-cases .case-tags { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 6px; }
.related-cases .case-tags span { padding: 3px 10px; background: #f5f5f5; color: #666; border-radius: 999px; font-size: 12px; }
.related-cases .case-info .more { color: var(--red); font-weight: 600; font-size: 14px; display: inline-flex; align-items: center; gap: 4px; text-decoration: none; }
@media (max-width: 640px) { .related-cases .case-grid { grid-template-columns: 1fr; } }

/* 右侧固定联系栏避让（2026-09-21 新增）
   .side-contact 固定在 right:0，整体宽约 163px；而 .hero-inner 是 max-width:1200px 居中，
   在 961–1535px 区间内两者必然交叠——实测统计卡右边缘被压住：1440 压 43px、1366 压 80px、
   1280 压 123px、1200 及以下压 143px（首屏 6 张统计卡最右一列明显被切）。
   ≥1536px 时容器居中后左右有富余，不会交叠；≤960px 时浮条本就 display:none。
   这里只给首屏预留浮条宽度，不动其它页面的居中布局（全站避让需另行评估）。 */
@media (min-width: 961px) and (max-width: 1535px) {
  .hero { padding-right: 185px; }
}

/* ==================== Hero 右列 · AI 12 大自动预警系统 ==================== */
.ai-warn {
  position: relative;
  background: linear-gradient(155deg, rgba(255,255,255,.17) 0%, rgba(255,255,255,.05) 100%);
  border: 1px solid rgba(212,175,55,.42);
  border-radius: 16px;
  padding: 16px 12px 14px;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  box-shadow: 0 12px 34px rgba(0,0,0,.2), inset 0 1px 0 rgba(255,255,255,.14);
}
.ai-warn::before {
  content: "";
  position: absolute; left: 18px; right: 18px; top: 0; height: 2px;
  background: linear-gradient(90deg, transparent, rgba(212,175,55,.95), transparent);
  border-radius: 2px;
}
.aw-head { display: flex; align-items: center; flex-wrap: wrap; gap: 7px 10px; margin-bottom: 14px; }
.aw-live {
  flex: 0 0 auto; width: 9px; height: 9px; border-radius: 50%;
  background: var(--gold-light);
  animation: tagPulse 2s infinite;
}
.aw-title {
  font-size: 17px; font-weight: 900; letter-spacing: 1.2px;
  color: var(--gold-light); text-shadow: 0 2px 12px rgba(0,0,0,.3);
}
.aw-sub {
  margin-left: auto; font-size: 11.5px; letter-spacing: .5px;
  color: rgba(255,233,236,.66);
}
.aw-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }
.aw-item {
  display: flex; align-items: center; gap: 6px; min-width: 0;
  background: rgba(255,255,255,.11);
  border: 1px solid rgba(255,255,255,.17);
  border-radius: 10px;
  padding: 10px 8px;
  transition: background .25s ease, border-color .25s ease, transform .25s ease;
}
.aw-item:hover {
  background: rgba(212,175,55,.2);
  border-color: rgba(212,175,55,.62);
  transform: translateY(-2px);
}
.aw-dot {
  flex: 0 0 auto; width: 6px; height: 6px; border-radius: 50%;
  background: linear-gradient(135deg, #FFE9A8, #D4AF37);
  box-shadow: 0 0 0 3px rgba(212,175,55,.16);
}
.aw-name {
  font-size: 14.5px; font-weight: 800; color: #fff; letter-spacing: 0; line-height: 1.3;
  font-family: "PingFang SC", "Microsoft YaHei", "Hiragino Sans GB", "Source Han Sans SC", sans-serif;
}
@media (max-width: 1400px) { .aw-name { font-size: 14px; } }
@media (max-width: 1320px) {
  .aw-grid { grid-template-columns: repeat(3, 1fr); }
  .aw-name { font-size: 14px; }
}
@media (max-width: 1100px) { .aw-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 960px) { .aw-name { font-size: 14px; } }
@media (max-width: 640px) {
  .ai-warn { padding: 16px 12px 14px; }
  .aw-grid { grid-template-columns: repeat(2, 1fr); }
  .aw-title { font-size: 15.5px; }
  .aw-name { font-size: 13.5px; }
}

/* V73 首页右侧卡片错落入场 */
.hero-stat-cards .hsc { animation: fadeUp .6s ease-out both; }
.hero-stat-cards .hsc:nth-child(1) { animation-delay: .18s; }
.hero-stat-cards .hsc:nth-child(2) { animation-delay: .28s; }
.hero-stat-cards .hsc:nth-child(3) { animation-delay: .38s; }
.hero-stat-cards .hsc:nth-child(4) { animation-delay: .48s; }
.hero-stat-cards .hsc:nth-child(5) { animation-delay: .58s; }
.hero-stat-cards .hsc:nth-child(6) { animation-delay: .68s; }
.ai-warn { animation: fadeUp .9s ease-out .6s both; }

/* 尊重系统「减弱动效」偏好 */
@media (prefers-reduced-motion: reduce) {
  .hero .tag, .hero h1, .hero-keywords, .hero p.lead, .hero-actions,
  .hero-stat-cards .hsc, .ai-warn { animation: none !important; }
}

/* 公告页筛选栏：收紧上下留白 */
#notice-filter { margin-bottom: 14px !important; }
.notices-section { padding-top: 36px !important; padding-bottom: 40px !important; }

/* ===== 首页业务快捷入口条（HOME_BIZ_ENTRY）===== */
.biz-entry { display: block; text-decoration: none; color: inherit; cursor: pointer; }
.biz-entry .be-name { font-size: 25px; font-weight: 900; color: var(--gold-light); line-height: 1.25; }
.biz-entry .be-badge {
  display: inline-block; vertical-align: middle; margin-left: 8px;
  padding: 2px 9px; font-size: 12px; font-weight: 700; line-height: 1.5;
  color: #fff; background: rgba(255,255,255,.22);
  border: 1px solid rgba(255,255,255,.38); border-radius: 999px;
}
.biz-entry .be-desc { font-size: 13.5px; color: rgba(255,233,236,.82); margin-top: 9px; font-weight: 500; line-height: 1.5; }
.biz-entry .be-go { margin-top: 13px; font-size: 13px; font-weight: 700; color: #fff; opacity: .92; }
.biz-entry .be-arrow { display: inline-block; transition: transform .25s; }
.biz-entry:hover .be-arrow { transform: translateX(5px); }
.biz-entry:hover { border-color: var(--gold); background: rgba(255,255,255,.17); }
.biz-entry:focus-visible { outline: 2px solid var(--gold); outline-offset: 2px; }
@media (max-width: 640px) {
  .biz-entry .be-name { font-size: 21px; }
  .biz-entry .be-desc { font-size: 13px; }
  .biz-entry .be-go { margin-top: 10px; }
}

/* ===== 首页 hero 右侧三屏轮播（HOME_HERO_ROTATOR）===== */
.hero-rotator { position: relative; }
.hero-rotator .hr-slide { display: none; }
.hero-rotator .hr-slide.is-active { display: block; }

/* JS 就绪后切换为「叠放」模式：容器高度自动取最高屏，切换时下方内容不跳动 */
.hero-rotator.hr-ready .hr-viewport { display: grid; align-items: start; }
.hero-rotator.hr-ready .hr-slide {
  display: block; grid-area: 1 / 1;
  opacity: 0; visibility: hidden; transform: translateY(8px);
  transition: opacity .55s ease, transform .55s ease, visibility .55s ease;
}
.hero-rotator.hr-ready .hr-slide.is-active { opacity: 1; visibility: visible; transform: none; }
@media (prefers-reduced-motion: reduce) {
  .hero-rotator.hr-ready .hr-slide { transition: none; transform: none; }
}

/* 指示器与翻屏按钮 */
.hr-nav { display: flex; align-items: center; justify-content: center; gap: 9px; margin-top: 12px; }
.hr-arrow {
  display: flex; align-items: center; justify-content: center;
  width: 26px; height: 26px; padding: 0; cursor: pointer;
  color: var(--gold-light); background: rgba(255,255,255,.1);
  border: 1px solid rgba(212,175,55,.5); border-radius: 50%;
  transition: background .25s ease, border-color .25s ease, transform .25s ease;
}
.hr-arrow:hover { background: rgba(212,175,55,.26); border-color: var(--gold); transform: translateY(-1px); }
.hr-arrow:focus-visible { outline: 2px solid var(--gold); outline-offset: 2px; }
.hr-dot {
  width: 7px; height: 7px; padding: 0; cursor: pointer;
  background: rgba(255,255,255,.34); border: 0; border-radius: 999px;
  transition: width .3s ease, background .3s ease;
}
.hr-dot.is-active { width: 22px; background: var(--gold-light); }
.hr-dot:focus-visible { outline: 2px solid var(--gold); outline-offset: 2px; }

/* 屏 2 · AI 预警实况 */
.hr-alerts { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.hr-alert {
  display: flex; align-items: center; gap: 10px;
  background: rgba(255,255,255,.11);
  border: 1px solid rgba(255,255,255,.17);
  border-left: 3px solid rgba(212,175,55,.6);
  border-radius: 10px; padding: 7px 10px;
  transition: background .25s ease, border-color .25s ease, transform .25s ease;
}
.hr-alert:hover { background: rgba(212,175,55,.18); border-color: rgba(212,175,55,.55); transform: translateX(3px); }
.hr-alert.lv-2 { border-left-color: #FF9A9A; }
.hr-a-main { display: flex; flex-direction: column; gap: 3px; min-width: 0; flex: 1 1 auto; }
.hr-a-name { font-size: 14px; font-weight: 800; color: #fff; line-height: 1.25; }
.hr-a-note {
  font-size: 11.5px; color: rgba(255,233,236,.72); line-height: 1.45;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.hr-a-day {
  flex: 0 0 auto; font-size: 12px; font-weight: 800; letter-spacing: .3px;
  color: #FFF3D6; background: rgba(212,175,55,.26);
  border: 1px solid rgba(212,175,55,.5); border-radius: 999px; padding: 3px 9px;
}

/* 面板底部小字（三屏共用，保持三屏结构对称、高度接近） */
.hr-alert-foot, .hr-foot {
  margin-top: 10px; padding-top: 9px; border-top: 1px dashed rgba(255,255,255,.18);
  font-size: 11.5px; color: rgba(255,233,236,.7); letter-spacing: .2px;
}
.hr-alert-foot b, .hr-foot b { color: var(--gold-light); font-weight: 800; }

/* 屏 3 · 资质类型图谱 */
.hr-cats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }
.hr-cat {
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px;
  padding: 7px 4px; text-decoration: none; border-radius: 10px;
  background: rgba(255,255,255,.11); border: 1px solid rgba(255,255,255,.17);
  transition: background .25s ease, border-color .25s ease, transform .25s ease;
}
.hr-cat:hover { background: rgba(212,175,55,.2); border-color: rgba(212,175,55,.6); transform: translateY(-2px); }
.hr-cat:focus-visible { outline: 2px solid var(--gold); outline-offset: 2px; }
.hr-cat-ico {
  display: flex; align-items: center; justify-content: center;
  width: 28px; height: 28px; border-radius: 9px;
  font-size: 14.5px; font-weight: 900; color: #3A1004;
  background: linear-gradient(135deg, #FFE9A8, #D4AF37);
  box-shadow: 0 4px 12px rgba(0,0,0,.18);
}
.hr-cat-name { font-size: 11.5px; font-weight: 700; color: rgba(255,255,255,.92); line-height: 1.2; text-align: center; }
@media (max-width: 1320px) { .hr-cats { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 1100px) { .hr-cats { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px) {
  .hr-cat-name { font-size: 11px; }
  .hr-cat-ico { width: 27px; height: 27px; font-size: 14px; }
  .hr-nav { margin-top: 10px; }
}

/* ===== 首页核心业务区（HOME_CORE_BIZ）===== */
/* 标题艺术字「我们不一样！」+ 跳跃动画 */
.section-title h2 .cb-diff {
  font-family: "STKaiti", "KaiTi", "楷体", "Songti SC", "SimSun", cursive;
  font-weight: 900;
  font-size: 34px;
  margin-left: 12px;
  display: inline-block;
  background: linear-gradient(180deg, #ff5a76 0%, var(--red) 55%, var(--red-dark) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 2px 1px rgba(212,175,55,.35));
  letter-spacing: 1px;
  animation: cbJump 1.5s ease-in-out infinite;
}
@keyframes cbJump {
  0%, 100% { transform: translateY(0) rotate(-1.5deg); }
  50% { transform: translateY(-9px) rotate(1.5deg); }
}

/* 副标题：桌面端加宽、尽量一行显示 */
.section-title p.cb-sub { max-width: 1100px; font-size: 15.5px; line-height: 1.7; }
@media (min-width: 961px) {
  .section-title p.cb-sub { white-space: nowrap; }
}

/* 对比亮点区 */
.cb-compare {
  margin-top: 8px;
  background: linear-gradient(135deg, #2a0d12 0%, #7A081C 55%, #9E0B24 100%);
  border: 1px solid rgba(212,175,55,.45);
  border-radius: 20px;
  padding: 34px 30px 30px;
  box-shadow: 0 18px 50px rgba(122,8,28,.22);
  position: relative;
  overflow: hidden;
}
.cb-compare::before {
  content: ""; position: absolute; inset: 0;
  background: radial-gradient(120% 80% at 80% -10%, rgba(212,175,55,.22), transparent 60%);
  pointer-events: none;
}
.cb-head { text-align: center; position: relative; z-index: 2; margin-bottom: 24px; }
.cb-head-eyebrow {
  display: inline-block; font-size: 12px; letter-spacing: 4px; color: var(--gold-light);
  border: 1px solid rgba(212,175,55,.5); border-radius: 999px; padding: 3px 14px;
}
.cb-head-title { color: #fff; font-size: 26px; font-weight: 900; margin: 14px 0 8px; }
.cb-head-title em { font-style: normal; color: var(--gold-light); }
.cb-head-sub { color: rgba(255,233,236,.78); font-size: 14.5px; }

.cb-cols { display: grid; grid-template-columns: 1fr auto 1fr; gap: 18px; align-items: stretch; position: relative; z-index: 2; }
.cb-col { background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.12); border-radius: 14px; padding: 20px 20px 22px; }
.cb-old { background: rgba(255,255,255,.04); border-color: rgba(255,255,255,.1); }
.cb-new {
  background: linear-gradient(160deg, rgba(212,175,55,.16), rgba(255,255,255,.08));
  border-color: rgba(212,175,55,.55);
  box-shadow: inset 0 0 0 1px rgba(212,175,55,.18);
}
.cb-col-hd { display: flex; align-items: center; gap: 10px; margin-bottom: 14px; }
.cb-col-ico { width: 30px; height: 30px; border-radius: 9px; display: grid; place-items: center; font-size: 16px; font-weight: 900; flex: 0 0 auto; }
.cb-old .cb-col-ico { background: rgba(255,255,255,.12); color: #cfc4c4; }
.cb-new .cb-col-ico { background: linear-gradient(135deg, #FFE9A8, #D4AF37); color: #3A1004; }
.cb-col-name { font-size: 17px; font-weight: 800; color: #fff; }
.cb-old .cb-col-name { color: rgba(255,255,255,.72); }
.cb-col-tag {
  margin-left: auto; font-size: 12px; font-weight: 800; color: #3A1004;
  background: var(--gold-light); border-radius: 999px; padding: 2px 10px;
}
.cb-list { list-style: none; display: flex; flex-direction: column; gap: 10px; margin: 0; padding: 0; }
.cb-list li { position: relative; padding-left: 24px; font-size: 14.5px; line-height: 1.55; color: rgba(255,255,255,.78); }
.cb-old .cb-list li { color: rgba(255,255,255,.55); }
.cb-list li::before { content: ""; position: absolute; left: 0; top: 7px; width: 14px; height: 14px; border-radius: 50%; }
.cb-old .cb-list li::before { background: rgba(255,255,255,.18); }
.cb-new .cb-list li::before { background: var(--gold); box-shadow: 0 0 0 3px rgba(212,175,55,.2); }
.cb-new .cb-list li { color: #fff; font-weight: 600; }
.cb-new .cb-list li b { color: var(--gold-light); }

.cb-vs {
  align-self: center; display: grid; place-items: center;
  width: 46px; height: 46px; border-radius: 50%;
  background: linear-gradient(135deg, #FFE9A8, #D4AF37); color: #7A081C;
  font-weight: 900; font-size: 16px;
  box-shadow: 0 6px 18px rgba(0,0,0,.3); border: 3px solid #fff;
}

.cb-foot { margin-top: 22px; text-align: center; font-size: 14px; color: rgba(255,233,236,.85); position: relative; z-index: 2; }
.cb-foot a { color: var(--gold-light); font-weight: 800; }

@media (max-width: 860px) {
  .cb-cols { grid-template-columns: 1fr; }
  .cb-vs { margin: 4px auto; transform: rotate(90deg); }
  .cb-head-title { font-size: 22px; }
}
@media (max-width: 640px) {
  .section-title h2 .cb-diff { font-size: 28px; margin-left: 8px; }
  .cb-compare { padding: 26px 18px 22px; }
  .cb-head-title { font-size: 20px; }
  .cb-foot { font-size: 13px; }
}
@media (prefers-reduced-motion: reduce) {
  .section-title h2 .cb-diff { animation: none !important; }
}

/* ===== 首页为什么选我们（HOME_WHYUS）===== */
.section-title .wu-sub { max-width: 1000px; margin-left: auto; margin-right: auto; }

/* 能力徽标行 */
.wu-badges {
  display: flex; flex-wrap: wrap; justify-content: center; gap: 10px;
  margin-top: 18px;
}
.wu-badge {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: 13px; font-weight: 700; letter-spacing: .3px;
  color: #8E1024;
  background: linear-gradient(135deg, rgba(212,175,55,.16), rgba(200,16,46,.07));
  border: 1px solid rgba(212,175,55,.55);
  border-radius: 999px;
  padding: 6px 15px;
}
.wu-badge::before {
  content: ""; width: 6px; height: 6px; border-radius: 50%;
  background: linear-gradient(135deg, var(--red), var(--gold));
}

/* 六卡网格 */
.wu-grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px;
  margin-top: 40px;
}
.wu-card { padding: 30px 26px; }
/* 前三张（AI / 自研 / 团队）用金色描边 + 顶部渐变条常驻，视觉上一眼看出「这是我们的差异」 */
.wu-card.wu-hi {
  border-color: rgba(212,175,55,.6);
  box-shadow: 0 10px 30px rgba(122,8,28,.07);
}
.wu-card.wu-hi::before { transform: scaleX(1); }
.wu-card.wu-hi .ic {
  background: linear-gradient(135deg, rgba(200,16,46,.14), rgba(212,175,55,.24));
  color: var(--red-dark, #7A081C);
}
.wu-card .wu-tag {
  position: absolute; top: 16px; right: 16px;
  font-size: 11.5px; font-weight: 800; letter-spacing: .5px;
  color: #3A1004; background: linear-gradient(135deg, var(--gold-light, #E8C95F), var(--gold));
  border-radius: 999px; padding: 3px 10px;
}
.wu-card h3 { font-size: 19px; }

@media (max-width: 960px) {
  .wu-grid { grid-template-columns: repeat(2, 1fr); gap: 20px; }
}
@media (max-width: 640px) {
  .wu-grid { grid-template-columns: 1fr; }
  .wu-badge { font-size: 12px; padding: 5px 12px; }
}
/* ===== /首页为什么选我们 ===== */

/* ===== 官网页脚统一（SITE_FOOTER）===== */
/* 页脚公司简介列：控制行长，避免 2fr 那一列文字拉太宽不好读 */
.site-footer .footer-inner > div:first-child p { max-width: 34em; }
.site-footer .twc-footer-slogan {
  margin-top: 12px; font-size: 13px; color: #8a7670;
}
/* 页脚链接列：条目较多，行高略收紧，页脚不至于过度拉长 */
.site-footer .footer-inner > div:not(:first-child) p { line-height: 2; }
@media (max-width: 640px) {
  .site-footer .footer-inner > div:first-child p { max-width: none; }
}
/* ===== /官网页脚统一 ===== */
