/* ── Full-viewport hero ── */
.hero {
  position: relative;
  min-height: 100svh;
  display: flex;
  align-items: flex-end;
  overflow: hidden;
}
.hero-bg {
  position: absolute;
  inset: 0;
  background: var(--brand-dark);
}
.hero-bg img {
  width: 100%; height: 100%;
  object-fit: cover;
  opacity: 0.55;
}
.hero-bg-placeholder {
  width: 100%; height: 100%;
  background: var(--green-deep);
}
.hero-overlay { display: none; }
.hero-body {
  position: relative; z-index: 2;
  width: 100%;
  padding: var(--gutter);
  padding-bottom: clamp(3rem, 8vh, 6rem);
  max-width: calc(var(--max-w) + var(--gutter) * 2);
  margin-inline: auto;
}
.hero-body .eyebrow { color: var(--c-eyebrow); }
.hero-body h1 { color: var(--white); max-width: 700px; margin-bottom: 1.25rem; }
.hero-body h1 em { font-style: italic; color: var(--brand-light); font-weight: 300; }
.hero-desc {
  color: var(--c-hero-sub);
  font-size: clamp(1rem, 2vw, 1.15rem);
  max-width: 520px;
  margin-bottom: 2.5rem;
}
.hero-btns { display: flex; gap: 1rem; flex-wrap: wrap; }

/* ── Inner page hero (shorter) ── */
.page-hero {
  position: relative;
  padding-top: clamp(6rem, 15vw, 10rem);
  padding-bottom: clamp(3rem, 8vw, 6rem);
  background: var(--brand-dark);
  overflow: hidden;
  text-align: center;
}
.page-hero::after {
  content: '';
  position: absolute;
  bottom: -1px; left: 0; right: 0;
  height: 70px;
  background: var(--cream);
  clip-path: ellipse(55% 100% at 50% 100%);
}
.page-hero-bg {
  position: absolute; inset: 0;
  opacity: 0.18;
}
.page-hero-bg img { width: 100%; height: 100%; object-fit: cover; }
.page-hero-body {
  position: relative; z-index: 2;
  max-width: 700px;
  margin-inline: auto;
  padding-inline: var(--gutter);
}
.page-hero-body h1 { color: var(--white); margin-bottom: 1rem; }
.page-hero-body p  { color: var(--c-hero-sub); font-size: 1.1rem; }

/* Brand hero (taller, left-aligned) */
.brand-hero {
  position: relative;
  min-height: 60vh;
  display: flex;
  align-items: flex-end;
  overflow: hidden;
}
.brand-hero-bg { position: absolute; inset: 0; }
.brand-hero-bg img { width: 100%; height: 100%; object-fit: cover; opacity: 0.55; }
.brand-hero-overlay { display: none; }
.brand-hero-body {
  position: relative; z-index: 2;
  padding: var(--gutter);
  padding-bottom: 3rem;
  max-width: calc(var(--max-w) + var(--gutter) * 2);
  margin-inline: auto;
  width: 100%;
  padding-top: var(--top-h);
}
.brand-hero-body h1 { color: var(--white); font-size: clamp(3rem, 7vw, 6rem); }

@media (max-width: 1023px) {
  .brand-hero-body { padding-top: 60px; }
}

/* ════════════════════════════════════════════════════════════════
   LIGHT THEME HERO TEXT OVERRIDES
════════════════════════════════════════════════════════════════ */

/* home.content hero slider: light beige text on the hero images */
[data-theme="luxe"] .home-text__title,
[data-theme="luxe"] .home-text__sub,
[data-theme="luxe"] .home-text__sub2,
