/* =========================================================================
   Hero
   ========================================================================= */
.hero{
  position: relative;
  min-height: 100svh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  padding-top: 140px;
  padding-bottom: 80px;
}

.hero-bg{
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
}
.hero-bg-img{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: .42;
  filter: saturate(1.1);
  animation: hero-kenburns 24s ease-in-out infinite alternate;
}
@keyframes hero-kenburns{
  0%{ transform: scale(1.05) translate(0, 0); }
  100%{ transform: scale(1.16) translate(-1.5%, -1.5%); }
}
.hero-bg-overlay{
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 80% 60% at 50% 0%, rgba(6,10,16,.2), var(--bg) 78%),
    linear-gradient(180deg, rgba(6,10,16,.55) 0%, rgba(6,10,16,.85) 70%, var(--bg) 100%);
}

.hero-content{
  position: relative;
  z-index: 2;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  max-width: 900px;
}

.eyebrow{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 8px 18px;
  border-radius: 999px;
  background: var(--surface);
  border: 1px solid var(--border-strong);
  color: var(--green);
  font-size: .82rem;
  font-weight: 600;
  letter-spacing: .06em;
  text-transform: uppercase;
  margin-bottom: 28px;
}
.eyebrow::before{
  content: '';
  width: 7px; height: 7px;
  border-radius: 50%;
  background: var(--green);
  box-shadow: 0 0 10px 2px var(--green-glow);
  animation: pulse-dot 2.4s ease-in-out infinite;
}
@keyframes pulse-dot{
  0%, 100%{ opacity: 1; transform: scale(1); }
  50%{ opacity: .5; transform: scale(1.3); }
}

.hero-title{
  font-size: var(--fs-hero);
  line-height: 1.04;
  letter-spacing: -0.03em;
  margin-bottom: 26px;
}
.hero-title .word{
  display: inline-block;
  overflow: hidden;
  padding-bottom: .08em;
  vertical-align: bottom;
}
.hero-title .word-inner{
  display: inline-block;
  will-change: transform;
}

.hero-desc{
  font-size: var(--fs-lead);
  color: var(--text-muted);
  max-width: 640px;
  margin-bottom: 40px;
}

.hero-actions{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 16px;
}

.scroll-cue{
  position: absolute;
  bottom: 28px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 2;
  width: 26px;
  height: 42px;
  border-radius: 999px;
  border: 1px solid var(--border-strong);
  display: flex;
  justify-content: center;
  padding-top: 8px;
}
.scroll-cue span{
  width: 4px; height: 4px;
  border-radius: 50%;
  background: var(--green);
  box-shadow: 0 0 8px 2px var(--green-glow);
  animation: scroll-cue-move 1.8s ease-in-out infinite;
}
@keyframes scroll-cue-move{
  0%{ transform: translateY(0); opacity: 1; }
  70%{ opacity: 0; }
  100%{ transform: translateY(16px); opacity: 0; }
}
