/* Page layout */
:root {}

html, body {
  height: 100%;
}

body {
  margin: 0;
  color: #fff;
  background-color: #000;
}

/* Hero background container */
#home-hero {
  min-height: calc(120vh - 140px); /* header+footer approx */
  position: relative;
  overflow: hidden;
}

/* Background video fills the container */
.hero-video {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  z-index: 0;
  object-fit: cover; /* center and cover */
  opacity: 1; /* as requested */
}

/* Centered content */
.hero-content {
  position: relative; /* above overlay */
  z-index: 1;
  padding: 2rem;
}

.hero-title {
  font-family: var(--prata-font);
  font-size: clamp(2rem, 6vw, 4rem);
  letter-spacing: 0.02em;
  margin-bottom: 0.5rem;
}

.hero-subtitle {
  font-size: clamp(1rem, 3vw, 1.5rem);
  opacity: 0.9;
  margin-bottom: 1.5rem;
}

.btn.btn-light {
  color: #111;
}

/* Brands section */
.brand-section {
  background: linear-gradient(180deg, #eefbf3 0%, #eaf5fb 100%);
  color: #111;
}

.brand-title {
  font-family: var(--prata-font);
  font-size: clamp(1.75rem, 4vw, 2.75rem);
}

.brand-tile {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 16px;
  height: 120px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 18px;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.brand-tile:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(0,0,0,0.08);
}

.brand-logo {
  max-height: 56px;
  max-width: 80%;
  object-fit: contain;
  filter: none;
}

/* Explore section */
.explore-section {
  background: #fff;
  color: #111;
}

.explore-title {
  font-family: var(--prata-font);
  font-size: clamp(1.75rem, 4vw, 2.75rem);
}

.explore-card {
  position: relative;
  border-radius: 8px;
  overflow: hidden;
}

.explore-img {
  width: 100%;
  height: 360px;
  object-fit: cover;
  display: block;
}

.explore-overlay {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.35);
}

.explore-content {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  padding: 2rem;
  color: #fff;
}

.explore-kicker {
  font-size: 0.9rem;
  opacity: 0.85;
}

.explore-heading {
  font-size: clamp(1.25rem, 3vw, 2rem);
  margin: 0.25rem 0 1rem;
}

/* About (What we have) */
.about-section {
  background: #fff;
  color: #111;
}

.about-title {
  font-family: var(--prata-font);
  font-size: clamp(1.75rem, 4vw, 2.75rem);
  margin-bottom: 0.5rem;
}

.about-frames {
  align-items: stretch;
}

.about-frame {
  flex: 1 1 0;
  background: #fff;
  border-radius: 8px;
  overflow: hidden;
}

.about-frame img {
  width: 100%;
  height: 380px;
  object-fit: cover;
}

.about-stats .about-icon {
  color: #1b8f4b;
  font-size: 24px;
  margin-top: 4px;
}

.about-stat-value {
  font-weight: 700;
  font-size: 1.25rem;
}

.about-stat-label {
  font-size: 0.95rem;
}

/* Facilities */
.facilities-section {
  background: linear-gradient(180deg, #eee891 0%, #91eec3f9 100%);
  color: #000000;
}

.facilities-title {
  font-family: var(--prata-font);
  font-size: clamp(1.75rem, 4vw, 2.75rem);
}

.facility-item {
  border-radius: 16px;
  height: 120px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.facility-icon {
  color: #1b8f4b;
  font-size: 28px;
}

.facility-label {
  font-size: 1.05rem;
}

/* Map section */
.map-section {
  background: #fff;
  color: #111;
}

.map-title {
  font-family: var(--prata-font);
  font-size: clamp(1.75rem, 4vw, 2.75rem);
}

.map-place-title {
  font-family: var(--prata-font);
  font-size: clamp(1.25rem, 3vw, 1.75rem);
  margin-bottom: 0.25rem;
}

.map-time-range {
  font-family: var(--prata-font);
  font-size: clamp(1.25rem, 3vw, 1.75rem);
}

.map-info .vr {
  border-left: 1px solid rgba(0,0,0,0.15);
  height: auto;
}

.map-embed iframe {
  display: block;
  width: 100%;
  height: 650px;
}

/* Business Section */
.business-section { background: #0e0e0e; color: #fff; }
.business-kicker { font-size: 1rem; }
.business-title { font-family: var(--prata-font); font-size: clamp(1.75rem, 4vw, 2.75rem); }
.business-card { background: #fff; border-radius: 8px; box-shadow: 0 2px 8px rgba(0,0,0,.15); overflow: hidden; display: flex; flex-direction: column; }
.business-media { position: relative; width: 100%; aspect-ratio: 16/9; overflow: hidden; background: #000; }
.business-media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.business-body { padding: 1.25rem; position: relative; color: #111; }
.business-heading { font-size: 1.25rem; font-weight: 600; color: #111; margin-bottom: .5rem; }
.business-cta { position: absolute; right: 1.25rem; bottom: 1.25rem; width: 40px; height: 40px; border-radius: 9999px; background: #e8f8ec; color: #19a44b; display: inline-flex; align-items: center; justify-content: center; text-decoration: none; }
.business-cta:hover { background: #d8f3e2; color: #13883d; }
