/* Decorative Hero motion only. Keep home.css typography and globe geometry untouched. */
.hero-globe-motion,
.hero-copy-motion,
.hero-atmosphere { overflow-anchor: none; }

/* Mouse-only hit testing is handled by the globe; links and touch scrolling stay native. */
.hero-slide.is-globe-grabbable { cursor: grab; }
.hero-slide.is-globe-dragging {
    cursor: grabbing;
    -webkit-user-select: none;
    user-select: none;
}

.hero-globe-motion {
    position: absolute;
    inset: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    pointer-events: none;
    transform: translate3d(0, var(--hero-globe-y, 0px), 0);
    opacity: var(--hero-globe-opacity, 1);
}

/* The outer .hero-copy stays a stable layout anchor for home-globe.js. */
.hero-copy-motion {
    display: flow-root;
    transform: translate3d(0, var(--hero-copy-y, 0px), 0);
    opacity: var(--hero-copy-opacity, 1);
}

/* Soft radial edges instead of expensive animated blur filters or extra assets. */
.hero-aurora {
    position: absolute;
    display: block;
    width: 68%;
    height: 82%;
    top: 19%;
    opacity: var(--hero-light-opacity, 1);
}

.hero-aurora::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 50%;
}

.hero-aurora-cyan {
    left: -14%;
    transform: translate3d(var(--hero-light-x, 0px), var(--hero-light-y, 0px), 0);
}

.hero-aurora-cyan::before {
    background: radial-gradient(ellipse at center, rgba(103, 226, 255, .22), rgba(66, 173, 255, .10) 37%, rgba(66, 173, 255, 0) 70%);
}

.hero-aurora-blue {
    right: -13%;
    top: 30%;
    transform: translate3d(calc(var(--hero-light-x, 0px) * -.65), calc(var(--hero-light-y, 0px) * -.65), 0);
}

.hero-aurora-blue::before {
    background: radial-gradient(ellipse at center, rgba(141, 199, 255, .20), rgba(79, 148, 255, .08) 39%, rgba(79, 148, 255, 0) 70%);
}

@media (min-width: 761px) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
    .is-hero-enhanced .hero-aurora { transition: transform .8s cubic-bezier(.2, .65, .3, 1); }
    .is-hero-enhanced .hero-aurora::before {
        animation: hero-aurora-drift 18s ease-in-out infinite alternate;
        animation-play-state: paused;
    }
    .is-hero-enhanced .hero-aurora-blue::before {
        animation-name: hero-aurora-counter-drift;
        animation-duration: 23s;
    }
    .is-hero-motion-active .hero-aurora::before { animation-play-state: running; }
}

@keyframes hero-aurora-drift {
    from { transform: translate3d(-2%, 3%, 0) scale(.96); }
    to { transform: translate3d(8%, -5%, 0) scale(1.06); }
}

@keyframes hero-aurora-counter-drift {
    from { transform: translate3d(4%, -2%, 0) scale(1.04); }
    to { transform: translate3d(-7%, 6%, 0) scale(.96); }
}

@media (prefers-reduced-motion: reduce) {
    .hero-globe-motion,
    .hero-copy-motion,
    .hero-aurora { transform: none; opacity: 1; transition: none; }
    .hero-aurora::before { animation: none; }
}
