/* Continuous camera-like movement using the existing house photographs. */
.hero .hero-visual>img{animation:hal-photo-pan 10s ease-in-out infinite alternate!important;transform-origin:65% center;scale:1;will-change:transform}
@keyframes hal-photo-pan{from{transform:scale(1.035) translate(-.35%,.2%)}to{transform:scale(1.12) translate(.35%,-.2%)}}
.hero .hero-visual>.dusk-second{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:1;opacity:0;transition:opacity 1.1s ease}
.hero .hero-visual>.dusk-second.show{opacity:1}
.hero .hero-visual:after{z-index:2}.hero .image-caption{display:none}
.dusk-toggle{position:absolute;right:20px;top:20px;z-index:5;border:1px solid #ffffff70;background:#162017d9;color:white;border-radius:4px;padding:10px 14px;font:inherit;font-size:14px;cursor:pointer;min-height:44px}
.hero.motion-paused .hero-visual>img{animation-play-state:paused!important}
.hero.motion-paused .dusk-second{transition:none}
@media(prefers-reduced-motion:reduce){.hero .hero-visual>img{animation:none!important;transform:none!important}.hero .hero-visual>.dusk-second{transition:none}}

/* One entrance per text element; no competing parent animation. */
.hero .hero-copy,.hero .hero-visual,.hero .hero-copy:after{animation:none!important}
.hero h1 em:after{animation-duration:.4s;animation-delay:.1s}
