@media (max-width: 768px) {
  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: 2558.99px) {
  html {
    font-size: calc(100vw / 22.4);
  }
}
@media (min-width: 2559px) and (max-width: 4000px) {
  html {
    font-size: calc(100vw / 25.6);
  }
}
/* 手机 */
@media (max-width: 768px) {
  /* banner */
  .banner {
    width: 100%;
    height: 100%;
    overflow: hidden;
  }
  .banner .sabuubanner {
    width: 100%;
    height: 100%;
  }
  .banner .sabuubanner .con {
    position: relative;
    height: 100vw;
  }
  .banner .sabuubanner .con .mySwiper_banner {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vw;
    overflow: hidden;
  }
  .banner .sabuubanner .con .mySwiper_banner .swiper-wrapper .swiper-slide {
    width: 100% !important;
    position: relative;
  }
  .banner .sabuubanner .con .mySwiper_banner .swiper-wrapper .swiper-slide .tupiandde {
    width: 100%;
    height: 100vw;
    overflow: hidden;
  }
  .banner .sabuubanner .con .mySwiper_banner .swiper-wrapper .swiper-slide .tupiandde img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    min-height: 100%;
    transition: 0.8s linear 1s;
    transform: scale(1);
  }
  .banner .sabuubanner .con .mySwiper_banner .swiper-wrapper .swiper-slide .tupiandde .viea {
    width: 100%;
    height: 100%;
    object-fit: cover;
    min-height: 100%;
  }
  .banner .sabuubanner .con .mySwiper_banner .swiper-wrapper .swiper-slide .w-1517 {
    position: absolute;
    top: 6.66666667rem;
    width: 100%;
    margin: 0 auto;
  }
  .banner .sabuubanner .con .mySwiper_banner .swiper-wrapper .swiper-slide .w-1517 h3 {
    width: 100%;
    font-size: 1.33333333rem;
    color: #fff;
    text-align: center;
  }
  .banner .sabuubanner .con .mySwiper_banner .swiper-wrapper .swiper-slide-active .tupiandde img {
    transition: 4.5s linear;
    transform: scale(1.05);
  }
  .banner .sabuubanner .con .mySwiper_banner .swiper-wrapper .swiper-slide-duplicate-active .tupiandde img {
    transition: 4.5s linear;
    transform: scale(1.05);
  }
  /* 游轮信息 */
  .youlunzhanshi {
    width: 100%;
    height: 100%;
    padding: 10% 5%;
    background-position: bottom;
    background-repeat: no-repeat;
    background-size: cover;
    background-color: #faf8f5;
  }
  .youlunzhanshi .w-1520 {
    width: 100%;
    margin: 0 auto;
  }
  .youlunzhanshi .w-1520 .fenelcaism {
    display: flex;
    flex-wrap: wrap;
    gap: 1.33333333rem;
  }
  .youlunzhanshi .w-1520 .fenelcaism .lishuproducud {
    padding: 0.66666667rem;
    width: 100%;
    background-color: #fff;
    box-shadow: 0 0 0.33333333rem 0 #c7a15a52;
    transition: all 0.5s;
  }
  .youlunzhanshi .w-1520 .fenelcaism .lishuproducud .acioanimg {
    width: 100%;
    height: 10rem;
    overflow: hidden;
    transition: all 0.5s;
    margin: 0 auto 0.66666667rem;
  }
  .youlunzhanshi .w-1520 .fenelcaism .lishuproducud .acioanimg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: all 0.5s;
    transform: scale(1);
  }
  .youlunzhanshi .w-1520 .fenelcaism .lishuproducud .asscmia {
    display: flex;
    align-items: center;
    gap: 0.66666667rem;
    margin-bottom: 0.33333333rem;
  }
  .youlunzhanshi .w-1520 .fenelcaism .lishuproducud .asscmia i {
    display: block;
    width: 0.8rem;
    height: 0.8rem;
  }
  .youlunzhanshi .w-1520 .fenelcaism .lishuproducud .asscmia i .icon {
    display: block;
    width: 0.8rem;
    height: 0.8rem;
    fill: #c7a15a;
  }
  .youlunzhanshi .w-1520 .fenelcaism .lishuproducud .asscmia .scmiaosmco {
    display: block;
    font-size: 0.53333333rem;
    color: #333;
  }
  .youlunzhanshi .w-1520 .fenelcaism .lishuproducud .titlejie {
    font-size: 0.66666667rem;
    color: #c7a15a;
    margin-bottom: 0.66666667rem;
  }
  .youlunzhanshi .w-1520 .fenelcaism .lishuproducud .jiageunaismc {
    background-color: #faf8f5;
    padding: 0.66666667rem;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
  }
  .youlunzhanshi .w-1520 .fenelcaism .lishuproducud .jiageunaismc .ledt .timeshus {
    font-size: 0.53333333rem;
    color: #333;
    margin-bottom: 0.33333333rem;
  }
  .youlunzhanshi .w-1520 .fenelcaism .lishuproducud .jiageunaismc .ledt .ascmaisom {
    display: flex;
    gap: 0.33333333rem;
    align-items: center;
  }
  .youlunzhanshi .w-1520 .fenelcaism .lishuproducud .jiageunaismc .ledt .ascmaisom .csmaiocm {
    font-size: 0.53333333rem;
    color: #333;
  }
  .youlunzhanshi .w-1520 .fenelcaism .lishuproducud .jiageunaismc .ledt .ascmaisom .cmaiomcoapop {
    font-size: 0.53333333rem;
    color: #c7a15a;
    font-weight: 600;
  }
  .youlunzhanshi .w-1520 .fenelcaism .lishuproducud .jiageunaismc .xianshausnc {
    cursor: pointer;
    font-size: 0.46666667rem;
    color: #fff;
    width: 3.33333333rem;
    height: 1.33333333rem;
    background-color: #c7a15a;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .youlunzhanshi .w-1520 .fenelcaism .lishuproducud:hover {
    transition: all 0.5s;
  }
  .youlunzhanshi .w-1520 .fenelcaism .lishuproducud:hover .acioanimg {
    transition: all 0.5s;
  }
  .youlunzhanshi .w-1520 .fenelcaism .lishuproducud:hover .acioanimg img {
    transition: all 0.5s;
    transform: scale(1.05);
  }
  .youlunzhanshi .w-1520 .fenyezhuanshi {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0.33333333rem;
    font-size: 0.53333333rem;
  }
  .youlunzhanshi .w-1520 .fenyezhuanshi .fenelcaism {
    display: none;
  }
  .youlunzhanshi .w-1520 .fenyezhuanshi .fenelcaism a {
    display: none;
  }
  .youlunzhanshi .w-1520 .fenyezhuanshi .shouiduan {
    display: block;
    width: 100%;
  }
  .youlunzhanshi .w-1520 .fenyezhuanshi .shouiduan i {
    display: block;
    width: 1rem;
    height: 1rem;
    margin: 2.33333333rem auto 0;
  }
  .youlunzhanshi .w-1520 .fenyezhuanshi .shouiduan i .icon {
    display: block;
    /* 关键：让 transform 生效更稳定 */
    animation: floatY 2s ease-in-out infinite;
    transform-origin: center;
    will-change: transform;
    width: 1rem;
    height: 1rem;
    fill: #fff;
  }
  @keyframes floatY {
    0%,
    100% {
      transform: translateY(0);
    }
    50% {
      transform: translateY(-0.8rem);
    }
  }
  .youlunzhanshi .w-1520 .fenyezhuanshi .shouiduan p {
    display: none;
    width: 30%;
    margin: 0 auto;
    background-color: #c7a15a;
    padding: 0.4rem;
    text-align: center;
    font-size: 0.53333333rem;
    color: #fff;
    margin-top: 2rem;
  }
  .youlunzhanshi .w-1520 .fenyezhuanshi .shouiduan.is-done p {
    display: block;
  }
  /* 弹框 */
  .line-detail-modal {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2.66666667rem;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.35s ease, visibility 0.35s ease;
  }
  .line-detail-modal .line-detail-modal__mask {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.72);
    backdrop-filter: blur(0.26666667rem);
  }
  .line-detail-modal .line-detail-modal__dialog {
    position: relative;
    z-index: 2;
    max-width: 100%;
    max-height: 90vh;
    transform: translateY(0.53333333rem) scale(0.96);
    transition: transform 0.35s cubic-bezier(0.22, 0.61, 0.36, 1);
  }
  .line-detail-modal .line-detail-modal__dialog .line-detail-modal__close {
    width: 0.8rem;
    height: 0.8rem;
    position: absolute;
    right: -0.66666667rem;
    top: -1rem;
    z-index: 5;
    transition: all 0.5s;
    border: 0;
    background: rgba(255, 255, 255, 0);
    line-height: 1;
    cursor: pointer;
  }
  .line-detail-modal .line-detail-modal__dialog .line-detail-modal__close .icon {
    display: block;
    width: 0.8rem;
    height: 0.8rem;
    fill: #fff;
  }
  .line-detail-modal .line-detail-modal__dialog .line-detail-modal__close:hover {
    transition: all 0.5s;
  }
  .line-detail-modal .line-detail-modal__dialog .line-detail-modal__close:hover .icon {
    animation: annshuRotateOnce 0.7s cubic-bezier(0.22, 1, 0.36, 1) 1;
  }
  @keyframes annshuRotateOnce {
    from {
      transform: rotate(0deg);
    }
    to {
      transform: rotate(360deg);
    }
  }
  .line-detail-modal .line-detail-modal__dialog .line-detail-modal__body {
    overflow: hidden;
  }
  .line-detail-modal .line-detail-modal__dialog .line-detail-modal__body img {
    display: block;
    max-width: 100%;
    max-height: 90vh;
    width: auto;
    height: auto;
  }
  .line-detail-modal.is-show {
    opacity: 1;
    visibility: visible;
  }
  .line-detail-modal.is-show .line-detail-modal__dialog {
    transform: translateY(0) scale(1);
  }
}
/* pc */
@media (min-width: 768px) {
  /* banner */
  .banner {
    position: sticky;
    top: 0;
    width: 100%;
    height: 100vh;
    /* ✅ 一屏 */
  }
  .banner .sabuubanner {
    width: 100%;
    height: 100%;
  }
  .banner .sabuubanner .con {
    position: relative;
    height: 100%;
  }
  .banner .sabuubanner .con .mySwiper_banner {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
  }
  .banner .sabuubanner .con .mySwiper_banner .swiper-wrapper {
    height: 100%;
  }
  .banner .sabuubanner .con .mySwiper_banner .swiper-wrapper .swiper-slide {
    width: 100% !important;
    height: 100%;
    position: relative;
  }
  .banner .sabuubanner .con .mySwiper_banner .swiper-wrapper .swiper-slide .tupiandde {
    width: 100%;
    height: 100%;
    overflow: hidden;
    position: relative;
    z-index: 10;
  }
  .banner .sabuubanner .con .mySwiper_banner .swiper-wrapper .swiper-slide .tupiandde img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    min-height: 100%;
    transition: 0.8s linear 1s;
    transform: scale(1);
  }
  .banner .sabuubanner .con .mySwiper_banner .swiper-wrapper .swiper-slide .tupiandde .viea {
    width: 100%;
    height: 100%;
    object-fit: cover;
    min-height: 100%;
  }
  .banner .sabuubanner .con .mySwiper_banner .swiper-wrapper .swiper-slide .w-1517 {
    position: absolute;
    z-index: 25;
    top: clamp(5.5rem, 50vh, 4.5rem);
    width: 100%;
    margin: 0 auto;
  }
  .banner .sabuubanner .con .mySwiper_banner .swiper-wrapper .swiper-slide .w-1517 h3 {
    text-align: center;
    width: 100%;
    font-size: 0.7rem;
    color: #fff;
  }
  .banner .sabuubanner .con .mySwiper_banner .swiper-wrapper .swiper-slide-active .tupiandde img {
    transition: 4.5s linear;
    transform: scale(1.05);
  }
  .banner .sabuubanner .con .mySwiper_banner .swiper-wrapper .swiper-slide-duplicate-active .tupiandde img {
    transition: 4.5s linear;
    transform: scale(1.05);
  }
  /* 游轮信息 */
  .youlunzhanshi {
    position: relative;
    z-index: 2;
    width: 100%;
    height: 100%;
    padding: 1rem 0;
    background-position: bottom;
    background-repeat: no-repeat;
    background-size: cover;
    background-color: #faf8f5;
  }
  .youlunzhanshi .w-1520 {
    width: 15.2rem;
    margin: 0 auto;
  }
  .youlunzhanshi .w-1520 .fenelcaism {
    display: flex;
    flex-wrap: wrap;
    gap: 0.8rem;
  }
  .youlunzhanshi .w-1520 .fenelcaism .lishuproducud {
    padding: 0.2rem;
    width: 4.5rem;
    background-color: #fff;
    box-shadow: 0 0 0.1rem 0 #c7a15a52;
    transition: all 0.5s;
  }
  .youlunzhanshi .w-1520 .fenelcaism .lishuproducud .acioanimg {
    width: 4rem;
    height: 3rem;
    overflow: hidden;
    transition: all 0.5s;
    margin: 0 auto 0.3rem;
  }
  .youlunzhanshi .w-1520 .fenelcaism .lishuproducud .acioanimg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: all 0.5s;
    transform: scale(1);
  }
  .youlunzhanshi .w-1520 .fenelcaism .lishuproducud .asscmia {
    display: flex;
    align-items: center;
    gap: 0.2rem;
    margin-bottom: 0.2rem;
  }
  .youlunzhanshi .w-1520 .fenelcaism .lishuproducud .asscmia i {
    display: block;
    width: 0.2rem;
    height: 0.2rem;
  }
  .youlunzhanshi .w-1520 .fenelcaism .lishuproducud .asscmia i .icon {
    display: block;
    width: 0.2rem;
    height: 0.2rem;
    fill: #c7a15a;
  }
  .youlunzhanshi .w-1520 .fenelcaism .lishuproducud .asscmia .scmiaosmco {
    display: block;
    font-size: 0.16rem;
    color: #333;
  }
  .youlunzhanshi .w-1520 .fenelcaism .lishuproducud .titlejie {
    font-size: 0.18rem;
    color: #c7a15a;
    margin-bottom: 0.2rem;
  }
  .youlunzhanshi .w-1520 .fenelcaism .lishuproducud .jiageunaismc {
    background-color: #faf8f5;
    padding: 0.2rem;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
  }
  .youlunzhanshi .w-1520 .fenelcaism .lishuproducud .jiageunaismc .ledt .timeshus {
    font-size: 0.16rem;
    color: #333;
    margin-bottom: 0.1rem;
  }
  .youlunzhanshi .w-1520 .fenelcaism .lishuproducud .jiageunaismc .ledt .ascmaisom {
    display: flex;
    gap: 0.05rem;
    align-items: center;
  }
  .youlunzhanshi .w-1520 .fenelcaism .lishuproducud .jiageunaismc .ledt .ascmaisom .csmaiocm {
    font-size: 0.16rem;
    color: #333;
  }
  .youlunzhanshi .w-1520 .fenelcaism .lishuproducud .jiageunaismc .ledt .ascmaisom .cmaiomcoapop {
    font-size: 0.16rem;
    color: #c7a15a;
    font-weight: 600;
  }
  .youlunzhanshi .w-1520 .fenelcaism .lishuproducud .jiageunaismc .xianshausnc {
    cursor: pointer;
    font-size: 0.14rem;
    color: #fff;
    width: 0.8rem;
    height: 0.3rem;
    background-color: #c7a15a;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .youlunzhanshi .w-1520 .fenelcaism .lishuproducud:hover {
    transition: all 0.5s;
  }
  .youlunzhanshi .w-1520 .fenelcaism .lishuproducud:hover .acioanimg {
    transition: all 0.5s;
  }
  .youlunzhanshi .w-1520 .fenelcaism .lishuproducud:hover .acioanimg img {
    transition: all 0.5s;
    transform: scale(1.05);
  }
  .youlunzhanshi .w-1520 .fenyezhuanshi {
    width: 100%;
  }
  .youlunzhanshi .w-1520 .fenyezhuanshi .fenelcaism {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 0.14rem;
    gap: 0.15rem;
    margin-top: 0.8rem;
  }
  .youlunzhanshi .w-1520 .fenyezhuanshi .fenelcaism a {
    display: block;
    font-size: 0.14rem;
    padding: 0.05rem 0.15rem;
    color: #fff;
    text-align: center;
    line-height: 1.8;
    border: 0.01rem solid #fff;
    transition: all 0.5s;
  }
  .youlunzhanshi .w-1520 .fenyezhuanshi .fenelcaism a:hover {
    background-color: #c7a15a;
    color: #fff;
    border: 0.01rem solid #c7a15a;
    transition: all 0.5s;
  }
  .youlunzhanshi .w-1520 .fenyezhuanshi .fenelcaism a.active {
    background-color: #c7a15a;
    color: #fff;
    border: 0.01rem solid #c7a15a;
  }
  .youlunzhanshi .w-1520 .fenyezhuanshi .shouiduan {
    display: none;
  }
  /* 弹框 */
  .line-detail-modal {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0.4rem;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.35s ease, visibility 0.35s ease;
  }
  .line-detail-modal .line-detail-modal__mask {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.72);
    backdrop-filter: blur(0.04rem);
  }
  .line-detail-modal .line-detail-modal__dialog {
    position: relative;
    z-index: 2;
    max-width: 10rem;
    max-height: 90vh;
    transform: translateY(0.18rem) scale(0.96);
    transition: transform 0.35s cubic-bezier(0.22, 0.61, 0.36, 1);
  }
  .line-detail-modal .line-detail-modal__dialog .line-detail-modal__close {
    position: absolute;
    right: -0.3rem;
    top: -0.25rem;
    width: 0.3rem;
    height: 0.3rem;
    border: 0;
    background: rgba(255, 255, 255, 0);
    line-height: 1;
    cursor: pointer;
  }
  .line-detail-modal .line-detail-modal__dialog .line-detail-modal__close .icon {
    display: block;
    width: 0.3rem;
    height: 0.3rem;
    fill: #fff;
  }
  .line-detail-modal .line-detail-modal__dialog .line-detail-modal__close:hover {
    transition: all 0.5s;
  }
  .line-detail-modal .line-detail-modal__dialog .line-detail-modal__close:hover .icon {
    animation: annshuRotateOnce 0.7s cubic-bezier(0.22, 1, 0.36, 1) 1;
  }
  @keyframes annshuRotateOnce {
    from {
      transform: rotate(0deg);
    }
    to {
      transform: rotate(360deg);
    }
  }
  .line-detail-modal .line-detail-modal__dialog .line-detail-modal__body {
    overflow: hidden;
  }
  .line-detail-modal .line-detail-modal__dialog .line-detail-modal__body img {
    display: block;
    max-width: 100%;
    max-height: 90vh;
    width: auto;
    height: auto;
  }
  .line-detail-modal.is-show {
    opacity: 1;
    visibility: visible;
  }
  .line-detail-modal.is-show .line-detail-modal__dialog {
    transform: translateY(0) scale(1);
  }
}
