.hero figure{background:#aaa}
.hero figure:after{z-index:2;pointer-events:none}
.slide{position:absolute;z-index:0;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.018);transition:opacity 2.2s cubic-bezier(.45,0,.55,1),transform 8s ease-out;will-change:opacity,transform}
.slide.active{z-index:1;opacity:1;transform:scale(1)}
figcaption{z-index:3;display:flex;gap:2.4rem}
.slider-controls{position:absolute;z-index:4;right:1.25rem;bottom:1.15rem;display:flex;gap:.85rem}
.slide-dot{border:0;border-bottom:1px solid rgba(255,255,255,.45);background:transparent;color:rgba(255,255,255,.6);font:400 .75rem "Helvetica Neue",Helvetica,Arial;padding:.3rem 0;cursor:pointer}
.slide-dot.active{color:#fff;border-color:#fff}
.slider-progress{position:absolute;z-index:4;left:0;bottom:0;width:100%;height:2px;background:rgba(255,255,255,.82);transform:scaleX(0);transform-origin:left;animation:progress 4.2s linear infinite}
@keyframes progress{to{transform:scaleX(1)}}
@media(prefers-reduced-motion:reduce){.slide{transform:none;transition-duration:1.2s}}
@media(max-width:760px){figcaption{gap:1rem}.slider-controls{right:1rem;bottom:1rem}}
.slider-toggle{position:absolute;z-index:4;right:1.25rem;top:1.15rem;border:1px solid rgba(255,255,255,.55);border-radius:999px;background:rgba(20,20,18,.22);backdrop-filter:blur(6px);color:#fff;padding:.48rem .8rem;font:400 .75rem/1 "Helvetica Neue",Helvetica,Arial,sans-serif;letter-spacing:.04em;cursor:pointer}.slider-toggle:focus-visible,.slide-dot:focus-visible{outline:2px solid #fff;outline-offset:3px}@media(max-width:760px){.slider-toggle{right:1rem;top:1rem}}
