.banner-slider{position:relative;width:100%;margin:0 0 16px;overflow:hidden;border-radius:16px;background:linear-gradient(135deg,#0d2638,#071521);box-shadow:0 18px 44px #06131e40,0 0 0 1px #ffffff0d,inset 0 0 0 1px #f4bd3e1a}
.banner-slider::before{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;border-radius:inherit;box-shadow:inset 0 -60px 60px -30px #06131ecc}
.banner-track{position:relative;aspect-ratio:5/1;background:linear-gradient(100deg,#0c2536 30%,#123b56 50%,#0c2536 70%);background-size:220% 100%;animation:banner-shimmer 2.4s linear infinite}
.banner-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transform:scale(1.04);transition:opacity .7s ease,transform 6s ease-out}
.banner-slide.active{opacity:1;visibility:visible;transform:scale(1)}
.banner-slide a,.banner-slide picture{display:block;width:100%;height:100%}
.banner-slide img{display:block;width:100%;height:100%;object-fit:cover}
.banner-prev,.banner-next{position:absolute;z-index:4;top:50%;width:42px;height:42px;transform:translateY(-50%);display:grid;place-items:center;border:1px solid #ffffff33;border-radius:50%;background:#06131ea6;color:#fff;font-size:22px;line-height:1;cursor:pointer;opacity:0;backdrop-filter:blur(6px);transition:background .2s,border-color .2s,opacity .3s,transform .2s}
.banner-slider:hover .banner-prev,.banner-slider:hover .banner-next{opacity:1}
.banner-prev:hover,.banner-next:hover{background:var(--gold);border-color:var(--gold);color:#06131e}
.banner-prev{left:16px}.banner-next{right:16px}
.banner-prev:hover{transform:translateY(-50%) scale(1.08)}.banner-next:hover{transform:translateY(-50%) scale(1.08)}
.banner-dots{position:absolute;z-index:4;left:50%;bottom:14px;display:flex;gap:7px;transform:translateX(-50%)}
.banner-dots button{width:8px;height:8px;padding:0;border:0;border-radius:9px;background:#ffffff66;box-shadow:0 1px 3px #06131e66;cursor:pointer;transition:width .3s,background .3s}
.banner-dots button:hover{background:#ffffffcc}
.banner-dots button.active{width:26px;background:linear-gradient(90deg,var(--gold),var(--gold2))}
.banner-progress{position:absolute;z-index:4;left:0;bottom:0;height:3px;width:0;background:linear-gradient(90deg,var(--gold),var(--gold2));box-shadow:0 0 8px #f4bd3e88}
.banner-progress.run{width:100%}
@keyframes banner-shimmer{0%{background-position:0 0}100%{background-position:-220% 0}}
@media(max-width:700px){.banner-slider{border-radius:12px;margin-bottom:10px}.banner-track{aspect-ratio:15/7}.banner-prev,.banner-next{display:none}.banner-dots{bottom:9px}.banner-dots button.active{width:22px}}
@media(prefers-reduced-motion:reduce){.banner-slide{transition:opacity .3s ease;transform:none}.banner-slide.active{transform:none}.banner-track{animation:none}}
