/* Editable VC rows: a four-photo composition paired with a text panel. */
.l-section.venue-photo-hero {
	min-height: 37.5vw;
	display: flex;
	align-items: flex-end;
	padding-block: 0 2.5vw;
	color: #efe4dd;
}
.venue-photo-hero::after {
	content: ""; position: absolute; inset: 0; pointer-events: none;
	background: linear-gradient(rgba(8, 21, 51, 0) 35%, rgba(8, 21, 51, .18) 55%, #081533);
}
.venue-photo-hero > .l-section-h { z-index: 1; }
.venue-photo-hero h1 {
	color: #efe4dd; text-align: center;
	font-size: 4vw; line-height: 1.15; margin: 0;
}
.venue-photo-hero .w-separator { color: #efe4dd !important; max-width: 70%; margin: 0 auto 1.2vw; }
.venue-photo-hero .w-separator svg :is(path, rect, circle, ellipse, polygon, polyline) { fill: #efe4dd; }
.l-section.venue-photo-ending { min-height: 52vw; padding: 0; }
.l-section.venue-intro { padding-block: 7vw; }
.venue-intro .g-cols { align-items: center; }
.venue-intro .w-image { width: 100%; }
.l-section.venue-story-band { padding-block: 5vw; overflow-x: clip; }
.venue-story-band .g-cols.venue-story { margin-block: 0; }
.l-section.venue-band-separator { padding-block: 0; }
/* The decorative divider straddles the colour boundary without adding a row gap. */
.l-section.about-bank-separator { height: 0; min-height: 0; overflow: visible; z-index: 2; }
.l-section.about-bank-separator .w-separator { transform: translateY(-50%); margin-block: 0; }
.page-id-21 .l-section.venue-intro { padding-bottom: 5.5vw; }
.venue-band-separator .w-separator,
.venue-contact-band > .l-section-h > .g-cols > .wpb_column > .vc_column-inner > .wpb_wrapper > .w-separator {
	margin-block: 0; transform: translateY(-50%);
}
.l-section.venue-contact-band { padding-top: 0; padding-bottom: 3vw; }
.g-cols.venue-story {
	align-items: center;
	margin-top: 4vw;
	margin-bottom: 5vw;
}
.venue-story .venue-story-copy {
	display: block;
	width: 100%;
	padding: 2.6vw;
	background: #f4ece8;
	color: #081533;
	font-size: var(--magic-text-extra-large-font-size, 1.25rem);
	line-height: 1.8;
}
.venue-story .venue-story-copy h2 {
	color: #b9826b !important;
	font-size: var(--magic-heading-extra-large-font-size, 2.5rem) !important;
	line-height: 1.2;
	margin-bottom: .5em;
}
.venue-story .venue-story-copy p {
	font-size: var(--magic-text-extra-large-font-size, 1.25rem) !important;
	line-height: 1.8;
	margin-bottom: .65em;
}
.venue-story-copy p:last-child { margin-bottom: 0; }
.venue-story-photos.w-vwrapper {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	grid-template-rows: repeat(2, minmax(0, 1fr));
	gap: 1.4vw;
	width: 100%;
	aspect-ratio: 1.04;
}
.venue-story-photos > .w-image {
	width: 100%; height: 100%; min-width: 0; min-height: 0; margin: 0 !important;
}
.venue-story-photos > .story-photo-1 { grid-column: 1 / 9; grid-row: 1; }
.venue-story-photos > .story-photo-2 { grid-column: 9 / 13; grid-row: 1; height: 91%; align-self: end; }
.venue-story-photos > .story-photo-3 { grid-column: 1 / 5; grid-row: 2; height: 91%; align-self: start; }
.venue-story-photos > .story-photo-4 { grid-column: 5 / 13; grid-row: 2; }
.venue-story-photos .w-image-h,
.venue-story-photos .w-image-h > a { display: block; width: 100%; height: 100%; }
.venue-story-photos .w-image.style_photo .w-image-h {
	border-width: .4vw;
}
.venue-story-photos img { display: block; width: 100%; height: 100%; object-fit: cover; }
.venue-story-contact { text-align: center; padding-block: 1.5vw; }
.w-vwrapper.venue-story-contact h2 {
	color: #081533 !important;
	font-size: var(--magic-heading-large-font-size, 2rem) !important;
	line-height: 1.5;
}
@media (max-width: 800px) {
	.venue-story > .wpb_column:has(.venue-story-copy) { order: -1; }
	.venue-story .venue-story-copy { font-size: 16px; padding: 24px; }
	.venue-story .venue-story-copy h2 { font-size: 30px !important; }
	.venue-story .venue-story-copy p { font-size: 16px !important; }
	.venue-story-photos.w-vwrapper { max-width: 100%; }
	.w-vwrapper.venue-story-contact h2 { font-size: 26px !important; }
}

@media (max-width: 800px) {
 .l-section.venue-photo-hero { min-height: 80vw; padding-bottom: 26px; }
 .venue-photo-hero h1 { font-size: 32px; }
 .l-section.venue-photo-ending { min-height: 85vw; }
 .l-section.venue-intro { padding-block: 50px; }
 .l-section.venue-story-band { padding-block: 40px; }
 .l-section.venue-contact-band { padding-bottom: 30px; }
 .g-cols.venue-story { margin-block: 40px 48px; }
 .venue-story-photos.w-vwrapper { gap: 12px; }
 .venue-story-photos .w-image.style_photo .w-image-h { border-width: 4px; }
}

@media (min-width: 801px) and (max-aspect-ratio: 4/3) {
	.l-section.venue-photo-hero { min-height: 50vw; }
	.l-section.venue-photo-ending { min-height: 60vw; }
}
