/* Homepage slideshow (only active when js/hero/hero-slideshow.js finds photos). */
.hero-arch .photo-ph.hs-on { background: #EDE6D8; cursor: pointer; }
.hero-arch .photo-ph.hs-on::before { display: none; }
.hero-arch .photo-ph .hs-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity 1.2s ease; }
.hero-arch .photo-ph .hs-img.is-on { opacity: 1; }
.hs-preview { position: absolute; top: 46%; left: 50%; transform: translateX(-50%); z-index: 2; background: rgba(0,0,0,.55); color: #fff; font-size: 11px; font-weight: 600; letter-spacing: .04em; padding: .3rem .6rem; border-radius: 999px; white-space: nowrap; pointer-events: none; }
.hero-arch.hs-arch { position: relative; }
.hs-bar { position: absolute; right: 22px; top: 50%; transform: translateY(-50%); z-index: 3; display: flex; flex-direction: column; align-items: center; gap: .3rem; padding: .35rem .2rem; background: rgba(255, 253, 247, .82); border-radius: 999px; box-shadow: 0 4px 14px rgba(0, 0, 0, .18); }
.hs-dots { display: flex; flex-direction: column; gap: 0; }
.hs-dot { width: 26px; height: 24px; border: 0; background: none; padding: 0; cursor: pointer; display: grid; place-items: center; }
.hs-dot::before { content: ''; width: 9px; height: 9px; border-radius: 50%; background: rgba(48, 70, 56, .35); transition: background .2s, transform .2s; }
.hs-dot[aria-current="true"]::before { background: var(--gold, #B89B63); transform: scale(1.25); }
.hs-pause { width: 30px; height: 30px; border-radius: 50%; border: 1px solid var(--line, #D9CFBC); background: var(--surface, #fff); color: var(--forest, #304638); display: grid; place-items: center; cursor: pointer; }
.hs-dot:focus-visible, .hs-pause:focus-visible { outline: 2px solid var(--forest, #304638); outline-offset: 2px; border-radius: 50%; }
@media (prefers-reduced-motion: reduce) { .hero-arch .photo-ph .hs-img { transition: none; } }
