/* ============================================================
   Scroll-reveal choreography — sections animate in as they enter
   the viewport. JS adds .rv to the section wrapper when visible.
   Slow, smooth, staggered. Global file (loaded after section css).
   ============================================================ */

/* shared easing */
:root{ --rv-ease:cubic-bezier(.22,.9,.28,1); }

/* ---------- 02 · HOLD vs BURN ----------
   HOLD half slides in from the left, BURN from the right,
   the VS seam/badge lands last */
.sec02 .side.hold,
.sec02 .side.burn{
  opacity:0;
  transition:opacity 1.15s var(--rv-ease), transform 1.15s var(--rv-ease);
}
.sec02 .side.hold{ transform:translateX(-72px); }
.sec02 .side.burn{ transform:translateX(72px); transition-delay:.12s; }
.sec02 .seam{
  opacity:0; transform:translateX(-50%) scale(.6);
  transition:opacity .7s var(--rv-ease) .45s, transform .7s var(--rv-ease) .45s;
}
.sec02.rv .side.hold,
.sec02.rv .side.burn{ opacity:1; transform:translateX(0); }
.sec02.rv .seam{ opacity:1; transform:translateX(-50%) scale(1); }
@media(max-width:720px){
  .sec02 .seam{ transform:translate(-50%,-50%) scale(.6); }
  .sec02.rv .seam{ transform:translate(-50%,-50%) scale(1); }
}

/* ---------- 03 · Auto-upgradable mining power ---------- */
.sec03 .iqf-hero__eyebrow,
.sec03 .iqf-hero__top > *{
  opacity:0; transform:translateY(34px);
  transition:opacity .95s var(--rv-ease), transform .95s var(--rv-ease);
}
.sec03 .iqf-hero__top > *:nth-child(1){ transition-delay:.1s; }
.sec03 .iqf-hero__top > *:nth-child(2){ transition-delay:.24s; }
.sec03 .iqf-hero__top > *:nth-child(3){ transition-delay:.38s; }
.sec03 .iqf-hero__top > *:nth-child(4){ transition-delay:.52s; }
.sec03.rv .iqf-hero__eyebrow,
.sec03.rv .iqf-hero__top > *{ opacity:1; transform:translateY(0); }

/* ---------- 04 · Core mining system ---------- */
.sec04 .s4-head-l,
.sec04 .s4-head-r,
.sec04 .s4-stmt,
.sec04 .s4-right{
  opacity:0; transform:translateY(34px);
  transition:opacity .95s var(--rv-ease), transform .95s var(--rv-ease);
}
.sec04 .s4-head-r{ transition-delay:.18s; }
.sec04 .s4-stmt{ transition-delay:.34s; }
.sec04 .s4-right{ transition-delay:.5s; }
.sec04.rv .s4-head-l,
.sec04.rv .s4-head-r,
.sec04.rv .s4-stmt,
.sec04.rv .s4-right{ opacity:1; transform:translateY(0); }

/* ---------- 04b · Dip rewards (per-element reveal) ---------- */
.secDip .dip-head > *,
.secDip .dip-grid{
  opacity:0; transform:translateY(34px);
  transition:opacity .95s var(--rv-ease), transform .95s var(--rv-ease);
}
.secDip .dip-head > *.rv,
.secDip .dip-grid.rv{ opacity:1; transform:translateY(0); }

/* ---------- 04c · CTA get-a-miner ---------- */
.secCta > div > div{
  opacity:0; transform:translateY(34px);
  transition:opacity .95s var(--rv-ease), transform .95s var(--rv-ease);
}
.secCta.rv > div > div{ opacity:1; transform:translateY(0); }

/* ---------- 07 · Live network (per-element reveal) ---------- */
.sec07 .ln-grid > *{
  opacity:0; transform:translateY(34px);
  transition:opacity .95s var(--rv-ease), transform .95s var(--rv-ease);
}
.sec07 .ln-grid > *.rv{ opacity:1; transform:translateY(0); }

/* ---------- 06 · Multilingual rail ---------- */
.sec06 .iqf-rail{
  opacity:0; transform:scale(.97);
  transition:opacity 1.1s var(--rv-ease), transform 1.1s var(--rv-ease);
}
.sec06.rv .iqf-rail{ opacity:1; transform:scale(1); }

/* ---------- 08 · DAO (per-element reveal) ---------- */
.dao .panel,
.dao .dao-copy > *{
  opacity:0; transform:translateY(34px);
  transition:opacity .95s var(--rv-ease), transform .95s var(--rv-ease);
}
.dao .dao-copy > *:nth-child(2){ transition-delay:.1s; }
.dao .dao-copy > *:nth-child(3){ transition-delay:.2s; }
.dao .dao-copy > *:nth-child(4){ transition-delay:.3s; }
.dao .panel.rv,
.dao .dao-copy > *.rv{ opacity:1; transform:translateY(0); }

/* ---------- 09 · Footer coin rises from below ---------- */
.iqf-footer .foot-coin{
  opacity:0; transform:translateX(-50%) translateY(140px);
  transition:opacity 1.15s var(--rv-ease), transform 1.15s var(--rv-ease);
}
.iqf-footer.rv .foot-coin{ opacity:.62; transform:translateX(-50%) translateY(0); }

@media (prefers-reduced-motion:reduce){
  .sec02 .side.hold,.sec02 .side.burn,.sec02 .seam,
  .sec03 .iqf-hero__eyebrow,.sec03 .iqf-hero__top > *,
  .sec04 .s4-head-l,.sec04 .s4-head-r,.sec04 .s4-stmt,.sec04 .s4-right,
  .sec07 .ln-grid > *,.sec06 .iqf-rail,.iqf-footer .foot-coin,.dao .panel,.dao .dao-copy > *,.secCta > div > div{
    opacity:1 !important; transform:none !important; transition:none !important;
  }
}
