/* Geometry is present before JavaScript and images load. */
.editorial-image-frame { overflow: hidden; border-radius: var(--radius, 4px); }
.editorial-image-curtain { width: 100%; height: 100%; transform-origin: center; }
.activity-feature .editorial-image-frame { aspect-ratio: 3 / 4; }
.activity-wide .editorial-image-frame { aspect-ratio: 2.15; }
.activity-ice .editorial-image-frame { aspect-ratio: 1; }
.venue-mosaic .editorial-image-frame { height: 220px; }
.venue-mosaic figure:first-child .editorial-image-frame { height: calc(100% - 32px); min-height: 400px; }
.space-gallery .editorial-image-frame { aspect-ratio: 4 / 3; }
.space-gallery figure:first-child .editorial-image-frame { aspect-ratio: 2; }
/* Override previous image geometry: the stable frame now owns its dimensions. */
:is(.activity-layout, .venue-mosaic, .space-gallery) .editorial-image-frame .editorial-image-curtain img {
  display: block; width: 100%; height: 100%; min-height: 0; aspect-ratio: auto; object-fit: cover;
}
.editorial-title-mask { overflow: hidden; padding-bottom: .12em; margin-bottom: -.12em; }
.editorial-title-mask > h2 { transition: none; }
@media (prefers-reduced-motion: no-preference) {
  html.gsap-pending :is(.editorial-image-curtain, [data-editorial-title]) { visibility: hidden; }
}
.site-header {
  position: fixed; top: 24px; left: 50%; right: auto; transform: translateX(-50%);
  border-radius: 9999px; padding-block: 16px;
  background: rgba(18, 30, 22, .85); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px);
}
.site-header .header-inner { min-height: 44px; padding-block: 0; }
@media (max-width: 700px) {
  .activity-feature .editorial-image-frame { aspect-ratio: 1.18; }
  .activity-wide .editorial-image-frame { aspect-ratio: 1.5; }
  .activity-ice .editorial-image-frame { aspect-ratio: 3 / 4; }
  .venue-mosaic .editorial-image-frame { height: auto; aspect-ratio: 1; }
  .venue-mosaic figure:first-child .editorial-image-frame { height: auto; min-height: 0; aspect-ratio: 1.35; }
  .space-gallery figure:first-child .editorial-image-frame { aspect-ratio: 1.4; }
}
@media (prefers-reduced-motion: reduce), print {
  html.gsap-pending :is(.editorial-image-curtain, [data-editorial-title]) { visibility: visible; }
  .editorial-image-curtain, [data-editorial-title] { clip-path: none !important; transform: none !important; opacity: 1 !important; }
}
