/* Original Icha Icha logo and venue photography; preserve image proportions. */
.logo { flex-shrink: 0; }
.logo img { width: 148px; height: auto; object-fit: contain; }
.header.scrolled .logo img { width: 112px; height: auto; }
.footer img.flogo { width: 180px; height: auto; }
.preloader img { width: min(240px, 60vw); height: auto; object-fit: contain; animation: none; }
.hero-slide img { object-position: 58% 50%; }
.hero-slide:first-child img { object-position: 46% 52%; }
.about-img .frame img { object-position: 32% center; }
.venue-gallery { grid-template-columns: 1.15fr 1fr 1fr; grid-auto-rows: 240px; }
.venue-gallery a:first-child { grid-row: span 2; }
.venue-gallery a:first-child img { object-position: 30% center; }
.venue-gallery a:nth-child(4) { grid-column: 2 / 4; }
.venue-gallery a:focus-visible { outline: 3px solid var(--pink); outline-offset: 5px; }
.venue-gallery a:focus-visible::after { opacity: 1; }
.venue-gallery a:focus-visible img { transform: scale(1.04); }
@media (max-width: 960px) {
  .venue-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: 230px; }
  .venue-gallery a:first-child { grid-row: auto; }
  .venue-gallery a:nth-child(4) { grid-column: auto; }
}
@media (max-width: 640px) {
  .logo img { width: 112px; height: auto; }
  .header.scrolled .logo img { width: 104px; height: auto; }
  .hero-slide:first-child img { object-position: 30% center; }
  .venue-gallery { grid-auto-rows: 165px; gap: 12px; }
  .footer img.flogo { width: 160px; }
}

/* Keep the imported logo clear of hero content on narrow screens. */
@media (max-width: 640px) {
  .hero { height: auto; min-height: 100svh; padding: 140px 0 130px; }
  .hero-content { padding-top: 0; }
}
