html {
  background-color: var(--color-bg);
}

.hero-home {
  background-color: #0f1a12;
}

.hero-home .hero-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.hero-home .hero-overlay {
  background: radial-gradient(circle at top left, rgba(216, 240, 211, 0.6), transparent 55%), radial-gradient(circle at bottom right, rgba(242, 201, 76, 0.4), transparent 55%), var(--hero-overlay);
}

.hero-layout {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  min-height: calc(70vh - var(--header-height));
}

.hero-panel-home {
  background: var(--hero-panel-bg);
  color: var(--color-text);
}

.badge-hero {
  background: rgba(253, 253, 251, 0.96);
  color: var(--color-text-soft);
}

.hero-heading-group {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}

.hero-meta-home {
  align-self: flex-start;
}

.hero-cta-group .btn {
  max-width: 100%;
}

.section-experience {
  background: radial-gradient(circle at top left, rgba(216, 240, 211, 0.6), transparent 55%), radial-gradient(circle at bottom right, rgba(247, 245, 240, 0.9), transparent 55%), var(--color-bg);
}

.experience-grid {
  align-items: center;
}

.experience-text {
  max-width: 640px;
}

.experience-highlights {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-xs);
}

.experience-highlights .chip {
  background: rgba(247, 245, 240, 0.95);
}

.section-events {
  background-color: var(--color-bg);
}

.events-grid {
  gap: var(--grid-gap-lg);
}

.events-cards .card {
  height: 100%;
}

.section-reservation {
  background: var(--color-bg-alt);
}

.reservation-cta-home {
  backdrop-filter: blur(14px);
}

.section-gallery {
  background-color: var(--color-bg);
}

.gallery-grid-preview {
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}

.section-links {
  background-color: var(--color-bg);
}

.links-grid .card {
  height: 100%;
}

.fade-in-up[data-animate] {
  opacity: 0;
  transform: translateY(16px);
  transition: opacity 480ms var(--easing-soft), transform 480ms var(--easing-soft);
}

.fade-in-up[data-animate].is-visible {
  opacity: 1;
  transform: translateY(0);
}

.hero-panel-home,
.experience-media .media-aspect,
.events-media .media-aspect,
.gallery-preview .gallery-item,
.links-grid .card {
  transition: box-shadow var(--transition-base), transform var(--transition-base);
}

.hero-panel-home:hover,
.experience-media .media-aspect:hover,
.events-media .media-aspect:hover,
.gallery-preview .gallery-item:hover,
.links-grid .card:hover {
  box-shadow: var(--shadow-elevated);
  transform: translateY(-2px);
}

.btn,
.card,
.media-aspect,
.gallery-item {
  will-change: transform, box-shadow;
}

@media (max-width: 1024px) {
  .hero-layout {
    justify-content: center;
    min-height: auto;
  }
}

@media (max-width: 768px) {
  .hero-layout {
    align-items: flex-start;
  }
  .hero-panel-home {
    width: 100%;
  }
  .experience-grid,
  .events-grid,
  .gallery-intro,
  .links-grid {
    gap: var(--grid-gap-md);
  }
  .hero-cta-group {
    flex-direction: column;
    align-items: stretch;
  }
  .hero-cta-group .btn {
    width: 100%;
  }
  .reservation-cta-actions {
    flex-direction: column;
    align-items: stretch;
  }
  .reservation-cta-actions .btn {
    width: 100%;
  }
}

@media (max-width: 480px) {
  .hero-panel-home {
    padding: var(--space-md);
  }
  .gallery-grid-preview {
    grid-template-columns: minmax(0, 1fr);
  }
}
