/* Home hero only: the ANICCA entrance runs automatically; the icons still wait
   for interaction and their inner orbit-float keeps the existing motion. */
.hero-zoom-layer{position:fixed;z-index:60;inset:0;overflow:hidden;contain:strict;pointer-events:none}
.hero-zoom-layer canvas{position:absolute;left:0;top:0;display:block;max-width:none;transform-origin:0 0;will-change:transform;backface-visibility:hidden}
.hero-intro-ready .hero-copy{animation:none}
.hero-intro-ready:not(.hero-intro-running):not(.hero-intro-complete) .hero-copy{opacity:0}
.hero-intro-zooming .hero-copy h1{opacity:0}
.hero-intro-ready:not(.hero-intro-complete) .hero-wordmark{animation:none}
.hero-intro-ready .hero-tagline{position:relative;width:max-content;max-width:100%;margin-inline:auto}
.hero-intro-ready .hero-tagline-line{display:inline-block}
.hero-intro-ready .hero-type-char{opacity:0}
.hero-intro-ready .hero-type-char.is-typed{opacity:1}
.hero-entry-ready .hero .orbit-item{animation:none;opacity:0;transform:scale(2.4);pointer-events:none;transform-origin:center}
.hero-entry-ready.hero-entry-revealed .hero .orbit-item{animation:hero-icon-settle .95s cubic-bezier(.22,.61,.36,1) both;animation-delay:calc(var(--hero-entry-order,0)*.14s);pointer-events:auto}
.hero .orbit-item:nth-of-type(1){--hero-entry-order:0}
.hero .orbit-item:nth-of-type(2){--hero-entry-order:1}
.hero .orbit-item:nth-of-type(3){--hero-entry-order:2}
.hero .orbit-item:nth-of-type(4){--hero-entry-order:3}
.hero .orbit-item:nth-of-type(5){--hero-entry-order:4}
.hero .orbit-item:nth-of-type(6){--hero-entry-order:5}
@keyframes hero-icon-settle{0%{opacity:0;transform:scale(2.4)}24%{opacity:1}100%{opacity:1;transform:scale(1)}}
.hero-entry-ready.hero-entry-instant .hero .orbit-item{animation:none;opacity:1;transform:none;pointer-events:auto}
@media(prefers-reduced-motion:reduce){.hero-zoom-layer{display:none}.hero-intro-ready .hero-copy,.hero-intro-ready .hero-copy h1{opacity:1!important}.hero-intro-ready .hero-copy h1,.hero-intro-ready .hero-type-char{animation:none!important;opacity:1;transform:none}.hero-entry-ready .hero .orbit-item{animation:none!important;opacity:1;transform:none;pointer-events:auto}}
@media print{.hero-zoom-layer{display:none}.hero-intro-ready .hero-copy,.hero-intro-ready .hero-copy h1{opacity:1!important}.hero-intro-ready .hero-copy h1,.hero-intro-ready .hero-type-char{animation:none!important;opacity:1;transform:none}.hero-entry-ready .hero .orbit-item{animation:none!important;opacity:1;transform:none}}
