/* ==========================================================================
   v2.css — 艺景测绘（xagywh.com）2026 视觉升级层
   加载顺序：style.css 之后，只做增强，不改动模板结构
   ========================================================================== */

:root {
  --ink: #060d14;
  --ink-2: #0b1a24;
  --cyan: #22d3ee;
  --lime: #a3e635;
  --txt: #e8f4fa;
  --dim: #9fb6c4;
}

/* ---------- 首页隐藏旧 banner 轮播，改用 hero ---------- */
body.home .banner { display: none !important; }

/* ---------- Hero ---------- */
.hero {
  position: relative;
  overflow: hidden;
  padding: 92px 0 78px;
  color: var(--txt);
  background:
    radial-gradient(900px 460px at 12% 0%, rgba(34, 211, 238, .22), transparent 62%),
    radial-gradient(760px 420px at 88% 18%, rgba(163, 230, 53, .14), transparent 60%),
    linear-gradient(160deg, #060d14 0%, #08161f 46%, #040a10 100%);
}
.hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(255, 255, 255, .045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, .045) 1px, transparent 1px);
  background-size: 46px 46px;
  mask-image: radial-gradient(circle at 50% 30%, #000 35%, transparent 78%);
  -webkit-mask-image: radial-gradient(circle at 50% 30%, #000 35%, transparent 78%);
  pointer-events: none;
}
.hero::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: -30%;
  height: 42%;
  background: linear-gradient(180deg, transparent, rgba(34, 211, 238, .13), transparent);
  animation: heroScan 7s linear infinite;
  pointer-events: none;
}
@keyframes heroScan {
  0% { top: -40%; }
  100% { top: 110%; }
}
.hero .container-fluid { position: relative; z-index: 2; }
.hero-badge {
  display: inline-block;
  margin-bottom: 22px;
  padding: 7px 16px;
  font-size: 13px;
  letter-spacing: .06em;
  color: var(--cyan);
  border: 1px solid rgba(34, 211, 238, .38);
  border-radius: 40px;
  background: rgba(34, 211, 238, .07);
}
.hero h1 {
  margin: 0 0 20px;
  font-size: 46px;
  line-height: 1.28;
  font-weight: 700;
  letter-spacing: .01em;
}
.hero h1 span {
  background: linear-gradient(96deg, #22d3ee, #a3e635 88%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
.hero-sub {
  max-width: 780px;
  margin-bottom: 34px;
  font-size: 16px;
  line-height: 1.95;
  color: var(--dim);
}
.hero-actions { margin-bottom: 46px; font-size: 0; }
.hero-actions a {
  display: inline-block;
  margin: 0 14px 12px 0;
  padding: 0 30px;
  font-size: 15px;
  line-height: 50px;
  border-radius: 8px;
  transition: all .25s ease;
}
.hero-actions .btn-primary {
  color: #04121a;
  font-weight: 700;
  background: linear-gradient(96deg, #22d3ee, #7dd3fc);
  box-shadow: 0 10px 30px -10px rgba(34, 211, 238, .8);
}
.hero-actions .btn-primary:hover { transform: translateY(-2px); box-shadow: 0 16px 38px -12px rgba(34, 211, 238, .95); }
.hero-actions .btn-ghost {
  color: var(--txt);
  border: 1px solid rgba(255, 255, 255, .22);
  background: rgba(255, 255, 255, .03);
}
.hero-actions .btn-ghost:hover { border-color: var(--cyan); color: var(--cyan); }
.hero-stats {
  display: flex;
  flex-wrap: wrap;
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid rgba(255, 255, 255, .1);
  padding-top: 28px;
}
.hero-stats li {
  flex: 0 0 auto;
  width: 25%;
  padding-right: 18px;
}
.hero-stats b {
  display: block;
  font-size: 30px;
  line-height: 1.1;
  color: #fff;
  font-weight: 700;
}
.hero-stats b i { font-style: normal; color: var(--lime); }
.hero-stats span {
  display: block;
  margin-top: 8px;
  font-size: 13px;
  color: var(--dim);
}

/* ---------- 内页 H1 区 ---------- */
.page-h1 {
  position: relative;
  margin: 0 0 26px;
  padding: 0 0 16px;
  border-bottom: 1px solid #e6e6e6;
}
.page-h1 h1 {
  margin: 0;
  font-size: 28px;
  line-height: 1.3;
  font-weight: 700;
  color: #111;
}
.page-h1 .page-h1-sub {
  margin-top: 10px;
  font-size: 14px;
  color: #8b8b8b;
  line-height: 1.7;
}
.page-h1::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 68px;
  height: 3px;
  background: linear-gradient(90deg, #22d3ee, #a3e635);
}
.page-h1 h1 { font-family: inherit; }

/* 详情页标题语义化后保持原样式 */
h1.biaoti {
  margin: 0;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.5;
  color: #111;
}

/* ---------- 移动端 ---------- */
@media (max-width: 991px) {
  .hero { padding: 58px 0 50px; }
  .hero h1 { font-size: 30px; line-height: 1.35; }
  .hero-sub { font-size: 14px; line-height: 1.85; margin-bottom: 26px; }
  .hero-stats li { width: 50%; margin-bottom: 22px; }
  .hero-stats b { font-size: 24px; }
  .page-h1 h1 { font-size: 22px; }
  h1.biaoti { font-size: 19px; }
}
@media (max-width: 767px) {
  .hero h1 { font-size: 25px; }
  .hero-actions a { display: block; margin-right: 0; text-align: center; }
}

/* 电话图标源文件损坏（内容为HTML），隐藏图标只保留文字 */
header .tel .icon { display: none; }
header .tel .text .mc { color: #8b8b8b; }

/* 三大理由装饰块：粉色改为科技青/荧光绿，与点云配图呼应 */
.picture-3 ul li:nth-child(1):before { background: rgba(34,211,238,.45); }
.picture-3 ul li:nth-child(2):before { background: rgba(163,230,53,.45); }
