/* ── Hero video section ────────────────────────────────── */
#hero-video{
  padding-top:var(--nav-h);background:var(--bg);position:relative;
  overflow:hidden;min-height:100vh;display:flex;flex-direction:column;
  align-items:center;justify-content:center
}

/* Parallax video — fits without cropping, quality preserved */
.hv-video-wrap{
  position:absolute;inset:0;width:100%;height:100%;
  background:var(--bg)
}
.hv-video-wrap video{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:contain;object-position:center
}

/* Dark gradient overlay — subtle vignette only */
.hv-overlay{
  position:absolute;inset:0;z-index:2;pointer-events:none;
  background:
    linear-gradient(to bottom,rgba(11,11,11,0.35) 0%,rgba(11,11,11,0.05) 50%,rgba(11,11,11,0.55) 100%)
}

/* Content — starts hidden, fade/slide-in driven by scroll JS */
.hv-content{
  position:relative;z-index:3;text-align:center;
  padding:60px 40px;max-width:720px;
  opacity:0;
  will-change:opacity,transform;transition:opacity 0.08s linear,transform 0.08s linear
}

/* Eyebrow badge — floating + breathe */
.hv-eyebrow{
  display:inline-flex;align-items:center;gap:7px;
  background:rgba(245,166,35,0.12);border:1px solid rgba(245,166,35,0.35);
  border-radius:var(--r-full);padding:6px 16px;font-size:12px;color:#FEBC2E;
  font-weight:600;letter-spacing:0.04em;margin-bottom:28px;
  animation:badge-breathe 2.8s 1s ease-in-out infinite
}
.hv-eyebrow-dot{
  width:6px;height:6px;border-radius:50%;background:var(--green);
  animation:pdot2 2s infinite
}
@keyframes pdot2{
  0%,100%{opacity:1;transform:scale(1)}
  50%{opacity:0.3;transform:scale(1.8)}
}

/* Title */
.hv-title{
  font-family:var(--f-display);
  font-size:clamp(52px,8vw,110px);
  font-weight:800;letter-spacing:-0.045em;line-height:1.0;
  color:#fff;margin-bottom:22px;
  text-shadow:0 2px 40px rgba(0,0,0,0.3)
}
.hv-title em{font-style:normal;color:var(--amber)}

/* Subtitle */
.hv-sub{
  font-size:clamp(15px,2vw,18px);color:rgba(255,255,255,0.68);line-height:1.75;
  max-width:480px;margin:0 auto 48px;
}

/* Scroll indicator */
.hv-scroll-hint{
  position:absolute;bottom:36px;left:50%;transform:translateX(-50%);z-index:4;
  display:flex;flex-direction:column;align-items:center;gap:6px;
  color:rgba(255,255,255,0.35);font-size:11px;letter-spacing:0.1em;text-transform:uppercase;
  animation:fadeUp 1s 0.6s cubic-bezier(0.16,1,0.3,1) both
}
.hv-scroll-line{
  width:1px;height:32px;background:linear-gradient(to bottom,rgba(245,166,35,0.6),transparent);
  animation:scrollPulse 1.8s ease-in-out infinite
}
@keyframes scrollPulse{
  0%,100%{opacity:0.4;transform:scaleY(1)}
  50%{opacity:1;transform:scaleY(1.15)}
}

@keyframes fadeUp{
  from{opacity:0;transform:translateY(24px)}
  to{opacity:1;transform:none}
}

/* ── Hero text section ──────────────────────────────── */
#hero-text{
  padding:96px 0 80px;
  background:var(--bg);
  text-align:center;
}
#hero-text .ht-inner{
  max-width:100%;
  margin:0 auto;
  display:flex;flex-direction:column;align-items:center;gap:0;
}
#hero-text .hv-eyebrow{ margin-bottom:28px; animation:none; }
#hero-text .hv-title{ color:var(--ink); margin-bottom:22px; }
#hero-text .hv-sub{ color:var(--ink3); margin-bottom:48px; }
#hero-text .hv-actions{ margin:0; }
