.xiancai-hero { position: relative; min-width: 0; min-height: calc(100svh - 120px); overflow: hidden; background: var(--powder); }
.xiancai-hero .hero-gallery { position: absolute; inset: 0; width: 100%; min-width: 0; }
.hero-gallery .swiper-wrapper, .hero-gallery .swiper-slide, .hero-media { width: 100%; height: 100%; min-width: 0; }
.hero-gallery:not(.swiper-initialized) .swiper-slide:not(:first-child) { display: none; }
.hero-media { display: block; }
.hero-media img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.hero-content { position: absolute; z-index: 2; inset: 0; display: flex; min-height: calc(100svh - 120px); padding-block: clamp(72px, 10vh, 124px); align-items: center; justify-content: space-between; }
.hero-copy { width: min(600px, 48vw); padding: clamp(28px, 4vw, 52px); background: rgba(255, 249, 247, .86); box-shadow: 0 24px 80px rgba(53, 19, 38, .12); backdrop-filter: blur(12px); }
.hero-copy :is(h1, h2) { margin: 0 0 28px; font-size: clamp(60px, 5.4vw, 82px); color: var(--plum); }
.hero-copy .lead { color: var(--ink); }
.hero-actions { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 32px; }
.hero-pagination { position: absolute; z-index: 3; left: 50% !important; bottom: 22px !important; display: flex; width: auto !important; gap: 10px; transform: translateX(-50%); }
.hero-pagination .swiper-pagination-bullet { width: 9px; height: 9px; margin: 0 !important; background: var(--paper); border: 1px solid var(--brand); opacity: .72; }
.hero-pagination .swiper-pagination-bullet-active { background: var(--brand); opacity: 1; }
@media (max-width: 1023px) {
    .hero-copy { width: min(540px, 62vw); }
    .hero-copy :is(h1, h2) { font-size: clamp(50px, 7vw, 66px); }
}
@media (max-width: 767px) {
    .xiancai-hero { min-height: 0; }
    .xiancai-hero .hero-gallery { position: relative; height: auto; }
    .hero-gallery .swiper-wrapper, .hero-gallery .swiper-slide { height: auto; }
    .hero-media { height: 54svh; min-height: 380px; }
    .hero-media img { object-position: 72% center; }
    .hero-content { position: relative; min-height: 0; align-items: flex-end; padding-block: 0 40px; margin-top: -42px; }
    .hero-copy { width: 100%; padding: 26px 22px; background: rgba(255, 249, 247, .94); }
    .hero-copy :is(h1, h2) { margin-bottom: 20px; font-size: 42px; }
    .hero-copy .lead { margin-bottom: 18px; }
    .hero-actions { margin-top: 20px; }
    .hero-actions .button { width: 100%; }
    .hero-pagination { bottom: 16px !important; }
}

@media (min-width: 1440px) {
    .hero-copy { width: min(680px, 46vw); }
    .hero-copy :is(h1, h2) { font-size: clamp(82px, 4.7vw, 96px); }
}
