/* ============================================
   HERO
============================================ */

.hero {
  position: relative;
  width: 100%;
  height: 580px;
  overflow: hidden;
  margin-top: var(--nav-height);
}

/* Image */
.hero-image-wrapper {
  position: absolute;
  inset: 0;
}

.hero-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 40%;
  transform: scale(1.04);
  animation: heroZoom 8s ease forwards;
}

@keyframes heroZoom {
  from { transform: scale(1.04); }
  to   { transform: scale(1); }
}

/* Gradient overlay */
.hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to right,
    rgba(42, 37, 32, 0.55) 0%,
    rgba(42, 37, 32, 0.2) 60%,
    rgba(42, 37, 32, 0.0) 100%
  );
}

/* Text */
.hero-content {
  position: relative;
  z-index: 2;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 0 var(--space-2xl);
  max-width: 760px;
}

.hero-eyebrow {
  font-family: var(--font-body);
  font-size: var(--text-xs);
  font-weight: 400;
  letter-spacing: 0.22em;
  color: rgba(247, 244, 238, 0.8);
  text-transform: uppercase;
  margin-bottom: var(--space-md);
  animation: fadeUp 0.8s 0.2s both;
}

.hero-headline {
  font-family: var(--font-display);
  font-size: var(--text-hero);
  font-weight: 300;
  line-height: 1.1;
  color: var(--color-white);
  letter-spacing: -0.01em;
  margin-bottom: var(--space-lg);
  animation: fadeUp 0.8s 0.4s both;
}

.hero-content .btn {
  align-self: flex-start;
  animation: fadeUp 0.8s 0.6s both;
}

/* Responsive */
@media (max-width: 768px) {
  .hero {
    height: 480px;
  }
  .hero-content {
    padding: 0 var(--space-md);
  }
  .hero-headline {
    font-size: clamp(2.2rem, 8vw, 3.2rem);
  }
  .hero-overlay {
    background: linear-gradient(
      to bottom,
      rgba(42, 37, 32, 0.3) 0%,
      rgba(42, 37, 32, 0.6) 100%
    );
  }
}
