/* Homepage only. Fixed geometry also preserves the static, no-JavaScript view. */
.hero-carousel-slides,.hero-carousel-slide{position:absolute;inset:0}
.hero-carousel-slide{opacity:0;visibility:hidden;transition:opacity .7s ease,visibility 0s linear .7s}
.hero-carousel-slide.is-active{opacity:1;visibility:visible;transition-delay:0s}
.hero-carousel-controls{position:absolute;inset:auto 16px 16px;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:12px;pointer-events:none}
.hero-carousel-controls button{display:flex;align-items:center;justify-content:center;width:44px;height:44px;flex:none;border:0;padding:0;color:#fff;pointer-events:auto}
.hero-carousel-toggle{order:2;background:rgba(23,23,23,.85);border-radius:50%}
.hero-carousel-toggle svg{width:20px;height:20px;stroke-width:2}
.hero-carousel-dots{display:flex;background:rgba(23,23,23,.85);border-radius:24px;padding-inline:2px;pointer-events:auto}
.hero-carousel-dot{background:transparent;border-radius:50%}
.hero-carousel-dot span{display:block;width:8px;height:8px;border:1px solid #fff;border-radius:50%;transition:background .2s}
.hero-carousel-dot[aria-pressed=true] span{background:#fff}
.hero-carousel-dot:hover span{background:rgba(255,255,255,.65)}
.hero-carousel-toggle:hover{background:#171717}
.hero-carousel-controls button:focus-visible{outline:2px solid #fff;outline-offset:-5px;box-shadow:0 0 0 2px #171717}
.hero-carousel-dot:disabled{opacity:.4;cursor:default}
@media(max-width:640px){.hero-carousel-controls{inset:auto 12px 12px}}
@media(prefers-reduced-motion:reduce){.hero-carousel-slide{transition:none}}
