.banner-carousel{position:relative;background:#ffffff;box-shadow:0 9px 18px -12px rgba(0,0,0,.22)}.banner-slide .banner-title{font-size:clamp(45px,4.6vw,72px);max-width:530px;line-height:1.02;margin-bottom:23px;letter-spacing:-3.5px;animation-delay:.18s}.banner-slide .hero-copy{padding-bottom:95px}.banner-slide .hero-visual>img{height:100%;min-height:510px;object-fit:cover}.carousel-controls{position:absolute;left:7%;bottom:22px;display:flex;align-items:center;gap:12px;z-index:2}.carousel-controls>button{border:1px solid #b9bcb3;background:#f7f6f2;color:#222;width:33px;height:33px;font-size:20px;display:grid;place-items:center}.carousel-controls>[data-slide-pause]{font-size:12px;margin-left:8px}.carousel-dots{display:flex;gap:8px}.carousel-dots button{width:10px;height:10px;border-radius:50%;border:1px solid #777;padding:0;background:transparent}.carousel-dots button[aria-pressed=true]{background:var(--red);border-color:var(--red)}.banner-preview{width:320px;height:180px;object-fit:cover;margin:15px 0}.banner-delete{display:inline-block;margin-left:20px}.banner-slide{animation:soft-in .5s ease}@media(max-width:640px){.banner-slide .banner-title{font-size:49px;max-width:380px}.banner-slide .hero-copy{padding-bottom:35px}.banner-slide .hero-visual>img{min-height:0;height:320px}.carousel-controls{position:relative;left:0;bottom:0;justify-content:center;padding:16px}.banner-slide .hero-visual{height:320px}}
.banner-carousel,.banner-slide,.banner-slide .hero-copy,.banner-slide .hero-visual{background:#ffffff}
.banner-slide.hero{max-height:none}
.banner-slide .hero-visual{display:flex;align-items:center;justify-content:center;min-width:0;padding:32px;overflow:hidden}
.banner-slide .hero-visual>img{display:block;width:100%;height:clamp(320px,38vw,580px);min-height:0;max-width:100%;object-fit:contain;object-position:center;transform:none;will-change:auto}
@media(max-width:640px){.banner-slide .hero-visual{height:auto;padding:20px 24px 28px}.banner-slide .hero-visual>img{height:clamp(220px,70vw,380px);min-height:0;object-fit:contain;transform:none}}
