/* ==========================================================================
   SECTION 1: HERO (hero-v2)
   ========================================================================== */
.hero-wrapper {
  position: relative;
  width: 100%;
  height: 100svh;
  min-height: 580px;
  max-height: 900px;
  background: var(--black);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: center;
  text-align: center;
  overflow: hidden;
}
.hero-wrapper__bg {
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  z-index: 1;
}
.hero-wrapper__bg .hero-poster,
.hero-wrapper__bg .hero-poster img,
.hero-wrapper__bg .hero-video {
  position: absolute;
  top: 0; left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.hero-wrapper__bg .hero-poster img {
  object-position: center 30%;
}
.hero-wrapper__bg .hero-video {
  object-position: center center;
  z-index: 1;
}
/* Fade out poster once video plays */
.hero-wrapper__bg .hero-poster {
  z-index: 0;
  transition: opacity 1s ease 0.5s;
}
.hero-wrapper__bg::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  background: radial-gradient(ellipse at center 40%, transparent 0%, rgba(0,0,0,0.25) 100%);
  z-index: 2;
}
.hero-wrapper__bg::after {
  content: '';
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 85%;
  background: linear-gradient(to top, rgba(0,0,0,0.92) 0%, rgba(0,0,0,0.6) 35%, rgba(0,0,0,0.15) 65%, transparent 100%);
  z-index: 2;
}
.hero-wrapper__content {
  position: relative;
  z-index: 3;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 0 24px 72px;
  max-width: 900px;
  width: 100%;
}
.hero-wrapper__badge {
  font-family: var(--font-display);
  font-size: 24px;
  font-weight: 500;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.8);
  margin-bottom: 16px;
  animation: heroSubReveal 1s cubic-bezier(0.16, 1, 0.3, 1) 0.1s both;
}
.hero-wrapper__title {
  color: var(--white);
  margin-bottom: 20px;
  text-align: center;
}
.hero-wrapper__subtitle {
  color: rgba(255,255,255,0.85);
  margin-bottom: 32px;
  max-width: 480px;
  text-align: center;
  font-size: 16px;
  line-height: 25px;
  font-weight: 400;
  letter-spacing: 0.015em;
  text-shadow: 0 1px 24px rgba(0,0,0,0.6);
}
.hero-wrapper__cta {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
  justify-content: center;
}

/* Hero entrance animation */
@keyframes heroTextReveal {
  from { opacity: 0; transform: translateY(30px); filter: blur(4px); }
  to { opacity: 1; transform: translateY(0); filter: blur(0); }
}
@keyframes heroSubReveal {
  from { opacity: 0; transform: translateY(20px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes heroBtnReveal {
  from { opacity: 0; transform: translateY(16px) scale(0.95); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}
.hero-wrapper__title {
  animation: heroTextReveal 1.2s cubic-bezier(0.16, 1, 0.3, 1) 0.3s both;
}
.hero-wrapper__subtitle {
  animation: heroSubReveal 1s cubic-bezier(0.16, 1, 0.3, 1) 0.7s both;
}
.hero-wrapper__cta {
  animation: heroBtnReveal 0.8s cubic-bezier(0.16, 1, 0.3, 1) 1s both;
}

