/* 偕作BIM首页：粘贴到 外观 → 自定义 → 样式 → 自定义CSS */
.xz-hero h1,.xz-digital-section h2,.xz-contact h2 {
  color:var(--xz-ink);
  font-weight:650;
  letter-spacing:-1px
}

.xz-hero {
  min-height:670px;
  background-color:#fff;
  background-image:linear-gradient(110deg,#fff 0%,#f8fbfa 56%,#edf7f5 100%),linear-gradient(rgba(34,115,104,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(34,115,104,.04) 1px,transparent 1px);
  background-size:auto,44px 44px,44px 44px;
  overflow:hidden
}

.xz-hero-row {
  min-height:670px
}

.xz-hero h1 {
  font-size:58px;
  line-height:1.2;
  margin:18px 0 22px
}

.xz-hero h1 span {
  color:var(--xz-dark)
}

.xz-hero .lead {
  font-size:18px;
  line-height:1.9;
  color:#5b6b68;
  max-width:640px
}

.xz-stats>.col {
  border-right:1px solid var(--xz-line)
}

.xz-stats>.col:last-child {
  border:0
}

.xz-stats .col-inner {
  display:flex;
  align-items:center;
  min-height:72px
}

.xz-stats p {
  width:100%;
  margin:0
}

.xz-stats strong {
  display:block;
  font-size:30px;
  line-height:1.1;
  color:var(--xz-ink)
}

.xz-stats strong sup {
  margin-left:2px;
  font-size:14px;
  color:var(--xz-green)
}

.xz-stats span {
  display:block;
  margin-top:7px;
  font-size:14px;
  line-height:1.4;
  color:var(--xz-muted)
}

.xz-building-stage {
  width:440px;
  height:440px;
  max-width:100%;
  margin:auto;
  position:relative;
  border-radius:50%;
  background:radial-gradient(circle,rgba(44,174,153,.16),rgba(44,174,153,.03) 48%,transparent 70%);
  border:1px dashed rgba(44,174,153,.22)
}

.xz-building-stage:before,.xz-building-stage:after {
  content:"";
  position:absolute;
  border:1px solid rgba(44,174,153,.18);
  border-radius:50%;
  inset:52px
}

.xz-building-stage:after {
  inset:105px
}

.xz-building {
  position:absolute;
  left:105px;
  top:86px;
  width:230px;
  height:270px;
  z-index:2;
  filter:drop-shadow(18px 25px 18px rgba(8,55,49,.13))
}

.xz-building i {
  position:absolute;
  bottom:45px;
  border:1px solid rgba(44,174,153,.65);
  background:repeating-linear-gradient(0deg,rgba(255,255,255,.86) 0 11px,rgba(44,174,153,.18) 12px 14px),repeating-linear-gradient(90deg,transparent 0 20px,rgba(31,137,121,.25) 21px 22px)
}

.xz-building i:nth-child(1) {
  left:10px;
  width:70px;
  height:190px
}

.xz-building i:nth-child(2) {
  left:76px;
  width:83px;
  height:250px
}

.xz-building i:nth-child(3) {
  left:155px;
  width:62px;
  height:165px
}

.xz-building b {
  position:absolute;
  bottom:20px;
  left:0;
  width:230px;
  height:42px;
  border:1px solid rgba(44,174,153,.55);
  background:rgba(255,255,255,.8);
  transform:skewX(-28deg)
}

.xz-orbit-label {
  position:absolute;
  z-index:4;
  padding:5px 10px;
  background:#fff;
  border:1px solid #d9e8e5;
  color:var(--xz-dark);
  font-size:11px;
  box-shadow:0 5px 18px rgba(30,71,65,.08)
}

.xz-label-a {
  right:5px;
  top:207px
}

.xz-label-b {
  left:20px;
  top:85px
}

.xz-label-c {
  right:35px;
  top:82px
}

.xz-float-card {
  position:absolute;
  z-index:4;
  background:#fff;
  padding:12px 14px;
  width:125px;
  box-shadow:0 12px 35px rgba(22,65,59,.13)
}

.xz-float-card small,.xz-float-card strong {
  display:block
}

.xz-float-card small {
  font-size:10px;
  color:#87928f
}

.xz-float-card strong {
  font-size:14px
}

.xz-card-a {
  left:-8px;
  bottom:72px
}

.xz-card-b {
  right:-5px;
  top:48px
}

.xz-partner-bar-section {
  position:relative;
  z-index:4;
  margin-top:-35px
}

.xz-partner-bar {
  background:#fff;
  box-shadow:0 14px 40px rgba(25,65,60,.1);
  padding:14px 24px
}

.xz-partner-bar h3 {
  font-size:23px;
  margin:0
}

.xz-partner-bar p,.xz-partner-bar small {
  margin:0;
  color:#687673;
  font-size:12px
}

.xz-about p {
  color:var(--xz-muted)
}

.xz-value-row {
  border-top:1px solid var(--xz-line);
  border-bottom:1px solid var(--xz-line)
}

.xz-value-row>.col {
  border-right:1px solid var(--xz-line);
  padding-top:26px;
  padding-bottom:24px
}

.xz-value-row>.col:last-child {
  border:0
}

.xz-service-card small,.xz-ai-row small {
  color:var(--xz-green);
  font-weight:700
}

.xz-value-row small {
  display:block;
  font-size:20px;
  font-weight:700;
  line-height:1;
  color:var(--xz-green);
  letter-spacing:1px
}

.xz-value-row p:first-child {
  margin-bottom:14px
}

.xz-scenario-row small {
  display:inline-block;
  padding:5px 10px;
  font-size:14px;
  font-weight:600;
  line-height:1.2;
  color:var(--xz-dark);
  background:#edf8f6;
  border:1px solid #b9dcd6;
  border-radius:2px
}

.xz-scenario-row p:first-child {
  margin-bottom:16px
}

.xz-value-row h3 {
  font-size:20px;
  margin:12px 0 6px
}

.xz-value-row p {
  font-size:13px;
  margin:0;
  color:var(--xz-muted)
}

.xz-service-card {
  background:#fff;
  border:1px solid #e2ebe9;
  box-shadow:0 8px 30px rgba(24,70,64,.04)
}

.xz-service-card h3 {
  font-size:27px
}

.xz-service-card p,.xz-service-card li {
  color:var(--xz-muted)
}

.xz-service-card ul {
  columns:2;
  border-top:1px solid var(--xz-line);
  border-bottom:1px solid var(--xz-line);
  padding:18px 0
}

.xz-card-icon {
  width:62px;
  height:62px;
  margin:25px 0 20px;
  border:2px solid var(--xz-green);
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--xz-dark);
  font-weight:700
}

.xz-digital-card {
  background:linear-gradient(140deg,#fff,#f4fbf9)
}

.xz-digital-section h2,.xz-contact h2 {
  color:#fff;
  font-size:42px
}

.xz-digital-section p,.xz-contact p {
  color:#bdd0cc
}

.xz-mini-steps b {
  display:inline-flex;
  width:30px;
  height:30px;
  border:1px solid rgba(124,215,200,.4);
  align-items:center;
  justify-content:center;
  color:#7cd7c8;
  margin-right:8px;
  font-size:10px
}

.xz-dashboard {
  background:#fff;
  color:var(--xz-ink);
  border-radius:8px;
  overflow:hidden;
  box-shadow:0 28px 65px rgba(0,0,0,.22)
}

.xz-window-head {
  height:38px;
  background:#eef4f2;
  display:flex;
  align-items:center;
  gap:6px;
  padding:0 14px
}

.xz-window-head i {
  width:8px;
  height:8px;
  border-radius:50%;
  background:#ccd9d7
}

.xz-window-head i:first-child {
  background:#58c3b1
}

.xz-window-head span {
  font-size:10px;
  color:#84918e;
  margin:auto
}

.xz-dash-body {
  display:grid;
  grid-template-columns:125px 1fr;
  min-height:340px
}

.xz-dash-side {
  background:#163d38;
  color:#b3cac6;
  padding:20px 12px;
  display:flex;
  flex-direction:column;
  gap:8px
}

.xz-dash-side strong {
  font-size:20px;
  color:#fff;
  margin-bottom:12px
}

.xz-dash-side span {
  font-size:11px;
  padding:8px
}

.xz-dash-side .on {
  background:var(--xz-green);
  color:#fff
}

.xz-dash-main {
  padding:28px;
  background:#f6f9f8
}

.xz-dash-main>small {
  color:#87928f
}

.xz-dash-main h4 {
  font-size:18px;
  margin:0 0 20px
}

.xz-dash-stats {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px
}

.xz-dash-stats span {
  padding:13px;
  background:#fff;
  font-size:10px;
  color:#75827f
}

.xz-dash-stats b {
  display:block;
  font-size:24px;
  color:var(--xz-ink);
  margin-top:6px
}

.xz-ai-panel {
  margin-top:14px;
  background:#e6f6f2;
  padding:20px
}

.xz-ai-panel>b {
  background:var(--xz-green);
  color:#fff;
  padding:4px 7px;
  font-size:10px
}

.xz-ai-panel strong {
  display:block;
  margin-top:15px
}

.xz-ai-panel p {
  color:#61716e;
  margin:5px 0;
  font-size:12px
}

.xz-scenario-row>.col {
  border:1px solid var(--xz-line);
  margin-right:-1px;
  margin-bottom:-1px;
  padding:30px
}

.xz-scenario-row h3 {
  font-size:19px;
  margin:18px 0 6px
}

.xz-scenario-row p {
  font-size:13px;
  color:var(--xz-muted)
}

.xz-ai-scenario {
  background:var(--xz-deep);
  color:#fff
}

.xz-ai-scenario h3 {
  color:#fff
}

.xz-ai-scenario p {
  color:#bdd0cc
}

.xz-nocobase-card {
  background:#fff;
  box-shadow:0 18px 55px rgba(28,72,66,.08)
}

.xz-nocobase-brand {
  color:#fff
}

.xz-nocobase-brand h2 {
  font-size:40px;
  color:#fff;
  margin:20px 0 0
}

.xz-nocobase-brand span {
  border:1px solid rgba(255,255,255,.6);
  padding:6px 12px;
  font-size:11px
}

.xz-nocobase-brand p {
  color:#e7fffb;
  letter-spacing:2px
}

.xz-tags span {
  display:inline-block;
  background:var(--xz-soft);
  padding:7px 11px;
  margin:3px;
  font-size:12px;
  color:#52625f
}

.xz-ai-row>.col {
  background:#fafcfb;
  border-top:3px solid #d8e7e3;
  padding:25px
}

.xz-ai-row h3 {
  font-size:18px;
  margin:17px 0 6px
}

.xz-ai-row p {
  font-size:13px;
  color:var(--xz-muted)
}

.xz-process-row>.col {
  position:relative
}

.xz-process-row b {
  display:flex;
  width:38px;
  height:38px;
  border-radius:50%;
  background:var(--xz-deep);
  color:#fff;
  align-items:center;
  justify-content:center;
  font-size:11px
}

.xz-process-row h3 {
  font-size:15px;
  margin:14px 0 3px
}

.xz-process-row p {
  font-size:12px;
  color:var(--xz-muted)
}

.xz-news .box-text {
  padding-left:0;
  padding-right:0
}

.xz-news .post-title {
  font-size:17px
}

.xz-contact {
  position:relative
}

.xz-contact:before {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(120deg,rgba(255,255,255,.04),transparent 60%);
  pointer-events:none
}

@media(max-width:849px) {
  .xz-hero,.xz-hero-row {
    min-height:auto
  }

.xz-hero-row {
    padding-top:70px;
    padding-bottom:55px
  }

.xz-hero h1 {
    font-size:40px
  }

.xz-hero .lead {
    font-size:16px
  }

.xz-hero-visual {
    margin-top:30px
  }

.xz-building-stage {
    transform:scale(.82);
    margin-top:-30px;
    margin-bottom:-30px
  }

.xz-partner-bar-section {
    margin-top:0
  }

.xz-partner-bar {
    text-align:center
  }

.xz-partner-bar .col {
    text-align:center!important
  }

.xz-digital-section h2,.xz-contact h2 {
    font-size:32px
  }

.xz-dashboard-col {
    margin-top:35px
  }

.xz-dash-body {
    grid-template-columns:90px 1fr
  }

.xz-dash-main {
    padding:18px
  }

.xz-dash-stats {
    gap:5px
  }

.xz-value-row>.col:nth-child(2) {
    border-right:0
  }

.xz-nocobase-card>.col {
    padding-left:25px!important;
    padding-right:25px!important
  }

.xz-service-card ul {
    columns:1
  }
}

@media(max-width:549px) {
  .xz-hero h1 {
    font-size:34px
  }

.xz-building-stage {
    width:360px;
    height:360px;
    transform:scale(.85);
    transform-origin:left top
  }

.xz-building {
    left:72px;
    top:50px
  }

.xz-label-a {
    right:0
  }

.xz-card-b {
    right:0
  }

.xz-stats strong {
    font-size:20px
  }

.xz-stats span {
    font-size:9px
  }

.xz-dash-side {
    display:none
  }

.xz-dash-body {
    grid-template-columns:1fr
  }

.xz-value-row>.col {
    border-right:0;
    border-bottom:1px solid var(--xz-line)
  }

.xz-service-card {
    padding:28px!important
  }

.xz-scenario-row>.col {
    padding:25px
  }

.xz-ai-row>.col {
    padding:20px
  }
}
/* 六个业务模块详情链接 */
.xz-scenario-more {
    display: inline-flex;
    align-items: center;
    margin-top: 10px;
    color: var(--xz-dark);
    font-size: 13px;
    font-weight: 700;
    line-height: 1.5;
}

.xz-scenario-more span {
    display: inline-block;
    margin-left: 6px;
    transition: transform .2s ease;
}

.xz-scenario-more:hover {
    color: var(--xz-green);
}

.xz-scenario-more:hover span {
    transform: translateX(4px);
}
/* 首页六个业务模块悬停效果 */
.xz-scenario-row > .col {
    position: relative;
    z-index: 1;
    overflow: hidden;
    background: #fff;
    transition:
        transform .25s ease,
        border-color .25s ease,
        box-shadow .25s ease,
        background-color .25s ease;
}

/* 顶部动态强调线 */
.xz-scenario-row > .col::before {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 3px;
    background: var(--xz-green);
    content: "";
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform .3s ease;
}

/* 标签动画 */
.xz-scenario-row > .col small {
    transition:
        color .25s ease,
        border-color .25s ease,
        background-color .25s ease;
}

/* 标题动画 */
.xz-scenario-row > .col h3 {
    transition:
        color .25s ease,
        transform .25s ease;
}

/* 详情链接动画 */
.xz-scenario-more {
    display: inline-flex;
    align-items: center;
    margin-top: 10px;
    color: var(--xz-dark);
    font-size: 13px;
    font-weight: 700;
    line-height: 1.5;
    transition: color .25s ease;
}

.xz-scenario-more span {
    display: inline-block;
    margin-left: 6px;
    transition: transform .25s ease;
}

/* 只在支持鼠标的设备上启用悬停 */
@media (hover: hover) and (pointer: fine) {
    .xz-scenario-row > .col:hover {
        z-index: 3;
        border-color: var(--xz-green);
        background: #fff;
        box-shadow: 0 16px 38px rgba(20, 78, 69, .11);
        transform: translateY(-6px);
    }

    .xz-scenario-row > .col:hover::before {
        transform: scaleX(1);
    }

    .xz-scenario-row > .col:hover small {
        border-color: var(--xz-green);
        color: #fff;
        background: var(--xz-green);
    }

    .xz-scenario-row > .col:hover h3 {
        color: var(--xz-dark);
        transform: translateX(3px);
    }

    .xz-scenario-row > .col:hover .xz-scenario-more {
        color: var(--xz-green);
    }

    .xz-scenario-row > .col:hover .xz-scenario-more span {
        transform: translateX(5px);
    }
}
/* 首页两项核心服务悬停效果 */
.xz-service-cards > .xz-service-card {
    position: relative;
    z-index: 1;
    overflow: hidden;
    transition:
        transform .28s ease,
        border-color .28s ease,
        box-shadow .28s ease;
}

/* 卡片顶部动态强调线 */
.xz-service-cards > .xz-service-card::before {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 4px;
    background: var(--xz-green);
    content: "";
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform .32s ease;
}

/* 图标 */
.xz-service-cards .xz-card-icon {
    transition:
        color .28s ease,
        background-color .28s ease,
        border-color .28s ease,
        box-shadow .28s ease,
        transform .28s ease;
}

/* 标题 */
.xz-service-cards h3 {
    transition:
        color .28s ease,
        transform .28s ease;
}

/* 列表 */
.xz-service-cards li {
    transition:
        color .2s ease,
        transform .2s ease;
}

/* 查看详情按钮 */
.xz-service-cards .button {
    transition:
        color .25s ease,
        transform .25s ease;
}

/* 仅电脑鼠标启用悬停 */
@media (hover: hover) and (pointer: fine) {
    .xz-service-cards > .xz-service-card:hover {
        z-index: 3;
        border-color: var(--xz-green);
        box-shadow: 0 20px 46px rgba(20, 78, 69, .13);
        transform: translateY(-7px);
    }

    .xz-service-cards > .xz-service-card:hover::before {
        transform: scaleX(1);
    }

    .xz-service-cards > .xz-service-card:hover .xz-card-icon {
        border-color: var(--xz-dark);
        color: #fff;
        background: var(--xz-dark);
        box-shadow: 0 10px 24px rgba(14, 117, 104, .2);
        transform: translateY(-3px) scale(1.04);
    }

    .xz-service-cards > .xz-service-card:hover h3 {
        color: var(--xz-dark);
        transform: translateX(4px);
    }

    .xz-service-cards > .xz-service-card:hover li {
        color: #435550;
        transform: translateX(2px);
    }

    .xz-service-cards > .xz-service-card:hover .button {
        color: var(--xz-green) !important;
        transform: translateX(5px);
    }
}
/* 首页四项企业价值悬停效果 */
.xz-value-row > .col {
    position: relative;
    z-index: 1;
    overflow: hidden;
    transition:
        background-color .28s ease,
        box-shadow .28s ease,
        transform .28s ease;
}

/* 底部动态强调线 */
.xz-value-row > .col::after {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    height: 3px;
    background: var(--xz-green);
    content: "";
    transform: scaleX(0);
    transform-origin: center;
    transition: transform .3s ease;
}

/* 编号 */
.xz-value-row > .col small {
    transition:
        color .28s ease,
        transform .28s ease;
}

/* 标题 */
.xz-value-row > .col h3 {
    transition:
        color .28s ease,
        transform .28s ease;
}

/* 描述文字 */
.xz-value-row > .col p {
    transition:
        color .28s ease,
        transform .28s ease;
}

/* 仅在电脑鼠标设备上启用 */
@media (hover: hover) and (pointer: fine) {
    .xz-value-row > .col:hover {
        z-index: 3;
        background: linear-gradient(
            145deg,
            #ffffff 0%,
            #f0faf7 100%
        );
        box-shadow: 0 14px 34px rgba(20, 78, 69, .1);
        transform: translateY(-5px);
    }

    .xz-value-row > .col:hover::after {
        transform: scaleX(1);
    }

    .xz-value-row > .col:hover small {
        color: var(--xz-dark);
        transform: translateY(-2px) scale(1.12);
        transform-origin: left center;
    }

    .xz-value-row > .col:hover h3 {
        color: var(--xz-dark);
        transform: translateX(4px);
    }

    .xz-value-row > .col:hover p {
        color: #475955;
        transform: translateX(2px);
    }
}