/* Only the homepage photograph moves; the existing composition stays intact. */
.hero--camera { overflow: hidden; background-position: center 30% !important; }
.hero--camera::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background-image: inherit;
  background-size: cover;
  background-position: center 30%;
  transform-origin: 52% 40%;
  pointer-events: none;
}
.hero--camera::before { z-index: 1; }
@media (min-width: 769px) and (prefers-reduced-motion: no-preference) {
  .hero--camera::after { animation: hero-camera-in 7s ease-out both; }
}
@keyframes hero-camera-in {
  from { transform: scale(1); }
  to { transform: scale(1.12); }
}

.hero-camera-toggle, .hero-camera-label { display: none; }
@media (min-width: 769px) and (prefers-reduced-motion: no-preference) {
  .hero-camera-toggle { display: block; position: absolute; z-index: 3; bottom: 10px; right: 207px; width: 18px; height: 18px; accent-color: #2B4A76; }
  .hero-camera-label { display: flex; align-items: center; position: absolute; z-index: 3; bottom: 0; right: 24px; min-height: 40px; color: #fff; font-size: 14px; cursor: pointer; }
  .hero--camera:has(.hero-camera-toggle:checked)::after { animation-play-state: paused; }
  .hero-camera-toggle:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
}
