#hero {
  position: relative;
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background: var(--navy-deep);
}

.hero-bg {
  position: absolute;
  inset: 0;
  background-image: url('../assets/hero.jpg');
  background-size: cover;
  background-position: center top;
  background-repeat: no-repeat;
  z-index: 0;
}

.hero-bg::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to bottom,
    rgba(6, 15, 31, 0.68) 0%,
    rgba(6, 15, 31, 0.55) 40%,
    rgba(6, 15, 31, 0.72) 75%,
    rgba(6, 15, 31, 0.92) 100%
  );
}

.hero-inner {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  max-width: 860px;
  padding: 8rem 2rem 6rem;
  gap: 1.75rem;
}

.hero-title {
  font-family: 'Inter', sans-serif;
  font-weight: 900;
  font-size: clamp(3rem, 7vw, 5rem);
  line-height: 1.05;
  letter-spacing: -0.03em;
  color: #ffffff;
  animation: fadeUp 0.8s ease both;
}

.hero-em {
  font-style: italic;
  color: var(--gold);
  font-weight: 800;
}

.hero-sub {
  font-family: 'Inter', sans-serif;
  font-weight: 300;
  font-size: 1.2rem;
  line-height: 1.65;
  color: var(--cream-soft);
  max-width: 560px;
  animation: fadeUp 0.8s 0.15s ease both;
}

.hero-cta {
  margin-top: 0.5rem;
  font-size: 1.05rem;
  padding: 0.85rem 2.25rem;
  animation: fadeUp 0.8s 0.3s ease both;
}

@media (max-width: 768px) {
  .hero-inner {
    padding: 7rem 1.5rem 5rem;
    gap: 1.35rem;
  }

  .hero-title {
    font-size: clamp(2.4rem, 9vw, 3.4rem);
  }

  .hero-sub {
    font-size: 1.05rem;
  }
}
