/* The existing layout is unchanged; only the opening photograph rotates. */
.hero-visual > .hero-slide {
  opacity: 0;
  z-index: 0;
  transition: opacity 1.3s ease-in-out;
}
.hero-visual > .hero-slide.is-active { opacity: 1; z-index: 1; }
.hero-visual > .hero-slide[hidden] { display: none; }
.hero-visual::after { z-index: 2; }
.hero-visual .image-note { z-index: 3; align-items: flex-end; }
.hero-carousel-count { white-space: nowrap; font-variant-numeric: tabular-nums; }
.hero-carousel-controls {
  position: absolute;
  right: 27px;
  bottom: 61px;
  z-index: 3;
  display: flex;
  gap: 8px;
}
.hero-carousel-controls[hidden] { display: none; }
.hero-carousel-controls button {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 1px solid rgba(255,255,255,.65);
  border-radius: 50%;
  background: rgba(35,28,21,.55);
  color: #fff;
  font: 17px/1 Arial, Helvetica, sans-serif;
  cursor: pointer;
  transition: background .2s;
}
.hero-carousel-controls button:hover { background: rgba(35,28,21,.88); }
.hero-carousel-controls button:focus-visible { outline: 2px solid #fff; outline-offset: 4px; }
.hero-carousel-controls .hero-carousel-toggle { font-size: 14px; }
@media (max-width:650px) {
  .hero-carousel-controls { right: 20px; bottom: 54px; gap: 7px; }
}
@media (prefers-reduced-motion: reduce) {
  .hero-visual > .hero-slide { transition: none; }
}
