.hero-vip {
  background:radial-gradient(circle at top left,rgba(207,161,74,0.16),transparent 55%),linear-gradient(135deg,rgba(234,225,212,0.9),rgba(250,248,244,1));
}
.hero-vip .hero-title {
  max-width:640px;
}
.hero-vip .hero-subtitle {
  max-width:620px;
}
.vip-section-header {
  max-width:760px;
  margin:0 auto var(--space-12);
}
.vip-intro .vip-grid-overview {
  margin-top:var(--space-8);
}
.vip-link {
  display:inline-flex;
  align-items:center;
  gap:var(--space-2);
  font-size:var(--font-size-sm);
  letter-spacing:0.06em;
  text-transform:uppercase;
  color:var(--color-heading);
}
.vip-link::after {
  content:"→";
  font-size:10px;
}
.vip-layout-grid {
  display:grid;
  grid-template-columns:1.2fr 1fr;
  gap:var(--space-10);
  align-items:center;
}
.vip-layout-card {
  padding:var(--space-4);
}
.vip-image-block {
  border-radius:var(--radius-lg);
  overflow:hidden;
}
.vip-image-block img {
  width:100%;
  height:100%;
  object-fit:cover;
}
.vip-beverage-grid,
.vip-entertainment-grid,
.vip-atmosphere-grid,
.vip-locations-grid {
  gap:var(--space-8);
}
.vip-beverage-card {
  display:flex;
  flex-direction:column;
  gap:var(--space-4);
}
.vip-beverage-media {
  border-radius:var(--radius-lg);
  overflow:hidden;
}
.vip-atmosphere-card {
  text-align:left;
}
.vip-atmosphere-icon {
  margin-bottom:var(--space-4);
}
.vip-locations-card {
  height:100%;
  display:flex;
  flex-direction:column;
}
.vip-locations-card .vip-image-block {
  max-height:260px;
}
.vip-gallery-card {
  display:grid;
  grid-template-columns:1.1fr 1fr;
  gap:var(--space-8);
}
.vip-gallery-content {
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:var(--space-4);
}
.vip-gallery-links {
  flex-wrap:wrap;
}
.vip-final-card {
  display:grid;
  grid-template-columns:1.2fr 1fr;
  gap:var(--space-8);
  align-items:start;
}
.vip-final-actions {
  flex-wrap:wrap;
  margin-top:var(--space-4);
}
.vip-final-cta {
  padding-bottom:var(--space-20);
}
.vip-cta-row {
  flex-wrap:wrap;
}
@media (max-width:960px) {
  .vip-layout-grid,
  .vip-locations-grid,
  .vip-gallery-card,
  .vip-final-card {
    grid-template-columns:1fr;
  }
}
@media (max-width:768px) {
  .vip-section-header {
    margin-bottom:var(--space-8);
  }
  .section {
    padding-top:var(--space-12);
    padding-bottom:var(--space-12);
  }
}
