.kf-hero-full{
  position:relative;
  height:100vh;
  min-height:600px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  background:var(--kf-black);
}
.kf-hero-full__bg{
  position:absolute;
  inset:0;
  background-size:cover;
  background-position:center;
}
.kf-hero-full__inner{
  position:relative;
  z-index:2;
  text-align:center;
  color:var(--kf-white);
  padding:0 20px;
}
.kf-hero-full__logo-img{
  max-width:min(80vw, 420px);
  height:auto;
  margin-bottom:28px;
  filter:drop-shadow(0 4px 20px rgba(0,0,0,0.4));
}
.kf-hero-full__dates{
  font-family:var(--kf-font-label);
  font-size:clamp(1rem, 2.5vw, 1.4rem);
  letter-spacing:0.1em;
  text-transform:uppercase;
  color:var(--kf-red);
  margin:0 0 32px;
}

.kf-hero-full__stats{
  display:flex;
  justify-content:center;
  gap:clamp(24px, 6vw, 64px);
  flex-wrap:wrap;
}
.kf-hero-full__stat{
  display:flex;
  flex-direction:column;
  align-items:center;
}
.kf-hero-full__stat-number{
  font-family:var(--kf-font-display);
  font-weight:700;
  font-size:clamp(2.5rem, 7vw, 4rem);
  line-height:1;
  color:var(--kf-white);
}
.kf-hero-full__stat-label{
  font-family:var(--kf-font-label);
  text-transform:uppercase;
  letter-spacing:0.05em;
  font-size:0.8rem;
  color:rgba(255,255,255,0.7);
  margin-top:8px;
}

.kf-hero-full__scroll{
  position:absolute;
  bottom:32px;
  left:50%;
  transform:translateX(-50%);
  z-index:2;
  color:var(--kf-white);
  text-decoration:none;
  animation:kf-bounce 2s infinite;
}
.kf-hero-full__scroll-arrow{
  display:block;
  font-size:1.8rem;
}

@keyframes kf-bounce{
  0%, 100%{ transform:translate(-50%, 0); }
  50%{ transform:translate(-50%, 10px); }
}

@media (max-width:640px){
  .kf-hero-full{ height:90vh; }
}