.venue-couple { font-family: 'Pinyon Script',cursive; font-size: 48px !important; line-height: 1.2 !important; margin-bottom: 26px !important; }
.venue-story { max-width: 750px; padding-bottom: 50px; }
.venue-gallery { columns: 3; column-gap: 16px; margin: 26px 0 65px; }
.venue-photo { display: block; break-inside: avoid; margin-bottom: 16px; background: #23301d; cursor: zoom-in; }
.venue-photo img { display: block; width: 100%; height: auto; }
.venue-related { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 24px; font-size: 14px; margin-bottom: 45px; }
.venue-related a,.migration-row a { text-decoration: underline; text-underline-offset: 5px; }
.venue-index { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; padding-bottom: 65px; }
.venue-card-link img { width: 100%; aspect-ratio: 3/4; height: auto; object-fit: cover; }
.venue-card-link p { margin: 18px 0 8px; font-size: 13px; color: #b4c4aa; }
.venue-card-link h2 { font-size: 30px; }
.venue-lightbox { width: 100%; max-width: none; height: 100dvh; max-height: none; margin: 0; border: 0; padding: 56px 18px 65px; background: #172013; color: #f7f5f0; }
.venue-lightbox::backdrop { background: #172013; }
.venue-lightbox img { width: 100%; height: 100%; object-fit: contain; }
.venue-lightbox-close { position: absolute; top: 18px; right: 22px; padding: 8px; font-size: 13px; }
.venue-lightbox-controls { position: absolute; bottom: 14px; left: 20px; right: 20px; display: flex; align-items: center; justify-content: space-between; gap: 20px; font-size: 13px; }
.venue-lightbox-controls button { padding: 10px 15px; border: 1px solid #b4c4aa66; }
body:has(.venue-lightbox[open]) { overflow: hidden; }
@media(max-width: 900px) { .venue-gallery { columns: 2; } .venue-index { grid-template-columns: 1fr; gap: 40px; } .venue-card-link { display: grid; grid-template-columns: 1fr 1fr; align-items: start; gap: 10px 24px; } .venue-card-link img { grid-row: span 2; } .venue-card-link p { margin-top: 0; } }
@media(max-width: 639px) { .venue-gallery { column-gap: 10px; margin-bottom: 40px; } .venue-photo { margin-bottom: 10px; } .venue-couple { font-size: 42px !important; } .venue-card-link { display: block; } .venue-card-link p { margin-top: 15px; } }
@media(max-width: 380px) { .venue-gallery { columns: 1; } }
.venue-couple:empty, .venue-card-link p:empty { display: none; }
