.venue-page { display: block; }

.venue-overview .overview-container { max-width: 800px; margin-inline: auto; }
.overview-inner { display: flex; flex-direction: column; gap: var(--space-3); align-items: center; }
.overview-intro { max-width: 60ch; text-align: center; }
.spec-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: var(--space-3); width: 100%; }
.spec-cell { display: flex; flex-direction: column; gap: var(--space-2); }

.venue-image .panel { display: flex; flex-direction: column; gap: var(--space-3); }
.image-caption { max-width: 70ch; }

.venue-zones .zone-intro { max-width: 75ch; }

.venue-capacity .capacity-intro { max-width: 75ch; }

.venue-suitability .suitability-intro { max-width: 75ch; }

.facilities-grid > .panel { display: flex; flex-direction: column; gap: var(--space-3); }

.flow-grid > .panel { display: flex; flex-direction: column; gap: var(--space-3); }

.access-grid > .panel { display: flex; flex-direction: column; gap: var(--space-3); }

.venue-cta .cta-box { max-width: 500px; margin-inline: auto; }
.cta-inner { display: flex; flex-direction: column; gap: var(--space-3); align-items: center; text-align: center; }

@media (max-width: 900px) {
  .spec-grid { grid-template-columns: 1fr; }
}
