/* ===================================================================
   湖南头等舱企业管理有限公司 官网样式 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; }

/* 品牌口号：牵手头等舱，生意响当当（艺术字 + 动画，居中） */
.brand-slogan {
  flex: 1 1 auto;
  text-align: center;
  font-family: "STKaiti", "KaiTi", "Kaiti SC", "PingFang SC", "Microsoft YaHei", sans-serif;
  font-size: 25px;
  font-weight: 900;
  letter-spacing: 4px;
  white-space: nowrap;
  line-height: 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: 620px;
  display: flex;
  align-items: center;
  overflow: hidden;
  background: linear-gradient(135deg, #7A081C 0%, #9E0B24 25%, #C8102E 55%, #D4243E 80%, #E8455A 100%);
  color: #fff;
  padding: 80px 20px 80px;
}

/* 建筑背景图案 - 用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; }
}

/* 浮动粒子/网格 */
.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 1fr;
  gap: 48px;
  align-items: center;
}

.hero-text { }
.hero .tag {
  display: inline-flex; align-items: center; gap: 6px;
  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: 42px; line-height: 1.2; margin-bottom: 20px; font-weight: 900;
  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 p.lead {
  font-size: 17.5px; max-width: 560px; color: rgba(255,233,236,.92); margin-bottom: 32px;
  line-height: 1.8;
}
.hero-actions { display: flex; gap: 14px; flex-wrap: wrap; }

/* Hero 右侧 - 装饰卡片 */
.hero-visual {
  display: flex;
  flex-direction: column;
  gap: 16px;
  justify-content: center;
}
.hero-stat-cards {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}
.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 图片 ==================== */
.brand .logo-img { width: 46px; height: 46px; border-radius: 50%; object-fit: contain; border: 2px solid var(--gold); box-shadow: 0 4px 12px rgba(200,16,46,.2); }

/* ==================== 页面标题横幅（内页）— 带动感 ==================== */
.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: 3px 10px; border-radius: 999px;
  font-size: 12px; font-weight: 600; white-space: nowrap;
}
.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; }

/* ==================== 案例网格 ==================== */
.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; }
}
