
/* V15 - hero carousel */
.hero-art.hero-carousel-shell{display:block!important;position:relative!important;max-width:100%;overflow:visible!important}
.hero-carousel{position:relative;border-radius:24px;overflow:hidden;box-shadow:0 30px 60px rgba(4,19,44,.28);background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(6px)}
.hero-carousel-track{display:flex;transition:transform .65s cubic-bezier(.22,.68,0,1);will-change:transform}
.hero-slide{min-width:100%;position:relative;display:block;aspect-ratio:1.62;background:#08284f}
.hero-slide img{display:block;width:100%;height:100%;object-fit:cover;border-radius:24px}
.hero-slide::after{content:"";position:absolute;inset:auto 0 0 0;height:40%;background:linear-gradient(to top,rgba(7,18,40,.72),rgba(7,18,40,0));pointer-events:none}
.hero-slide figcaption{position:absolute;left:20px;right:20px;bottom:16px;display:flex;justify-content:space-between;align-items:end;gap:15px;z-index:2;color:#fff}
.hero-slide-text{max-width:min(78%,420px)}
.hero-slide-text strong{display:block;font-size:15px;line-height:1.2;font-weight:800;letter-spacing:.02em}
.hero-slide-text span{display:block;font-size:12px;opacity:.86;margin-top:4px}
.hero-slide-tag{display:inline-flex;align-items:center;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;backdrop-filter:blur(4px)}
.hero-carousel-ui{position:absolute;inset:auto 16px 16px auto;display:flex;align-items:center;gap:12px;z-index:3}
.hero-carousel-btn{width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.26);background:rgba(255,255,255,.16);color:#fff;font-size:28px;line-height:1;display:grid;place-items:center;cursor:pointer;backdrop-filter:blur(4px);transition:transform .2s ease,background .2s ease,border-color .2s ease}
.hero-carousel-btn:hover,.hero-carousel-btn:focus-visible{background:#155af2;border-color:#79a8ff;transform:translateY(-1px)}
.hero-carousel-dots{display:flex;align-items:center;gap:8px;padding:0 4px}
.hero-carousel-dots button{width:10px;height:10px;border-radius:999px;border:0;background:rgba(255,255,255,.38);padding:0;cursor:pointer;transition:width .25s ease,background .25s ease}
.hero-carousel-dots button[aria-current="true"]{width:30px;background:#fff}
.hero-carousel-progress{position:absolute;left:0;right:0;bottom:0;height:4px;background:rgba(255,255,255,.12);z-index:2;overflow:hidden}
.hero-carousel-progress span{display:block;height:100%;width:0;background:linear-gradient(90deg,#52d8dd,#4ca6ff)}
.hero-carousel.is-playing .hero-carousel-progress span{animation:heroProgress var(--hero-interval, 6s) linear forwards}
@keyframes heroProgress{from{width:0}to{width:100%}}
@media(max-width:840px){.hero-slide figcaption{left:16px;right:16px;bottom:14px}.hero-slide-text strong{font-size:14px}.hero-slide-text span{font-size:11px}.hero-carousel-ui{inset:auto 12px 12px auto}.hero-carousel-btn{width:38px;height:38px;font-size:24px}}
@media(max-width:600px){.hero-slide{aspect-ratio:1.12}.hero-slide figcaption{flex-direction:column;align-items:flex-start;gap:9px}.hero-slide-text{max-width:100%}.hero-slide-text strong{font-size:13px}.hero-slide-text span{font-size:10px}.hero-carousel-ui{left:12px;right:12px;justify-content:space-between}.hero-carousel-dots{flex:1;justify-content:center}}
@media(prefers-reduced-motion:reduce){.hero-carousel-track,.hero-carousel-btn,.hero-carousel-dots button{transition:none!important}.hero-carousel.is-playing .hero-carousel-progress span{animation:none!important;width:0!important}}
