
/* Non-homepage photos retain their full intrinsic frame on phones/tablets.
   Copy follows the image so long headings never force a crop or obscure it. */
@media (max-width: 1023px) {
  .ww-public .ww-public-photo-hero { display: block; min-height: 0; height: auto; padding: 0; }
  .ww-public-photo-hero > .ww-public-hero-picture,
  .ww-public-photo-hero > .ww-public-hero-picture img {
    position: static;
    display: block;
    width: 100%;
    height: auto;
  }
  .ww-public-photo-hero > .ww-public-hero-picture img {
    object-fit: contain;
    animation: none;
    transform: none;
    will-change: auto;
  }
  .ww-public-photo-hero > .ww-public-hero-shade { display: none; }
  .ww-public-photo-hero > .ww-public-hero-content { padding-block: 2rem 2.5rem; }
  .ww-venue-detail-photo { aspect-ratio: auto; }
  .ww-venue-detail-photo > img { width: 100%; height: auto; object-fit: contain; }
}

/* Homepage sound: a compact, espresso speaker ring with a 44px touch target. */
.ww-home-sound-toggle {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--ww-espresso);
  cursor: pointer;
}
.ww-home-sound-toggle-ring {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border: 1px solid currentColor;
  border-radius: 50%;
}
.ww-home-sound-toggle:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; border-radius: 50%; }
.ww-home-sound-toggle:disabled { cursor: default; opacity: .6; }
@media (max-width: 479px) {
  .ww-homepage .ww-public-header-home-logo img { max-width: calc(100vw - 9.5rem); height: auto; }
}
@media (min-width: 1320px) and (max-width: 1439px) {
  .ww-homepage header .ww-public-nav-link { padding-inline: .5rem; }
}

