/* Homepage-only image fix. The order forms, API and shared stylesheet are unchanged. */
.upcoming-card-image {
  position: relative;
  aspect-ratio: 1 / 1;
  display: block;
  width: 100%;
  padding: 0;
  border: 0;
  border-bottom: 1px solid var(--line);
  background: #000;
  cursor: zoom-in;
  overflow: hidden;
}
.upcoming-card-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.upcoming-card-image:focus-visible {
  outline: 3px solid #fff;
  outline-offset: -5px;
}
.upcoming-image-hint {
  position: absolute;
  right: 13px;
  bottom: 12px;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 5px 10px;
  border: 1px solid var(--line-strong);
  border-radius: 5px;
  background: rgba(16,18,21,.9);
  color: var(--muted);
  font-size: .72rem;
}
.upcoming-image-hint span { color: #fff; font-size: 1rem; }
.upcoming-card-image:hover .upcoming-image-hint { border-color: #fff; color: #fff; }
.upcoming-card-copy p { font-size: .88rem; }
