body {
  background-color: var(--color-bg);
}
.section-hero-magazine {
  padding-top: calc(var(--space-16) + var(--nav-height));
}
.hero-grid {
  display: grid;
  gap: var(--space-8);
}
@media (min-width: 1024px) {
  .hero-grid {
    grid-template-columns: minmax(0, 1.4fr) minmax(0, 1.2fr);
    align-items: stretch;
  }
}
.hero-editorial-copy {
  display: flex;
  flex-direction: column;
  gap: var(--space-6);
}
.hero-kicker {
  display: flex;
  align-items: center;
  gap: var(--space-4);
}
.hero-meta-grid {
  display: grid;
  gap: var(--space-4);
}
@media (min-width: 768px) {
  .hero-meta-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
.hero-meta-block {
  padding-right: var(--space-4);
}
.hero-floating-card {
  position: absolute;
  right: 8%;
  bottom: 12%;
  max-width: 280px;
  padding: var(--space-4);
  border-radius: var(--radius-xl);
  background: radial-gradient(circle at top left, rgba(194,149,69,0.45), transparent 60%), rgba(16,11,7,0.96);
  color: #f8f2ea;
  box-shadow: var(--shadow-soft-gold);
}
.hero-floating-card .button {
  margin-top: var(--space-3);
  padding-inline: 1.4rem;
}
.hero-floating-heading {
  font-family: var(--font-serif);
  font-size: var(--font-size-lg);
  margin-top: var(--space-2);
  margin-bottom: var(--space-2);
}
.hero-floating-heading span {
  display: block;
  font-size: var(--font-size-sm);
  text-transform: none;
  letter-spacing: 0;
  color: var(--color-muted);
}
.hero-visual-stack {
  position: relative;
}
.hero-main-image {
  border-radius: var(--radius-xl);
  overflow: hidden;
  box-shadow: var(--shadow-lg);
}
.hero-main-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.hero-pattern-lines {
  position: absolute;
  inset: -12% auto auto -8%;
  width: 160px;
  height: 200px;
  background-image: linear-gradient(to bottom, rgba(194,149,69,0.28) 1px, transparent 1px);
  background-size: 1px 10px;
  opacity: 0.7;
  mix-blend-mode: multiply;
}
.hero-cta-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-3);
}
.hero-secondary-links {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-2);
  font-size: var(--font-size-sm);
}
.hero-dot {
  color: var(--color-muted);
}
.hero-reservation-aside {
  margin-top: var(--space-6);
}
@media (min-width: 1200px) {
  .hero-reservation-aside {
    grid-column: 1 / -1;
    margin-top: calc(var(--space-8) * -1);
  }
  .hero-reservation-aside .reservation-panel--floating {
    max-width: 880px;
    margin-inline: auto;
  }
}
.hero-reservation-form {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}
.hero-reservation-note {
  font-size: var(--font-size-sm);
  color: rgba(248,242,233,0.85);
}
.reservation-disclaimer {
  margin-top: var(--space-2);
  color: rgba(248,242,233,0.7);
}
.section-fine-dining {
  background-color: var(--color-bg-alt);
}
.fine-dining-layout {
  display: grid;
  gap: var(--space-8);
}
@media (min-width: 992px) {
  .fine-dining-layout {
    grid-template-columns: minmax(0, 1.8fr) minmax(0, 1fr);
  }
}
.fine-dining-text {
  display: flex;
  flex-direction: column;
  gap: var(--space-6);
}
.fine-dining-highlights {
  display: grid;
  gap: var(--space-4);
}
@media (min-width: 768px) {
  .fine-dining-highlights {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
.fine-dining-aside {
  display: flex;
  flex-direction: column;
  gap: var(--space-6);
}
.fine-dining-stat {
  padding: var(--space-5);
  border-radius: var(--radius-lg);
  background: radial-gradient(circle at top left, rgba(72,104,90,0.16), transparent 55%), #fff;
  border: var(--border-style-subtle);
}
.section-chef {
  background-color: var(--color-bg);
}
.chef-layout {
  display: grid;
  gap: var(--space-8);
}
@media (min-width: 1024px) {
  .chef-layout {
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 1.6fr);
    align-items: center;
  }
}
.chef-photo {
  position: relative;
}
.chef-image-frame {
  border-radius: var(--radius-xl);
  overflow: hidden;
  box-shadow: var(--shadow-md);
}
.chef-overlay-card {
  position: absolute;
  left: 8%;
  bottom: 8%;
  max-width: 260px;
  padding: var(--space-4);
  border-radius: var(--radius-xl);
  background-color: rgba(251,247,242,0.96);
  border: 1px solid rgba(221,209,196,0.9);
  box-shadow: var(--shadow-sm);
}
.chef-overlay-title {
  font-family: var(--font-serif);
  font-size: var(--font-size-lg);
  margin-top: var(--space-2);
  margin-bottom: var(--space-2);
}
.chef-story {
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
}
.chef-menu-grid {
  display: grid;
  gap: var(--space-4);
}
@media (min-width: 768px) {
  .chef-menu-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
.chef-menu-item h3 {
  font-size: var(--font-size-md);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.chef-cta-row {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  align-items: center;
}
.section-casino {
  background-color: var(--color-bg-alt);
}
.casino-layout {
  display: grid;
  gap: var(--space-8);
}
@media (min-width: 1024px) {
  .casino-layout {
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.7fr);
    align-items: center;
  }
}
.casino-image-frame {
  border-radius: var(--radius-xl);
  overflow: hidden;
  box-shadow: var(--shadow-md);
}
.casino-label-card {
  margin-top: var(--space-4);
  padding: var(--space-4);
  border-radius: var(--radius-lg);
  background-color: #fff;
  border: var(--border-style-subtle);
}
.casino-content {
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
}
.casino-pillars {
  display: grid;
  gap: var(--space-4);
}
@media (min-width: 768px) {
  .casino-pillars {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
.casino-cta-row {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
}
.section-cocktail-wine {
  background-color: var(--color-bg);
}
.cocktail-wine-layout {
  display: grid;
  gap: var(--space-8);
}
@media (min-width: 1024px) {
  .cocktail-wine-layout {
    grid-template-columns: minmax(0, 1.3fr) minmax(0, 1.4fr);
    align-items: flex-start;
  }
}
.cocktail-column,
.wine-column {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}
.cocktail-scroll {
  display: flex;
  gap: var(--space-4);
  overflow-x: auto;
  padding-block: var(--space-3);
  padding-inline-end: var(--space-2);
}
.cocktail-card {
  min-width: 220px;
  max-width: 260px;
  padding: var(--space-4);
  border-radius: var(--radius-lg);
  background-color: #fff;
  border: var(--border-style-subtle);
}
.wine-table {
  margin-top: var(--space-2);
}
.section-live-music {
  background-color: var(--color-bg-alt);
}
.live-music-layout {
  display: grid;
  gap: var(--space-8);
}
@media (min-width: 1024px) {
  .live-music-layout {
    grid-template-columns: minmax(0, 1.4fr) minmax(0, 1.6fr);
    align-items: center;
  }
}
.live-music-image-frame {
  border-radius: var(--radius-xl);
  overflow: hidden;
  box-shadow: var(--shadow-md);
}
.live-music-badge {
  margin-top: var(--space-3);
}
.live-music-content {
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
}
.live-music-timeline {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}
.live-music-row {
  display: grid;
  grid-template-columns: auto auto minmax(0, 1fr);
  gap: var(--space-3);
  align-items: center;
}
.live-music-time {
  font-family: var(--font-mono);
  font-size: var(--font-size-sm);
}
.section-private-corporate {
  background-color: var(--color-bg);
}
.private-corporate-layout {
  display: grid;
  gap: var(--space-8);
}
@media (min-width: 1024px) {
  .private-corporate-layout {
    grid-template-columns: minmax(0, 1.3fr) minmax(0, 1.4fr);
  }
}
.private-column,
.corporate-column {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}
.private-list,
.reservations-list {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  font-size: var(--font-size-sm);
}
.corporate-grid {
  display: grid;
  gap: var(--space-4);
}
@media (min-width: 640px) {
  .corporate-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
.section-chef-stories {
  background-color: var(--color-bg-alt);
}
.chef-stories-layout {
  display: flex;
  flex-direction: column;
  gap: var(--space-6);
}
.chef-stories-header {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: var(--space-3);
  align-items: center;
}
.chef-stories-grid {
  display: grid;
  gap: var(--space-4);
}
@media (min-width: 768px) {
  .chef-stories-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
.chef-story-card {
  padding: var(--space-5);
  border-radius: var(--radius-lg);
  background-color: #fff;
  border: var(--border-style-subtle);
}
.section-guest-reviews {
  background-color: var(--color-bg);
}
.guest-reviews-layout {
  display: grid;
  gap: var(--space-6);
}
@media (min-width: 992px) {
  .guest-reviews-layout {
    grid-template-columns: minmax(0, 1.5fr) minmax(0, 1.5fr);
  }
}
.guest-reviews-grid {
  display: grid;
  gap: var(--space-4);
}
@media (min-width: 640px) {
  .guest-reviews-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
.review-card {
  padding: var(--space-5);
  border-radius: var(--radius-lg);
  background-color: #fff;
  border: var(--border-style-subtle);
}
.review-card blockquote {
  font-family: var(--font-serif);
  font-size: var(--font-size-md);
  margin-bottom: var(--space-4);
}
.review-author {
  font-weight: 600;
}
.review-meta {
  color: var(--color-muted);
}
.section-editorial-gallery {
  background-color: var(--color-bg-alt);
}
.editorial-gallery-layout {
  display: flex;
  flex-direction: column;
  gap: var(--space-6);
}
.editorial-gallery-header {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: var(--space-3);
  align-items: center;
}
.editorial-gallery-grid {
  display: grid;
  gap: var(--space-4);
}
@media (min-width: 1024px) {
  .editorial-gallery-grid {
    grid-template-columns: minmax(0, 1.7fr) minmax(0, 1.1fr);
    align-items: start;
  }
}
.editorial-gallery-main {
  border-radius: var(--radius-xl);
  overflow: hidden;
  box-shadow: var(--shadow-md);
}
.editorial-gallery-side {
  display: grid;
  gap: var(--space-4);
}
.section-faq-preview {
  background-color: var(--color-bg);
}
.faq-preview-layout {
  display: grid;
  gap: var(--space-8);
}
@media (min-width: 992px) {
  .faq-preview-layout {
    grid-template-columns: minmax(0, 1.4fr) minmax(0, 1.6fr);
  }
}
.faq-preview-intro {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}
.faq-preview-list {
  padding: var(--space-5);
  border-radius: var(--radius-lg);
  background-color: #fff;
  border: var(--border-style-subtle);
}
.accordion-header span:last-child {
  font-size: 1.2rem;
}
.section-reservations {
  background-color: var(--color-bg-alt);
}
.reservations-layout {
  display: grid;
  gap: var(--space-8);
}
@media (min-width: 1024px) {
  .reservations-layout {
    grid-template-columns: minmax(0, 1.4fr) minmax(0, 1.6fr);
    align-items: flex-start;
  }
}
.reservations-copy {
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
}
.newsletter-block {
  margin-top: var(--space-4);
  padding: var(--space-5);
  border-radius: var(--radius-lg);
  background-color: #fff;
  border: var(--border-style-subtle);
}
.reservations-form-wrapper {
  max-width: 560px;
  margin-left: auto;
}
.reservations-form {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}
.form-consent input[type="checkbox"] {
  margin-top: 0.2rem;
}
.w-100 {
  width: 100%;
}
@media (max-width: 767px) {
  .hero-floating-card {
    position: static;
    margin-top: var(--space-4);
  }
 
  .reservations-form-wrapper {
    max-width: 100%;
    margin-left: 0;
  }
}
