.ray-cms-banner #indexbanner { height: auto; min-height: 0; aspect-ratio: 1920 / 680; }
.ray-cms-banner #indexbanner .ray-banner-link { position: relative; display: block; width: 100%; height: 100%; color: #153c63; }
.ray-cms-banner #indexbanner .swiper-slide img { object-position: center; }
.ray-banner-copy { position: absolute; top: 50%; left: max(5vw, calc((100% - 1680px) / 2)); width: 35%; transform: translateY(-50%); text-align: left; }
.ray-banner-copy h1 { margin: 0 0 25px; color: #153c63; font-family: Arial, "Microsoft YaHei", sans-serif; font-size: clamp(38px, 3.5vw, 68px); font-weight: 700; line-height: 1.2; letter-spacing: 0; }
.ray-banner-copy p { max-width: 560px; margin: 0; color: #244967; font-family: Arial, "Microsoft YaHei", sans-serif; font-size: clamp(18px, 1.35vw, 26px); font-weight: 400; line-height: 1.85; letter-spacing: 0; text-indent: 0; text-wrap: balance; }
@media (max-width: 991px) {
  .ray-cms-banner #indexbanner { height: auto; min-height: 0; aspect-ratio: auto; }
  .ray-cms-banner #indexbanner .swiper-wrapper, .ray-cms-banner #indexbanner .swiper-slide { height: auto; }
  .ray-cms-banner #indexbanner .ray-banner-link { display: flex; flex-direction: column; height: auto; background: #78a9d6; }
  .ray-cms-banner #indexbanner .swiper-slide img { height: auto !important; aspect-ratio: 16 / 9; object-position: right center; mask-image: linear-gradient(to bottom, transparent, #000 12%); }
  .ray-banner-copy { position: static; order: -1; width: 100%; padding: 32px 24px 8px; transform: none; background: linear-gradient(135deg, #86b4dc, #78a9d6); }
  .ray-banner-copy h1 { margin-bottom: 16px; font-size: clamp(32px, 4.5vw, 44px); }
  .ray-banner-copy p { max-width: 640px; font-size: 17px; line-height: 1.75; }
}
