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

.home-hero {
  position: relative;
  overflow: hidden;
}

.home-hero-media {
  position: absolute;
  inset: 0;
  z-index: -2;
}

.home-hero-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(1.05) contrast(1.05) brightness(0.8);
}

.home-hero .container {
  padding-top: var(--space-16);
  padding-bottom: var(--space-16);
}

@media (min-width: 768px) {
  .home-hero .container {
    padding-top: var(--space-20);
    padding-bottom: var(--space-20);
  }
}

.home-approach p:last-of-type {
  margin-bottom: 0;
}

.home-image-panel {
  position: relative;
  border-radius: var(--radius-xl);
  overflow: hidden;
  box-shadow: var(--shadow-elevated);
}

.home-image-panel img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.03);
  transition: transform var(--transition-slow), filter var(--transition-slow);
}

.home-image-panel::after {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at top left, rgba(25, 184, 184, 0.28), transparent 55%), linear-gradient(to top, rgba(0, 0, 0, 0.85), transparent 45%);
}

.home-image-panel:hover img {
  transform: scale(1.06);
  filter: saturate(1.12);
}

.home-image-mini {
  border-radius: var(--radius-md);
  overflow: hidden;
}

.home-image-mini img {
  width: 100%;
  height: auto;
  object-fit: cover;
}

.home-section-header p {
  margin-top: var(--space-3);
}

.home-private .booking-panel {
  height: 100%;
}

.home-faq-cta .card {
  height: 100%;
}

.home-links a {
  text-decoration: none;
}

@media (max-width: 767px) {
  .home-hero .hero-inner {
    text-align: left;
  }

  .home-hero .hero-actions {
    align-items: flex-start;
  }
}
