/* Vozeando · Órbita de voz — scoped to the course archive hero. */
body.post-type-archive-curso .elementor-396 [data-id="71abc15"].nova-voice-orbit-hero {
    position: relative;
    isolation: isolate;
    overflow: hidden;
}

body.post-type-archive-curso .nova-voice-orbit-hero > .e-con-inner {
    position: relative;
    z-index: 2;
}

.nova-voice-orbit-layer {
    --nova-orbit-x: 0px;
    --nova-orbit-y: 0px;
    position: absolute;
    inset: 0;
    z-index: 1;
    overflow: hidden;
    pointer-events: none;
    contain: layout paint;
}

.nova-voice-orbit-canvas,
.nova-voice-orbit-wave,
.nova-voice-orbit-halo {
    position: absolute;
    pointer-events: none;
}

.nova-voice-orbit-canvas {
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 0.98;
    transform: translate3d(var(--nova-orbit-x), var(--nova-orbit-y), 0);
    transition: transform 900ms cubic-bezier(.2, .75, .2, 1);
}

.nova-voice-orbit-halo {
    top: -58%;
    right: -11%;
    width: min(69vw, 980px);
    aspect-ratio: 1;
    border-radius: 50%;
    opacity: 0.96;
    background:
        radial-gradient(circle at 47% 49%, rgba(255, 244, 194, 0.34) 0 2%, rgba(239, 194, 94, 0.24) 8%, rgba(214, 167, 74, 0.14) 26%, rgba(232, 154, 56, 0.055) 46%, transparent 68%);
    filter: blur(18px);
    mix-blend-mode: screen;
    transform: translate3d(calc(var(--nova-orbit-x) * -0.4), calc(var(--nova-orbit-y) * -0.4), 0);
    transition: transform 1200ms cubic-bezier(.2, .75, .2, 1);
}

.nova-voice-orbit-wave {
    inset: -8% -4% -12% 37%;
    width: 72%;
    height: 126%;
    opacity: 0.64;
    overflow: visible;
    mix-blend-mode: screen;
    transform: translate3d(calc(var(--nova-orbit-x) * 0.35), calc(var(--nova-orbit-y) * 0.35), 0);
    transition: transform 1100ms cubic-bezier(.2, .75, .2, 1);
}

.nova-voice-orbit-wave path {
    fill: none;
    stroke-linecap: round;
    vector-effect: non-scaling-stroke;
}

.nova-voice-orbit-wave .nova-orbit-line-main {
    stroke: url(#nova-orbit-gold);
    stroke-width: 1.46;
    filter: url(#nova-orbit-soft-glow);
    stroke-dasharray: 3 10 78 17;
    animation: nova-orbit-line-drift 24s linear infinite;
}

.nova-voice-orbit-wave .nova-orbit-line-echo {
    stroke: rgba(255, 231, 155, 0.5);
    stroke-width: 0.92;
    stroke-dasharray: 2 18 45 22;
    animation: nova-orbit-line-drift 34s linear infinite reverse;
}

@keyframes nova-orbit-line-drift {
    to { stroke-dashoffset: -220; }
}

@media (max-width: 767px) {
    .nova-voice-orbit-layer {
        opacity: 0.9;
    }

    .nova-voice-orbit-halo {
        top: 10%;
        right: -72%;
        width: 150vw;
        opacity: 0.78;
        filter: blur(14px);
    }

    .nova-voice-orbit-wave {
        inset: 7% -35% -5% 12%;
        width: 132%;
        height: 98%;
        opacity: 0.38;
    }

    .nova-voice-orbit-canvas {
        opacity: 0.82;
    }
}

@media (prefers-reduced-motion: reduce) {
    .nova-voice-orbit-canvas,
    .nova-voice-orbit-wave,
    .nova-voice-orbit-halo {
        transition: none !important;
        animation: none !important;
    }

    .nova-voice-orbit-wave path {
        animation: none !important;
    }
}
