/* ============================================================
   HERO
   ============================================================ */
.hero { position:relative; min-height:100svh; display:flex; align-items:center; justify-content:center; overflow:hidden; background:linear-gradient(135deg,#1a0305 0%,#3a0812 100%); }
.hero-media { position:absolute; inset:0; z-index:0; }
.hero-video { width:100%; height:100%; object-fit:cover; will-change:transform; }
.hero-overlay { position:absolute; inset:0; background:linear-gradient(135deg,rgba(20,2,4,.75) 0%,rgba(180,20,30,.4) 60%,rgba(20,2,4,.65) 100%); }
.hero-grid { position:absolute; inset:0; z-index:1; background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px); background-size:60px 60px; }
.hero-content { position:relative; z-index:2; text-align:center; padding-top:var(--header-h); }
.hero-tagline { margin-bottom:24px; }
.tagline-row { display:flex; justify-content:center; gap:0.25em; flex-wrap:wrap; }
.word {
  font-family:var(--ff-display); font-weight:900;
  font-size:clamp(52px,10vw,120px);
  color:var(--clr-white); letter-spacing:-0.03em; line-height:1;
  display:inline-block;
  opacity:0; transform:translateY(40px);
  animation:wordUp .7s var(--ease-out-expo) forwards;
  /* MODIFICATION: Increased base delay so words appear after page settles */
  animation-delay:calc(0.6s + var(--i) * 0.12s);
}
.row-2 .word:last-child { color:var(--clr-red); }
@keyframes wordUp { to{opacity:1;transform:translateY(0)} }
.hero-sub {
  font-family:var(--ff-body); font-size:clamp(16px,2vw,20px); color:rgba(255,255,255,.75); margin-bottom:36px;
  opacity:0;
  animation:wordUp .7s var(--ease-out-expo) calc(1.1s + var(--i)*0.12s) forwards;
}
.hero-sub strong { color:var(--clr-white); font-weight:600; }
.hero-actions {
  display:flex; gap:16px; justify-content:center; flex-wrap:wrap;
  opacity:0;
  animation:wordUp .7s var(--ease-out-expo) calc(1.1s + var(--i)*0.12s) forwards;
}
.hero-dots { position:absolute; bottom:36px; left:50%; transform:translateX(-50%); display:flex; gap:8px; z-index:3; }
.dot { width:8px; height:8px; border-radius:50%; background:rgba(255,255,255,.3); border:none; transition:all .35s; }
.dot--active { background:var(--clr-red); transform:scale(1.4); }
.scroll-indicator { position:absolute; bottom:36px; right:40px; display:flex; flex-direction:column; align-items:center; z-index:3; }
.scroll-line { width:1.5px; height:48px; background:linear-gradient(to bottom,rgba(255,255,255,.6),transparent); animation:scrollBounce 2s ease infinite; }
@keyframes scrollBounce { 0%,100%{transform:translateY(0);opacity:.5} 50%{transform:translateY(8px);opacity:1} }

