/* Home page hero slideshow - see js/hero-slideshow.js. */
.hero-slides{position:relative;height:460px;background:linear-gradient(160deg,var(--mint) 0%,var(--mist) 100%)}
/* Branded placeholder while the first photo loads (or if there are none). */
.hero-slides::before{content:'';position:absolute;inset:0;background:url('../assets/img/icon-only.png') no-repeat center/72px;opacity:.35;transition:opacity .8s}
.hero-slides.is-ready::before{opacity:0}
.hs-slide{position:absolute;inset:0;margin:0;opacity:0;transition:opacity 3s cubic-bezier(.45,0,.25,1)}
.hs-slide img{width:100%;height:100%;object-fit:cover;transform:scale(1.02);transform-origin:center 60%}
.hs-slide.is-active{opacity:1;z-index:2}
.hs-slide.is-leaving{opacity:0;z-index:1}
.hs-slide.is-active img{animation:hs-zoom 12s linear forwards}
.hs-slide.is-leaving img{transform:scale(1.08)}
@keyframes hs-zoom{from{transform:scale(1.02)}to{transform:scale(1.08)}}
/* Soft shade at the bottom so the caption reads on any photo. */
.hs-slide::after{content:'';position:absolute;inset:auto 0 0;height:40%;background:linear-gradient(180deg,rgba(42,47,51,0) 0%,rgba(42,47,51,.45) 100%);pointer-events:none}
.hs-caption{position:absolute;left:24px;bottom:22px;z-index:1;display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.94);color:var(--ink);font-weight:700;font-size:14px;line-height:1.2;padding:9px 16px 9px 12px;border-radius:100px;box-shadow:0 6px 18px rgba(0,0,0,.12);opacity:0;transform:translateY(8px);transition:opacity 1.2s ease 1.2s,transform 1.2s ease 1.2s}
.hs-caption::before{content:'';width:18px;height:18px;flex:none;background:url('../assets/img/icon-only.png') no-repeat center/contain}
.hs-slide.is-active .hs-caption{opacity:1;transform:none}
.hs-dots{position:absolute;right:24px;bottom:32px;z-index:3;display:flex;gap:6px}
.hs-dots span{width:6px;height:6px;border-radius:6px;background:rgba(255,255,255,.55);transition:width .6s,background .6s}
.hs-dots span.on{width:20px;background:#fff}
@media (max-width:600px){.hero-slides{height:340px}.hs-caption{left:16px;bottom:16px}.hs-dots{right:16px;bottom:26px}}
@media (prefers-reduced-motion:reduce){.hs-slide.is-active img{animation:none}.hs-slide{transition-duration:.6s}}
