/* 闪盒主题 · 首页样式（仅首页加载） */
.sh-home a{text-decoration: none; color: inherit;}
.sh-home ul{list-style: none;}
.sh-home button{font-family: inherit; border: none; background: none; cursor: pointer; color: inherit;}
.sh-home b{font-weight: 700;}
.sh-home em{font-style: normal;}
.sh-home .container{width: min(1200px, 92%); margin: 0 auto;}
html,body{overflow-x: clip;}
.sh-home .btn{display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 9px 22px;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 600;
  transition: all .25s ease;
  cursor: pointer;
  white-space: nowrap;}
.sh-home .btn-primary{background: var(--blue-grad);
  color: #fff;
  box-shadow: 0 6px 16px rgba(22, 103, 240, .3);}
.sh-home .btn-primary:hover{transform: translateY(-2px); box-shadow: 0 10px 22px rgba(22, 103, 240, .4);}
.sh-home .btn-ghost{color: var(--text); border: 1px solid var(--line); background: #fff;}
.sh-home .btn-ghost:hover{color: var(--blue); border-color: var(--blue);}
.sh-home .btn-light{background: #fff; color: var(--blue);}
.sh-home .btn-light:hover{transform: translateY(-2px); box-shadow: 0 10px 24px rgba(0,0,0,.18);}
.sh-home .btn-outline-light{border: 1px solid rgba(255,255,255,.6); color: #fff;}
.sh-home .btn-outline-light:hover{background: rgba(255,255,255,.12); border-color: #fff;}
.sh-home .btn-lg{padding: 13px 32px; font-size: 16px; border-radius: 10px;}
.sh-home .btn-block{width: 100%; padding: 13px 0; font-size: 15px;}
.sh-home .hero{position: relative; height: 560px;}
.sh-home .hero-slide{position: absolute;
  inset: 0;
  opacity: 0;
  visibility: hidden;
  transition: opacity .7s ease;
  background-color: #eef4fb;
  background-size: cover;
  background-position: center;
  overflow: hidden;}
.sh-home .hero-slide.active{opacity: 1; visibility: visible;}
.sh-home .hero-bg-1{background-image:
    linear-gradient(90deg, rgba(255,255,255,.72) 0%, rgba(255,255,255,.35) 42%, rgba(255,255,255,0) 75%),
    url("../assets/img/index/hero-1.jpg");}
.sh-home .hero-bg-2{background-image:
    linear-gradient(90deg, rgba(255,255,255,.72) 0%, rgba(255,255,255,.35) 42%, rgba(255,255,255,0) 75%),
    url("../assets/img/index/hero-2.jpg");}
.sh-home .hero-bg-3{background-image:
    linear-gradient(90deg, rgba(255,255,255,.72) 0%, rgba(255,255,255,.35) 42%, rgba(255,255,255,0) 75%),
    url("../assets/img/index/hero-3.jpg");}
.sh-home .hero-slide::before{content: "";
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(22,103,240,.07) 1px, transparent 1px),
    linear-gradient(90deg, rgba(22,103,240,.07) 1px, transparent 1px);
  background-size: 48px 48px;
  mask-image: radial-gradient(ellipse at 70% 30%, #000 20%, transparent 75%);
  -webkit-mask-image: radial-gradient(ellipse at 70% 30%, #000 20%, transparent 75%);}
.sh-home .hero-slide::after{content: "";
  position: absolute;
  width: 520px; height: 520px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(59,139,255,.16), transparent 65%);
  top: -180px; right: -120px;}
.sh-home .hero-inner{position: relative;
  z-index: 2;
  height: 560px;
  display: flex;
  align-items: center;}
.sh-home .hero-text{max-width: 640px;}
.sh-home .hero-badge{display: inline-block;
  font-size: 12px;
  letter-spacing: 2px;
  color: var(--blue);
  background: rgba(22,103,240,.08);
  border: 1px solid rgba(22,103,240,.25);
  padding: 5px 14px;
  border-radius: 999px;
  margin-bottom: 20px;}
.sh-home .hero-text h1{font-size: 46px;
  line-height: 1.28;
  color: #0d1b34;
  font-weight: 800;
  margin-bottom: 16px;}
.sh-home .hero-text > p{font-size: 17px; color: #4b5b76; margin-bottom: 30px;}
.sh-home .hero-btns{display: flex; gap: 14px;}
.sh-home .hero-text .btn-light{border: 1px solid rgba(13,27,52,.08);}
.sh-home .hero-text .btn-outline-light{border-color: rgba(13,27,52,.3);
  color: #0d1b34;}
.sh-home .hero-text .btn-outline-light:hover{background: rgba(13,27,52,.06);
  border-color: #0d1b34;}
.sh-home .hero-tags{display: flex;
  gap: 26px;
  margin-top: 34px;
  color: #3d4d68;
  font-size: 14px;}
.sh-home .hero-tags span{display: inline-flex; align-items: center; gap: 6px;}
.sh-home .hero-tags .ic{color: var(--blue);}
.sh-home .hero-dots{position: absolute;
  bottom: 26px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 8px;
  z-index: 5;}
.sh-home .hero-dots button{width: 26px; height: 5px;
  border-radius: 4px;
  background: rgba(13,27,52,.22);
  transition: all .3s;}
.sh-home .hero-dots button.active{background: var(--blue); width: 40px;}
.sh-home .hero-nav{position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 6;
  width: 46px; height: 46px;
  border-radius: 50%;
  background: rgba(255,255,255,.8);
  border: 1px solid rgba(13,27,52,.08);
  color: #0d1b34;
  display: grid;
  place-items: center;
  cursor: pointer;
  box-shadow: 0 6px 18px rgba(13,27,51,.12);
  transition: all .25s;
  opacity: 0;}
.sh-home .hero-carousel:hover .hero-nav{opacity: 1;}
.sh-home .hero-nav:hover{background: var(--blue); color: #fff; border-color: transparent; box-shadow: 0 8px 22px rgba(22,103,240,.35);}
.sh-home .hero-prev{left: 22px;}
.sh-home .hero-next{right: 22px;}
.sh-home .hero-prev .ic{transform: rotate(135deg);}
.sh-home .hero-next .ic{transform: rotate(-45deg);}
.sh-home .hero-slide.active .hero-text > *{animation: heroIn .8s ease both;}
.sh-home .hero-slide.active .hero-text > *:nth-child(2){animation-delay: .08s;}
.sh-home .hero-slide.active .hero-text > *:nth-child(3){animation-delay: .16s;}
.sh-home .hero-slide.active .hero-text > *:nth-child(4){animation-delay: .24s;}
.sh-home .hero-slide.active .hero-text > *:nth-child(5){animation-delay: .32s;}
.sh-home .metrics{position: relative; z-index: 12; margin-top: -48px;}
.sh-home .metrics-inner{background: #fff;
  border-radius: 18px;
  box-shadow: var(--shadow-md);
  border: 1px solid var(--line);
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  padding: 26px 10px;}
.sh-home .metric{display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  border-right: 1px solid var(--line);}
.sh-home .metric:last-child{border-right: none;}
.sh-home .metric .ic{color: var(--blue);}
.sh-home .metric b{display: block; font-size: 26px; font-weight: 800; line-height: 1.2; color: var(--text);}
.sh-home .metric span{font-size: 13px; color: var(--text-3);}
.sh-home .section{padding: 88px 0;}
.sh-home .featured{background: var(--bg-gray);}
.sh-home .idc{background: #fff;}
.sh-home .partners{background: var(--bg-gray);}
.sh-home .regions{background: #fff;}
.sh-home .news{background: var(--bg-gray);}
.sh-home .section-head{text-align: center; margin-bottom: 46px;}
.sh-home .section-head em{font-size: 12px;
  letter-spacing: 4px;
  color: var(--blue);
  font-weight: 700;
  display: block;
  margin-bottom: 8px;}
.sh-home .section-head h2{font-size: 34px; font-weight: 800; margin-bottom: 10px;}
.sh-home .section-head p{color: var(--text-2); font-size: 15px;}
.sh-home .section-head.head-split{display: flex;
  justify-content: space-between;
  align-items: flex-end;
  text-align: left;
  gap: 48px;}
.sh-home .section-head.head-split p{max-width: 430px; margin: 0; font-size: 14px;}
.sh-home .tab-nav{display: flex;
  justify-content: center;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 30px;}
.sh-home .tab-nav-left{justify-content: flex-start;}
.sh-home .tab-btn{position: relative;
  padding: 10px 24px;
  border-radius: 999px;
  font-size: 15px;
  font-weight: 600;
  color: var(--text-2);
  background: #fff;
  border: 1px solid var(--line);
  transition: all .25s;}
.sh-home .tab-btn i{font-style: normal;
  font-size: 12px;
  background: var(--blue-light);
  color: var(--blue);
  border-radius: 999px;
  padding: 0 7px;
  margin-left: 4px;}
.sh-home .tab-btn:hover{color: var(--blue); border-color: var(--blue);}
.sh-home .tab-btn.active{background: var(--blue-grad);
  color: #fff;
  border-color: transparent;
  box-shadow: 0 6px 16px rgba(22,103,240,.3);}
.sh-home .tab-btn.active i{background: rgba(255,255,255,.22); color: #fff;}
.sh-home .tab-panel{display: none;}
.sh-home .tab-panel.active{display: block;}
.sh-home .product-grid{display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;}
.sh-home .product-card{position: relative;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 28px 26px 24px;
  overflow: hidden;
  transition: transform .35s cubic-bezier(.2,.8,.3,1), box-shadow .35s, border-color .3s;}
.sh-home .product-card::before{content: "";
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 3px;
  background: var(--blue-grad);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .35s ease;}
.sh-home .product-card::after{content: "";
  position: absolute;
  top: -60%; left: -120%;
  width: 60%; height: 220%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.75), transparent);
  transform: rotate(25deg) translateX(-40px);
  opacity: 0;
  pointer-events: none;}
.sh-home .product-card:hover{transform: translateY(-8px);
  box-shadow: var(--shadow-md);
  border-color: transparent;}
.sh-home .product-card:hover::before{transform: scaleX(1);}
.sh-home .product-card:hover::after{opacity: 1; animation: shine .85s ease;}
.sh-home .p-tag{position: absolute;
  top: 16px; right: 0;
  color: #fff;
  font-size: 11px;
  letter-spacing: 1px;
  padding: 2px 12px 2px 10px;
  border-radius: 6px 0 0 6px;
  background: linear-gradient(90deg, #ff6a3d, #f79009);
  box-shadow: 0 2px 8px rgba(247,144,9,.35);}
.sh-home .p-tag-red{background: linear-gradient(90deg, #e5484d, #f76a6e); box-shadow: 0 2px 8px rgba(229,72,77,.35);}
.sh-home .p-tag-green{background: linear-gradient(90deg, #0f9d58, #12b76a); box-shadow: 0 2px 8px rgba(18,183,106,.35);}
.sh-home .p-icon{width: 58px; height: 58px;
  border-radius: 15px;
  background: var(--blue-light);
  color: var(--blue);
  display: grid; place-items: center;
  margin-bottom: 16px;
  transition: all .35s;}
.sh-home .product-card:hover .p-icon{background: var(--blue-grad);
  color: #fff;
  transform: rotate(-6deg) scale(1.06);
  box-shadow: 0 10px 22px rgba(22,103,240,.3);}
.sh-home .product-card h3{font-size: 18px; margin-bottom: 6px;}
.sh-home .product-card > p{font-size: 13.5px; color: var(--text-3);}
.sh-home .p-chips{display: flex; flex-wrap: wrap; gap: 6px; margin: 12px 0 14px;}
.sh-home .p-chips span{font-size: 11.5px;
  color: var(--blue-dark);
  background: var(--blue-light);
  border-radius: 5px;
  padding: 2px 8px;}
.sh-home .p-price{font-size: 24px;
  font-weight: 800;
  color: var(--red);
  padding-top: 14px;
  border-top: 1px dashed var(--line);}
.sh-home .p-price i{font-size: 12px; font-weight: 400; color: var(--text-3);}
.sh-home .p-more{display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 13.5px;
  font-weight: 600;
  color: var(--blue);
  margin-top: 10px;
  opacity: 0;
  transform: translateY(6px);
  transition: all .3s;}
.sh-home .product-card:hover .p-more{opacity: 1; transform: translateY(0);}
.sh-home .featured-head{display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 40px;
  margin-bottom: 26px;}
.sh-home .featured-head em{font-size: 12px;
  letter-spacing: 4px;
  color: var(--blue);
  font-weight: 700;
  display: block;
  margin-bottom: 8px;}
.sh-home .featured-head h2{font-size: 34px; font-weight: 800; margin-bottom: 10px;}
.sh-home .featured-head p{color: var(--text-2); font-size: 14px; max-width: 480px;}
.sh-home .featured-meta{display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: var(--text-3);
  white-space: nowrap;
  padding-bottom: 6px;}
.sh-home .fm-dot{width: 8px; height: 8px;
  border-radius: 50%;
  background: var(--green);
  box-shadow: 0 0 0 3px rgba(18,183,106,.18);
  animation: blink 2s infinite;}
.sh-home .fm-refresh{display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 13px;
  color: var(--blue);
  padding: 4px 10px;
  border-radius: 999px;
  border: 1px solid transparent;
  transition: all .2s;}
.sh-home .fm-refresh:hover{border-color: var(--blue); background: var(--blue-light);}
.sh-home .fm-refresh.spin .ic{animation: spinRefresh .8s ease;}
.sh-home .deal-grid{display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;}
.sh-home .deal-card{background: #fff;
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 22px 22px 20px;
  display: flex;
  flex-direction: column;
  transition: transform .3s cubic-bezier(.2,.8,.3,1), box-shadow .3s, border-color .3s;
  position: relative;
  overflow: hidden;}
.sh-home .deal-card::before{content: "";
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: var(--blue-grad);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .35s ease;}
.sh-home .deal-card:hover{transform: translateY(-6px); box-shadow: var(--shadow-md); border-color: transparent;}
.sh-home .deal-card:hover::before{transform: scaleX(1);}
.sh-home .deal-top{display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;}
.sh-home .d-loc{display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: 13px;
  color: var(--text-2);}
.sh-home .d-loc i{width: 8px; height: 8px;
  border-radius: 50%;
  background: var(--blue);
  box-shadow: 0 0 0 3px rgba(22,103,240,.15);}
.sh-home .d-badge{font-size: 11.5px;
  font-weight: 600;
  border-radius: 6px;
  padding: 2px 9px;}
.sh-home .d-orange{color: var(--orange); background: rgba(247,144,9,.12);}
.sh-home .d-blue{color: var(--blue); background: var(--blue-light);}
.sh-home .deal-card h3{font-size: 17px; margin-bottom: 4px;}
.sh-home .d-sub{font-size: 12.5px;
  color: var(--text-3);
  min-height: 40px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;}
.sh-home .d-specs{display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
  background: var(--bg-gray);
  border-radius: 10px;
  padding: 10px 12px;
  margin: 12px 0 14px;}
.sh-home .d-specs div{text-align: center;}
.sh-home .d-specs span{display: block; font-size: 11px; color: var(--text-3);}
.sh-home .d-specs b{font-size: 13px; font-weight: 700;}
.sh-home .d-foot{margin-top: auto;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 12px;}
.sh-home .d-price span{display: block; font-size: 11px; color: var(--text-3);}
.sh-home .d-price b{font-size: 22px; font-weight: 800; color: var(--red);}
.sh-home .d-price i{font-style: normal; font-size: 12px; color: var(--text-3); font-weight: 400;}
.sh-home .d-buy{display: inline-flex;
  align-items: center;
  gap: 4px;
  background: var(--blue-grad);
  color: #fff;
  font-size: 13.5px;
  font-weight: 600;
  border-radius: 8px;
  padding: 9px 16px;
  transition: all .25s;
  white-space: nowrap;}
.sh-home .deal-card:hover .d-buy{box-shadow: 0 8px 18px rgba(22,103,240,.35); transform: translateY(-2px);}
.sh-home .tab-panel.active .deal-card{animation: cardIn .5s ease both;}
.sh-home .tab-panel.active .deal-card:nth-child(2){animation-delay: .06s;}
.sh-home .tab-panel.active .deal-card:nth-child(3){animation-delay: .12s;}
.sh-home .tab-panel.active .deal-card:nth-child(4){animation-delay: .18s;}
.sh-home .tab-panel.active .deal-card:nth-child(5){animation-delay: .24s;}
.sh-home .tab-panel.active .deal-card:nth-child(6){animation-delay: .3s;}
.sh-home .idc-grid{display: grid;
  grid-template-columns: 0.9fr 1.4fr;
  gap: 22px;
  align-items: stretch;}
.sh-home .idc-intro{background:
    radial-gradient(circle at 80% 15%, rgba(59,139,255,.16), transparent 55%),
    linear-gradient(165deg, #eaf2ff 0%, #f6faff 100%);
  border: 1px solid #d5e4fb;
  border-radius: 20px;
  padding: 30px 28px;
  display: flex;
  flex-direction: column;}
.sh-home .idc-badge{align-self: flex-start;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 11px;
  letter-spacing: 2px;
  font-weight: 700;
  color: var(--blue-dark);
  background: #fff;
  border: 1px solid #cfe0ff;
  border-radius: 999px;
  padding: 5px 14px;
  margin-bottom: 18px;}
.sh-home .idc-badge::before{content: "";
  width: 7px; height: 7px;
  border-radius: 50%;
  background: var(--blue-grad);}
.sh-home .idc-intro h3{font-size: 19px; line-height: 1.5; margin-bottom: 10px;}
.sh-home .idc-intro > p{font-size: 13.5px; color: var(--text-2); margin-bottom: 22px;}
.sh-home .idc-chart{width: 100%; height: auto; margin: auto 0;}
.sh-home .idc-chart .line-a{fill: none;
  stroke: #1667f0;
  stroke-width: 2.4;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-dasharray: 600;
  stroke-dashoffset: 600;
  animation: drawLine 2.2s .3s ease forwards;}
.sh-home .idc-chart .line-b{fill: none;
  stroke: #12b76a;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-dasharray: 600;
  stroke-dashoffset: 600;
  animation: drawLine 2.2s .6s ease forwards;}
.sh-home .idc-mini{display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin-top: 20px;}
.sh-home .idc-mini div{background: #fff;
  border: 1px solid #d5e4fb;
  border-radius: 12px;
  text-align: center;
  padding: 12px 6px;}
.sh-home .idc-mini b{display: block; font-size: 14.5px;}
.sh-home .idc-mini span{font-size: 11px; color: var(--text-3);}
.sh-home .idc-cards{display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 18px;}
.sh-home .idc-card{background: #fff;
  border: 1px solid var(--line);
  border-radius: 16px;
  box-shadow: var(--shadow-sm);
  padding: 22px;
  display: flex;
  gap: 14px;
  transition: all .3s;}
.sh-home .idc-card:hover{transform: translateY(-4px);
  box-shadow: var(--shadow-md);
  border-color: transparent;}
.sh-home .idc-ico{width: 46px; height: 46px;
  border-radius: 12px;
  background: var(--blue-light);
  color: var(--blue);
  display: grid; place-items: center;
  flex-shrink: 0;
  transition: all .3s;}
.sh-home .idc-card:hover .idc-ico{background: var(--blue-grad);
  color: #fff;
  transform: scale(1.06) rotate(-5deg);}
.sh-home .idc-txt h4{font-size: 16px; margin-bottom: 5px;}
.sh-home .idc-txt p{font-size: 12.8px; color: var(--text-2); margin-bottom: 8px;}
.sh-home .idc-txt em{font-size: 12px;
  color: var(--blue);
  font-weight: 600;}
.sh-home .idc-txt em::before{content: "— ";}
.sh-home .brand-rows{display: flex;
  flex-direction: column;
  gap: 18px;}
.sh-home .brand-row{overflow: hidden;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent);
  mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent);}
.sh-home .brand-track{display: flex;
  width: max-content;
  animation: marquee var(--dur, 48s) linear infinite;}
.sh-home .brand-row.rev .brand-track{animation-direction: reverse;}
.sh-home .brand-rows:hover .brand-track{animation-play-state: paused;}
.sh-home .brand-group{display: flex; gap: 16px; padding-right: 16px;}
.sh-home .brand-card{background: #fff;
  border: 1px solid var(--line);
  border-radius: 12px;
  box-shadow: var(--shadow-sm);
  padding: 18px 36px;
  font-size: 20px;
  font-weight: 800;
  letter-spacing: .5px;
  white-space: nowrap;
  color: var(--brand, var(--text));
  transition: all .25s;}
.sh-home .brand-card:hover{transform: translateY(-3px);
  box-shadow: var(--shadow-md);
  border-color: transparent;}
/* 合作品牌图标（后台配置版） */
.sh-home .brand-card img{width:22px;height:22px;object-fit:contain;margin-right:8px;vertical-align:-4px;border-radius:4px;}
.sh-home .solutions-dark{background:
    radial-gradient(circle at 12% 18%, rgba(59,139,255,.16), transparent 42%),
    radial-gradient(circle at 88% 85%, rgba(59,139,255,.1), transparent 45%),
    linear-gradient(135deg, #0c1220 0%, #161f33 55%, #0c1220 100%);}
.sh-home .section-head.head-light h2{color: #fff;}
.sh-home .section-head.head-light p{color: rgba(255,255,255,.6);}
.sh-home .section-head.head-light em{color: #6ea8ff;}
.sh-home .sol-panel{display: grid;
  grid-template-columns: 250px 1fr 230px;
  background: rgba(255,255,255,.03);
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 18px;
  overflow: hidden;
  backdrop-filter: blur(4px);}
.sh-home .sol-menu{padding: 20px 14px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  border-right: 1px solid rgba(255,255,255,.08);}
.sh-home .sol-menu button{text-align: left;
  color: rgba(255,255,255,.6);
  font-size: 14.5px;
  font-weight: 600;
  padding: 12px 20px;
  border-radius: 9px;
  transition: all .22s;
  white-space: nowrap;}
.sh-home .sol-menu button:hover{color: #fff; background: rgba(255,255,255,.06);}
.sh-home .sol-menu button.active{color: #fff;
  background: var(--blue-grad);
  box-shadow: 0 6px 16px rgba(22,103,240,.35);}
.sh-home .sol-body{padding: 32px 36px 28px; display: flex; flex-direction: column;}
.sh-home .sol-detail{flex: 1;}
.sh-home .sol-detail h3{color: #fff; font-size: 22px; margin-bottom: 14px;}
.sh-home .sol-detail p{color: rgba(255,255,255,.6);
  font-size: 14px;
  line-height: 1.9;
  min-height: 106px;
  margin: 0;}
.sh-home .sol-feats{display: flex; gap: 30px; margin: 10px 0 6px;}
.sh-home .sol-feat{text-align: center; color: rgba(255,255,255,.78); font-size: 13px;}
.sh-home .sol-feat .ic{width: 26px; height: 26px; color: #6ea8ff; display: block; margin: 0 auto 6px;}
.sh-home .sol-detail.slide-in{animation: solIn .4s ease both;}
.sh-home .sol-actions{display: flex;
  gap: 12px;
  margin-top: 22px;
  padding-top: 22px;
  border-top: 1px solid rgba(255,255,255,.1);}
.sh-home .sol-btn-ghost{border: 1px solid rgba(255,255,255,.35);
  color: #fff;
  background: transparent;}
.sh-home .sol-btn-ghost:hover{background: rgba(255,255,255,.1); border-color: #fff;}
.sh-home .sol-qr{border-left: 1px solid rgba(255,255,255,.08);
  padding: 30px 22px;
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 14px;}
.sh-home .sol-qr h5{color: #fff; font-size: 14.5px;}
.sh-home .qr-big i{display: block;
  width: 124px; height: 124px;
  margin: 0 auto;
  border-radius: 14px;
  background: repeating-conic-gradient(#e2e8f2 0 25%, #f4f7fc 0 50%) 0 0 / 18px 18px;
  border: 3px solid rgba(255,255,255,.9);
  box-shadow: 0 10px 26px rgba(0,0,0,.35);}
.sh-home .sol-qr p{color: rgba(255,255,255,.45); font-size: 12px; margin: 0;}
.sh-home .region-panel{display: grid;
  grid-template-columns: 1.35fr 1fr;
  gap: 22px;
  align-items: stretch;}
.sh-home .region-map{background:
    linear-gradient(rgba(22,103,240,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(22,103,240,.045) 1px, transparent 1px),
    #fbfdff;
  background-size: 36px 36px, 36px 36px, auto;
  border: 1px solid var(--line);
  border-radius: 20px;
  padding: 22px 24px;
  min-height: 420px;
  position: relative;}
.sh-home .world{width: 100%; height: auto; display: block;}
.sh-home .world .land path{fill: #e9f0fa;
  stroke: #bcd3ef;
  stroke-width: 1;
  stroke-linejoin: round;
  transition: fill .35s;}
.sh-home .world .land path.cn{fill: #cfe1fb;
  stroke: #5b8ff0;
  stroke-width: 1.2;}
.sh-home .region-map:hover .land path{fill: #e2ebf8;}
.sh-home .region-map:hover .land path.cn{fill: #c7dcfb;}
.sh-home .map-legend{position: absolute;
  left: 32px; bottom: 26px;
  display: flex;
  gap: 16px;
  font-size: 12px;
  color: var(--text-2);
  background: rgba(255,255,255,.86);
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 5px 14px;}
.sh-home .map-legend span{display: inline-flex; align-items: center; gap: 6px;}
.sh-home .map-legend i{width: 9px; height: 9px; border-radius: 50%;}
.sh-home .lg-on{background: var(--blue); box-shadow: 0 0 0 3px rgba(22,103,240,.16);}
.sh-home .lg-cn{background: #cfe1fb; border: 1px solid #5b8ff0;}
.sh-home .world .arc path{fill: none;
  stroke: rgba(22,103,240,.35);
  stroke-width: 2;
  stroke-dasharray: 7 11;
  animation: dashMove 1.8s linear infinite;}
.sh-home .map-node .core{fill: var(--blue);
  transition: all .3s;}
.sh-home .map-node .ring{fill: rgba(22,103,240,.14);
  stroke: rgba(22,103,240,.45);
  stroke-width: 1;
  transform-box: fill-box;
  transform-origin: center;
  animation: pulse 3s ease-in-out infinite;}
.sh-home .map-node .label{opacity: 0; transition: opacity .3s; pointer-events: none;}
.sh-home .map-node .label rect{fill: #fff;
  stroke: #cfe0ff;
  filter: drop-shadow(0 3px 8px rgba(8,43,120,.15));}
.sh-home .map-node .label text{fill: var(--text);
  font-size: 16px;
  font-weight: 600;
  text-anchor: middle;}
.sh-home .map-node.labeled .label{opacity: 1;}
.sh-home .map-node.active .core{fill: var(--orange);}
.sh-home .map-node.active .ring{fill: rgba(247,144,9,.16); stroke: rgba(247,144,9,.6);}
.sh-home .map-node.active .label{opacity: 1;}
.sh-home .map-node{cursor: pointer;}
.sh-home .region-side{background: #fff;
  border: 1px solid var(--line);
  border-radius: 20px;
  padding: 32px 30px;
  display: flex;
  flex-direction: column;}
.sh-home .rs-eyebrow{font-size: 12px;
  letter-spacing: 3px;
  color: var(--blue);
  font-weight: 700;
  margin-bottom: 10px;}
.sh-home .region-side h3{font-size: 24px; font-weight: 800; margin-bottom: 8px;}
.sh-home .rs-desc{font-size: 13.5px; color: var(--text-2); margin-bottom: 22px;}
.sh-home .region-chips{display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin-bottom: 22px;}
.sh-home .region-chip{display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  font-weight: 600;
  color: var(--text-2);
  background: var(--bg-gray);
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 10px 12px;
  transition: all .22s;
  white-space: nowrap;
  overflow: hidden;}
.sh-home .region-chip i{width: 7px; height: 7px;
  border-radius: 50%;
  background: var(--blue);
  flex-shrink: 0;
  transition: all .22s;}
.sh-home .region-chip:hover{border-color: var(--blue); color: var(--blue); background: var(--blue-light);}
.sh-home .region-chip.active{background: var(--blue-light);
  border-color: var(--blue);
  color: var(--blue-dark);}
.sh-home .region-chip.active i{background: var(--orange); box-shadow: 0 0 0 3px rgba(247,144,9,.2);}
.sh-home .rs-count{font-size: 13px; color: var(--text-2); margin-bottom: 16px;}
.sh-home .rs-count b{color: var(--blue); font-size: 15px;}
.sh-home .news-tabs{max-width: 860px;
  margin: 0 auto;
  background: #fff;
  border-radius: 18px;
  padding: 28px 34px;
  border: 1px solid var(--line);
  box-shadow: var(--shadow-sm);}
.sh-home .news-tabs .tab-nav{justify-content: flex-start; margin-bottom: 16px;}
.sh-home .news-tabs .tab-btn{padding: 8px 20px; font-size: 14px;}
.sh-home .news-list li{border-bottom: 1px dashed var(--line);}
.sh-home .news-list li:last-child{border-bottom: none;}
.sh-home .news-list a{display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  padding: 13px 6px;
  transition: all .2s;
  animation: cardIn .4s ease both;}
.sh-home .news-list a:hover{padding-left: 12px;}
.sh-home .news-list a:hover .n-title{color: var(--blue);}
.sh-home .n-title{font-size: 15px;
  color: var(--text);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  transition: color .2s;}
.sh-home .n-title::before{content: "";
  display: inline-block;
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--blue);
  margin-right: 10px;
  vertical-align: middle;}
.sh-home .news-list time{font-size: 13px; color: var(--text-3); flex-shrink: 0;}
.sh-home .news-list .n-cat{font-size: 12px; font-weight: 600; color: var(--blue); background: var(--blue-light);
  border-radius: 6px; padding: 2px 9px; flex-shrink: 0; font-style: normal;}
.sh-home .cta-section{background:
    radial-gradient(circle at 15% 20%, rgba(255,255,255,.22), transparent 40%),
    radial-gradient(circle at 85% 80%, rgba(255,255,255,.14), transparent 40%),
    linear-gradient(120deg, #3b8bff, #6aa9ff);
  padding: 78px 0;
  text-align: center;}
.sh-home .cta-inner h2{color: #fff; font-size: 32px; font-weight: 800; margin-bottom: 10px;}
.sh-home .cta-inner > p{color: rgba(255,255,255,.85); font-size: 16px; margin-bottom: 24px;}
.sh-home .cta-promise{display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 12px 28px;
  color: rgba(255,255,255,.92);
  font-size: 14px;
  margin-bottom: 32px;}
.sh-home .cta-promise span{display: inline-flex; align-items: center; gap: 6px;}
.sh-home .cta-btns{justify-content: center;}
.sh-home .qr-row{display: flex; gap: 14px;}
.sh-home .qr-box{text-align: center;}
.sh-home .qr-box i{display: block;
  width: 84px; height: 84px;
  border-radius: 8px;
  background: repeating-conic-gradient(#9fb0cc 0 25%, #33456a 0 50%) 0 0 / 12px 12px;
  margin-bottom: 6px;
  border: 2px solid #33456a;}
.sh-home .qr-box span{font-size: 11px;}
.sh-home .side-rail{position: fixed;
  right: 20px;
  bottom: 90px;
  z-index: 90;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;}
.sh-home .rail-group{background: #fff;
  border: 1px solid var(--line);
  border-radius: 24px;
  box-shadow: var(--shadow-md);
  padding: 10px 8px;
  display: flex;
  flex-direction: column;
  gap: 4px;}
.sh-home .rail-item{width: 56px;
  padding: 9px 0 7px;
  border-radius: 16px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3px;
  color: var(--text-2);
  transition: all .22s;}
.sh-home .rail-item i{font-style: normal; font-size: 11.5px;}
.sh-home .rail-item:hover{background: var(--blue-light); color: var(--blue);}
/* 公众号二维码弹层（悬浮栏"公众号"按钮） */
.sh-home .rail-wx{position: relative;}
.sh-home .rail-wx.open .rail-item{background: var(--blue-light); color: var(--blue);}
.sh-home .rail-wx-pop{position: absolute;
  right: 64px;
  top: 50%;
  transform: translateY(-50%) scale(.94);
  transform-origin: right center;
  width: 148px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 14px;
  box-shadow: var(--shadow-md);
  padding: 12px 10px;
  text-align: center;
  opacity: 0;
  visibility: hidden;
  transition: all .2s;
  z-index: 5;}
.sh-home .rail-wx.open .rail-wx-pop{opacity: 1; visibility: visible; transform: translateY(-50%) scale(1);}
.sh-home .rail-wx-pop img{width: 120px; height: 120px;
  display: block;
  margin: 0 auto;
  border-radius: 8px;
  border: 1px solid var(--line);
  object-fit: cover;
  background: #f5f8fc;}
.sh-home .rail-wx-pop p{margin: 8px 0 0; font-size: 12px; color: var(--text-2); line-height: 1.6;}
.sh-home .rail-wx-arrow{position: absolute;
  right: -5px;
  top: 50%;
  width: 10px; height: 10px;
  background: #fff;
  border-top: 1px solid var(--line);
  border-right: 1px solid var(--line);
  transform: translateY(-50%) rotate(45deg);}
.sh-home .rail-top{width: 50px; height: 50px;
  border-radius: 50%;
  background: #fff;
  border: 1px solid var(--line);
  box-shadow: var(--shadow-sm);
  display: grid;
  place-items: center;
  color: var(--text-2);
  transition: all .25s;
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);}
.sh-home .rail-top.show{opacity: 1; visibility: visible; transform: translateY(0);}
.sh-home .rail-top:hover{background: var(--blue); color: #fff; border-color: var(--blue);}
.sh-home .service-modal{position: fixed; inset: 0; z-index: 200; display: none;}
.sh-home .service-modal.open{display: block;}
.sh-home .service-mask{position: absolute; inset: 0; background: rgba(13,27,51,.55); backdrop-filter: blur(3px); animation: fadeIn .25s ease both;}
.sh-home .service-dialog.sv2{position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  width: min(1080px, 94vw);
  max-height: 90vh;
  overflow-y: auto;
  background: #f0f5fd;
  border-radius: 20px;
  padding: 0;
  animation: dialogIn .3s cubic-bezier(.2, .9, .3, 1.2) both;}
.sh-home .sv-banner{display: flex;
  align-items: center;
  gap: 14px;
  background:
    radial-gradient(circle at 82% 20%, rgba(255,255,255,.25), transparent 42%),
    radial-gradient(circle at 60% 110%, rgba(59,139,255,.55), transparent 55%),
    linear-gradient(100deg, #0a2a66 0%, #134fd6 60%, #2f7bff 100%);
  padding: 20px 54px 20px 26px;
  position: sticky;
  top: 0;
  z-index: 2;}
.sh-home .sv-headset{width: 50px; height: 50px;
  border-radius: 14px;
  background: rgba(255,255,255,.16);
  border: 1px solid rgba(255,255,255,.4);
  color: #fff;
  display: grid; place-items: center;
  flex-shrink: 0;
  box-shadow: inset 0 0 12px rgba(255,255,255,.12);}
.sh-home .sv-banner-t h3{color: #fff; font-size: 22px; margin: 0; letter-spacing: 1px;}
.sh-home .sv-banner-t p{color: rgba(255,255,255,.8); font-size: 12.5px; margin-top: 3px; letter-spacing: .5px;}
.sh-home .sv-slogan{margin-left: auto;
  font-style: normal;
  color: rgba(255,255,255,.95);
  font-size: 14px;
  font-weight: 700;
  text-align: right;
  line-height: 1.7;
  letter-spacing: 2px;
  border-right: 3px solid rgba(255,255,255,.35);
  padding-right: 14px;}
.sh-home .sv-banner-art{position: absolute;
  right: 200px;
  top: 50%;
  transform: translateY(-54%);
  width: 126px;
  pointer-events: none;}
@media (max-width: 760px){.sh-home .sv-banner-art{display: none;}}
.sh-home .sv-close{position: absolute;
  top: 14px; right: 16px;
  width: 30px; height: 30px;
  border-radius: 50%;
  background: rgba(255,255,255,.2);
  color: #fff;
  display: grid;
  place-items: center;
  transition: all .25s;}
.sh-home .sv-close:hover{background: rgba(255,255,255,.35); transform: rotate(90deg);}
.sh-home .sv-grid{display: grid;
  grid-template-columns: 1.15fr 1fr;
  gap: 12px;
  padding: 14px 14px 14px;}
.sh-home .sv-col{display: flex; flex-direction: column; gap: 12px;}
.sh-home .sv-card-bare{flex: 1;display: flex;flex-direction: column;}
.sh-home .sv-card-bare .sv-card-head{padding: 0 2px; border-bottom: none; margin-bottom: 10px;}
.sh-home .sv-card{background: #fff;
  border: 1px solid #e8effb;
  border-radius: 16px;
  padding: 13px 16px;
  flex: 1;
  box-shadow: 0 3px 14px rgba(23,68,153,.06);}
.sh-home .sv-card-head{display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
  padding-bottom: 10px;
  border-bottom: 1px solid #f0f4fa;}
.sh-home .sv-card-head b{display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14.5px;}
.sh-home .sv-card-head b i{width: 4px; height: 15px;
  border-radius: 2px;
  background: var(--blue-grad);}
.sh-home .sv-card-head span{font-size: 11.5px; color: var(--text-3);}
.sh-home .sv-agent{display: flex;
  align-items: center;
  gap: 12px;
  background: #fff;
  border: 1px solid #e8effb;
  border-radius: 14px;
  padding: 10px 12px;
  margin-bottom: 8px;
  box-shadow: 0 2px 8px rgba(23,68,153,.05);
  transition: all .2s;}
.sh-home .sv-card-bare .sv-agent{flex: 1;min-height: 0;}
.sh-home .sv-agent:hover{transform: translateY(-2px); box-shadow: 0 8px 20px rgba(23,68,153,.1); border-color: #d3e3fb;}
.sh-home .sv-agent:last-child{margin-bottom: 0;}
.sh-home .sv-ava{width: 38px; height: 38px;
  border-radius: 50%;
  background: linear-gradient(135deg, #1667f0, #3b8bff);
  color: #fff;
  display: grid; place-items: center;
  flex-shrink: 0;
  box-shadow: 0 4px 10px rgba(22,103,240,.3);}
.sh-home .sv-ava-g{background: linear-gradient(135deg, #f79009, #ff6a3d); box-shadow: 0 4px 10px rgba(247,144,9,.3);}
.sh-home .sv-agent-info{flex: 1; min-width: 0;}
.sh-home .sv-agent-info b{font-size: 14px; display: block;}
.sh-home .sv-agent-info p{font-size: 11.5px; color: var(--text-3); margin-top: 2px;}
.sh-home .sv-agent-btns{display: flex; gap: 8px; flex-shrink: 0;}
.sh-home .sv-btn{display: inline-flex;
  align-items: center;
  gap: 7px;
  border: 1px solid #e3ecfa;
  background: #fff;
  border-radius: 10px;
  padding: 5px 9px;
  font-size: 12px;
  font-weight: 600;
  color: var(--text-1);
  transition: all .2s;
  white-space: nowrap;
  line-height: 1.3;}
.sh-home .sv-btn .sv-btn-app{color: #1296db; flex-shrink: 0;}
.sh-home .sv-btn .sv-btn-t{display: flex; flex-direction: column; align-items: flex-start; text-align: left;}
.sh-home .sv-btn small{display: block; font-size: 10.5px; color: var(--text-3); font-weight: 400; margin-top: 1px;}
.sh-home .sv-btn .sv-btn-act{color: #1667f0; flex-shrink: 0; opacity: .75;}
.sh-home .sv-btn-wx .sv-btn-app{color: #0e9f5b;}
.sh-home .sv-btn-wx .sv-btn-act{color: #0e9f5b;}
.sh-home .sv-btn:hover{border-color: #1667f0; box-shadow: 0 6px 14px rgba(22,103,240,.16); transform: translateY(-2px);}
.sh-home .sv-btn-wx:hover{border-color: #0e9f5b; box-shadow: 0 6px 14px rgba(14,159,91,.16);}
.sh-home .sv-row{display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 12px;
  background: #f5f8fd;
  border: 1px solid transparent;
  border-radius: 12px;
  margin-bottom: 8px;
  transition: all .2s;}
.sh-home .sv-card .sv-row:last-of-type{flex: 1;}
.sh-home .sv-row:hover{background: #eef4ff; border-color: #d6e6ff;}
.sh-home .sv-row:last-child{margin-bottom: 0;}
.sh-home .sv-ic-box{width: 32px; height: 32px;
  border-radius: 10px;
  background: linear-gradient(135deg, #1667f0, #3b8bff);
  color: #fff;
  display: grid; place-items: center;
  flex-shrink: 0;
  box-shadow: 0 4px 10px rgba(22,103,240,.25);}
.sh-home .sv-row-t{flex: 1; min-width: 0;}
.sh-home .sv-row-t b{font-size: 13.5px; display: block;}
.sh-home .sv-row-t p{font-size: 12px; color: var(--text-3); margin-top: 2px;}
.sh-home .sv-row-t p small{display: block; font-size: 11px;}
.sh-home .sv-row-t .sv-tel{color: var(--blue); font-size: 16px; font-weight: 700; letter-spacing: .5px;}
.sh-home .sv-submit{display: inline-flex;
  align-items: center;
  gap: 4px;
  background: var(--blue-grad);
  color: #fff;
  font-size: 12.5px;
  font-weight: 600;
  border-radius: 999px;
  padding: 8px 18px;
  flex-shrink: 0;
  box-shadow: 0 6px 14px rgba(22,103,240,.3);
  transition: all .2s;}
.sh-home .sv-submit:hover{transform: translateY(-2px); box-shadow: 0 10px 22px rgba(22,103,240,.4);}
.sh-home .sv-submit-ghost{background: #fff; color: var(--text); border: 1px solid var(--line); box-shadow: none;}
.sh-home .sv-submit-ghost:hover{border-color: var(--blue); color: var(--blue); box-shadow: none;}
.sh-home .sv-foot{display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 22px;
  border-top: 1px solid #e8effb;
  background: #fff;
  border-radius: 0 0 20px 20px;}
.sh-home .sv-brand{display: flex; align-items: baseline; gap: 8px;}
.sh-home .sv-brand b{font-size: 16px;
  background: linear-gradient(120deg, #1667f0, #3b8bff);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;}
.sh-home .sv-brand small{font-size: 10px; color: var(--text-3); letter-spacing: 1px;}
.sh-home .sv-foot nav{display: flex; gap: 22px; font-size: 12.5px; color: var(--text-2);}
.sh-home .sv-foot nav a:hover{color: var(--blue);}
.sh-home .sv-foot em{font-style: normal; font-size: 11.5px; color: var(--text-3); letter-spacing: 2px;}
.sh-home .toast{position: fixed;
  left: 50%;
  bottom: 60px;
  transform: translateX(-50%) translateY(20px);
  background: rgba(13,27,51,.92);
  color: #fff;
  font-size: 14px;
  padding: 10px 22px;
  border-radius: 999px;
  opacity: 0;
  visibility: hidden;
  transition: all .3s;
  z-index: 300;}
.sh-home .toast.show{opacity: 1; visibility: visible; transform: translateX(-50%) translateY(0);}
.sh-home .reveal{opacity: 0; transform: translateY(32px); transition: opacity .7s ease, transform .7s ease;}
.sh-home .reveal.visible{opacity: 1; transform: translateY(0);}
.sh-home .page-banner{background:
    radial-gradient(circle at 85% 20%, rgba(59,139,255,.28), transparent 45%),
    linear-gradient(120deg, #1667f0, #3b8bff);
  padding: 46px 0 42px;
  color: #fff;}
.sh-home .crumb{font-size: 13px; color: rgba(255,255,255,.75); display: flex; align-items: center; gap: 8px;}
.sh-home .crumb a{color: rgba(255,255,255,.85);}
.sh-home .crumb a:hover{color: #fff;}
.sh-home .crumb i{font-style: normal; opacity: .5;}
.sh-home .crumb span{color: #fff;}
.sh-home .page-banner h1{color: #fff; font-size: 34px; margin: 10px 0 6px;}
.sh-home .page-banner p{color: rgba(255,255,255,.85); font-size: 14.5px; margin: 0;}
.sh-home .sub-nav{position: sticky;
  top: 78px;
  z-index: 90;
  background: #fff;
  border-bottom: 1px solid var(--line);
  box-shadow: 0 4px 14px rgba(13,27,51,.05);}
.sh-home .sub-nav-inner{display: flex; gap: 6px; overflow-x: auto;}
.sh-home .sub-nav-inner a{position: relative;
  font-size: 15px;
  font-weight: 600;
  color: var(--text-2);
  padding: 15px 20px;
  white-space: nowrap;
  transition: color .2s;}
.sh-home .sub-nav-inner a::after{content: "";
  position: absolute;
  left: 20px; right: 20px; bottom: 0;
  height: 2px;
  border-radius: 2px;
  background: var(--blue-grad);
  transform: scaleX(0);
  transition: transform .25s;}
.sh-home .sub-nav-inner a:hover{color: var(--blue);}
.sh-home .sub-nav-inner a.active{color: var(--blue);}
.sh-home .sub-nav-inner a.active::after{transform: scaleX(1);}
.sh-home .about-sec{padding: 54px 0;}
.sh-home .about-sec.alt{background: var(--bg-gray);}
.sh-home .about-intro{display: grid;
  grid-template-columns: 1fr 380px;
  gap: 40px;
  align-items: center;}
.sh-home .intro-text em{font-style: normal; font-size: 12px; letter-spacing: 2px; color: var(--blue); font-weight: 700;}
.sh-home .intro-text h2{font-size: 26px; margin: 8px 0 14px;}
.sh-home .intro-text p{font-size: 14.5px; color: var(--text-2); line-height: 1.95; margin-bottom: 10px;}
.sh-home .intro-tags{display: flex; flex-wrap: wrap; gap: 12px 22px; margin-top: 16px;}
.sh-home .intro-tags span{display: inline-flex; align-items: center; gap: 6px; font-size: 13.5px; color: var(--text-2);}
.sh-home .intro-tags .ic{color: var(--green);}
.sh-home .intro-stats{display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;}
.sh-home .intro-stats div{background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow-sm);
  padding: 22px;
  text-align: center;}
.sh-home .intro-stats b{display: block; font-size: 30px; color: var(--blue); line-height: 1.2;}
.sh-home .intro-stats b i{font-style: normal; font-size: 18px;}
.sh-home .intro-stats span{font-size: 12.5px; color: var(--text-3);}
.sh-home .svc-grid{display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px;}
.sh-home .svc-card{background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 26px 24px;
  transition: all .3s;}
.sh-home .svc-card:hover{transform: translateY(-6px); box-shadow: var(--shadow-md); border-color: transparent;}
.sh-home .svc-ico{width: 54px; height: 54px;
  border-radius: 15px;
  background: var(--blue-light);
  color: var(--blue);
  display: grid; place-items: center;
  margin-bottom: 16px;
  transition: all .3s;}
.sh-home .svc-card:hover .svc-ico{background: var(--blue-grad); color: #fff;}
.sh-home .svc-card h4{font-size: 17px; margin-bottom: 8px;}
.sh-home .svc-card p{font-size: 13.5px; color: var(--text-2); margin: 0;}
.sh-home .timeline{position: relative;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 26px 24px;
  padding-top: 10px;}
.sh-home .tl-item{position: relative;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 22px 24px 22px 22px;
  transition: all .3s;}
.sh-home .tl-item:hover{box-shadow: var(--shadow-md); transform: translateY(-4px);}
.sh-home .tl-dot{position: absolute;
  left: -6px; top: 26px;
  width: 12px; height: 12px;
  border-radius: 50%;
  background: var(--blue-grad);
  box-shadow: 0 0 0 4px rgba(22,103,240,.14);}
.sh-home .tl-item b{font-size: 22px; color: var(--blue);}
.sh-home .tl-item h4{font-size: 16px; margin: 4px 0 6px;}
.sh-home .tl-item p{font-size: 13.5px; color: var(--text-2); margin: 0;}
.sh-home .cul-grid{display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px;}
.sh-home .cul-card{background: linear-gradient(160deg, #f5f9ff, #eef4ff);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 26px 22px;
  text-align: center;
  transition: all .3s;}
.sh-home .cul-card:hover{transform: translateY(-5px); box-shadow: var(--shadow-md);}
.sh-home .cul-ico{width: 52px; height: 52px;
  margin: 0 auto 14px;
  border-radius: 50%;
  background: #fff;
  color: var(--blue);
  display: grid; place-items: center;
  box-shadow: 0 6px 16px rgba(22,103,240,.15);}
.sh-home .cul-card h4{font-size: 16.5px; margin-bottom: 8px;}
.sh-home .cul-card p{font-size: 13px; color: var(--text-2); margin: 0;}
.sh-home .legal-list{display: flex; flex-direction: column; gap: 14px; max-width: 960px;}
.sh-home .legal-item{background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 22px 26px;}
.sh-home .legal-item h4{display: flex; align-items: center; gap: 10px; font-size: 16.5px; margin-bottom: 8px;}
.sh-home .legal-item h4 span{width: 4px; height: 16px; border-radius: 2px; background: var(--blue-grad);}
.sh-home .legal-item p{font-size: 14px; color: var(--text-2); line-height: 1.9; margin: 0;}
.sh-home .cert-grid{display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px;}
.sh-home .cert-card{background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 24px;
  text-align: center;
  transition: all .3s;}
.sh-home .cert-card:hover{transform: translateY(-5px); box-shadow: var(--shadow-md); border-color: transparent;}
.sh-home .cert-ico{width: 52px; height: 52px;
  margin: 0 auto 14px;
  border-radius: 14px;
  background: var(--blue-light);
  color: var(--blue);
  display: grid; place-items: center;}
.sh-home .cert-card b{display: inline-block; font-size: 13px; color: var(--blue); background: var(--blue-light); border-radius: 999px; padding: 3px 12px;}
.sh-home .cert-card h4{font-size: 16px; margin: 10px 0 6px;}
.sh-home .cert-card p{font-size: 12.5px; color: var(--text-3); margin: 0;}
.sh-home .compliance-note{display: flex;
  gap: 14px;
  margin-top: 24px;
  background: linear-gradient(120deg, #eef4ff, #f7fbff);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 22px 26px;}
.sh-home .compliance-note .ic{color: var(--blue); flex-shrink: 0; margin-top: 3px;}
.sh-home .compliance-note b{font-size: 15.5px; display: block; margin-bottom: 6px;}
.sh-home .compliance-note p{font-size: 13.5px; color: var(--text-2); line-height: 1.9; margin: 0;}
.sh-home .fb-grid{display: grid; grid-template-columns: minmax(0, 1fr) 440px; gap: 24px; align-items: start;}
.sh-home .fb-left{min-width: 0;}
.sh-home .fb-channels{display: grid; grid-template-columns: 1fr 1fr; gap: 14px;}
.sh-home .fb-channel{display: flex;
  align-items: center;
  gap: 12px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 16px 18px;
  transition: all .25s;}
.sh-home .fb-channel:hover{border-color: var(--blue); box-shadow: var(--shadow-sm); transform: translateY(-3px);}
.sh-home .fb-ico{width: 40px; height: 40px;
  border-radius: 11px;
  background: var(--blue-light);
  color: var(--blue);
  display: grid; place-items: center;
  flex-shrink: 0;}
.sh-home .fb-channel b{font-size: 14px; display: block;}
.sh-home .fb-channel p{font-size: 12.5px; color: var(--text-3); margin: 2px 0 0;}
.sh-home .fb-flow{margin-top: 18px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 22px 24px;}
.sh-home .fb-flow h4{font-size: 16px; margin-bottom: 16px;}
.sh-home .flow-steps{display: flex; align-items: center; gap: 10px;}
.sh-home .flow-step{flex: 1;
  text-align: center;
  background: var(--bg-gray);
  border-radius: 12px;
  padding: 14px 8px;
  position: relative;}
.sh-home .flow-step b{display: inline-grid;
  place-items: center;
  width: 24px; height: 24px;
  border-radius: 50%;
  background: var(--blue-grad);
  color: #fff;
  font-size: 12.5px;
  margin-bottom: 6px;}
.sh-home .flow-step span{display: block; font-size: 12.5px; color: var(--text-2);}
.sh-home .flow-note{font-size: 12.5px; color: var(--text-3); margin: 14px 0 0;}
.sh-home .fb-form{background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow-sm);
  padding: 26px;}
.sh-home .fb-form h4{font-size: 17px; margin-bottom: 18px;}
.sh-home .fb-field{margin-bottom: 14px;}
.sh-home .fb-row{display: grid; grid-template-columns: 1fr 1fr; gap: 14px;}
.sh-home .fb-field label{display: block; font-size: 13px; color: var(--text-2); margin-bottom: 6px; font-weight: 600;}
.sh-home .fb-field input,.sh-home .fb-field select,.sh-home .fb-field textarea{width: 100%;
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 11px 14px;
  font-size: 14px;
  font-family: inherit;
  color: var(--text);
  background: #fff;
  transition: all .2s;
  outline: none;}
.sh-home .fb-field input:focus,.sh-home .fb-field select:focus,.sh-home .fb-field textarea:focus{border-color: var(--blue); box-shadow: 0 0 0 3px rgba(22,103,240,.12);}
.sh-home .fb-field textarea{resize: vertical;}
.sh-home .fb-form .btn{width: 100%; border: none;}
.sh-home .fb-tip{display: flex; align-items: center; gap: 6px; font-size: 12px; color: var(--text-3); margin: 12px 0 0;}
.sh-home .fb-tip .ic{color: var(--green);}
.sh-home .news-page{padding: 40px 0 60px; background: #fff;}
.sh-home .news-layout{display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 30px; align-items: start;}
.sh-home .news-main{min-width: 0;}
.sh-home .news-tabs{display: flex;
  gap: 10px;
  flex-wrap: wrap;
  padding-bottom: 18px;
  border-bottom: 1px solid var(--line);
  margin-bottom: 22px;}
.sh-home .news-tabs .tab-btn{border: 1px solid var(--line);
  background: #fff;
  color: var(--text-2);
  font-size: 14px;
  font-weight: 600;
  border-radius: 999px;
  padding: 8px 20px;
  cursor: pointer;
  transition: all .25s;}
.sh-home .news-tabs .tab-btn:hover{border-color: var(--blue); color: var(--blue);}
.sh-home .news-tabs .tab-btn.active{background: var(--blue-grad); border-color: transparent; color: #fff;}
.sh-home .news-top{display: grid;
  grid-template-columns: 300px 1fr;
  gap: 0;
  background: var(--bg-gray);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  overflow: hidden;
  margin-bottom: 20px;
  transition: all .3s;}
.sh-home .news-top:hover{box-shadow: var(--shadow-md); transform: translateY(-4px);}
.sh-home .nt-cover{min-height: 200px;
  background:
    radial-gradient(circle at 30% 30%, rgba(255,255,255,.28), transparent 45%),
    linear-gradient(135deg, #1667f0, #6aa9ff);
  display: grid;
  place-items: center;}
.sh-home .nt-cover span{color: rgba(255,255,255,.65); font-size: 40px; font-weight: 800; letter-spacing: 6px;}
.sh-home .nt-body{padding: 24px 26px;}
.sh-home .nt-body h3{font-size: 20px; margin: 10px 0 10px;}
.sh-home .nt-body p{font-size: 14px; color: var(--text-2); line-height: 1.9; margin: 0 0 12px;}
.sh-home .nt-meta{font-size: 12.5px; color: var(--text-3);}
.sh-home .news-list{display: flex; flex-direction: column;}
.sh-home .news-item{display: flex;
  align-items: center;
  gap: 20px;
  padding: 20px 4px;
  border-bottom: 1px solid var(--line);
  transition: all .25s;}
.sh-home .news-item:hover{background: var(--bg-gray); padding-left: 12px;}
.sh-home .ni-date{width: 62px;
  flex-shrink: 0;
  text-align: center;
  background: var(--bg-gray);
  border-radius: 12px;
  padding: 10px 0;}
.sh-home .ni-date b{display: block; font-size: 22px; color: var(--blue); line-height: 1.1;}
.sh-home .ni-date span{font-size: 11.5px; color: var(--text-3);}
.sh-home .ni-body{flex: 1; min-width: 0;}
.sh-home .ni-tag{display: inline-block;
  font-size: 11.5px;
  color: var(--blue);
  background: var(--blue-light);
  border-radius: 4px;
  padding: 2px 8px;}
.sh-home .ni-body h3{font-size: 17px; margin: 6px 0 6px; transition: color .2s;}
.sh-home .news-item:hover .ni-body h3{color: var(--blue);}
.sh-home .ni-body p{font-size: 13.5px;
  color: var(--text-2);
  margin: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;}
.sh-home .ni-more{display: inline-flex; align-items: center; gap: 4px; font-size: 13px; color: var(--text-3); flex-shrink: 0;}
.sh-home .news-item:hover .ni-more{color: var(--blue);}
.sh-home .pager{display: flex; justify-content: center; align-items: center; gap: 8px; margin-top: 34px;}
.sh-home .pg-item{min-width: 38px;
  height: 38px;
  padding: 0 14px;
  border: 1px solid var(--line);
  border-radius: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 13.5px;
  color: var(--text-2);
  transition: all .25s;}
.sh-home .pg-item:hover{border-color: var(--blue); color: var(--blue);}
.sh-home .pg-item.active{background: var(--blue-grad); border-color: transparent; color: #fff;}
.sh-home .pg-dots{color: var(--text-3);}
.sh-home .news-side{display: flex; flex-direction: column; gap: 18px; position: sticky; top: 96px;}
.sh-home .side-card{background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 20px 22px;}
.sh-home .side-card h4{font-size: 16px; margin-bottom: 14px; padding-bottom: 12px; border-bottom: 1px solid var(--line);}
.sh-home .hot-item{display: block; padding: 10px 0;}
.sh-home .hot-item + .hot-item{border-top: 1px dashed var(--line);}
.sh-home .hot-item b{font-size: 12.5px; color: var(--blue); font-weight: 600;}
.sh-home .hot-item p{font-size: 13.5px; color: var(--text); margin: 4px 0; line-height: 1.6;}
.sh-home .hot-item:hover p{color: var(--blue);}
.sh-home .hot-item span{font-size: 11.5px; color: var(--text-3);}
.sh-home .side-qr{text-align: center;}
.sh-home .side-qr i{display: block;
  width: 130px; height: 130px;
  margin: 0 auto 12px;
  border-radius: 12px;
  background: repeating-conic-gradient(#e2e8f2 0 25%, #f4f7fc 0 50%) 0 0 / 16px 16px;
  border: 1px solid var(--line);}
.sh-home .side-qr span{font-size: 12.5px; color: var(--text-3); line-height: 1.8;}
.sh-home .side-contact p{display: flex; align-items: center; gap: 8px; font-size: 13.5px; color: var(--text-2); margin-bottom: 8px;}
.sh-home .side-contact .ic{color: var(--blue);}
.sh-home .side-contact .btn{width: 100%; border: none; margin-top: 6px;}
.sh-home .page-hero{position: relative;
  display: flex;
  align-items: center;
  min-height: 420px;
  background-size: cover;
  background-position: center;
  overflow: hidden;}
.sh-home .about-hero-bg-1{background:
    linear-gradient(90deg, rgba(255,255,255,.96) 0%, rgba(255,255,255,.8) 38%, rgba(255,255,255,.25) 62%, rgba(255,255,255,0) 100%),
    url("../assets/img/index/about-hero-1.jpg") center / cover no-repeat;}
.sh-home .page-hero .crumb{margin-bottom: 16px; color: var(--text-3);}
.sh-home .page-hero .crumb a{color: var(--text-2);}
.sh-home .page-hero .crumb a:hover{color: var(--blue);}
.sh-home .page-hero .crumb span{color: var(--text);}
.sh-home .ph-text h1{font-size: 40px; color: #0d1b34; margin: 14px 0 12px;}
.sh-home .ph-text p{font-size: 16px; color: #4b5b76; line-height: 1.9; margin-bottom: 26px;}
.sh-home .btn-white{background: #fff; color: var(--text); border: 1px solid var(--line);}
.sh-home .btn-white:hover{border-color: var(--blue); color: var(--blue);}
.sh-home .news-hero-bg-1{background:
    linear-gradient(90deg, rgba(255,255,255,.97) 0%, rgba(255,255,255,.85) 42%, rgba(255,255,255,.3) 66%, rgba(255,255,255,0) 100%),
    url("../assets/img/index/news-hero-1.jpg") center / cover no-repeat;}
.sh-home .ph-chips{display: flex; flex-wrap: wrap; gap: 10px; margin-top: 20px;}
.sh-home .ph-chips span{font-size: 12.5px;
  color: var(--text-2);
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 6px;
  padding: 5px 14px;}
.sh-home .svc-list{display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 48px;
  max-width: 1080px;
  margin: 0 auto;}
.sh-home .svc-item{display: flex;
  align-items: center;
  gap: 18px;
  padding: 24px 10px;
  border-bottom: 1px solid var(--line);
  border-radius: 12px;
  transition: all .25s;}
.sh-home .svc-item:hover{background: var(--blue-light); padding-left: 16px; padding-right: 16px;}
.sh-home .svc-item .svc-ico{margin-bottom: 0; flex-shrink: 0;}
.sh-home .svc-txt{flex: 1; min-width: 0;}
.sh-home .svc-txt h4{font-size: 16.5px; margin-bottom: 5px;}
.sh-home .svc-txt p{font-size: 13.5px; color: var(--text-2); margin: 0;}
.sh-home .svc-num{font-size: 26px;
  font-weight: 800;
  color: transparent;
  -webkit-text-stroke: 1px rgba(22,103,240,.35);
  flex-shrink: 0;
  transition: all .25s;}
.sh-home .svc-item:hover .svc-num{-webkit-text-stroke: 1px var(--blue);}
.sh-home .news-hero{min-height: 360px; background: none;}
.sh-home .page-hero .container{position: relative; z-index: 1;}
.sh-home .page-hero .ph-img{position: absolute;
  right: 0; top: 0;
  height: 100%;
  width: auto;
  max-width: 60%;
  object-fit: contain;
  object-position: right center;}
.sh-home .news-hero .ph-text{position: relative; max-width: 560px;}
.sh-home .prod-hero{min-height: 420px; background: #fefefe;}
.sh-home .play-dot{display: inline-grid;
  place-items: center;
  width: 36px; height: 36px;
  border-radius: 50%;
  background: var(--blue-grad);
  color: #fff;
  vertical-align: 6px;
  margin-left: 8px;
  box-shadow: 0 6px 16px rgba(22,103,240,.35);
  cursor: pointer;
  transition: transform .25s;}
.sh-home .play-dot:hover{transform: scale(1.1);}
.sh-home .play-dot .ic{width: 16px; height: 16px;}
.sh-home .btn-doc{display: inline-flex; align-items: center; font-size: 15px; font-weight: 600; color: var(--blue); padding: 0 10px;}
.sh-home .btn-doc:hover{opacity: .75;}
.sh-home .prod-sec{padding: 54px 0;}
.sh-home .prod-sec.alt{background: var(--bg-gray);}
.sh-home .prod-sec .section-head{margin-bottom: 30px;}
.sh-home .spec-grid{display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; align-items: stretch;}
.sh-home .spec-card{position: relative;
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 16px;
  overflow: hidden;
  transition: all .3s;}
.sh-home .spec-card::before{content: "";
  height: 5px;
  border-radius: 16px 16px 0 0;}
.sh-home .spec-card.a-blue::before{background: var(--blue-grad);}
.sh-home .spec-card.a-orange::before{background: linear-gradient(90deg, #ff8a3d, #ff6a2b);}
.sh-home .spec-card.a-teal::before{background: linear-gradient(90deg, #2fd4a7, #0fbf94);}
.sh-home .spec-card.a-dark::before{background: linear-gradient(90deg, #33405a, #0d1b34);}
.sh-home .spec-card:hover{transform: translateY(-6px); box-shadow: var(--shadow-md);}
.sh-home .spec-card.rec{border-color: rgba(22,103,240,.45);
  box-shadow: 0 14px 34px rgba(22,103,240,.14);}
.sh-home .spec-head{padding: 20px 22px 14px;}
.sh-home .spec-head b{display: flex; align-items: center; gap: 8px; font-size: 17.5px;}
.sh-home .spec-head p{font-size: 12.5px; color: var(--text-3); margin: 7px 0 0; line-height: 1.6;}
.sh-home .reco-badge{font-style: normal;
  font-size: 11px;
  font-weight: 600;
  color: #fff;
  background: linear-gradient(90deg, #ff8a3d, #ff5f2e);
  padding: 3px 9px;
  border-radius: 999px;
  margin-left: auto;}
.sh-home .spec-kv{padding: 4px 22px 14px;}
.sh-home .spec-kv .kv{display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 10px 0;
  border-bottom: 1px dashed var(--line);
  font-size: 13px;}
.sh-home .spec-kv .kv:last-child{border-bottom: none;}
.sh-home .spec-kv .kv span{color: var(--text-3); flex-shrink: 0;}
.sh-home .spec-kv .kv b{font-weight: 700; color: var(--text); text-align: right;}
.sh-home .spec-tags{display: flex; flex-wrap: wrap; gap: 8px; padding: 0 22px 16px; margin-top: auto;}
.sh-home .spec-tags em{font-style: normal;
  font-size: 11.5px;
  color: var(--blue);
  background: var(--blue-light);
  border: 1px solid rgba(22,103,240,.2);
  border-radius: 6px;
  padding: 3px 10px;}
.sh-home .spec-card.a-teal .spec-tags em{color: #0fbf94; background: rgba(15,191,148,.08); border-color: rgba(15,191,148,.25);}
.sh-home .spec-card.a-orange .spec-tags em{color: #ff6a2b; background: rgba(255,106,43,.07); border-color: rgba(255,106,43,.25);}
.sh-home .spec-card.a-dark .spec-tags em{color: #33405a; background: rgba(13,27,52,.06); border-color: rgba(13,27,52,.18);}
.sh-home .spec-price{padding: 14px 22px 16px; border-top: 1px solid var(--line); display: flex; align-items: baseline; gap: 2px;}
.sh-home .spec-price em{font-style: normal; font-size: 30px; font-weight: 800; color: #ff5f2e;}
.sh-home .spec-price i{font-style: normal; font-size: 13px; color: var(--text-3);}
.sh-home .spec-card.a-blue .spec-price em{color: var(--blue);}
.sh-home .spec-card.a-teal .spec-price em{color: #0fbf94;}
.sh-home .spec-btns{display: flex; gap: 10px; padding: 0 22px 22px;}
.sh-home .btn-consult,.sh-home .btn-order{flex: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 0;
  border-radius: 9px;
  font-size: 13.5px;
  font-weight: 600;
  transition: all .25s;}
.sh-home .btn-consult{border: 1px solid var(--blue); color: var(--blue); background: #fff;}
.sh-home .btn-consult:hover{background: var(--blue-light);}
.sh-home .btn-order{background: var(--blue-grad); color: #fff; border: 1px solid transparent;}
.sh-home .btn-order:hover{box-shadow: 0 8px 18px rgba(22,103,240,.35); transform: translateY(-2px);}
.sh-home .spec-card.a-dark .btn-order,.sh-home .spec-card.a-orange .btn-order{background: linear-gradient(135deg, #33405a, #0d1b34);}
.sh-home .spec-card.a-dark .btn-order:hover,.sh-home .spec-card.a-orange .btn-order:hover{box-shadow: 0 8px 18px rgba(13,27,52,.3);}
.sh-home .spec-tip{display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-top: 22px;
  font-size: 13px;
  color: var(--text-3);}
.sh-home .spec-tip .ic{color: var(--blue);}
.sh-home .adv-grid{display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px;}
.sh-home .adv-card{display: flex;
  flex-direction: column;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 24px;
  transition: all .3s;}
.sh-home .adv-card:hover{transform: translateY(-5px); box-shadow: var(--shadow-md); border-color: transparent;}
.sh-home .adv-ico{width: 50px; height: 50px;
  border-radius: 14px;
  background: var(--blue-light);
  color: var(--blue);
  display: grid; place-items: center;
  margin-bottom: 14px;
  transition: all .3s;}
.sh-home .adv-card:hover .adv-ico{background: var(--blue-grad); color: #fff;}
.sh-home .adv-card h4{font-size: 16.5px; margin-bottom: 8px;}
.sh-home .adv-card p{font-size: 13.5px; color: var(--text-2); margin: 0;}
.sh-home .scene-grid{display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px;}
.sh-home .scene-card{background: linear-gradient(165deg, #f5f9ff, #eef4ff);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 26px 22px;
  text-align: center;
  transition: all .3s;}
.sh-home .scene-card:hover{transform: translateY(-5px); box-shadow: var(--shadow-md); background: #fff;}
.sh-home .scene-ico{width: 54px; height: 54px;
  margin: 0 auto 14px;
  border-radius: 50%;
  background: #fff;
  color: var(--blue);
  display: grid; place-items: center;
  box-shadow: 0 6px 16px rgba(22,103,240,.15);}
.sh-home .scene-card h4{font-size: 16.5px; margin-bottom: 8px;}
.sh-home .scene-card p{font-size: 13px; color: var(--text-2); margin: 0;}
.sh-home .feat-cols{display: grid; grid-template-columns: 1fr 1fr; gap: 0 48px; max-width: 1080px; margin: 0 auto;}
.sh-home .feat-item{display: flex;
  gap: 12px;
  padding: 16px 10px;
  border-bottom: 1px dashed var(--line);
  border-radius: 10px;
  transition: all .2s;}
.sh-home .feat-item:hover{background: #fff;}
.sh-home .feat-item .ic{color: var(--green); flex-shrink: 0; margin-top: 2px;}
.sh-home .feat-item b{font-size: 14.5px; display: block;}
.sh-home .feat-item p{font-size: 13px; color: var(--text-2); margin: 3px 0 0;}
.sh-home .guide-grid{display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; counter-reset: none;}
.sh-home .guide-card{position: relative;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 24px 22px 22px;
  overflow: hidden;
  transition: all .3s;}
.sh-home .guide-card:hover{transform: translateY(-5px); box-shadow: var(--shadow-md);}
.sh-home .guide-card b{position: absolute;
  right: 14px; top: 6px;
  font-size: 56px;
  font-weight: 800;
  color: transparent;
  -webkit-text-stroke: 1px rgba(22,103,240,.2);
  line-height: 1;}
.sh-home .guide-card h4{font-size: 16.5px; margin-bottom: 8px; position: relative;}
.sh-home .guide-card p{font-size: 13px; color: var(--text-2); margin: 0; position: relative;}
.sh-home .auth-page{padding: 44px 0 60px; background: linear-gradient(180deg, #f2f6fc 0%, #f7f9fc 100%); min-height: 74vh;}
.sh-home .auth-wrap{display: grid; grid-template-columns: 420px 1fr; gap: 30px; align-items: stretch; max-width: 1080px;}
.sh-home .auth-wrap.wide{max-width: 960px;}
.sh-home .auth-panel{position: relative;
  padding: 38px 32px;
  border-radius: 20px;
  background: linear-gradient(160deg, #1667f0 0%, #0f4bc4 55%, #0a2f85 100%);
  color: #fff;
  overflow: hidden;
  display: flex;
  flex-direction: column;}
.sh-home .auth-panel::after{content: "";
  position: absolute;
  right: -70px; bottom: -90px;
  width: 240px; height: 240px;
  border-radius: 50%;
  background: rgba(255,255,255,.08);}
.sh-home .auth-panel::before{content: "";
  position: absolute;
  right: 40px; top: -60px;
  width: 160px; height: 160px;
  border-radius: 50%;
  background: rgba(255,255,255,.06);}
.sh-home .auth-panel h2{position: relative; font-size: 24px; font-weight: 700;}
.sh-home .auth-panel > p{position: relative; font-size: 14px; color: rgba(255,255,255,.75); margin-top: 8px;}
.sh-home .auth-feats{position: relative; margin-top: 32px; display: flex; flex-direction: column; gap: 20px;}
.sh-home .auth-feats li{display: flex; gap: 12px; align-items: flex-start;}
.sh-home .auth-feats .ic{color: rgba(255,255,255,.85); flex-shrink: 0; margin-top: 2px;}
.sh-home .auth-feats b{display: block; font-size: 14.5px; font-weight: 600;}
.sh-home .auth-feats span{font-size: 12.5px; color: rgba(255,255,255,.68);}
.sh-home .auth-panel-foot{position: relative;
  margin-top: auto;
  padding-top: 26px;
  border-top: 1px solid rgba(255,255,255,.16);
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
  font-size: 12.5px;
  color: rgba(255,255,255,.8);}
.sh-home .auth-panel-foot span{display: flex; align-items: center; gap: 6px;}
.sh-home .auth-box{background: #fff;
  border: 1px solid var(--line);
  border-radius: 20px;
  padding: 34px 38px 30px;
  box-shadow: var(--shadow-md);}
.sh-home .auth-head{margin-bottom: 22px;}
.sh-home .auth-head h1{font-size: 26px; font-weight: 700;}
.sh-home .auth-head p{font-size: 13.5px; color: var(--text-3); margin-top: 8px;}
.sh-home .auth-head a{color: var(--blue); font-weight: 600;}
.sh-home .auth-tabs{position: relative; display: flex; gap: 30px; border-bottom: 1px solid var(--line); margin-bottom: 24px;}
.sh-home .auth-tabs.small{margin: 4px 0 22px;}
.sh-home .auth-tabs button{background: none; border: none; padding: 0 0 12px;
  font-size: 15px; font-weight: 600; color: var(--text-3); cursor: pointer;
  transition: color .25s;}
.sh-home .auth-tabs button.active{color: var(--blue);}
.sh-home .auth-tab-bar{position: absolute; bottom: -1px; left: 0;
  height: 2px; width: 84px; border-radius: 2px;
  background: var(--blue);
  transition: all .3s;}
.sh-home .auth-form{display: flex; flex-direction: column;}
.sh-home .auth-pane{display: none; flex-direction: column; gap: 18px;}
.sh-home .auth-pane.active{display: flex;}
.sh-home .auth-pane .hidden,.sh-home .field.hidden{display: none !important;}
.sh-home .field{display: flex; flex-direction: column; gap: 8px;}
.sh-home .field-label{font-size: 13px; color: var(--text-2); font-weight: 600;}
.sh-home .field-label .optional{font-style: normal; font-size: 11px; font-weight: 400;
  color: var(--text-3); background: var(--bg-gray);
  border-radius: 4px; padding: 1px 6px; margin-left: 6px;}
.sh-home .input-group{display: flex; align-items: center; gap: 8px;
  border: 1px solid var(--line); border-radius: 10px;
  padding: 0 14px; height: 46px; background: #fff;
  transition: all .25s;}
.sh-home .input-group:focus-within{border-color: var(--blue); box-shadow: 0 0 0 3px rgba(22,103,240,.12);}
.sh-home .input-group.error{border-color: #e5484d;}
.sh-home .input-group input{flex: 1; border: none; outline: none; font-size: 14px; color: var(--text); background: none; min-width: 0;}
.sh-home .input-group input::placeholder{color: #b3bccd;}
.sh-home .ig-ico{color: var(--text-3); display: flex;}
.sh-home .ig-pre{display: flex; align-items: center; gap: 4px;
  font-size: 14px; color: var(--text);
  padding-right: 10px; margin-right: 2px;
  border-right: 1px solid var(--line);
  font-weight: 600;}
.sh-home .ig-arrow{display: flex; color: var(--text-3);}
.sh-home .ig-eye,.sh-home .ig-code{background: none; border: none; cursor: pointer; display: flex;}
.sh-home .ig-eye{color: var(--text-3);}
.sh-home .ig-eye:hover{color: var(--blue);}
.sh-home .ig-code{font-size: 13px; font-weight: 600; color: var(--blue);
  padding-left: 10px; border-left: 1px solid var(--line); white-space: nowrap;}
.sh-home .ig-code:disabled{color: var(--text-3); cursor: not-allowed;}
.sh-home .pwd-strength{display: flex; align-items: center; gap: 6px; margin-top: 2px;}
.sh-home .pwd-strength i{flex: 0 0 42px; height: 4px; border-radius: 2px; background: var(--line); transition: background .25s;}
.sh-home .pwd-strength b{font-size: 11.5px; font-weight: 400; color: var(--text-3); margin-left: 4px;}
.sh-home .pwd-strength.lv1 i:nth-child(1){background: #e5484d;}
.sh-home .pwd-strength.lv2 i:nth-child(1),.sh-home .pwd-strength.lv2 i:nth-child(2){background: #ff8a3d;}
.sh-home .pwd-strength.lv3 i{background: var(--green);}
.sh-home .auth-row{display: flex; align-items: center; justify-content: space-between; margin: 16px 0 20px; flex-wrap: wrap; gap: 10px;}
.sh-home .auth-links{display: flex; gap: 16px; font-size: 13px;}
.sh-home .auth-links a{color: var(--text-2);}
.sh-home .auth-links a:hover{color: var(--blue);}
.sh-home .checkbox{display: flex; align-items: center; gap: 8px; font-size: 13px; color: var(--text-2); cursor: pointer;}
.sh-home .checkbox input{display: none;}
.sh-home .checkbox i{width: 16px; height: 16px; border-radius: 4px;
  border: 1px solid #c9d2e0; background: #fff;
  display: inline-grid; place-items: center;
  transition: all .2s; flex-shrink: 0;}
.sh-home .checkbox input:checked + i{background: var(--blue); border-color: var(--blue);}
.sh-home .checkbox input:checked + i::after{content: ""; width: 8px; height: 4px;
  border-left: 2px solid #fff; border-bottom: 2px solid #fff;
  transform: rotate(-45deg) translateY(-1px);}
.sh-home .checkbox.agree{margin: 4px 0 20px; align-items: flex-start;}
.sh-home .checkbox.agree i{margin-top: 2px;}
.sh-home .checkbox.agree a{color: var(--blue);}
.sh-home .auth-tip{font-size: 12px; color: var(--text-3); text-align: center; margin-top: 16px;}
.sh-home .auth-tip a{color: var(--blue);}
.sh-home .auth-third{margin-top: 26px; padding-top: 22px; border-top: 1px solid var(--line);}
.sh-home .at-title{text-align: center; position: relative;}
.sh-home .at-title span{position: relative; background: #fff; padding: 0 12px; font-size: 12.5px; color: var(--text-3);}
.sh-home .at-title::before{content: ""; position: absolute; left: 0; top: 50%; width: 100%; height: 1px; background: var(--line);}
.sh-home .at-icons{display: flex; justify-content: center; gap: 18px; margin-top: 18px;}
.sh-home .at-btn{width: 46px; height: 46px; border-radius: 50%;
  border: 1px solid var(--line); background: #fff;
  display: grid; place-items: center; cursor: pointer;
  transition: all .25s;}
.sh-home .at-btn.wechat{color: #18b13a;}
.sh-home .at-btn.qq{color: #12a2e6;}
.sh-home .at-btn.weibo{color: #e63a3a;}
.sh-home .at-btn:hover{transform: translateY(-3px); box-shadow: var(--shadow-sm); border-color: currentColor;}
.sh-home .auth-steps{display: flex; align-items: center; margin: 6px 0 26px;}
.sh-home .auth-steps .ast{flex: 1; display: flex; align-items: center; gap: 10px; position: relative;}
.sh-home .auth-steps .ast::after{content: ""; flex: 1; height: 1px; background: var(--line); margin-right: 10px;}
.sh-home .auth-steps .ast:last-child::after{display: none;}
.sh-home .auth-steps b{width: 26px; height: 26px; border-radius: 50%;
  background: var(--bg-gray); color: var(--text-3);
  display: grid; place-items: center; font-size: 13px; font-weight: 700;
  transition: all .25s; flex-shrink: 0;}
.sh-home .auth-steps span{font-size: 13px; color: var(--text-3); white-space: nowrap;}
.sh-home .auth-steps .ast.active b{background: var(--blue-grad); color: #fff;}
.sh-home .auth-steps .ast.active span{color: var(--text); font-weight: 600;}
.sh-home .auth-steps .ast.done b{background: var(--green); color: #fff;}
.sh-home .auth-done{text-align: center; align-items: center; gap: 12px; padding: 18px 0 6px;}
.sh-home .done-ico{width: 62px; height: 62px; border-radius: 50%;
  background: rgba(24,183,109,.12); color: var(--green);
  display: grid; place-items: center; margin-bottom: 6px;}
.sh-home .auth-done h3{font-size: 20px;}
.sh-home .auth-done p{font-size: 13.5px; color: var(--text-3); margin-bottom: 14px;}
.sh-home .auth-help{display: flex; align-items: center; gap: 6px;
  margin-top: 20px; padding-top: 18px;
  border-top: 1px solid var(--line);
  font-size: 12.5px; color: var(--text-3);}
.sh-home .auth-help .ic{color: var(--blue);}
.sh-home .auth-help a{color: var(--blue);}
.sh-home .auth-form .hidden{display: none !important;}
@media (max-width: 1080px){.sh-home .hero{height: 540px;}
.sh-home .hero-inner{height: 540px;}
.sh-home .hero-text h1{font-size: 38px;}
.sh-home .product-grid,.sh-home .deal-grid{grid-template-columns: repeat(2, 1fr);}
.sh-home .idc-grid{grid-template-columns: 1fr;}
.sh-home .region-panel{grid-template-columns: 1fr;}
.sh-home .region-map{min-height: 360px;}
.sh-home .featured-head{flex-direction: column; align-items: flex-start; gap: 12px;}
.sh-home .about-intro{grid-template-columns: 1fr;}
.sh-home .svc-grid,.sh-home .cert-grid{grid-template-columns: repeat(2, 1fr);}
.sh-home .cul-grid{grid-template-columns: repeat(2, 1fr);}
.sh-home .timeline{grid-template-columns: repeat(2, 1fr);}
.sh-home .fb-grid{grid-template-columns: 1fr;}
.sh-home .news-layout{grid-template-columns: 1fr;}
.sh-home .news-side{position: static;}
.sh-home .spec-grid,.sh-home .adv-grid{grid-template-columns: repeat(2, 1fr);}
.sh-home .scene-grid,.sh-home .guide-grid{grid-template-columns: repeat(2, 1fr);}}
@media (max-width: 820px){.sh-home .hero{height: 620px;}
.sh-home .hero-inner{height: 620px;}
.sh-home .hero-text h1{font-size: 32px;}
.sh-home .hero-text > p{font-size: 15px;}
.sh-home .hero-tags{gap: 14px; flex-wrap: wrap;}
.sh-home .metrics{margin-top: -40px;}
.sh-home .metrics-inner{grid-template-columns: repeat(2, 1fr); gap: 18px 0; padding: 22px 6px;}
.sh-home .metric:nth-child(2){border-right: none;}
.sh-home .metric b{font-size: 22px;}
.sh-home .section{padding: 60px 0;}
.sh-home .section-head h2,.sh-home .featured-head h2{font-size: 26px;}
.sh-home .section-head.head-split{flex-direction: column; align-items: flex-start; gap: 12px;}
.sh-home .product-grid,.sh-home .deal-grid{grid-template-columns: 1fr;}
.sh-home .why-grid{grid-template-columns: 1fr 1fr;}
.sh-home .idc-cards{grid-template-columns: 1fr;}
.sh-home .region-chips{grid-template-columns: repeat(2, 1fr);}
.sh-home .region-side{padding: 24px 20px;}
.sh-home .sol-panel{grid-template-columns: 1fr;}
.sh-home .sol-menu{flex-direction: row;
    overflow-x: auto;
    border-right: none;
    border-bottom: 1px solid rgba(255,255,255,.08);}
.sh-home .sol-menu button{white-space: nowrap;}
.sh-home .sol-qr{display: none;}
.sh-home .brand-card{padding: 12px 22px; font-size: 16px;}
.sh-home .cta-inner h2{font-size: 24px;}
.sh-home .side-rail{display: none;}
.sh-home .page-banner{padding: 32px 0 28px;}
.sh-home .page-banner h1{font-size: 26px;}
.sh-home .sub-nav{top: 76px;}
.sh-home .svc-grid,.sh-home .cert-grid,.sh-home .cul-grid,.sh-home .timeline,.sh-home .intro-stats{grid-template-columns: 1fr;}
.sh-home .fb-channels{grid-template-columns: 1fr;}
.sh-home .fb-row{grid-template-columns: 1fr;}
.sh-home .news-top{grid-template-columns: 1fr;}
.sh-home .nt-cover{min-height: 140px;}
.sh-home .news-item{flex-wrap: wrap;}
.sh-home .ni-body p{white-space: normal;}
.sh-home .flow-steps{flex-wrap: wrap;}
.sh-home .page-hero{min-height: 300px;}
.sh-home .ph-text h1{font-size: 28px;}
.sh-home .ph-text p br{display: none;}
.sh-home .svc-list{grid-template-columns: 1fr; gap: 0;}
.sh-home .news-hero{min-height: 280px;}
.sh-home .news-hero .ph-img{max-width: 100%; opacity: .28;}
.sh-home .spec-grid,.sh-home .adv-grid,.sh-home .scene-grid,.sh-home .guide-grid,.sh-home .feat-cols{grid-template-columns: 1fr;}
.sh-home .prod-hero .ph-img{max-width: 100%; opacity: .28;}
.sh-home .prod-hero{min-height: 320px;}}
@media (max-width: 520px){.sh-home .why-grid{grid-template-columns: 1fr;}
.sh-home .hero-btns,.sh-home .cta-btns{flex-direction: column; align-items: stretch;}
.sh-home .metrics-inner{grid-template-columns: 1fr;}
.sh-home .metric{border-right: none; border-bottom: 1px solid var(--line); padding-bottom: 12px;}
.sh-home .metric:last-child{border-bottom: none;}
.sh-home .sv-grid{grid-template-columns: 1fr;}
.sh-home .sv-agent{flex-wrap: wrap;}
.sh-home .sv-slogan{display: none;}
.sh-home .region-chips{grid-template-columns: 1fr 1fr;}
.sh-home .auth-box{padding: 24px 18px;}
.sh-home .auth-head h1{font-size: 22px;}
.sh-home .auth-tabs{gap: 18px;}}
@media (max-width: 960px){.sh-home .auth-wrap{grid-template-columns: 1fr; max-width: 560px;}
.sh-home .auth-panel{padding: 28px 24px;}
.sh-home .auth-feats{display: none;}
.sh-home .auth-box{padding: 28px 24px;}}

/* ============================================================
   修正：新闻页的 .news-tabs{display:flex} 会影响首页新闻卡片，
   首页新闻区应为「胶囊 tab 在上、列表在下」的卡片式布局
   ============================================================ */
.sh-home .news-tabs { display: block; }
.sh-home .news-tabs .tab-nav { display: flex; align-items: center; margin-bottom: 16px; }
.sh-home .news-tabs .tab-btn { height: auto; }
.sh-home .news-tabs .tab-panel { display: none; }
.sh-home .news-tabs .tab-panel.active { display: block; }
