@media (max-width: 767.98px) {
  html {
    font-size: calc(100vw / 18);
  }
}
@media (min-width: 768px) and (max-width: 1921.99px) {
  html {
    font-size: calc(100vw / 19.2);
  }
}
@media (min-width: 1922px) and (max-width: 4000px) {
  html {
    font-size: calc(100vw / 22.4);
  }
}
/* 手机 */
@media (max-width: 767.98px) {
  /* banner */
  .banner {
    width: 100%;
    height: 20rem;
    position: relative;
    overflow: hidden;
    isolation: isolate;
    background: #031329;
    color: #fff;
  }
  .banner .banner_swiper,
  .banner .swr,
  .banner .hassource {
    width: 100%;
    height: 100%;
  }
  .banner .hassource {
    position: relative;
    overflow: hidden;
  }
  .banner .banner_media {
    position: absolute;
    inset: 0;
    overflow: hidden;
    pointer-events: none;
  }
  .banner .banner_image,
  .banner .banner_video {
    display: block;
    width: 100%;
    height: 100%;
    max-width: none;
    position: absolute;
    inset: 0;
    object-fit: cover;
    object-position: 70%;
  }
  .banner .banner_image {
    z-index: 1;
  }
  .banner .banner_video {
    z-index: 0;
    pointer-events: none;
  }
  .banner .banner_content {
    width: 93%;
    margin: 0 auto;
    position: absolute;
    top: 18vh;
    right: 0.66666667rem;
    left: 0.66666667rem;
    z-index: 2;
  }
  .banner .banner_content p {
    margin: 0 0 1.33333333rem;
    font-size: 0.8rem;
    font-weight: 400;
    line-height: 1.5;
  }
  .banner .banner_content h1 {
    margin: 0 0 1.33333333rem;
    font-size: 1.46666667rem;
    font-weight: 700;
    line-height: 1.35;
  }
  .banner .banner_content span {
    font-size: 0.8rem;
    font-weight: 400;
    line-height: 1.5;
  }
  /* 易境 · YiOS */
  .yios {
    width: 100%;
    height: auto;
    padding: 3.33333333rem 0 3.66666667rem;
    box-sizing: border-box;
    display: block;
    background-color: #f4f7fb;
  }
  .yios .w-1500 {
    width: 90%;
    margin: 0 auto;
  }
  .yios .w-1500 .titdeic {
    width: 100%;
    margin: 0 auto 2rem;
    display: grid;
    gap: 0.66666667rem;
    text-align: center;
  }
  .yios .w-1500 .titdeic h3 {
    margin: 0;
    font-size: 0.93333333rem;
    font-weight: normal;
    line-height: 1.45;
    color: #1768d9;
  }
  .yios .w-1500 .titdeic .jianjieshaun {
    font-size: 0.66666667rem;
    font-weight: 400;
    line-height: 1.8;
    color: #333;
    overflow-wrap: break-word;
  }
  .yios .w-1500 .titdeic .jianjieshaun p {
    margin: 0;
  }
  .yios .w-1500 .xiafangmokuai {
    width: 100%;
  }
  .yios .w-1500 .xiafangmokuai .yios_features {
    width: 100%;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 1rem;
    list-style: none;
  }
  .yios .w-1500 .xiafangmokuai .yios_features li {
    flex: none;
    width: 100%;
    min-width: 0;
    display: flex;
    flex-direction: column;
  }
  .yios .w-1500 .xiafangmokuai .yios_features li h4 {
    margin: 0;
    padding: 0.66666667rem 1rem 1.06666667rem;
    border-radius: 0.53333333rem 0.53333333rem 0 0;
    background: linear-gradient(110deg, #244a69 0%, #2d76c8 78%);
    font-size: 0.8rem;
    font-weight: normal;
    line-height: 1.5;
    color: #fff;
  }
  .yios .w-1500 .xiafangmokuai .yios_features li .yios_feature_text {
    flex: none;
    min-height: 0;
    margin-top: -0.4rem;
    padding: 0.8rem 1rem 1.06666667rem;
    border-radius: 0.53333333rem;
    background: linear-gradient(180deg, #fff 0%, #fff 52%, rgba(255, 255, 255, 0) 100%);
    position: relative;
  }
  .yios .w-1500 .xiafangmokuai .yios_features li .yios_feature_text p {
    margin: 0;
    font-size: 0.66666667rem;
    font-weight: 400;
    line-height: 1.8;
    color: #333;
    overflow-wrap: break-word;
  }
  .yios .w-1500 .xiafangmokuai .yios_progress {
    margin: 1.66666667rem 0 0;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 0.26666667rem 0.33333333rem;
    font-size: 0.66666667rem;
    font-weight: 400;
    line-height: 1.8;
    text-align: center;
    color: #777;
  }
  .yios .w-1500 .xiafangmokuai .yios_progress .yios_follow {
    display: inline-flex;
    align-items: center;
    gap: 0.26666667rem;
    color: #5e94ed;
    white-space: nowrap;
  }
  .yios .w-1500 .xiafangmokuai .yios_progress .yios_follow img {
    width: 1.06666667rem;
    height: 1.06666667rem;
    display: block;
    flex-shrink: 0;
    object-fit: contain;
  }
  /* 易境操作系统 × 计算芯片 全栈协同架构 */
  .czxt {
    width: 100%;
    height: 26.66666667rem;
    display: grid;
    align-content: center;
    position: relative;
    isolation: isolate;
    overflow: hidden;
    background-color: #03182e;
    color: #fff;
  }
  .czxt .w-1500 {
    width: 90%;
    margin: 0 auto;
  }
  .czxt .w-1500 .czxt_backdrops {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
  }
  .czxt .w-1500 .czxt_backdrops::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0, 13, 30, 0.35), rgba(0, 16, 35, 0.15) 45%, rgba(0, 13, 30, 0.56)), linear-gradient(90deg, rgba(0, 16, 35, 0.2), transparent 75%);
  }
  .czxt .w-1500 .czxt_backdrops .czxt_background {
    position: absolute;
    inset: 0;
    background-position: 60% center;
    background-size: cover;
    background-repeat: no-repeat;
    opacity: 0;
    transition: opacity 0.75s ease;
  }
  .czxt .w-1500 .czxt_backdrops .czxt_background.is-active {
    opacity: 1;
  }
  .czxt .w-1500 .czxt_title {
    position: absolute;
    top: 3.33333333rem;
    right: 5%;
    left: 5%;
    z-index: 2;
    margin: 0;
    font-size: min(0.93333333rem, 4vh, 26px);
    font-weight: normal;
    line-height: 1.45;
    text-align: center;
    text-wrap: balance;
    word-break: keep-all;
    color: #fff;
  }
  .czxt .w-1500 .czxt_layout {
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    margin-top: 2rem;
    gap: min(1.06666667rem, 3vh);
  }
  .czxt .w-1500 .czxt_panels {
    width: 100%;
    height: min(8rem, 34vh);
    min-height: 0;
    flex-shrink: 0;
    order: 1;
  }
  .czxt .w-1500 .czxt_panel {
    width: 100%;
    height: 100%;
    padding: min(1.06666667rem, 2vh);
    border: 0.06666667rem solid rgba(190, 219, 249, 0.22);
    border-radius: 0.53333333rem;
    box-sizing: border-box;
    background: linear-gradient(135deg, rgba(5, 30, 55, 0.88), rgba(5, 27, 48, 0.68));
  }
  .czxt .w-1500 .czxt_panel[hidden] {
    display: none;
  }
  .czxt .w-1500 .czxt_panel.is-active {
    animation: czxtContentIn 0.6s ease both;
  }
  .czxt .w-1500 .czxt_panel .czxt_panel_heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: min(0.33333333rem, 1vh);
    margin-bottom: min(0.8rem, 2vh);
  }
  .czxt .w-1500 .czxt_panel .czxt_panel_heading h4 {
    margin: 0;
    font-size: min(0.8rem, 3.8vh, 22px);
    font-weight: normal;
    line-height: 1.45;
    color: #fff;
  }
  .czxt .w-1500 .czxt_panel .czxt_panel_heading img {
    width: min(1.73333333rem, 6vh);
    height: min(1.73333333rem, 6vh);
    display: block;
    flex-shrink: 0;
    object-fit: contain;
    filter: brightness(0) invert(1);
  }
  .czxt .w-1500 .czxt_panel p {
    margin: 0;
    font-size: min(0.66666667rem, 3.2vh, 18px);
    font-weight: 400;
    line-height: 1.8;
    color: rgba(255, 255, 255, 0.88);
    overflow-wrap: break-word;
  }
  .czxt .w-1500 .czxt_panel:focus-visible {
    outline: 0.06666667rem solid #76baff;
    outline-offset: 0.26666667rem;
  }
  .czxt .w-1500 .czxt_nav {
    width: 100%;
    padding: 0;
    box-sizing: border-box;
    position: relative;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: min(0.4rem, 1.4vh);
    flex-shrink: 0;
    order: 0;
  }
  .czxt .w-1500 .czxt_nav .czxt_tab {
    width: 100%;
    min-height: min(max(2.13333333rem, 44px), 8vh);
    padding: min(0.4rem, 0.9vh) 0.13333333rem;
    border: 0.06666667rem solid rgba(144, 188, 235, 0.32);
    border-radius: 0.33333333rem;
    background: rgba(6, 29, 52, 0.72);
    appearance: none;
    font-family: inherit;
    font-size: min(0.66666667rem, 3vh, 18px);
    font-weight: 400;
    line-height: 1.4;
    text-align: center;
    color: rgba(255, 255, 255, 0.8);
    cursor: pointer;
    transition: color 0.25s ease, background-color 0.25s ease, border-color 0.25s ease;
  }
  .czxt .w-1500 .czxt_nav .czxt_tab.is-active {
    font-weight: normal;
    border-color: #64a6fa;
    background-color: #1768d9;
    color: #fff;
  }
  .czxt .w-1500 .czxt_nav .czxt_tab:hover {
    color: #fff;
  }
  .czxt .w-1500 .czxt_nav .czxt_tab:focus-visible {
    outline: 0.06666667rem solid #76baff;
    outline-offset: 0.2rem;
  }
  .czxt .w-1500 .czxt_nav .czxt_ruler {
    display: none;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 0.33333333rem;
    background: repeating-linear-gradient(180deg, rgba(178, 207, 237, 0.32) 0, rgba(178, 207, 237, 0.32) 0.06666667rem, transparent 0.06666667rem, transparent 0.26666667rem);
    pointer-events: none;
  }
  .czxt .w-1500 .czxt_nav .czxt_nav_thumb {
    position: absolute;
    top: var(--czxt-thumb-top, 0px);
    left: 0;
    width: 100%;
    height: var(--czxt-thumb-height, 1.6rem);
    border-radius: 0.2rem;
    background: linear-gradient(180deg, #82c5ff, #1768d9);
    transition: top 0.6s cubic-bezier(0.22, 1, 0.36, 1), height 0.3s ease;
  }
  @keyframes czxtContentIn {
    from {
      opacity: 0;
      transform: translateY(0.4rem);
    }
    to {
      opacity: 1;
      transform: translateY(0);
    }
  }
  /* 云帆 · YiMig */
  .yf {
    width: 100%;
    height: 100%;
    background-color: #fff;
  }
  .yf .shangbian {
    width: 100%;
    min-height: 0;
    padding: 3.33333333rem 0 2.33333333rem;
    display: grid;
    align-content: center;
  }
  .yf .shangbian .w-1500 {
    width: 90%;
    margin: 0 auto;
  }
  .yf .shangbian .w-1500 .zuoyoujieshou {
    margin-bottom: 2.13333333rem;
    display: grid;
    gap: 1.33333333rem;
    justify-content: space-between;
    align-items: flex-start;
  }
  .yf .shangbian .w-1500 .zuoyoujieshou .left {
    width: 100%;
    display: grid;
    gap: 0.8rem;
  }
  .yf .shangbian .w-1500 .zuoyoujieshou .left h3 {
    font-size: 0.93333333rem;
    font-weight: normal;
    color: #1768d9;
  }
  .yf .shangbian .w-1500 .zuoyoujieshou .left .jianjies {
    font-size: 0.66666667rem;
    color: #333;
    line-height: 1.8;
  }
  .yf .shangbian .w-1500 .zuoyoujieshou .right {
    width: 100%;
    display: grid;
    gap: 0.8rem;
    position: relative;
    min-height: 0;
  }
  .yf .shangbian .w-1500 .zuoyoujieshou .right h2 {
    font-size: 0.8rem;
    color: #333;
    font-weight: 400;
  }
  .yf .shangbian .w-1500 .zuoyoujieshou .right .dcaoiscn {
    position: relative;
    right: 0;
    bottom: 0;
    display: grid;
    align-content: center;
    width: 8rem;
    height: 1.86666667rem;
    border-radius: 1.33333333rem;
    text-align: center;
    background-color: #1768d9;
    color: #fff;
    font-size: 0.66666667rem;
  }
  .yf .shangbian .w-1500 .cpjgou {
    width: 100%;
    color: #333;
  }
  .yf .shangbian .w-1500 .cpjgou .cpjgou_intro h3 {
    margin: 0 0 0.66666667rem;
    padding-left: 0.53333333rem;
    border-left: 0.13333333rem solid #1768d9;
    font-size: 0.8rem;
    font-weight: 400;
    line-height: 1.4;
  }
  .yf .shangbian .w-1500 .cpjgou .cpjgou_intro p {
    margin: 0;
    padding-left: 0.66666667rem;
    font-size: 0.66666667rem;
    line-height: 1.8;
    color: #717b8b;
  }
  .yf .shangbian .w-1500 .cpjgou .cpjgou_flow {
    width: 100%;
    margin: 1.73333333rem auto 0;
  }
  .yf .shangbian .w-1500 .cpjgou .cpjgou_flow .migration_input {
    min-height: 0;
    padding: 0.8rem 0.93333333rem;
    border: 0.06666667rem solid #92accb;
    border-radius: 0.53333333rem;
    box-sizing: border-box;
    display: grid;
    align-items: center;
    gap: 0.53333333rem;
  }
  .yf .shangbian .w-1500 .cpjgou .cpjgou_flow .migration_input .migration_input_tag {
    width: 2.93333333rem;
    height: 1.6rem;
    border-radius: 0.33333333rem;
    display: grid;
    place-items: center;
    flex-shrink: 0;
    background-color: #1768d9;
    font-size: 0.8rem;
    font-weight: 400;
    color: #fff;
  }
  .yf .shangbian .w-1500 .cpjgou .cpjgou_flow .migration_input p {
    margin: 0;
    font-size: 0.66666667rem;
    font-weight: 400;
    line-height: 1.8;
  }
  .yf .shangbian .w-1500 .cpjgou .cpjgou_flow .flow_arrow {
    width: 0.06666667rem;
    position: absolute;
    z-index: 1;
    display: block;
    background-color: #4d7196;
    pointer-events: none;
  }
  .yf .shangbian .w-1500 .cpjgou .cpjgou_flow .flow_arrow::after {
    content: '';
    width: 0;
    height: 0;
    position: absolute;
    left: 50%;
    bottom: -0.26666667rem;
    border-right: 0.26666667rem solid transparent;
    border-left: 0.26666667rem solid transparent;
    border-top: 0.4rem solid #4d7196;
    transform: translateX(-50%);
  }
  .yf .shangbian .w-1500 .cpjgou .cpjgou_flow .migration_columns {
    margin-top: 1.46666667rem;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0.93333333rem;
    align-items: stretch;
  }
  .yf .shangbian .w-1500 .cpjgou .cpjgou_flow .migration_pipeline {
    padding: 0.93333333rem 0.8rem 1.2rem;
    border: 0.06666667rem solid #92accb;
    border-radius: 0.53333333rem;
    box-sizing: border-box;
    position: relative;
    background-color: #f4f7fb;
  }
  .yf .shangbian .w-1500 .cpjgou .cpjgou_flow .migration_pipeline > h4 {
    margin: 0 0 0.93333333rem;
    font-size: 0.8rem;
    font-weight: 400;
    line-height: 1.4;
  }
  .yf .shangbian .w-1500 .cpjgou .cpjgou_flow .migration_pipeline .pipeline_entry {
    top: -1.6rem;
    left: 50%;
    height: 1.06666667rem;
  }
  .yf .shangbian .w-1500 .cpjgou .cpjgou_flow .migration_steps {
    margin: 0;
    padding: 0;
    display: grid;
    gap: 1.46666667rem;
    list-style: none;
  }
  .yf .shangbian .w-1500 .cpjgou .cpjgou_flow .migration_steps > li {
    min-height: 0;
    padding: 0.8rem;
    border: 0.06666667rem solid #89a4c5;
    border-radius: 0.4rem;
    box-sizing: border-box;
    position: relative;
    background-color: #fff;
  }
  .yf .shangbian .w-1500 .cpjgou .cpjgou_flow .migration_steps > li:nth-child(2),
  .yf .shangbian .w-1500 .cpjgou .cpjgou_flow .migration_steps > li:last-child {
    min-height: 0;
  }
  .yf .shangbian .w-1500 .cpjgou .cpjgou_flow .migration_steps > li .flow_arrow {
    bottom: -1.06666667rem;
    left: 50%;
    height: 0.93333333rem;
  }
  .yf .shangbian .w-1500 .cpjgou .cpjgou_flow .migration_steps > li p {
    margin: 0.66666667rem 0 0;
    font-size: 0.66666667rem;
    line-height: 1.8;
    text-align: left;
  }
  .yf .shangbian .w-1500 .cpjgou .cpjgou_flow .migration_step_heading {
    display: flex;
    align-items: center;
    gap: 0.66666667rem;
  }
  .yf .shangbian .w-1500 .cpjgou .cpjgou_flow .migration_step_heading .migration_step_number {
    width: 1.73333333rem;
    height: 1.73333333rem;
    display: grid;
    place-items: center;
    flex-shrink: 0;
    border-radius: 0.33333333rem;
    background-color: #1768d9;
    font-size: 0.8rem;
    font-weight: 400;
    color: #fff;
  }
  .yf .shangbian .w-1500 .cpjgou .cpjgou_flow .migration_step_heading h5 {
    margin: 0;
    font-size: 0.8rem;
    font-weight: 400;
    line-height: 1.4;
  }
  .yf .shangbian .w-1500 .cpjgou .cpjgou_flow .migration_links {
    position: relative;
    display: flex;
    gap: 0.4rem;
  }
  .yf .shangbian .w-1500 .cpjgou .cpjgou_flow .migration_links .migration_link {
    flex: 1;
    height: auto;
    padding: 0.4rem 0;
    position: relative;
    top: 0;
    right: auto;
    left: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.26666667rem;
    background-color: transparent;
  }
  .yf .shangbian .w-1500 .cpjgou .cpjgou_flow .migration_links .migration_link::after {
    content: '';
    width: 0;
    height: 0;
    position: static;
    border-right: 0.26666667rem solid transparent;
    border-left: 0.26666667rem solid transparent;
    border-top: 0.4rem solid #4d7196;
    border-bottom: 0;
    transform: none;
  }
  .yf .shangbian .w-1500 .cpjgou .cpjgou_flow .migration_links .migration_link span {
    position: static;
    font-size: 0.66666667rem;
    font-weight: 400;
    line-height: 1.5;
    text-align: center;
    color: #4d7196;
  }
  .yf .shangbian .w-1500 .cpjgou .cpjgou_flow .migration_links .migration_link.is-reverse {
    top: 0;
  }
  .yf .shangbian .w-1500 .cpjgou .cpjgou_flow .migration_links .migration_link.is-reverse::after {
    border-top: 0;
    border-bottom: 0.4rem solid #4d7196;
  }
  .yf .shangbian .w-1500 .cpjgou .cpjgou_flow .migration_links .migration_link:last-child {
    top: 0;
  }
  .yf .shangbian .w-1500 .cpjgou .cpjgou_flow .migration_engine {
    padding: 0.8rem;
    border: 0.06666667rem solid #92accb;
    border-radius: 0.53333333rem;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
    text-align: center;
  }
  .yf .shangbian .w-1500 .cpjgou .cpjgou_flow .migration_engine > h4 {
    margin: 0;
    font-size: 0.8rem;
    font-weight: 400;
    line-height: 1.4;
  }
  .yf .shangbian .w-1500 .cpjgou .cpjgou_flow .migration_engine .migration_engine_card {
    padding: 0.8rem;
    border: 0.06666667rem solid #89a4c5;
    border-radius: 0.4rem;
    box-sizing: border-box;
    background-color: #f4f7fb;
  }
  .yf .shangbian .w-1500 .cpjgou .cpjgou_flow .migration_engine .migration_engine_card h5 {
    margin: 0 0 0.53333333rem;
    font-size: 0.8rem;
    font-weight: 400;
    line-height: 1.4;
  }
  .yf .shangbian .w-1500 .cpjgou .cpjgou_flow .migration_engine .migration_engine_card p {
    margin: 0;
    font-size: 0.66666667rem;
    line-height: 1.8;
    color: #555;
  }
  .yf .shangbian .w-1500 .cpjgou .cpjgou_flow .migration_engine .migration_engine_card.migration_diagnosis,
  .yf .shangbian .w-1500 .cpjgou .cpjgou_flow .migration_engine .migration_engine_card.migration_knowledge,
  .yf .shangbian .w-1500 .cpjgou .cpjgou_flow .migration_engine .migration_engine_card.migration_repair {
    min-height: 0;
  }
  .yf .shangbian .w-1500 .cpjgou .cpjgou_flow .migration_engine .migration_engine_card.migration_repair {
    flex: 1;
  }
  .yf .shangbian .w-1500 .cpjgou .cpjgou_flow .migration_engine .migration_engine_card .migration_engine_detail {
    min-height: 0;
    margin-top: 0.53333333rem;
    padding: 0.53333333rem 0.66666667rem;
    border: 0.06666667rem solid #89a4c5;
    border-radius: 0.33333333rem;
    box-sizing: border-box;
    display: grid;
    align-content: center;
    background-color: #fff;
    font-size: 0.66666667rem;
    line-height: 1.8;
    color: #555;
  }
  .yf .shangbian .w-1500 .cpjgou .cpjgou_flow .migration_delivery {
    width: 100%;
    min-height: 0;
    margin-top: 1.46666667rem;
    padding: 0.93333333rem 0.8rem;
    border: 0.06666667rem solid #89a4c5;
    border-radius: 0.53333333rem;
    box-sizing: border-box;
    position: relative;
    background-color: #f4f7fb;
  }
  .yf .shangbian .w-1500 .cpjgou .cpjgou_flow .migration_delivery .flow_arrow {
    top: -1.6rem;
    left: 50%;
    height: 1.06666667rem;
  }
  .yf .shangbian .w-1500 .cpjgou .cpjgou_flow .migration_delivery p {
    margin: 0.66666667rem 0 0;
    font-size: 0.66666667rem;
    line-height: 1.8;
    text-align: center;
    color: #555;
  }
  .yf .hxyc {
    width: 100%;
    min-height: 0;
    padding: 1rem 0 3.33333333rem;
    display: grid;
    align-content: center;
  }
  .yf .hxyc .w-1500 {
    width: 90%;
    margin: 0 auto;
  }
  .yf .hxyc .w-1500 h3 {
    font-size: 0.93333333rem;
    color: #1768d9;
    font-weight: normal;
    margin-bottom: 1.46666667rem;
    text-align: left;
  }
  .yf .hxyc .w-1500 .lischlist {
    width: 100%;
  }
  .yf .hxyc .w-1500 .lischlist .lisch_cards {
    width: 100%;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0.93333333rem;
    list-style: none;
  }
  .yf .hxyc .w-1500 .lischlist .lisch_cards .lisch_card {
    min-width: 0;
    min-height: 0;
    padding: 1.2rem 1.2rem 1.33333333rem;
    border-radius: 0.53333333rem;
    box-sizing: border-box;
    position: relative;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    background-color: #f4f7fb;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    box-shadow: 0 0.13333333rem 0.33333333rem rgba(29, 56, 86, 0.08);
    transform: translateY(0);
    transition: none;
  }
  .yf .hxyc .w-1500 .lischlist .lisch_cards .lisch_card:hover {
    transform: translateY(0);
    box-shadow: 0 0.13333333rem 0.33333333rem rgba(29, 56, 86, 0.08);
  }
  .yf .hxyc .w-1500 .lischlist .lisch_cards .lisch_card::before {
    content: '';
    width: 3.33333333rem;
    height: 0.2rem;
    position: absolute;
    top: 0;
    left: 0.2rem;
    background-color: #1768d9;
  }
  .yf .hxyc .w-1500 .lischlist .lisch_cards .lisch_card .lisch_card_top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.8rem;
  }
  .yf .hxyc .w-1500 .lischlist .lisch_cards .lisch_card .lisch_card_top .lisch_icon {
    width: 2.93333333rem;
    height: 2.93333333rem;
    display: grid;
    place-items: center;
    flex-shrink: 0;
    background-color: #fff;
  }
  .yf .hxyc .w-1500 .lischlist .lisch_cards .lisch_card .lisch_card_top .lisch_icon img {
    width: 1.86666667rem;
    height: 1.86666667rem;
    display: block;
    object-fit: contain;
  }
  .yf .hxyc .w-1500 .lischlist .lisch_cards .lisch_card .lisch_card_top .lisch_number {
    font-size: 0.66666667rem;
    font-weight: 400;
    line-height: 1.5;
    color: #adc2d8;
  }
  .yf .hxyc .w-1500 .lischlist .lisch_cards .lisch_card h4 {
    margin: 1.06666667rem 0 0.8rem;
    padding-bottom: 0.8rem;
    border-bottom: 0.06666667rem solid #e6edf5;
    font-size: 0.8rem;
    font-weight: 400;
    line-height: 1.4;
    color: #2585f7;
  }
  .yf .hxyc .w-1500 .lischlist .lisch_cards .lisch_card p {
    margin: 0;
    font-size: 0.66666667rem;
    font-weight: 400;
    line-height: 1.8;
    color: #555;
    overflow-wrap: break-word;
  }
  .yf .hxyc .w-1500 .lischlist .lisch_cards .lisch_card .lisch_mark {
    margin-top: auto;
    padding-top: 1.06666667rem;
    display: flex;
    align-items: center;
    gap: 0.26666667rem;
  }
  .yf .hxyc .w-1500 .lischlist .lisch_cards .lisch_card .lisch_mark::before,
  .yf .hxyc .w-1500 .lischlist .lisch_cards .lisch_card .lisch_mark::after {
    content: '';
    height: 0.13333333rem;
    display: block;
  }
  .yf .hxyc .w-1500 .lischlist .lisch_cards .lisch_card .lisch_mark::before {
    width: 1.46666667rem;
    background-color: #2585f7;
  }
  .yf .hxyc .w-1500 .lischlist .lisch_cards .lisch_card .lisch_mark::after {
    width: 0.53333333rem;
    background-color: #7e6bc6;
  }
  /* 知识库 */
  .zhishiku {
    width: 100%;
    height: auto;
    display: grid;
    align-content: center;
    background-position: bottom;
    background-repeat: no-repeat;
    background-size: cover;
  }
  .zhishiku .w-1500 {
    width: 90%;
    margin: 2.66666667rem auto;
  }
  .zhishiku .w-1500 .cniasnscaonc {
    width: 100%;
  }
  .zhishiku .w-1500 .cniasnscaonc .knowledge_stats {
    width: 100%;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0.93333333rem;
    list-style: none;
  }
  .zhishiku .w-1500 .cniasnscaonc .knowledge_stats .knowledge_stat {
    min-width: 0;
    min-height: 8.33333333rem;
    padding: 1.33333333rem 1.06666667rem;
    border-radius: 0.53333333rem;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.8rem;
    background-color: rgba(255, 255, 255, 0.12);
    text-align: center;
    color: #fff;
  }
  .zhishiku .w-1500 .cniasnscaonc .knowledge_stats .knowledge_stat .knowledge_value {
    display: flex;
    align-items: baseline;
    justify-content: center;
    gap: 0.53333333rem;
  }
  .zhishiku .w-1500 .cniasnscaonc .knowledge_stats .knowledge_stat .knowledge_value strong {
    font-size: 1.86666667rem;
    font-weight: 700;
    line-height: 1.2;
  }
  .zhishiku .w-1500 .cniasnscaonc .knowledge_stats .knowledge_stat .knowledge_value sup {
    font-size: 0.8rem;
    font-weight: 400;
    line-height: 1;
    vertical-align: baseline;
  }
  .zhishiku .w-1500 .cniasnscaonc .knowledge_stats .knowledge_stat p {
    margin: 0;
    font-size: 0.66666667rem;
    font-weight: 400;
    line-height: 1.8;
  }
  /* 为什么选择云帆 */
  .whyyf {
    width: 100%;
    height: auto;
    display: grid;
    align-content: center;
    background-color: #fff;
  }
  .whyyf .w-1500 {
    width: 90%;
    margin: 3.33333333rem auto 3.66666667rem;
  }
  .whyyf .w-1500 h3 {
    font-size: 0.93333333rem;
    color: #1768d9;
    margin-bottom: 2rem;
    text-align: center;
  }
  .whyyf .w-1500 .divnidnvlist {
    --migration-active-grow: 1.95;
    width: 100%;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0.93333333rem;
  }
  .whyyf .w-1500 .divnidnvlist .migration_card {
    min-width: 0;
    height: 14.66666667rem;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0.53333333rem;
    box-sizing: border-box;
    flex: 1 1 0;
    display: block;
    position: relative;
    overflow: hidden;
    background-color: #e2ebf2;
    color: #333;
    font: inherit;
    text-align: left;
    appearance: none;
    cursor: pointer;
    touch-action: manipulation;
    transition: none;
  }
  .whyyf .w-1500 .divnidnvlist .migration_card.is-active {
    flex-grow: var(--migration-active-grow);
  }
  .whyyf .w-1500 .divnidnvlist .migration_card:focus-visible {
    outline: 0.06666667rem solid #1768d9;
    outline-offset: 0.2rem;
  }
  .whyyf .w-1500 .divnidnvlist .migration_card .migration_image {
    width: 100%;
    height: 100%;
    display: block;
    position: absolute;
    inset: 0;
    object-fit: cover;
    object-position: center;
  }
  .whyyf .w-1500 .divnidnvlist .migration_card .migration_text {
    width: 100%;
    padding: 1.2rem 1.06666667rem;
    box-sizing: border-box;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    opacity: 1;
    transition: none;
  }
  .whyyf .w-1500 .divnidnvlist .migration_card .migration_text .migration_name {
    margin: 0 0 0.66666667rem;
    display: block;
    font-size: 0.8rem;
    font-weight: 400;
    line-height: 1.4;
  }
  .whyyf .w-1500 .divnidnvlist .migration_card .migration_text .migration_description {
    display: block;
    font-size: 0.66666667rem;
    font-weight: 400;
    line-height: 1.6;
    overflow-wrap: break-word;
  }
  .whyyf .w-1500 .divnidnvlist .migration_card .migration_text_expanded {
    width: 100%;
    display: none;
    opacity: 0;
    pointer-events: none;
  }
  .whyyf .w-1500 .divnidnvlist[data-migration-layout] .migration_card.is-active .migration_text {
    opacity: 0;
  }
  .whyyf .w-1500 .divnidnvlist[data-migration-layout] .migration_card.is-active .migration_text_expanded {
    opacity: 1;
    transition-delay: 0.12s;
  }
}
@media (max-width: 767.98px) and (prefers-reduced-motion: reduce) {
  .czxt .w-1500 .czxt_background,
  .czxt .w-1500 .czxt_tab,
  .czxt .w-1500 .czxt_nav_thumb {
    transition: none;
  }
  .czxt .w-1500 .czxt_panel.is-active {
    animation: none;
  }
}
@media (max-width: 767.98px) and (max-height: 480px) and (orientation: landscape) {
  .czxt .w-1500 .czxt_title {
    top: 3rem;
  }
  .czxt .w-1500 .czxt_layout {
    padding: calc((45rem / 15) + 7vh) 0 2vh;
    gap: 2vh;
  }
  .czxt .w-1500 .czxt_panels {
    height: 30vh;
  }
}
@media (max-width: 767.98px) and (prefers-reduced-motion: reduce) {
  .whyyf .w-1500 .divnidnvlist .migration_card,
  .whyyf .w-1500 .divnidnvlist .migration_card .migration_text {
    transition: none;
  }
}
/* pc */
@media (min-width: 768px) {
  /* banner */
  .banner {
    width: 100%;
    height: 100vh;
    position: relative;
    overflow: hidden;
    isolation: isolate;
    background: #031329;
    color: #fff;
  }
  .banner .banner_swiper,
  .banner .swr,
  .banner .hassource {
    width: 100%;
    height: 100%;
  }
  .banner .hassource {
    position: relative;
    overflow: hidden;
  }
  .banner .banner_media {
    position: absolute;
    inset: 0;
    overflow: hidden;
    pointer-events: none;
  }
  .banner .banner_image,
  .banner .banner_video {
    display: block;
    width: 100%;
    height: 100%;
    max-width: none;
    position: absolute;
    inset: 0;
    object-fit: cover;
    object-position: center;
  }
  .banner .banner_image {
    z-index: 1;
  }
  .banner .banner_video {
    z-index: 0;
    pointer-events: none;
  }
  .banner .banner_content {
    width: 15rem;
    margin: 0 auto;
    position: absolute;
    top: 35vh;
    right: 2rem;
    left: 2rem;
    z-index: 2;
  }
  .banner .banner_content p {
    margin: 0 0 0.6rem;
    font-size: 0.3rem;
    font-weight: 400;
    line-height: 1.5;
  }
  .banner .banner_content h1 {
    margin: 0 0 0.7rem;
    font-size: 0.5rem;
    font-weight: 700;
    line-height: 1.35;
  }
  .banner .banner_content span {
    display: block;
    font-size: 0.3rem;
    font-weight: 400;
    line-height: 1.5;
  }
  /* 易境 · YiOS */
  .yios {
    width: 100%;
    height: 9rem;
    display: grid;
    align-content: center;
    background-color: #f4f7fb;
  }
  .yios .w-1500 {
    width: 15rem;
    margin: 0 auto;
  }
  .yios .w-1500 .titdeic {
    width: 9.8rem;
    margin: 0 auto 1.05rem;
    display: grid;
    gap: 0.6rem;
    justify-content: center;
    text-align: center;
  }
  .yios .w-1500 .titdeic h3 {
    font-size: 0.3rem;
    color: #1768d9;
  }
  .yios .w-1500 .titdeic .jianjieshaun {
    font-size: 0.2rem;
    color: #333;
  }
  .yios .w-1500 .xiafangmokuai {
    width: 100%;
  }
  .yios .w-1500 .xiafangmokuai .yios_features {
    width: 100%;
    margin: 0;
    padding: 0;
    display: flex;
    align-items: stretch;
    gap: 0.6rem;
    list-style: none;
  }
  .yios .w-1500 .xiafangmokuai .yios_features li {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
  }
  .yios .w-1500 .xiafangmokuai .yios_features li h4 {
    margin: 0;
    padding: 0.3rem 0.36rem 0.4rem;
    border-radius: 0.1rem 0.1rem 0 0;
    background: linear-gradient(110deg, #244a69 0%, #2d76c8 78%);
    font-size: 0.24rem;
    font-weight: 700;
    line-height: 1.5;
    color: #fff;
  }
  .yios .w-1500 .xiafangmokuai .yios_features li .yios_feature_text {
    flex: 1;
    min-height: 2.8rem;
    margin-top: -0.1rem;
    padding: 0.26rem 0.36rem 0.6rem;
    border-radius: 0.1rem 0.1rem 0 0;
    background: linear-gradient(180deg, #fff 0%, #fff 52%, rgba(255, 255, 255, 0) 100%);
    position: relative;
  }
  .yios .w-1500 .xiafangmokuai .yios_features li .yios_feature_text p {
    margin: 0;
    font-size: 0.18rem;
    font-weight: 400;
    line-height: 2;
    color: #333;
    overflow-wrap: break-word;
  }
  .yios .w-1500 .xiafangmokuai .yios_progress {
    margin: 0.65rem 0 0;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 0.04rem;
    font-size: 0.18rem;
    font-weight: 400;
    line-height: 1.6;
    color: #777;
  }
  .yios .w-1500 .xiafangmokuai .yios_progress .yios_follow {
    display: inline-flex;
    align-items: center;
    gap: 0.05rem;
    color: #5e94ed;
  }
  .yios .w-1500 .xiafangmokuai .yios_progress .yios_follow img {
    width: 0.26rem;
    height: 0.26rem;
    display: block;
    flex-shrink: 0;
    object-fit: contain;
  }
  /* 易境操作系统 × 计算芯片 全栈协同架构 */
  .czxt {
    width: 100%;
    height: 100vh;
    display: grid;
    align-content: center;
    position: relative;
    isolation: isolate;
    overflow: hidden;
    background-color: #03182e;
    color: #fff;
  }
  .czxt .w-1500 {
    width: 15rem;
    margin: 0 auto;
  }
  .czxt .w-1500 .czxt_backdrops {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
  }
  .czxt .w-1500 .czxt_backdrops::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(0, 19, 40, 0.24), transparent 48%, rgba(0, 22, 48, 0.45)), linear-gradient(180deg, rgba(0, 13, 30, 0.15), transparent 35%, rgba(0, 13, 30, 0.18));
  }
  .czxt .w-1500 .czxt_backdrops .czxt_background {
    position: absolute;
    inset: 0;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    opacity: 0;
    transition: opacity 0.75s ease;
  }
  .czxt .w-1500 .czxt_backdrops .czxt_background.is-active {
    opacity: 1;
  }
  .czxt .w-1500 .czxt_title {
    position: absolute;
    top: 1.5rem;
    right: 0;
    left: 0;
    z-index: 2;
    margin: 0;
    font-size: 0.3rem;
    font-weight: 700;
    line-height: 1.5;
    text-align: center;
    color: #fff;
  }
  .czxt .w-1500 .czxt_layout {
    width: 100%;
    height: 100vh;
    margin-top: 0;
    padding: 2.7rem 0 0.9rem;
    box-sizing: border-box;
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
  }
  .czxt .w-1500 .czxt_panels {
    width: 4.45rem;
    height: auto;
    min-height: 3rem;
    flex-shrink: 0;
    order: 0;
  }
  .czxt .w-1500 .czxt_panel {
    width: 100%;
    height: auto;
    padding: 0.7rem 0 0;
    border: 0;
    border-top: 0.01rem solid rgba(255, 255, 255, 0.55);
    border-radius: 0;
    box-sizing: border-box;
    background: none;
  }
  .czxt .w-1500 .czxt_panel[hidden] {
    display: none;
  }
  .czxt .w-1500 .czxt_panel.is-active {
    animation: czxtContentIn 0.6s ease both;
  }
  .czxt .w-1500 .czxt_panel .czxt_panel_heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.25rem;
    margin-bottom: 0.7rem;
  }
  .czxt .w-1500 .czxt_panel .czxt_panel_heading h4 {
    margin: 0;
    font-size: 0.36rem;
    font-weight: 400;
    line-height: 1.5;
    color: #fff;
  }
  .czxt .w-1500 .czxt_panel .czxt_panel_heading img {
    width: 0.65rem;
    height: 0.65rem;
    display: block;
    flex-shrink: 0;
    object-fit: contain;
    filter: brightness(0) invert(1);
  }
  .czxt .w-1500 .czxt_panel p {
    margin: 0;
    font-size: 0.24rem;
    font-weight: 400;
    line-height: 1.7;
    color: #fff;
    overflow-wrap: break-word;
  }
  .czxt .w-1500 .czxt_panel:focus-visible {
    outline: 0.02rem solid #76baff;
    outline-offset: 0.1rem;
  }
  .czxt .w-1500 .czxt_nav {
    width: 3.3rem;
    padding: 0.3rem 0.7rem 0.3rem 0;
    box-sizing: border-box;
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 0.7rem;
    flex-shrink: 0;
    order: 0;
  }
  .czxt .w-1500 .czxt_nav .czxt_tab {
    width: 100%;
    min-height: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    appearance: none;
    font-family: inherit;
    font-size: 0.24rem;
    font-weight: 400;
    line-height: 1.5;
    text-align: right;
    color: rgba(255, 255, 255, 0.78);
    cursor: pointer;
    transition: color 0.25s ease, font-size 0.25s ease;
  }
  .czxt .w-1500 .czxt_nav .czxt_tab.is-active {
    font-size: 0.3rem;
    font-weight: 700;
    border-color: transparent;
    background: transparent;
    color: #fff;
  }
  .czxt .w-1500 .czxt_nav .czxt_tab:hover {
    color: #fff;
  }
  .czxt .w-1500 .czxt_nav .czxt_tab:focus-visible {
    outline: 0.02rem solid #76baff;
    outline-offset: 0.05rem;
  }
  .czxt .w-1500 .czxt_nav .czxt_ruler {
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 0.14rem;
    background: repeating-linear-gradient(180deg, rgba(178, 207, 237, 0.32) 0, rgba(178, 207, 237, 0.32) 0.02rem, transparent 0.02rem, transparent 0.08rem);
    pointer-events: none;
  }
  .czxt .w-1500 .czxt_nav .czxt_nav_thumb {
    position: absolute;
    top: var(--czxt-thumb-top, 0px);
    left: 0;
    width: 100%;
    height: var(--czxt-thumb-height, 0.54rem);
    border-radius: 0.05rem;
    background: linear-gradient(180deg, #82c5ff, #1768d9);
    transition: top 0.6s cubic-bezier(0.22, 1, 0.36, 1), height 0.3s ease;
  }
  @keyframes czxtContentIn {
    from {
      opacity: 0;
      transform: translateY(0.16rem);
    }
    to {
      opacity: 1;
      transform: translateY(0);
    }
  }
  /* 云帆 · YiMig */
  .yf {
    width: 100%;
    height: 100%;
    background-color: #fff;
  }
  .yf .shangbian {
    width: 100%;
    min-height: 100vh;
    padding: 1.1rem 0;
    display: grid;
    align-content: center;
  }
  .yf .shangbian .w-1500 {
    width: 15rem;
    margin: 0 auto;
  }
  .yf .shangbian .w-1500 .zuoyoujieshou {
    margin-bottom: 1rem;
    display: flex;
    gap: 0;
    justify-content: space-between;
    align-items: flex-start;
  }
  .yf .shangbian .w-1500 .zuoyoujieshou .left {
    width: 4.9rem;
    display: grid;
    gap: 0.5rem;
  }
  .yf .shangbian .w-1500 .zuoyoujieshou .left h3 {
    font-size: 0.3rem;
    font-weight: 700;
    color: #1768d9;
  }
  .yf .shangbian .w-1500 .zuoyoujieshou .left .jianjies {
    font-size: 0.2rem;
    color: #333;
    line-height: 1.8;
  }
  .yf .shangbian .w-1500 .zuoyoujieshou .right {
    width: 4.55rem;
    display: grid;
    gap: 0.5rem;
    position: relative;
    min-height: 1.3rem;
  }
  .yf .shangbian .w-1500 .zuoyoujieshou .right h2 {
    font-size: 0.3rem;
    color: #333;
    font-weight: 400;
  }
  .yf .shangbian .w-1500 .zuoyoujieshou .right .dcaoiscn {
    position: absolute;
    right: 0;
    bottom: 0;
    display: grid;
    align-content: center;
    width: 2.2rem;
    height: 0.4rem;
    border-radius: 0.2rem;
    text-align: center;
    background-color: #1768d9;
    color: #fff;
    font-size: 0.18rem;
  }
  .yf .shangbian .w-1500 .cpjgou {
    width: 100%;
    color: #333;
  }
  .yf .shangbian .w-1500 .cpjgou .cpjgou_intro h3 {
    margin: 0 0 0.12rem;
    padding-left: 0.16rem;
    border-left: 0.04rem solid #1768d9;
    font-size: 0.26rem;
    font-weight: 700;
    line-height: 1.4;
  }
  .yf .shangbian .w-1500 .cpjgou .cpjgou_intro p {
    margin: 0;
    padding-left: 0.2rem;
    font-size: 0.2rem;
    line-height: 1.8;
    color: #717b8b;
  }
  .yf .shangbian .w-1500 .cpjgou .cpjgou_flow {
    width: 11.45rem;
    margin: 0.7rem auto 0;
  }
  .yf .shangbian .w-1500 .cpjgou .cpjgou_flow .migration_input {
    min-height: 1.06rem;
    padding: 0.22rem 0.3rem;
    border: 0.02rem solid #92accb;
    border-radius: 0.2rem;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    gap: 0.36rem;
  }
  .yf .shangbian .w-1500 .cpjgou .cpjgou_flow .migration_input .migration_input_tag {
    width: 1.1rem;
    height: 0.54rem;
    border-radius: 0.15rem;
    display: grid;
    place-items: center;
    flex-shrink: 0;
    background-color: #1768d9;
    font-size: 0.24rem;
    font-weight: 700;
    color: #fff;
  }
  .yf .shangbian .w-1500 .cpjgou .cpjgou_flow .migration_input p {
    margin: 0;
    font-size: 0.24rem;
    font-weight: 700;
    line-height: 1.5;
  }
  .yf .shangbian .w-1500 .cpjgou .cpjgou_flow .flow_arrow {
    width: 0.02rem;
    position: absolute;
    z-index: 1;
    display: block;
    background-color: #4d7196;
    pointer-events: none;
  }
  .yf .shangbian .w-1500 .cpjgou .cpjgou_flow .flow_arrow::after {
    content: '';
    width: 0;
    height: 0;
    position: absolute;
    left: 50%;
    bottom: -0.08rem;
    border-right: 0.07rem solid transparent;
    border-left: 0.07rem solid transparent;
    border-top: 0.1rem solid #4d7196;
    transform: translateX(-50%);
  }
  .yf .shangbian .w-1500 .cpjgou .cpjgou_flow .migration_columns {
    margin-top: 0.32rem;
    display: grid;
    grid-template-columns: 5.6rem 1.3rem 4.9rem;
    gap: 0;
    align-items: stretch;
  }
  .yf .shangbian .w-1500 .cpjgou .cpjgou_flow .migration_pipeline {
    padding: 0.3rem 0.3rem 0.5rem;
    border: 0.02rem solid #92accb;
    border-radius: 0.2rem;
    box-sizing: border-box;
    position: relative;
    background-color: #f4f7fb;
  }
  .yf .shangbian .w-1500 .cpjgou .cpjgou_flow .migration_pipeline > h4 {
    margin: 0 0 0.28rem -0.12rem;
    font-size: 0.24rem;
    font-weight: 700;
    line-height: 1.4;
  }
  .yf .shangbian .w-1500 .cpjgou .cpjgou_flow .migration_pipeline .pipeline_entry {
    top: -0.34rem;
    left: 50%;
    height: 1.22rem;
  }
  .yf .shangbian .w-1500 .cpjgou .cpjgou_flow .migration_steps {
    margin: 0;
    padding: 0;
    display: grid;
    gap: 0.46rem;
    list-style: none;
  }
  .yf .shangbian .w-1500 .cpjgou .cpjgou_flow .migration_steps > li {
    min-height: 1.68rem;
    padding: 0.26rem;
    border: 0.02rem solid #89a4c5;
    border-radius: 0.2rem;
    box-sizing: border-box;
    position: relative;
    background-color: #fff;
  }
  .yf .shangbian .w-1500 .cpjgou .cpjgou_flow .migration_steps > li:nth-child(2) {
    min-height: 1.6rem;
  }
  .yf .shangbian .w-1500 .cpjgou .cpjgou_flow .migration_steps > li:last-child {
    min-height: 1.94rem;
  }
  .yf .shangbian .w-1500 .cpjgou .cpjgou_flow .migration_steps > li:last-child p {
    text-align: left;
  }
  .yf .shangbian .w-1500 .cpjgou .cpjgou_flow .migration_steps > li .flow_arrow {
    bottom: -0.34rem;
    left: 50%;
    height: 0.32rem;
  }
  .yf .shangbian .w-1500 .cpjgou .cpjgou_flow .migration_steps > li p {
    margin: 0.24rem 0 0;
    font-size: 0.2rem;
    line-height: 1.6;
    text-align: center;
  }
  .yf .shangbian .w-1500 .cpjgou .cpjgou_flow .migration_step_heading {
    display: flex;
    align-items: center;
    gap: 0.22rem;
  }
  .yf .shangbian .w-1500 .cpjgou .cpjgou_flow .migration_step_heading .migration_step_number {
    width: 0.54rem;
    height: 0.52rem;
    display: grid;
    place-items: center;
    flex-shrink: 0;
    border-radius: 0.12rem;
    background-color: #1768d9;
    font-size: 0.24rem;
    font-weight: 700;
    color: #fff;
  }
  .yf .shangbian .w-1500 .cpjgou .cpjgou_flow .migration_step_heading h5 {
    margin: 0;
    font-size: 0.24rem;
    font-weight: 700;
    line-height: 1.4;
  }
  .yf .shangbian .w-1500 .cpjgou .cpjgou_flow .migration_links {
    position: relative;
    display: block;
  }
  .yf .shangbian .w-1500 .cpjgou .cpjgou_flow .migration_links .migration_link {
    height: 0.02rem;
    padding: 0;
    display: block;
    position: absolute;
    top: 2.72rem;
    right: 0;
    left: 0;
    background-color: #4d7196;
  }
  .yf .shangbian .w-1500 .cpjgou .cpjgou_flow .migration_links .migration_link::after {
    content: '';
    width: 0;
    height: 0;
    position: absolute;
    right: -0.01rem;
    top: 50%;
    border-right: 0;
    border-top: 0.07rem solid transparent;
    border-bottom: 0.07rem solid transparent;
    border-left: 0.1rem solid #4d7196;
    transform: translateY(-50%);
  }
  .yf .shangbian .w-1500 .cpjgou .cpjgou_flow .migration_links .migration_link span {
    position: absolute;
    right: 0;
    bottom: 0.12rem;
    left: 0;
    font-size: 0.18rem;
    font-weight: 700;
    line-height: 1.5;
    text-align: center;
    color: #4d7196;
  }
  .yf .shangbian .w-1500 .cpjgou .cpjgou_flow .migration_links .migration_link.is-reverse {
    top: 4.16rem;
  }
  .yf .shangbian .w-1500 .cpjgou .cpjgou_flow .migration_links .migration_link.is-reverse::after {
    right: auto;
    left: -0.01rem;
    border-top: 0.07rem solid transparent;
    border-bottom: 0.07rem solid transparent;
    border-right: 0.1rem solid #4d7196;
    border-left: 0;
  }
  .yf .shangbian .w-1500 .cpjgou .cpjgou_flow .migration_links .migration_link:last-child {
    top: 5.24rem;
  }
  .yf .shangbian .w-1500 .cpjgou .cpjgou_flow .migration_engine {
    padding: 0.24rem;
    border: 0.02rem solid #92accb;
    border-radius: 0.2rem;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
    text-align: center;
  }
  .yf .shangbian .w-1500 .cpjgou .cpjgou_flow .migration_engine > h4 {
    margin: 0;
    font-size: 0.24rem;
    font-weight: 700;
    line-height: 1.4;
  }
  .yf .shangbian .w-1500 .cpjgou .cpjgou_flow .migration_engine .migration_engine_card {
    padding: 0.16rem 0.24rem;
    border: 0.02rem solid #89a4c5;
    border-radius: 0.2rem;
    box-sizing: border-box;
    background-color: #f4f7fb;
  }
  .yf .shangbian .w-1500 .cpjgou .cpjgou_flow .migration_engine .migration_engine_card h5 {
    margin: 0 0 0.22rem;
    font-size: 0.24rem;
    font-weight: 700;
    line-height: 1.4;
  }
  .yf .shangbian .w-1500 .cpjgou .cpjgou_flow .migration_engine .migration_engine_card p {
    margin: 0;
    font-size: 0.2rem;
    line-height: 1.4;
    color: #555;
  }
  .yf .shangbian .w-1500 .cpjgou .cpjgou_flow .migration_engine .migration_engine_card.migration_diagnosis {
    min-height: 1.42rem;
  }
  .yf .shangbian .w-1500 .cpjgou .cpjgou_flow .migration_engine .migration_engine_card.migration_knowledge {
    min-height: 2.16rem;
  }
  .yf .shangbian .w-1500 .cpjgou .cpjgou_flow .migration_engine .migration_engine_card.migration_repair {
    flex: 1;
    min-height: 2.26rem;
  }
  .yf .shangbian .w-1500 .cpjgou .cpjgou_flow .migration_engine .migration_engine_card .migration_engine_detail {
    min-height: 0.8rem;
    margin-top: 0.12rem;
    padding: 0.12rem 0.16rem;
    border: 0.02rem solid #89a4c5;
    border-radius: 0.17rem;
    box-sizing: border-box;
    display: grid;
    align-content: center;
    background-color: #fff;
    font-size: 0.2rem;
    line-height: 1.4;
    color: #555;
  }
  .yf .shangbian .w-1500 .cpjgou .cpjgou_flow .migration_delivery {
    width: 5.6rem;
    min-height: 1.7rem;
    margin-top: 0.36rem;
    padding: 0.22rem 0.58rem;
    border: 0.02rem solid #89a4c5;
    border-radius: 0.2rem;
    box-sizing: border-box;
    position: relative;
    background-color: #f4f7fb;
  }
  .yf .shangbian .w-1500 .cpjgou .cpjgou_flow .migration_delivery .flow_arrow {
    top: -0.88rem;
    left: 50%;
    height: 0.78rem;
  }
  .yf .shangbian .w-1500 .cpjgou .cpjgou_flow .migration_delivery p {
    margin: 0.14rem 0 0;
    font-size: 0.2rem;
    line-height: 1.5;
    text-align: center;
    color: #555;
  }
  .yf .hxyc {
    width: 100%;
    min-height: 8.5rem;
    padding: 0;
    display: grid;
    align-content: center;
  }
  .yf .hxyc .w-1500 {
    width: 15rem;
    margin: 0 auto;
  }
  .yf .hxyc .w-1500 h3 {
    font-size: 0.3rem;
    color: #1768d9;
    font-weight: 700;
    margin-bottom: 0.85rem;
    text-align: center;
  }
  .yf .hxyc .w-1500 .lischlist {
    width: 100%;
  }
  .yf .hxyc .w-1500 .lischlist .lisch_cards {
    width: 100%;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.8rem;
    list-style: none;
  }
  .yf .hxyc .w-1500 .lischlist .lisch_cards .lisch_card {
    min-width: 0;
    min-height: 5rem;
    padding: 0.38rem 0.36rem 0.42rem;
    border-radius: 0.12rem;
    box-sizing: border-box;
    position: relative;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    background-color: #f4f7fb;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    box-shadow: 0 0.02rem 0.05rem rgba(29, 56, 86, 0.08);
    transform: translateY(0);
    transition: transform 0.7s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.7s ease;
  }
  .yf .hxyc .w-1500 .lischlist .lisch_cards .lisch_card:hover {
    transform: translateY(-0.08rem);
    box-shadow: 0 0.16rem 0.36rem rgba(29, 56, 86, 0.14);
  }
  .yf .hxyc .w-1500 .lischlist .lisch_cards .lisch_card::before {
    content: '';
    width: 0.9rem;
    height: 0.04rem;
    position: absolute;
    top: 0;
    left: 0.04rem;
    background-color: #1768d9;
  }
  .yf .hxyc .w-1500 .lischlist .lisch_cards .lisch_card .lisch_card_top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.2rem;
  }
  .yf .hxyc .w-1500 .lischlist .lisch_cards .lisch_card .lisch_card_top .lisch_icon {
    width: 0.74rem;
    height: 0.74rem;
    display: grid;
    place-items: center;
    flex-shrink: 0;
    background-color: #fff;
  }
  .yf .hxyc .w-1500 .lischlist .lisch_cards .lisch_card .lisch_card_top .lisch_icon img {
    width: 0.48rem;
    height: 0.48rem;
    display: block;
    object-fit: contain;
  }
  .yf .hxyc .w-1500 .lischlist .lisch_cards .lisch_card .lisch_card_top .lisch_number {
    font-size: 0.2rem;
    font-weight: 400;
    line-height: 1.5;
    color: #adc2d8;
  }
  .yf .hxyc .w-1500 .lischlist .lisch_cards .lisch_card h4 {
    margin: 0.74rem 0 0.32rem;
    padding-bottom: 0.24rem;
    border-bottom: 0.01rem solid #e6edf5;
    font-size: 0.24rem;
    font-weight: 400;
    line-height: 1.5;
    color: #2585f7;
  }
  .yf .hxyc .w-1500 .lischlist .lisch_cards .lisch_card p {
    margin: 0;
    font-size: 0.18rem;
    font-weight: 400;
    line-height: 1.65;
    color: #555;
    overflow-wrap: break-word;
  }
  .yf .hxyc .w-1500 .lischlist .lisch_cards .lisch_card .lisch_mark {
    margin-top: auto;
    padding-top: 0.24rem;
    display: flex;
    align-items: center;
    gap: 0.05rem;
  }
  .yf .hxyc .w-1500 .lischlist .lisch_cards .lisch_card .lisch_mark::before,
  .yf .hxyc .w-1500 .lischlist .lisch_cards .lisch_card .lisch_mark::after {
    content: '';
    height: 0.03rem;
    display: block;
  }
  .yf .hxyc .w-1500 .lischlist .lisch_cards .lisch_card .lisch_mark::before {
    width: 0.28rem;
    background-color: #2585f7;
  }
  .yf .hxyc .w-1500 .lischlist .lisch_cards .lisch_card .lisch_mark::after {
    width: 0.12rem;
    background-color: #7e6bc6;
  }
  /* 知识库 */
  .zhishiku {
    width: 100%;
    height: 6.5rem;
    display: grid;
    align-content: center;
    background-position: bottom;
    background-repeat: no-repeat;
    background-size: cover;
  }
  .zhishiku .w-1500 {
    width: 15rem;
    margin: 0 auto;
  }
  .zhishiku .w-1500 .cniasnscaonc {
    width: 100%;
  }
  .zhishiku .w-1500 .cniasnscaonc .knowledge_stats {
    width: 100%;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.64rem;
    list-style: none;
  }
  .zhishiku .w-1500 .cniasnscaonc .knowledge_stats .knowledge_stat {
    min-width: 0;
    min-height: 3.1rem;
    padding: 0.36rem 0.24rem;
    border-radius: 0.1rem;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.32rem;
    background-color: rgba(255, 255, 255, 0.12);
    text-align: center;
    color: #fff;
  }
  .zhishiku .w-1500 .cniasnscaonc .knowledge_stats .knowledge_stat .knowledge_value {
    display: flex;
    align-items: baseline;
    justify-content: center;
    gap: 0.16rem;
  }
  .zhishiku .w-1500 .cniasnscaonc .knowledge_stats .knowledge_stat .knowledge_value strong {
    font-size: 0.6rem;
    font-weight: 700;
    line-height: 1.2;
  }
  .zhishiku .w-1500 .cniasnscaonc .knowledge_stats .knowledge_stat .knowledge_value sup {
    font-size: 0.24rem;
    font-weight: 400;
    line-height: 1;
    vertical-align: baseline;
  }
  .zhishiku .w-1500 .cniasnscaonc .knowledge_stats .knowledge_stat p {
    margin: 0;
    font-size: 0.3rem;
    font-weight: 400;
    line-height: 1.6;
  }
  /* 为什么选择云帆 */
  .whyyf {
    width: 100%;
    height: 8.8rem;
    display: grid;
    align-content: center;
    background-color: #fff;
  }
  .whyyf .w-1500 {
    width: 15rem;
    margin: 0 auto;
  }
  .whyyf .w-1500 h3 {
    font-size: 0.3rem;
    color: #1768d9;
    margin-bottom: 1.05rem;
    text-align: center;
  }
  .whyyf .w-1500 .divnidnvlist {
    --migration-active-grow: 1.95;
    width: 100%;
    display: flex;
    gap: 0.4rem;
  }
  .whyyf .w-1500 .divnidnvlist .migration_card {
    min-width: 0;
    height: 5rem;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0.1rem;
    box-sizing: border-box;
    flex: 1 1 0;
    display: block;
    position: relative;
    overflow: hidden;
    background-color: #e2ebf2;
    color: #333;
    font: inherit;
    text-align: left;
    appearance: none;
    cursor: pointer;
    touch-action: manipulation;
    transition: flex-grow 0.7s cubic-bezier(0.22, 1, 0.36, 1);
  }
  .whyyf .w-1500 .divnidnvlist .migration_card.is-active {
    flex-grow: var(--migration-active-grow);
  }
  .whyyf .w-1500 .divnidnvlist .migration_card:focus-visible {
    outline: 0.02rem solid #1768d9;
    outline-offset: 0.04rem;
  }
  .whyyf .w-1500 .divnidnvlist .migration_card .migration_image {
    width: 100%;
    height: 100%;
    display: block;
    position: absolute;
    inset: 0;
    object-fit: cover;
    object-position: center;
  }
  .whyyf .w-1500 .divnidnvlist .migration_card .migration_text {
    width: var(--migration-collapsed-width, 100%);
    padding: 0.48rem 0.3rem;
    box-sizing: border-box;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    opacity: 1;
    transition: opacity 0.22s ease;
  }
  .whyyf .w-1500 .divnidnvlist .migration_card .migration_text .migration_name {
    margin: 0 0 0.34rem;
    display: block;
    font-size: 0.24rem;
    font-weight: 400;
    line-height: 1.5;
  }
  .whyyf .w-1500 .divnidnvlist .migration_card .migration_text .migration_description {
    display: block;
    font-size: 0.18rem;
    font-weight: 400;
    line-height: 0.3rem;
    overflow-wrap: break-word;
  }
  .whyyf .w-1500 .divnidnvlist .migration_card .migration_text_expanded {
    width: var(--migration-expanded-width, 100%);
    opacity: 0;
    pointer-events: none;
  }
  .whyyf .w-1500 .divnidnvlist[data-migration-layout] .migration_card.is-active .migration_text {
    opacity: 0;
  }
  .whyyf .w-1500 .divnidnvlist[data-migration-layout] .migration_card.is-active .migration_text_expanded {
    opacity: 1;
    transition-delay: 0.12s;
  }
}
@media (min-width: 768px) and (prefers-reduced-motion: reduce) {
  .czxt .w-1500 .czxt_background,
  .czxt .w-1500 .czxt_tab,
  .czxt .w-1500 .czxt_nav_thumb {
    transition: none;
  }
  .czxt .w-1500 .czxt_panel.is-active {
    animation: none;
  }
}
@media (min-width: 768px) and (prefers-reduced-motion: reduce) {
  .whyyf .w-1500 .divnidnvlist .migration_card,
  .whyyf .w-1500 .divnidnvlist .migration_card .migration_text {
    transition: none;
  }
}
/* 页面模块（CMS）：从导航「定位到页内模块」或别的页面按锚点跳过来时，固定页头会盖住区块上沿；
   定位时上方留出页头高度，区块上沿正好贴着页头下沿 */
@media (max-width: 767.98px) {
  .yios,
  .czxt,
  .yf,
  .zhishiku,
  .whyyf {
    scroll-margin-top: 2.66666667rem;
  }
}
@media (min-width: 768px) {
  .yios,
  .czxt,
  .yf,
  .zhishiku,
  .whyyf {
    scroll-margin-top: 0.8rem;
  }
}
/* CMS：易境「关注公众号」做成按钮，点开弹框显示公众号二维码（开关逻辑见 softwarecommunity.js）；
   弹框平时靠 visibility 隐藏、不用 hidden 属性：style.css 的 [hidden] 带 !important，可视化编辑里就没法让它常驻显示了 */
.yios .w-1500 .xiafangmokuai .yios_progress .yios_follow {
  -webkit-appearance: none;
  appearance: none;
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  font: inherit;
  line-height: inherit;
  color: #5e94ed;
  cursor: pointer;
  transition: opacity 0.2s;
}
.yios .w-1500 .xiafangmokuai .yios_progress .yios_follow:focus-visible {
  outline: 2px solid #5e94ed;
  outline-offset: 3px;
  border-radius: 2px;
}
@media (hover: hover) {
  .yios .w-1500 .xiafangmokuai .yios_progress .yios_follow:hover {
    opacity: 0.75;
  }
}
.yios_qr {
  position: fixed;
  inset: 0;
  z-index: 2000;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  overscroll-behavior: contain;
  transition: opacity 0.3s ease, visibility 0s linear 0.3s;
}
.yios_qr.is-open {
  opacity: 1;
  visibility: visible;
  transition: opacity 0.3s ease;
}
.yios_qr .yios_qr_mask {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.55);
  touch-action: none;
}
.yios_qr .yios_qr_box {
  position: relative;
  text-align: center;
  background: #fff;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.2);
  transform: translateY(16px) scale(0.96);
  transition: transform 0.3s cubic-bezier(0.2, 0.8, 0.2, 1);
}
.yios_qr.is-open .yios_qr_box {
  transform: none;
}
.yios_qr .yios_qr_code {
  display: block;
  margin: 0 auto;
  object-fit: contain;
}
.yios_qr .yios_qr_title {
  margin: 0;
  font-weight: 400;
  color: #333;
}
.yios_qr .yios_qr_close {
  position: absolute;
  -webkit-appearance: none;
  appearance: none;
  padding: 0;
  border: 0;
  background: none;
  color: #999;
  cursor: pointer;
  transition: color 0.2s;
}
.yios_qr .yios_qr_close::before,
.yios_qr .yios_qr_close::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 50%;
  height: 2px;
  border-radius: 1px;
  background: currentColor;
}
.yios_qr .yios_qr_close::before {
  transform: translate(-50%, -50%) rotate(45deg);
}
.yios_qr .yios_qr_close::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}
.yios_qr .yios_qr_close:focus-visible {
  outline: 2px solid #5e94ed;
  outline-offset: 2px;
  border-radius: 2px;
}
@media (hover: hover) {
  .yios_qr .yios_qr_close:hover {
    color: #333;
  }
}
html.yios-qr-open {
  overflow: hidden;
}
@media (max-width: 767.98px) {
  .yios_qr .yios_qr_box {
    width: 13.33333333rem;
    padding: 1.6rem 1.33333333rem 1.2rem;
    border-radius: 0.53333333rem;
  }
  .yios_qr .yios_qr_code {
    width: 9.6rem;
    height: 9.6rem;
  }
  .yios_qr .yios_qr_title {
    margin-top: 0.8rem;
    font-size: 0.74666667rem;
    line-height: 1.6;
  }
  .yios_qr .yios_qr_close {
    top: 0.26666667rem;
    right: 0.26666667rem;
    width: 1.6rem;
    height: 1.6rem;
  }
}
@media (min-width: 768px) {
  .yios_qr .yios_qr_box {
    width: 3.2rem;
    padding: 0.44rem 0.4rem 0.34rem;
    border-radius: 0.12rem;
  }
  .yios_qr .yios_qr_code {
    width: 2.2rem;
    height: 2.2rem;
  }
  .yios_qr .yios_qr_title {
    margin-top: 0.18rem;
    font-size: 0.18rem;
    line-height: 1.6;
  }
  .yios_qr .yios_qr_close {
    top: 0.1rem;
    right: 0.1rem;
    width: 0.36rem;
    height: 0.36rem;
  }
}
@media (prefers-reduced-motion: reduce) {
  .yios_qr,
  .yios_qr.is-open,
  .yios_qr .yios_qr_box {
    transition: none;
  }
}
/* 可视化编辑：弹框内容常驻在「关注公众号」那行下方，可直接换二维码、改说明（前台和「浏览」里照常是弹框） */
html.lexi-editable .yios_qr {
  position: static;
  display: block;
  width: max-content;
  max-width: 100%;
  margin: 0 auto;
  opacity: 1;
  visibility: visible;
  transition: none;
}
html.lexi-editable .yios_qr::before {
  content: '弹框内容：访客点「关注公众号」时弹出，点二维码可换图、点下方文字可修改';
  display: block;
  margin: 0 auto 8px;
  padding: 4px 10px;
  border-radius: 6px;
  background: #fff7e6;
  color: #ad6800;
  font: 12px/1.6 system-ui, -apple-system, sans-serif;
  text-align: center;
}
html.lexi-editable .yios_qr .yios_qr_mask,
html.lexi-editable .yios_qr .yios_qr_close {
  display: none;
}
html.lexi-editable .yios_qr .yios_qr_box {
  width: max-content;
  margin: 0 auto;
  transform: none;
  box-shadow: none;
  border: 1px dashed #94a3b8;
  transition: none;
}
@media (max-width: 767.98px) {
  html.lexi-editable .yios_qr {
    margin-top: 1.06666667rem;
  }
  html.lexi-editable .yios_qr .yios_qr_box {
    padding: 0.8rem 1.06666667rem;
  }
  html.lexi-editable .yios_qr .yios_qr_code {
    width: 6.4rem;
    height: 6.4rem;
  }
  html.lexi-editable .yios_qr .yios_qr_title {
    margin-top: 0.53333333rem;
  }
}
/* 电脑端易境模块是固定高度，编辑里多出这块会被下一个模块盖住，放开高度 */
@media (min-width: 768px) {
  html.lexi-editable .yios {
    height: auto;
    min-height: 9rem;
    padding: 0.8rem 0;
    box-sizing: border-box;
  }
  html.lexi-editable .yios_qr {
    margin-top: 0.3rem;
  }
  html.lexi-editable .yios_qr .yios_qr_box {
    padding: 0.2rem 0.3rem;
  }
  html.lexi-editable .yios_qr .yios_qr_code {
    width: 1.4rem;
    height: 1.4rem;
  }
  html.lexi-editable .yios_qr .yios_qr_title {
    margin-top: 0.12rem;
  }
}
/* CMS：云帆产品架构的连线＝沿箭头方向缓缓流动的细虚线，箭头不动（10-26 定）。
   滚到这块时 softwarecommunity.js 先播一遍入场（框依次浮现、连线按箭头方向画出、线画完箭头弹出），并加 is-flowing 让虚线流动，
   滚出去就停；减少动效时虚线不动、也不播入场。手机端流水线在上、引擎在下，三条连线做成竖线：从流水线框连到引擎框，
   文字在线的右边（故障问题、新知识库朝下，修复方案朝上）。
   箭头尖统一刚好贴到下游框的边（照「3→4」那根）：下面校准了原稿几根线的起止位置 */
@media (max-width: 767.98px) {
  .yf .shangbian .w-1500 .cpjgou .cpjgou_flow .migration_pipeline .pipeline_entry,
  .yf .shangbian .w-1500 .cpjgou .cpjgou_flow .migration_delivery .flow_arrow {
    top: -1.51333333rem;
    height: 1.2rem;
  }
  .yf .shangbian .w-1500 .cpjgou .cpjgou_flow .migration_steps > li .flow_arrow {
    bottom: -1.24666667rem;
    height: 1.11333333rem;
  }
  .cpjgou_flow {
    --hy-dash: 0.16rem;
    --hy-dash-gap: 0.12rem;
  }
  /* 连线这一行撑满流水线框与引擎框之间（上下各吃掉一个网格间距），竖线两端正好贴到两个框 */
  .yf .shangbian .w-1500 .cpjgou .cpjgou_flow .migration_links {
    height: 3.66666667rem;
    margin: -0.93333333rem 0;
  }
  .yf .shangbian .w-1500 .cpjgou .cpjgou_flow .migration_links .migration_link {
    padding: 0;
    align-items: stretch;
  }
  .yf .shangbian .w-1500 .cpjgou .cpjgou_flow .migration_links .migration_link::after {
    content: none;
  }
  /* 竖线画在文字左边（span::before，粗细同其它竖线），箭头是 span::after，尖贴框边 */
  .yf .shangbian .w-1500 .cpjgou .cpjgou_flow .migration_links .migration_link span {
    position: relative;
    display: flex;
    align-items: center;
    padding-left: 0.73333333rem;
  }
  .yf .shangbian .w-1500 .cpjgou .cpjgou_flow .migration_links .migration_link span::before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0.2rem;
    width: 0.06666667rem;
    background-color: #4d7196;
  }
  .yf .shangbian .w-1500 .cpjgou .cpjgou_flow .migration_links .migration_link span::after {
    content: '';
    width: 0;
    height: 0;
    position: absolute;
    bottom: 0;
    left: -0.03333333rem;
    border-right: 0.26666667rem solid transparent;
    border-left: 0.26666667rem solid transparent;
    border-top: 0.4rem solid #4d7196;
  }
  .yf .shangbian .w-1500 .cpjgou .cpjgou_flow .migration_links .migration_link.is-reverse span::after {
    top: 0;
    bottom: auto;
    border-top: 0;
    border-bottom: 0.4rem solid #4d7196;
  }
}
@media (min-width: 768px) {
  /* 下面三列（流水线 5.6＋连线 1.3＋引擎 4.9）合计 11.8rem，原稿整张图只给了 11.45rem，引擎框超出、「输入」框右边对不齐 */
  .yf .shangbian .w-1500 .cpjgou .cpjgou_flow {
    width: 11.8rem;
  }
  .yf .shangbian .w-1500 .cpjgou .cpjgou_flow .migration_pipeline .pipeline_entry {
    height: 1.176rem;
  }
  .yf .shangbian .w-1500 .cpjgou .cpjgou_flow .migration_steps > li .flow_arrow {
    bottom: -0.395rem;
    height: 0.375rem;
  }
  .yf .shangbian .w-1500 .cpjgou .cpjgou_flow .migration_links .migration_link::after {
    right: 0;
  }
  .cpjgou_flow {
    --hy-dash: 0.04rem;
    --hy-dash-gap: 0.03rem;
  }
}
@keyframes hy-dash-down {
  from {
    background-position: 0 0;
  }
  to {
    background-position: 0 calc(var(--hy-dash) + var(--hy-dash-gap));
  }
}
@keyframes hy-dash-right {
  from {
    background-position: 0 0;
  }
  to {
    background-position: calc(var(--hy-dash) + var(--hy-dash-gap)) 0;
  }
}
@keyframes hy-dash-left {
  from {
    background-position: 0 0;
  }
  to {
    background-position: calc((var(--hy-dash) + var(--hy-dash-gap)) * -1) 0;
  }
}
@keyframes hy-dash-up {
  from {
    background-position: 0 0;
  }
  to {
    background-position: 0 calc((var(--hy-dash) + var(--hy-dash-gap)) * -1);
  }
}
@media (prefers-reduced-motion: no-preference) {
  .yf .shangbian .w-1500 .cpjgou .cpjgou_flow.is-flowing .flow_arrow {
    background: repeating-linear-gradient(to bottom, #4d7196 0, #4d7196 var(--hy-dash), transparent var(--hy-dash), transparent calc(var(--hy-dash) + var(--hy-dash-gap)));
    animation: hy-dash-down 0.5s linear infinite;
  }
}
@media (min-width: 768px) and (prefers-reduced-motion: no-preference) {
  .yf .shangbian .w-1500 .cpjgou .cpjgou_flow.is-flowing .migration_links .migration_link {
    background: repeating-linear-gradient(to right, #4d7196 0, #4d7196 var(--hy-dash), transparent var(--hy-dash), transparent calc(var(--hy-dash) + var(--hy-dash-gap)));
    animation: hy-dash-right 0.5s linear infinite;
  }
  .yf .shangbian .w-1500 .cpjgou .cpjgou_flow.is-flowing .migration_links .migration_link.is-reverse {
    animation-name: hy-dash-left;
  }
}
@media (max-width: 767.98px) and (prefers-reduced-motion: no-preference) {
  .yf .shangbian .w-1500 .cpjgou .cpjgou_flow.is-flowing .migration_links .migration_link span::before {
    background: repeating-linear-gradient(to bottom, #4d7196 0, #4d7196 var(--hy-dash), transparent var(--hy-dash), transparent calc(var(--hy-dash) + var(--hy-dash-gap)));
    animation: hy-dash-down 0.5s linear infinite;
  }
  .yf .shangbian .w-1500 .cpjgou .cpjgou_flow.is-flowing .migration_links .migration_link.is-reverse span::before {
    animation-name: hy-dash-up;
  }
}
