.hero-photo-window{position:relative;overflow:hidden;border-radius:12px;aspect-ratio:4/5}
.hero-slide{position:absolute;inset:0;opacity:0;transition:opacity 1.2s ease-in-out}
.hero-slide.is-active{opacity:1;z-index:1}
.hero-photo-window .hero-slide img{width:100%;height:100%;aspect-ratio:auto;object-fit:cover;border-radius:0;transform-origin:center}
.hero-photo-caption{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px}
.hero-photo-caption>span{font-size:.7rem}
.hero-controls{display:flex;align-items:center;gap:4px;flex-shrink:0}
.hero-controls[hidden],.hero-controls button[hidden]{display:none}
.hero-controls button{border:0;background:transparent;color:#52616a;min-width:36px;min-height:44px;padding:8px;font-size:.8rem;cursor:pointer;border-radius:4px}
.hero-controls button:hover{background:#ffffff66}
.hero-controls button:focus-visible{outline:2px solid #52616a;outline-offset:2px}
.hero-controls .hero-motion-control{font-size:.72rem;text-decoration:underline;text-underline-offset:4px;min-width:48px}
.hero-controls [data-hero-position]{font-size:.7rem;font-variant-numeric:tabular-nums;white-space:nowrap}
/* A quiet crossfade keeps attention on the fixed headline and enquiry action. */
.hero-photo-window{aspect-ratio:1.38}
.hero-photo-window .hero-slide img{transform:none;animation:none}
.hero-photo-caption>span,.hero-controls [data-hero-position]{font-size:.78rem;color:#43535d;font-weight:500}
.hero-controls button{min-width:44px;color:#34454f}
.hero-controls .hero-motion-control{font-size:.8rem}
.hero-slide:nth-child(1) img{object-position:50% 48%}
.hero-slide:nth-child(2) img{object-position:50% 55%}
.hero-slide:nth-child(3) img{object-position:55% 55%}
.hero-slide:nth-child(4) img{object-position:50% 50%}
.hero-slide:nth-child(5) img{object-position:50% 55%}
@media(max-width:800px){.hero-photo-window{aspect-ratio:1.5}}
@media(max-width:540px){.hero-photo-caption{align-items:flex-start;flex-direction:column;gap:0}.hero-controls{align-self:flex-end}}
@media(prefers-reduced-motion:reduce){.hero-slide{transition:none}}
