/* Homepage control layer: clear glass, a compact 148px silhouette, one clock. */
.hero-glass-defs{position:absolute;pointer-events:none}
.hero-banner-controls{gap:6px;bottom:14px;--hero-progress:0;--glass-light-x:25%}
@media(min-width:768px){.hero-banner-controls{bottom:clamp(18px,2.3svh,26px)}}
.hero-banner-controls .hero-slider-dots{height:32px;padding:0 6px;border-radius:30px;align-items:center;gap:0}
.hero-banner-controls .hero-slider-dot{position:relative;width:24px;height:44px;padding:0;flex-shrink:0;transition:width .38s cubic-bezier(.22,.61,.36,1)}
.hero-banner-controls .hero-slider-dot[aria-pressed="true"]{width:48px}
.hero-banner-controls .hero-slider-dot:hover{background:transparent}
.hero-banner-controls .hero-progress-track{display:block;position:relative;overflow:hidden;width:5px;height:5px;border-radius:20px;background:#30476970;transition:width .38s cubic-bezier(.22,.61,.36,1),background .2s}
.hero-banner-controls .hero-slider-dot[aria-pressed="true"] .hero-progress-track{width:40px;background:#30476929}
.hero-banner-controls .hero-slider-dot:hover .hero-progress-track{background:#30476970}
.hero-banner-controls .hero-progress-fill{display:block;width:100%;height:100%;border-radius:inherit;background:#304769;transform:scaleX(0);transform-origin:left;opacity:0}
.hero-banner-controls .hero-slider-dot[aria-pressed="true"] .hero-progress-fill{background:#304769;opacity:1;transform:scaleX(var(--hero-progress))}
.hero-banner-controls .hero-autoplay-toggle,
.home-heroes[data-mode="slider"] .hero-slider-side button{width:32px;height:32px;color:#304769;transition:opacity .18s,box-shadow .2s,transform .2s}
.hero-banner-controls .hero-autoplay-toggle::after{content:"";position:absolute;inset:-6px 0}
.hero-banner-controls .hero-autoplay-toggle:active,
.home-heroes[data-mode="slider"] .hero-slider-side button:active{transform:scale(.94)}
.hero-banner-controls button:focus-visible,
.home-heroes[data-mode="slider"] .hero-slider-side button:focus-visible{outline:2px solid #304769;outline-offset:3px}
.hero-autoplay-toggle svg{position:relative;width:15px;height:15px;fill:currentColor}
.home-heroes[data-mode="slider"] .hero-slider-side svg{position:relative;width:15px;height:15px;stroke-width:1.8}
/* Mouse clicks must not leave an arrow visible after leaving its edge zone.
   Keyboard users retain a visible focused control. */
.home-heroes[data-mode="slider"] .hero-slider-side:focus-within button{opacity:0}
.home-heroes[data-mode="slider"] .hero-slider-side:hover button,
.home-heroes[data-mode="slider"] .hero-slider-side:has(button:focus-visible) button{opacity:1}
.hero-autoplay-play{display:none}
.home-heroes[data-autoplay="false"] .hero-autoplay-pause{display:none}
.home-heroes[data-autoplay="false"] .hero-autoplay-play{display:block}
@media(prefers-reduced-motion:reduce){.hero-banner-controls .hero-slider-dot,.hero-banner-controls .hero-progress-track,.hero-banner-controls .hero-autoplay-toggle,.home-heroes[data-mode="slider"] .hero-slider-side button{transition:none}}
