main {
  background-color: var(--color-bg);
}
.hero {
  background-color: #050816;
}
.home-image-card {
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: var(--shadow-medium);
  background: var(--color-bg-elevated);
}
.home-image-card--dark {
  background: radial-gradient(circle at top, rgba(15,23,42,1), rgba(3,7,18,1));
}
.home-image-card img {
  width: 100%;
  height: auto;
}
.home-image-card__caption {
  padding: var(--space-4);
  font-size: var(--font-size-sm);
  color: var(--color-text-soft);
}
.home-menu-preview {
  margin-top: var(--space-10);
  padding: var(--space-6);
  border-radius: var(--radius-lg);
  background: linear-gradient(135deg, rgba(253,244,215,0.9), rgba(255,255,255,0.98));
  box-shadow: var(--shadow-soft);
}
.home-menu-preview h3 {
  margin-bottom: var(--space-3);
}
.home-menu-preview__grid {
  margin-top: var(--space-4);
}
.home-menu-preview__list {
  display: grid;
  gap: var(--space-3);
}
.home-menu-preview__list li {
  display: flex;
  justify-content: space-between;
  gap: var(--space-4);
  padding-bottom: var(--space-3);
  border-bottom: 1px solid var(--color-gray-200);
}
.home-menu-preview__list li:last-child {
  border-bottom: none;
  padding-bottom: 0;
}
.home-menu-preview__list span {
  font-weight: 600;
  color: var(--color-gray-800);
  white-space: nowrap;
}
.home-menu-preview__cta {
  margin-top: var(--space-6);
  text-align: right;
}
.home-evening-card {
  background: radial-gradient(circle at top left, rgba(212,160,23,0.16), rgba(15,23,42,0.98));
  color: var(--color-text-inverse);
}
.home-evening-card .card__meta {
  color: rgba(249,250,251,0.86);
}
.home-evening-list {
  margin-top: var(--space-4);
  display: grid;
  gap: var(--space-2);
  font-size: var(--font-size-sm);
  color: rgba(249,250,251,0.9);
}
.home-evening-card__footer {
  margin-top: var(--space-6);
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
}
.chef-picks {
  display: grid;
  gap: var(--space-4);
}
.chef-picks h3 {
  margin-bottom: var(--space-2);
}
.home-guest-name {
  margin-top: var(--space-2);
  font-size: var(--font-size-xs);
  color: var(--color-gray-500);
}
.service-list {
  display: grid;
  gap: var(--space-2);
  font-size: var(--font-size-sm);
  color: var(--color-text-soft);
}
.home-booking-card {
  border-radius: var(--radius-lg);
  padding: var(--space-6);
  background: radial-gradient(circle at top left, rgba(26,188,156,0.16), rgba(255,255,255,0.98));
  box-shadow: var(--shadow-soft);
}
.home-booking-card h2 {
  margin-bottom: var(--space-3);
}
.home-booking-form {
  margin-top: var(--space-4);
  display: grid;
  gap: var(--space-4);
}
.home-booking-form__row {
  display: grid;
  gap: var(--space-4);
}
.home-booking-form__field {
  display: flex;
  flex-direction: column;
}
@media (min-width: 640px) {
  .home-booking-form__row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
.faq {
  display: grid;
  gap: var(--space-3);
}
.faq-item {
  border-radius: var(--radius-md);
  border: 1px solid var(--color-gray-200);
  padding: var(--space-3) var(--space-4);
  background-color: var(--color-bg-elevated);
}
.faq-item summary {
  cursor: pointer;
  font-weight: 500;
}
.faq-item p {
  margin-top: var(--space-2);
}
.home-contact-panel {
  border-radius: var(--radius-lg);
  padding: var(--space-6);
  background: linear-gradient(135deg, rgba(15,23,42,0.95), rgba(17,24,39,1));
  color: #e5e7eb;
  box-shadow: var(--shadow-medium);
}
.home-contact-panel h2 {
  color: #f9fafb;
}
.home-contact-panel p {
  color: rgba(229,231,235,0.9);
}
.home-contact-list {
  margin-top: var(--space-3);
  display: grid;
  gap: var(--space-2);
  font-size: var(--font-size-sm);
  color: rgba(209,213,219,0.95);
}
.home-contact-panel__cta {
  margin-top: var(--space-4);
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
}
.home-live-chat {
  margin-top: var(--space-4);
  padding-top: var(--space-3);
  border-top: 1px dashed rgba(148,163,184,0.7);
  font-size: var(--font-size-sm);
  color: rgba(209,213,219,0.9);
}
.home-live-chat strong {
  color: #facc15;
}
@media (max-width: 767px) {
  .hero__buttons {
    flex-direction: column;
    align-items: flex-start;
  }
  .home-menu-preview__cta {
    text-align: left;
  }
}
