/* ============================================================
   Industries index — hero entrance + "sector bars" diagram
   Bars grow up on entry; a soft highlight sweeps across them.
   Runs only when JS adds .hero-animate to #industries-hero-block
   (skipped under prefers-reduced-motion). Default = finished state.
   ============================================================ */

/* --- Text line stagger --- */
#industries-hero-block .hero-line { opacity: 1; transform: none; }
#industries-hero-block.hero-animate .hero-line { opacity: 0; transform: translateY(12px); }
#industries-hero-block.hero-animate .hero-line:nth-child(1) { animation: heroRise .55s ease-out 0s forwards; }
#industries-hero-block.hero-animate .hero-line:nth-child(2) { animation: heroRise .55s ease-out .12s forwards; }
#industries-hero-block.hero-animate .hero-line:nth-child(3) { animation: heroRise .55s ease-out .24s forwards; }
#industries-hero-block.hero-animate .hero-line:nth-child(4) { animation: heroRise .55s ease-out .36s forwards; }
@keyframes heroRise { to { opacity: 1; transform: translateY(0); } }

/* --- Sector bars diagram --- */
.ind-svg { width: 100%; height: auto; max-width: 460px; display: block; margin: 0 auto; }

/* Bars grow up from the baseline */
.ind-bar { transform-box: fill-box; transform-origin: bottom; }
.hero-animate .ind-bar { animation: barGrow .6s cubic-bezier(.2,.7,.2,1) both; }
.hero-animate .ind-bar.b1 { animation-delay: .05s; }
.hero-animate .ind-bar.b2 { animation-delay: .14s; }
.hero-animate .ind-bar.b3 { animation-delay: .23s; }
.hero-animate .ind-bar.b4 { animation-delay: .32s; }
.hero-animate .ind-bar.b5 { animation-delay: .41s; }
.hero-animate .ind-bar.b6 { animation-delay: .50s; }
@keyframes barGrow { from { transform: scaleY(0); } to { transform: scaleY(1); } }

/* Top nodes fade in once the bars have risen */
.ind-node { opacity: 1; }
.hero-animate .ind-node { opacity: 0; animation: nodeFade .4s ease-out forwards; }
.hero-animate .ind-node.n1 { animation-delay: .55s; }
.hero-animate .ind-node.n2 { animation-delay: .64s; }
.hero-animate .ind-node.n3 { animation-delay: .73s; }
.hero-animate .ind-node.n4 { animation-delay: .82s; }
.hero-animate .ind-node.n5 { animation-delay: .91s; }
.hero-animate .ind-node.n6 { animation-delay: 1.0s; }
@keyframes nodeFade { to { opacity: 1; } }

/* Soft highlight sweeps left→right across the sectors, continuously */
.ind-scan { opacity: 0; }
.hero-animate .ind-scan { animation: scanSweep 3.4s ease-in-out 1.2s infinite; }
@keyframes scanSweep {
  0%   { opacity: 0; transform: translateX(-40px); }
  12%  { opacity: 1; }
  88%  { opacity: 1; }
  100% { opacity: 0; transform: translateX(400px); }
}

@media (prefers-reduced-motion: reduce) {
  .ind-bar, .ind-node, .ind-scan { animation: none !important; }
  .ind-scan { display: none; }
}
