@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;
    font-size: 1.46666667rem;
    font-weight: 700;
    line-height: 1.35;
  }
  .banner .banner_actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.66666667rem;
    margin-top: 1.33333333rem;
  }
  .banner .banner_button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 4rem;
    min-height: 1.33333333rem;
    padding: 0.53333333rem;
    border: 0.06666667rem solid transparent;
    border-radius: 3.33333333rem;
    font-size: 0.53333333rem;
    font-weight: 400;
    line-height: 1.25;
    text-align: center;
    white-space: nowrap;
    transition: background-color 0.25s ease, color 0.25s ease, transform 0.25s ease;
  }
  .banner .banner_button:focus-visible {
    outline: 0.13333333rem solid #fff;
    outline-offset: 0.33333333rem;
  }
  .banner .banner_button_primary {
    background: #0868df;
    color: #fff;
  }
  .banner .banner_button_secondary {
    min-width: 5.33333333rem;
    background: #f4f7fa;
    color: #00528c;
  }
  /* nav */
  .solutionsnav {
    width: 100%;
    height: auto;
    padding: 1.66666667rem 0;
  }
  .solutionsnav .w-710 {
    width: 90%;
    margin: 0 auto;
    padding: 0.46666667rem;
    border-radius: 3.33333333rem;
    background-color: #e8eff7;
    display: flex;
    align-items: center;
    gap: 0.26666667rem;
    font-size: 0.53333333rem;
    color: #333;
  }
  .solutionsnav .w-710 a {
    min-width: 0;
    flex: 1;
    padding: 0.4rem 0.13333333rem;
    border-radius: 3.33333333rem;
    font-family: inherit;
    font-size: 0.53333333rem;
    font-weight: 400;
    line-height: 1.4;
    color: #333;
    text-align: center;
    white-space: nowrap;
  }
  .solutionsnav .w-710 a.active {
    background-color: #2585f7;
    color: #fff;
  }
  .solutionsnav .w-710 a:focus-visible {
    outline: 0.06666667rem solid #1768d9;
    outline-offset: 0.13333333rem;
  }
  /* 高性能云计算 */
  .solutionsa {
    width: 100%;
    height: auto;
    min-height: 0;
    padding: 0 0 2rem;
    display: block;
  }
  .solutionsa .w-1500 {
    width: 90%;
    margin: 0 auto;
  }
  .solutionsa .w-1500 .leftrighttit {
    width: 100%;
    margin-bottom: 1.66666667rem;
    display: grid;
    gap: 0.8rem;
  }
  .solutionsa .w-1500 .leftrighttit .left {
    width: 100%;
  }
  .solutionsa .w-1500 .leftrighttit .left h3 {
    margin: 0 0 0.8rem;
    font-size: 0.93333333rem;
    font-weight: normal;
    line-height: 1.45;
    color: #1768d9;
  }
  .solutionsa .w-1500 .leftrighttit .left .ovshucn {
    font-size: 0.66666667rem;
    font-weight: 400;
    line-height: 1.6;
    color: #333;
  }
  .solutionsa .w-1500 .leftrighttit .right {
    font-size: 0.8rem;
    font-weight: normal;
    line-height: 1.5;
    color: #333;
  }
  .solutionsa .w-1500 .zhuanshi {
    width: 100%;
  }
  .solutionsa .w-1500 .zhuanshi .zhuanshi_image {
    width: 100%;
    height: 8.66666667rem;
    border-radius: 0.33333333rem;
    overflow: hidden;
  }
  .solutionsa .w-1500 .zhuanshi .zhuanshi_image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
  }
  .solutionsa .w-1500 .zhuanshi .zhuanshi_list {
    position: relative;
    z-index: 1;
    width: 92%;
    margin: -1.66666667rem auto 0;
    padding: 0.66666667rem 0.53333333rem;
    border-radius: 0.33333333rem;
    background-color: #fff;
    box-shadow: 0 0.13333333rem 0.53333333rem rgba(0, 0, 0, 0.08);
    display: flex;
    justify-content: space-between;
    gap: 0.33333333rem;
  }
  .solutionsa .w-1500 .zhuanshi .zhuanshi_list li {
    min-width: 0;
    text-align: center;
  }
  .solutionsa .w-1500 .zhuanshi .zhuanshi_list li img {
    width: 1.46666667rem;
    height: 1.46666667rem;
    margin: 0 auto 0.33333333rem;
    object-fit: contain;
  }
  .solutionsa .w-1500 .zhuanshi .zhuanshi_list li p {
    font-size: 0.53333333rem;
    font-weight: 400;
    line-height: 1.5;
    color: #333;
  }
  /* 应用场景 */
  .yycj {
    width: 100%;
    height: auto;
    min-height: 0;
    padding: 2rem 0 3.66666667rem;
    position: relative;
    isolation: isolate;
    overflow: hidden;
    background: linear-gradient(180deg, #fff 42%, #f2f4f8 100%);
  }
  .yycj .yycj_wave {
    position: absolute;
    inset: 0;
    z-index: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    background: #fff center bottom / cover no-repeat;
    overflow: hidden;
  }
  .yycj .w-1500 {
    width: 90%;
    margin: 0 auto;
    position: relative;
    z-index: 1;
  }
  .yycj .w-1500 h3 {
    margin: 0 0 1.66666667rem;
    font-family: inherit;
    font-size: 0.93333333rem;
    font-weight: normal;
    line-height: 1.45;
    color: #1768d9;
  }
  .yycj .w-1500 .qiehuandoangx {
    width: 100%;
    position: relative;
  }
  .yycj .w-1500 .qiehuandoangx .scene_viewport {
    width: 100%;
    touch-action: pan-y;
    user-select: none;
    -webkit-user-select: none;
  }
  .yycj .w-1500 .qiehuandoangx .scene_track {
    width: 100%;
    height: 9.33333333rem;
    position: relative;
  }
  .yycj .w-1500 .qiehuandoangx .scene_card {
    position: absolute;
    top: 0;
    left: 50%;
    z-index: 1;
    width: 12rem;
    height: 9.33333333rem;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0.53333333rem;
    overflow: hidden;
    background-color: #10243b;
    color: #fff;
    font: inherit;
    appearance: none;
    cursor: pointer;
    backface-visibility: hidden;
    transform-origin: center center;
    transform: translate3d(-50%, 0, 0) perspective(28rem) rotateY(0deg) scale(1);
    transition: transform 0.65s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.5s ease;
    will-change: transform;
  }
  .yycj .w-1500 .qiehuandoangx .scene_card img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    pointer-events: none;
  }
  .yycj .w-1500 .qiehuandoangx .scene_card::after {
    content: '';
    position: absolute;
    inset: 35% 0 0;
    background: linear-gradient(180deg, transparent, rgba(0, 10, 25, 0.62));
    pointer-events: none;
  }
  .yycj .w-1500 .qiehuandoangx .scene_card .scene_name {
    position: absolute;
    right: 0.66666667rem;
    bottom: 0.93333333rem;
    left: 0.66666667rem;
    z-index: 1;
    font-family: inherit;
    font-size: 0.8rem;
    font-weight: normal;
    line-height: 1.4;
    text-align: center;
    white-space: nowrap;
    text-shadow: 0 0.06666667rem 0.33333333rem rgba(0, 0, 0, 0.25);
  }
  .yycj .w-1500 .qiehuandoangx .scene_card.is-left {
    z-index: 2;
    transform: translate3d(calc(-50% - 11.86666667rem), 0, 0) perspective(28rem) rotateY(28deg) scale(1.08, 0.9);
  }
  .yycj .w-1500 .qiehuandoangx .scene_card.is-center {
    z-index: 3;
  }
  .yycj .w-1500 .qiehuandoangx .scene_card.is-right {
    z-index: 2;
    transform: translate3d(calc(-50% + 11.86666667rem), 0, 0) perspective(28rem) rotateY(-28deg) scale(1.08, 0.9);
  }
  .yycj .w-1500 .qiehuandoangx .scene_card.is-before {
    z-index: 0;
    opacity: 0;
    pointer-events: none;
    transform: translate3d(calc(-50% - 23.73333333rem), 0, 0) perspective(28rem) rotateY(28deg) scale(1.08, 0.9);
  }
  .yycj .w-1500 .qiehuandoangx .scene_card.is-after {
    z-index: 0;
    opacity: 0;
    pointer-events: none;
    transform: translate3d(calc(-50% + 23.73333333rem), 0, 0) perspective(28rem) rotateY(-28deg) scale(1.08, 0.9);
  }
  .yycj .w-1500 .qiehuandoangx .scene_card.is-staging {
    transition: none;
  }
  .yycj .w-1500 .qiehuandoangx .scene_card:focus-visible {
    outline: 0.13333333rem solid #2585f7;
    outline-offset: -0.2rem;
  }
  .yycj .w-1500 .qiehuandoangx.is-resetting .scene_card {
    transition: none;
  }
}
@media (max-width: 767.98px) and (prefers-reduced-motion: reduce) {
  .banner .banner_button {
    transition: none;
  }
}
@media (max-width: 767.98px) and (prefers-reduced-motion: reduce) {
  .yycj .w-1500 .qiehuandoangx .scene_card {
    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;
    font-size: 0.5rem;
    font-weight: 700;
    line-height: 1.35;
  }
  .banner .banner_actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.24rem 0.9rem;
    margin-top: 0.95rem;
  }
  .banner .banner_button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1rem;
    min-height: 0.4rem;
    padding: 0.1rem 0.2rem;
    border: 0.01rem solid transparent;
    border-radius: 0.5rem;
    font-size: 0.16rem;
    font-weight: 400;
    line-height: 1.25;
    text-align: center;
    white-space: nowrap;
    transition: background-color 0.25s ease, color 0.25s ease, transform 0.25s ease;
  }
  .banner .banner_button:hover {
    transform: translateY(-0.03rem);
  }
  .banner .banner_button:focus-visible {
    outline: 0.02rem solid #fff;
    outline-offset: 0.05rem;
  }
  .banner .banner_button_primary {
    background: #0868df;
    color: #fff;
  }
  .banner .banner_button_primary:hover {
    background: #2585f7;
  }
  .banner .banner_button_secondary {
    min-width: 1.5rem;
    background: #f4f7fa;
    color: #00528c;
  }
  .banner .banner_button_secondary:hover {
    background: #dcecff;
  }
  /* nav */
  .solutionsnav {
    width: 100%;
    height: 100%;
    padding: 1.1rem 0;
  }
  .solutionsnav .w-710 {
    width: 7.1rem;
    margin: 0 auto;
    background-color: #e8eff7;
    display: flex;
    justify-content: space-between;
    font-size: 0.16rem;
    color: #333;
    padding: 0.18rem 0.3rem;
    border-radius: 1rem;
  }
  .solutionsnav .w-710 a {
    font-size: 0.16rem;
    color: #333;
    text-align: center;
    padding: 0.12rem 0.25rem;
    border-radius: 1rem;
    transition: all 0.5s;
  }
  .solutionsnav .w-710 a:hover {
    background-color: #2585f7;
    color: #fff;
    transition: all 0.5s;
  }
  .solutionsnav .w-710 a.active {
    background-color: #2585f7;
    color: #fff;
  }
  /* 高性能云计算 */
  .solutionsa {
    width: 100%;
    min-height: 100vh;
    padding-bottom: 1.1rem;
    display: grid;
    align-content: center;
  }
  .solutionsa .w-1500 {
    width: 15rem;
    margin: 0 auto;
  }
  .solutionsa .w-1500 .leftrighttit {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    width: 100%;
    margin-bottom: 1rem;
  }
  .solutionsa .w-1500 .leftrighttit .left {
    width: 6.5rem;
  }
  .solutionsa .w-1500 .leftrighttit .left h3 {
    font-size: 0.3rem;
    color: #1768d9;
    margin-bottom: 0.65rem;
  }
  .solutionsa .w-1500 .leftrighttit .left .ovshucn {
    font-size: 0.2rem;
    color: #333;
    line-height: 1.8;
  }
  .solutionsa .w-1500 .leftrighttit .right {
    font-size: 0.3rem;
    color: #333;
  }
  .solutionsa .w-1500 .zhuanshi {
    width: 100%;
  }
  .solutionsa .w-1500 .zhuanshi .zhuanshi_image {
    width: 100%;
    height: 6.9rem;
    border-radius: 0.1rem;
    overflow: hidden;
  }
  .solutionsa .w-1500 .zhuanshi .zhuanshi_image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .solutionsa .w-1500 .zhuanshi .zhuanshi_list {
    position: relative;
    z-index: 1;
    width: 12.8rem;
    margin: -1.5rem auto 0;
    padding: 0.85rem 0 0.65rem;
    border-radius: 0.1rem;
    background-color: #fff;
    box-shadow: 0 0.03rem 0.1rem rgba(0, 0, 0, 0.08);
    display: flex;
    justify-content: space-between;
  }
  .solutionsa .w-1500 .zhuanshi .zhuanshi_list li {
    width: 25%;
    text-align: center;
  }
  .solutionsa .w-1500 .zhuanshi .zhuanshi_list li img {
    width: 0.6rem;
    height: 0.6rem;
    margin: 0 auto 0.5rem;
    object-fit: contain;
  }
  .solutionsa .w-1500 .zhuanshi .zhuanshi_list li p {
    font-size: 0.2rem;
    line-height: 1.5;
    color: #333;
  }
  /* 应用场景 */
  .yycj {
    width: 100%;
    height: 9.5rem;
    padding: 1.1rem 0;
    position: relative;
    isolation: isolate;
    overflow: hidden;
    background: linear-gradient(180deg, #fff 42%, #f2f4f8 100%);
  }
  .yycj .yycj_wave {
    position: absolute;
    inset: 0;
    z-index: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    background: #fff center / 100% 100% no-repeat;
    overflow: hidden;
  }
  .yycj .w-1500 {
    width: 15rem;
    margin: 0 auto;
    position: relative;
    z-index: 1;
  }
  .yycj .w-1500 h3 {
    font-size: 0.3rem;
    color: #1768d9;
    margin-bottom: 1.55rem;
  }
  .yycj .w-1500 .qiehuandoangx {
    width: 100%;
    position: relative;
  }
  .yycj .w-1500 .qiehuandoangx .scene_viewport {
    width: 100%;
    overflow: hidden;
    touch-action: pan-y;
    user-select: none;
    -webkit-user-select: none;
  }
  .yycj .w-1500 .qiehuandoangx .scene_track {
    width: 100%;
    height: 3.5rem;
    position: relative;
  }
  .yycj .w-1500 .qiehuandoangx .scene_card {
    position: absolute;
    top: 0;
    left: 50%;
    z-index: 1;
    width: 4.5rem;
    height: 3.5rem;
    padding: 0;
    border: 0;
    border-radius: 0.14rem;
    overflow: hidden;
    background-color: #10243b;
    color: #fff;
    font: inherit;
    appearance: none;
    cursor: pointer;
    backface-visibility: hidden;
    transform-origin: center center;
    transform: translate3d(-50%, 0, 0) perspective(10rem) rotateY(0deg) scale(1);
    transition: transform 0.8s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.65s ease;
    will-change: transform;
  }
  .yycj .w-1500 .qiehuandoangx .scene_card img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    pointer-events: none;
  }
  .yycj .w-1500 .qiehuandoangx .scene_card::after {
    content: '';
    position: absolute;
    inset: 35% 0 0;
    background: linear-gradient(180deg, transparent, rgba(0, 10, 25, 0.62));
    pointer-events: none;
  }
  .yycj .w-1500 .qiehuandoangx .scene_card .scene_name {
    position: absolute;
    right: 0.2rem;
    bottom: 0.5rem;
    left: 0.2rem;
    z-index: 1;
    font-size: 0.24rem;
    font-weight: normal;
    line-height: 1.5;
    text-align: center;
    text-shadow: 0 0.02rem 0.08rem rgba(0, 0, 0, 0.25);
  }
  .yycj .w-1500 .qiehuandoangx .scene_card.is-left {
    z-index: 2;
    transform: translate3d(calc(-50% - 4.9rem), 0, 0) perspective(10rem) rotateY(35deg) scale(1.18, 0.84);
  }
  .yycj .w-1500 .qiehuandoangx .scene_card.is-center {
    z-index: 3;
  }
  .yycj .w-1500 .qiehuandoangx .scene_card.is-right {
    z-index: 2;
    transform: translate3d(calc(-50% + 4.9rem), 0, 0) perspective(10rem) rotateY(-35deg) scale(1.18, 0.84);
  }
  .yycj .w-1500 .qiehuandoangx .scene_card.is-before {
    z-index: 0;
    opacity: 0;
    pointer-events: none;
    transform: translate3d(calc(-50% - 9.8rem), 0, 0) perspective(10rem) rotateY(35deg) scale(1.18, 0.84);
  }
  .yycj .w-1500 .qiehuandoangx .scene_card.is-after {
    z-index: 0;
    opacity: 0;
    pointer-events: none;
    transform: translate3d(calc(-50% + 9.8rem), 0, 0) perspective(10rem) rotateY(-35deg) scale(1.18, 0.84);
  }
  .yycj .w-1500 .qiehuandoangx .scene_card.is-staging {
    transition: none;
  }
  .yycj .w-1500 .qiehuandoangx .scene_card:focus-visible {
    outline: 0.03rem solid #2585f7;
    outline-offset: -0.04rem;
  }
  .yycj .w-1500 .qiehuandoangx.is-resetting .scene_card {
    transition: none;
  }
}
@media (min-width: 768px) and (prefers-reduced-motion: reduce) {
  .banner .banner_button {
    transition: none;
  }
  .banner .banner_button:hover {
    transform: none;
  }
}
@media (min-width: 768px) and (prefers-reduced-motion: reduce) {
  .yycj .w-1500 .qiehuandoangx .scene_card {
    transition: none;
  }
}
/* 页面模块（CMS）：从导航「定位到页内模块」、横幅「查看应用场景」按锚点跳过来时，固定页头会挡住区块上沿，定位时上方要留出空间。
   「应用场景」自带上内边距，只留页头高度；「方案介绍」顶上没有内边距（正常浏览时靠上面的切换条隔开），
   再多留一段与「应用场景」上内边距相同的距离，两块定位后标题离页头一样远 */
@media (max-width: 767.98px) {
  .solutionsa {
    scroll-margin-top: 4.66666667rem;
  }
  .yycj {
    scroll-margin-top: 2.66666667rem;
  }
}
@media (min-width: 768px) {
  .solutionsa {
    scroll-margin-top: 1.9rem;
  }
  .yycj {
    scroll-margin-top: 0.8rem;
  }
}
