/* Hero canvas animation (assets/hero-fx.js): stars -> subject constellations -> island.
   The spacing rules hang on the static class .has-fx, so nothing shifts when the script starts.
   .fx-on is added by the script once the first frame is drawn; until then the old
   CSS starfield stays as the fallback. */
.hero-fx{position:absolute;left:0;top:0;width:100%;height:100%;z-index:1;pointer-events:none;display:block}
.hero.fx-on .starfield,.hero.fx-on .confetti,.hero.fx-on .sparkles{display:none}
.hero.has-fx .hero-grid{padding-bottom:200px}
@media (min-width:1101px){
  .hero.has-fx .scene{justify-content:flex-end}
  .hero.has-fx .video-card{max-width:460px}
  .hero.has-fx .float-chip.c2{left:auto;right:-3%;top:40%}
}
@media (max-width:1100px){
  .hero.has-fx .hero-grid{padding-bottom:340px}
}
@media (max-width:600px){
  .hero.has-fx .hero-grid{padding-bottom:310px}
}
