/* Homepage aurora: tuned to match the approved local demo. */
#index .banner {
    isolation: isolate;
    overflow: hidden;
}
#index .banner::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(245,251,255,.27) 0%, rgba(216,242,255,.24) 35%, rgba(16,142,210,.38) 73%, rgba(4,42,130,.67) 100%);
    pointer-events: none;
}
#index .banner_text { z-index: 1; }
.home-aurora {
    position: absolute;
    z-index: 0;
    inset: -25%;
    overflow: hidden;
    filter: blur(42px);
    opacity: .65;
    pointer-events: none;
}
.home-aurora::before,
.home-aurora::after {
    content: "";
    position: absolute;
    inset: -30%;
    background: repeating-linear-gradient(105deg, transparent 0%, rgba(15,161,227,.10) 8%, rgba(115,211,241,.62) 13%, rgba(90,164,216,.32) 18%, transparent 24%, rgba(199,235,246,.48) 30%, transparent 37%);
    animation: home-aurora-flow 23.53s ease-in-out infinite alternate;
}
.home-aurora::after {
    opacity: .7;
    filter: blur(20px);
    animation: home-aurora-reverse 30.59s ease-in-out infinite alternate;
}
@keyframes home-aurora-flow {
    from { transform: translate3d(-22%, -6%, 0) rotate(-12deg); }
    to { transform: translate3d(22%, 8%, 0) rotate(8deg); }
}
@keyframes home-aurora-reverse {
    from { transform: translate3d(18%, 8%, 0) rotate(14deg); }
    to { transform: translate3d(-18%, -8%, 0) rotate(-10deg); }
}
@media (prefers-reduced-motion: reduce) {
    .home-aurora::before, .home-aurora::after { animation: none; }
}
