.venue-main {
  width: min(1180px, 90%);
  margin: 0 auto;
  padding: clamp(36px, 7vw, 100px) 0;
}
.venue-main h1, .venue-main h2, .venue-main h3 {
  font-family: Manrope, sans-serif;
  line-height: 1.12;
  margin: 0 0 .55em;
}
.venue-main h1 { font-size: clamp(2.35rem, 5.5vw, 5rem); letter-spacing: -.045em; }
.venue-main h2 { font-size: clamp(1.55rem, 3vw, 2.5rem); }
.venue-main p, .venue-main li { color: var(--muted); }
.venue-main .eyebrow { color: #74b8ff; margin: 0 0 1rem; }
.venue-main .text-link { display: inline-block; margin-bottom: 1.5rem; text-decoration: underline; }
.venue-hero, .venue-plan { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(24px, 5vw, 70px); align-items: center; }
.venue-hero figure { margin: 0; }
.venue-hero figure img, .venue-card img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.venue-hero figure img { border-radius: 12px; }
.venue-hero figure .venue-photo-wide { aspect-ratio: 16 / 9; }
.venue-hero figure .venue-photo-natural { aspect-ratio: auto; }
.venue-hero figcaption { margin-top: 8px; font-size: .8rem; color: var(--muted); }
.venue-hero figcaption a { text-decoration: underline; }
.venue-plan { margin-top: clamp(34px, 8vw, 94px); align-items: start; }
.venue-plan ul { margin: 0; padding-inline-start: 1.25em; }
.venue-book { margin-top: 3rem; padding: clamp(22px, 4vw, 42px); background: var(--panel); border: 1px solid var(--line); border-radius: 12px; }
.venue-book .button { margin-right: 1rem; }
.venue-phone { display: inline-block; margin-top: .6rem; text-decoration: underline; }
.venue-directory-intro { max-width: 740px; margin-bottom: 1.5rem; }
.venue-section-nav { display: flex; flex-wrap: wrap; gap: .75rem; margin-bottom: 2.5rem; }
.venue-directory-section { scroll-margin-top: 150px; }
.venue-directory-section + .venue-directory-section { margin-top: 3.5rem; }
.venue-directory-section > p { margin: 0 0 1.35rem; }
.venue-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.venue-card { display: block; overflow: hidden; background: var(--panel); border: 1px solid var(--line); border-radius: 12px; }
.venue-card:hover { border-color: #74b8ff; }
.venue-card img { aspect-ratio: 16 / 10; }
.venue-card div { padding: 18px; }
.venue-card p { margin: 0 0 .45rem; font-size: .85rem; }
.venue-card h3 { font-size: 1.2rem; margin: 0; }
.venue-disclaimer { margin-top: 2rem; font-size: .85rem; }
@media (max-width: 800px) {
  .venue-hero, .venue-plan { grid-template-columns: 1fr; }
  .venue-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 500px) {
  .venue-grid { grid-template-columns: 1fr; }
}

.venue-setting-panel {
  display: grid;
  align-content: center;
  justify-items: center;
  text-align: center;
  min-height: 200px;
  padding: 24px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: linear-gradient(145deg, #273326, #151420 70%);
}
.venue-setting-panel .text-link { margin-bottom: 0; }
.venue-setting-panel-card {
  aspect-ratio: 16 / 10;
  min-height: 0;
  border: 0;
  border-radius: 0;
  font-family: Manrope, sans-serif;
  font-size: 1.25rem;
  font-weight: 700;
  color: #f0d58c;
}

.venue-history { margin-top: 3rem; }
.venue-history-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 225px), 1fr));
  gap: 16px;
}
.venue-history-grid > div {
  padding: clamp(16px, 2.25vw, 26px);
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--panel);
}
.venue-history-grid h3 { font-size: 1.12rem; }
.venue-history-grid p { margin: 0; }
.venue-history-source {
  display: block;
  margin-top: .65rem;
  font-size: .83rem;
}
.venue-history-source a { text-decoration: underline; }
