/* 星火计划（/solution/partner）—— 与旧站 templates/dist/css/layout.css 的 .spark 段一致。
   包含 product_banner / main1-7 / block / txt / btn 的布局、等高、颜色、动效基础。 */

.spark .product_banner {
  position: relative;
}
.spark .product_banner .mask {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
}
.spark .product_banner .mask .center1200 {
  height: 100%;
}
.spark .product_banner .mask .txt_box {
  color: #FFFFFF;
}
.spark .product_banner .mask .txt_box .title {
  font-weight: bold;
  font-size: 36px;
  line-height: 1.1;
}
.spark .product_banner .mask .txt_box .tag {
  margin-top: 15px;
  font-size: 24px;
}
.spark .product_banner .mask .btn_box {
  padding-top: 48px;
}
.spark .product_banner .mask .btn_box .btn {
  padding: 9px 32px;
}
.spark .product_banner .mask .btn_box .btn1 {
  background: #004BFF;
  -webkit-border-radius: 4px;
  border-radius: 4px;
  color: #fff;
}
.spark .product_banner .mask .btn_box .btn2 {
  border: 1px solid #fff;
  -webkit-border-radius: 4px;
  border-radius: 4px;
  color: #fff;
  margin-left: 24px;
}

.spark .main1 {
  background-color: #fbfbff;
  padding: 60px 0;
}
.spark .main1 .abstract {
  font-size: 16px;
  color: #707481;
  text-align: center;
  line-height: 24px;
}
.spark .main1 .abstract p:not(:first-child) {
  margin-top: 15px;
}

.spark .main2 {
  background-color: #fbfbff;
}
.spark .main2 .content {
  background-image: url(https://cdn-web.authine.com/dist/images/spark_bg1.png);
}
.spark .main2 .content .inner_title {
  color: #fff;
}
.spark .main2 .content .block_box {
  margin-top: 60px;
}
.spark .main2 .content .block_box .block {
  padding: 32px;
  color: #fff;
  background: rgba(110, 159, 255, 0.45);
  -webkit-border-radius: 2px;
  border-radius: 2px;
}
.spark .main2 .content .block_box .block .icon {
  width: 45px;
  margin-right: 10px;
}
.spark .main2 .content .block_box .block .txt .title {
  font-size: 16px;
  color: #FFFFFF;
  line-height: 24px;
}
.spark .main2 .content .block_box .block .txt .tag {
  font-size: 12px;
  color: #FFFFFF;
  line-height: 20px;
}
.spark .main2 .content .block_box .block .abstract {
  font-size: 14px;
  color: #FFFFFF;
  text-align: justify;
  line-height: 22px;
  margin-top: 15px;
}
.spark .main2 .bg_color {
  background-color: #f3f5fc;
  height: 30px;
}

.spark .main3 {
  background-color: #fbfbff;
}
.spark .main3 .inner_main {
  padding-top: 58px;
}
.spark .main3 .content .tag {
  font-size: 16px;
  color: #707481;
  text-align: center;
  line-height: 22px;
  margin-top: 15px;
}
.spark .main3 .spark_support {
  padding-top: 60px;
  padding-bottom: 20px;
}
.spark .main3 .spark_support .block {
  background-color: #ffffff;
  position: relative;
  top: 0;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}
.spark .main3 .spark_support .block .txt {
  width: 65.24064%;
  padding: 0 24px;
}
.spark .main3 .spark_support .block .txt .name {
  font-size: 16px;
  color: #121933;
  letter-spacing: 0;
  line-height: 24px;
}
.spark .main3 .spark_support .block .txt .abstract {
  font-size: 12px;
  color: #707481;
  text-align: justify;
  line-height: 18px;
  margin-top: 8px;
}
.spark .main3 .spark_support .block:hover {
  top: -8px;
  box-shadow: 0 20px 20px -20px #dedede;
}

.spark .main4 {
  background-color: #f3f5fc;
}
.spark .main4 .inner_main {
  padding-top: 58px;
}
.spark .main4 .content .tag {
  font-size: 16px;
  color: #707481;
  text-align: center;
  line-height: 22px;
  margin-top: 15px;
}
.spark .main4 .content .spark_bright {
  padding-top: 60px;
}
.spark .main4 .content .spark_bright .icon {
  width: 130px;
  margin: 0 auto;
}
.spark .main4 .content .spark_bright .icon .picture_container {
  padding-top: 100%;
}
.spark .main4 .content .spark_bright .txt {
  text-align: center;
  margin-top: 24px;
}
.spark .main4 .content .spark_bright .txt .name {
  font-size: 24px;
  color: #121933;
  line-height: 32px;
}
.spark .main4 .content .spark_bright .txt .abstract {
  opacity: 0.85;
  font-size: 12px;
  color: #707481;
  text-align: center;
  margin-top: 12px;
}

.spark .main5 {
  background-color: #fbfbff;
}
.spark .main5 .inner_main {
  padding-top: 58px;
}
.spark .main5 .content .tag {
  font-size: 16px;
  color: #707481;
  text-align: center;
  line-height: 22px;
  margin-top: 15px;
}
.spark .main5 .content .spark_cover {
  padding-top: 50px;
  padding-bottom: 20px;
}
.spark .main5 .content .spark_cover .block {
  position: relative;
  top: 0;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
  border: 1px solid #E6EBF2;
  /* 等高级制：两平台卡片同高（旧站均 372）。Swiper 未初始化时 flex 默认 stretch 不生效，用 min-height 兜底，
     与旧站内容自然等高一致（内容更长时容器自动增高，min-height 仅保证下限） */
  min-height: 372px;
}
.spark .main5 .content .spark_cover .block:hover {
  top: -8px;
  box-shadow: 0 20px 20px -20px #dedede;
}
.spark .main5 .content .spark_cover .icon {
  position: relative;
}
.spark .main5 .content .spark_cover .icon .picture_container {
  padding-top: 29.16667%;
}
.spark .main5 .content .spark_cover .icon .picture_container img {
  width: 100%;
}
.spark .main5 .content .spark_cover .icon .title {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
  padding-left: 15px;
  font-size: 24px;
  color: #FFFFFF;
  line-height: 36px;
}
.spark .main5 .content .spark_cover .txt {
  background-color: #fff;
  padding: 20px 16px 16px;
}
.spark .main5 .content .spark_cover .txt .name {
  font-size: 14px;
  color: #121933;
  line-height: 20px;
}
.spark .main5 .content .spark_cover .txt .abstract {
  margin-top: 4px;
  font-size: 12px;
  color: #707481;
  line-height: 20px;
}

.spark .main6 {
  background-color: #f3f5fc;
}
.spark .main6 .inner_main {
  padding-top: 60px;
}
.spark .main6 .content .tag {
  font-size: 16px;
  color: #707481;
  text-align: center;
  line-height: 22px;
  margin-top: 15px;
}
.spark .main6 .content .block_box {
  padding-top: 60px;
}
.spark .main6 .content .block_box .block {
  width: 19%;
}
.spark .main6 .content .block_box .icon {
  width: 130px;
  margin: 0 auto;
}
.spark .main6 .content .block_box .icon .picture_container {
  padding-top: 100%;
}
.spark .main6 .content .block_box .txt {
  text-align: center;
  margin-top: 24px;
}
.spark .main6 .content .block_box .txt .name {
  font-size: 24px;
  color: #121933;
  line-height: 32px;
}
.spark .main6 .content .block_box .txt .abstract {
  opacity: 0.85;
  font-size: 12px;
  color: #707481;
  text-align: center;
  margin-top: 12px;
}
.spark .main6 .content .btn {
  margin-top: 60px;
  display: block;
  font-size: 14px;
  color: #004BFF;
  line-height: 22px;
  border: 1px solid #004BFF;
  -webkit-border-radius: 2px;
  border-radius: 2px;
  padding: 9px 32px;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}
.spark .main6 .content .btn:hover {
  color: #fff;
  background-color: #004BFF;
}

.spark .main7 .content {
  background-image: url(https://cdn-web.authine.com/dist/images/spark_bg2.png);
  background-color: #999;
}
.spark .main7 .content .index_title .title {
  color: #fff;
}
.spark .main7 .content .index_title .tag {
  color: #fff;
}
.spark .main7 .content .btn {
  border: 1px solid #DEE0EA;
  -webkit-border-radius: 2px;
  border-radius: 2px;
  font-size: 14px;
  color: #FFFFFF;
  line-height: 40px;
  padding: 0 32px;
  display: block;
  margin-top: 28px;
}

/* 渐入动画（对齐旧站 animate_fade：滚动进入视口时从下向上淡入；HTML 更新前先隐藏，避免 SSR/no-JS 空白） */
@-webkit-keyframes sparkFadeInUp50 { from { opacity: 0; -webkit-transform: translate3d(0, 50px, 0); transform: translate3d(0, 50px, 0); } to { opacity: 1; -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); } }
@keyframes sparkFadeInUp50 { from { opacity: 0; -webkit-transform: translate3d(0, 50px, 0); transform: translate3d(0, 50px, 0); } to { opacity: 1; -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); } }
@-webkit-keyframes sparkFadeInUp80 { from { opacity: 0; -webkit-transform: translate3d(0, 80px, 0); transform: translate3d(0, 80px, 0); } to { opacity: 1; -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); } }
@keyframes sparkFadeInUp80 { from { opacity: 0; -webkit-transform: translate3d(0, 80px, 0); transform: translate3d(0, 80px, 0); } to { opacity: 1; -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); } }

/* 进入视口前的隐藏态（仅当 html.js）；spark-reveal--ready 触发从下向上淡入 */
html.js .spark-reveal { opacity: 0; transform: translate3d(0, 50px, 0); transition: opacity .6s ease, transform .6s ease; }
html.js .spark-reveal.spark-reveal--80 { transform: translate3d(0, 80px, 0); }
/* ready 覆盖隐藏态（提高特异性，确保从 0→1 淡入 + 位移归位） */
html.js .spark-reveal.spark-reveal--ready { opacity: 1 !important; transform: none !important; }

/* 移动端对齐旧站：与 Web/dist/css/layout.css @media screen and (max-width: 768px) 的 .spark 段一致。
   spark.css 为最后加载的样式表，此 media 块以相同特异性后声明覆盖桌面 .block{width:19%} 等，
   使 .spark main2-7 在 <768px 下按旧站塌缩为单列/100% 宽。rem=clientWidth/7.5（useAdaptiveRoot），与旧站同。 */
@media screen and (max-width: 768px) {
  .spark .product_banner .mask .txt_box .title { text-align: center; font-size: 0.48rem; line-height: 0.6rem; }
  .spark .product_banner .mask .btn_box { text-align: center; }
  .spark .product_banner .mask .btn_box .btn { padding: 0.16rem 0.4rem; margin: 0 auto; display: inline-block; }
  .product_banner .mask .btn_box .btn { padding: 0 0.32rem; line-height: 38px; display: block; }
  .product_banner .mask .btn_box { display: flex; justify-content: center; }
  .spark .main1 .abstract { font-size: 0.24rem; text-align: justify; line-height: 0.36rem; }
  .spark .main2 .swiper-container { overflow: inherit; }
  .spark .main2 .swiper-container .swiper-slide { width: 6.2rem; }
  .spark .main2 .content .block_box { margin-top: 0.48rem; }
  .spark .main2 .content .block_box .block { padding: 0.54rem 0.32rem; }
  .spark .main2 .content .block_box .block .icon { width: 0.9rem; }
  .spark .main2 .content .block_box .block .txt .name { font-size: 0.32rem; line-height: 0.44rem; }
  .spark .main2 .content .block_box .block .txt .tag { font-size: 0.28rem; line-height: 0.4rem; }
  .spark .main2 .content .block_box .block .abstract { font-size: 0.28rem; line-height: 0.4rem; }
  .spark .main3 .spark_support .block:hover { top: 0; }
  .spark .main3 .spark_support .block .icon { width: 2.6rem; }
  .spark .main3 .spark_support .block .txt { flex: 1; width: auto; padding: 0.4rem 0.32rem; }
  .spark .main3 .spark_support .block .txt .name { font-size: 0.32rem; line-height: 0.4rem; }
  .spark .main3 .spark_support .block .txt .abstract { font-size: 0.24rem; line-height: 0.36rem; }
  .spark .main4 .content .tag { font-size: 0.28rem; line-height: 0.4rem; }
  .spark .main4 .content .spark_bright { padding-top: 0.37rem; }
  .spark .main4 .content .spark_bright .icon { width: 2.3rem; }
  .spark .main4 .content .spark_bright .txt .name { font-size: 0.32rem; line-height: 0.4rem; }
  .spark .main4 .content .spark_bright .txt .abstract { font-size: 0.24rem; line-height: 0.36rem; }
  .spark .main5 .content .tag { font-size: 0.28rem; line-height: 0.4rem; }
  .spark .main5 .content .spark_cover .icon .picture_container img { width: 100%; }
  .spark .main5 .content .spark_cover .swiper-slide .icon .picture_container img.Lshow { opacity: 0; }
  .spark .main5 .content .spark_cover .swiper-slide .icon .picture_container img.Lhide { opacity: 0; }
  .spark .main5 .content .spark_cover .swiper-slide .icon .picture_container img.LPhone { opacity: 1; }
  .spark .main5 .content .spark_cover .icon .title { font-size: 0.42rem; line-height: 0.54rem; padding-left: 0.56rem; }
  .spark .main5 .content .spark_cover .swiper-slide { flex: none; }
  .spark .main5 .content .spark_cover .mobile_swiper_btn { display: flex !important; }
  .spark .main5 .content .spark_cover .block:hover { top: 0; }
  .spark .main5 .content .spark_cover .block .txt { padding: 0.4rem 0.56rem; }
  .spark .main5 .content .spark_cover .block .txt .name { font-size: 0.32rem; line-height: 0.4rem; }
  .spark .main5 .content .spark_cover .block .txt .abstract { font-size: 0.24rem; line-height: 0.36rem; }
  .spark .main6 .content .block_box {
    padding-top: 0.6rem;
    -webkit-box-lines: multiple;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    -o-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .spark .main6 .content .block_box .block {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -moz-align-items: center;
    -ms-align-items: center;
    -o-align-items: center;
    -ms-flex-align: center;
    align-items: center;
  }
  .spark .main6 .content .block_box .block:not(:first-child) { margin-top: 0.4rem; }
  .spark .main6 .content .block_box .icon { width: 1.3rem; margin: 0; }
  .spark .main6 .content .block_box .txt { margin-top: 0; padding-left: 0.2rem; text-align: left; }
  .spark .main6 .content .block_box .txt .name { font-size: 0.32rem; line-height: 0.4rem; text-align: left; }
  .spark .main6 .content .block_box .txt .abstract { font-size: 0.24rem; text-align: justify; line-height: 0.36rem; margin-top: 12px; }
  .spark .main6 .content .btn {
    margin-top: 0.6rem;
    font-size: 0.28rem;
    line-height: 0.44rem;
    padding: 0.16rem 0;
    width: 75.46667%;
    text-align: center;
  }
  .spark .main7 .content .index_title .title { font-size: 0.42rem; line-height: 0.54rem; }
  .spark .main7 .content .index_title .tag { font-size: 0.28rem; line-height: 0.4rem; }
  .spark .main7 .content .btn {
    margin-top: 0.6rem;
    font-size: 0.28rem;
    line-height: 0.44rem;
    padding: 0.16rem 0;
    width: 75.46667%;
    text-align: center;
  }
}

