.sigma-bpla {
    position: relative;
    isolation: isolate;
}

.sigma-bpla__scene {
    position: fixed;
    z-index: 8;
    inset: 0;
    overflow: hidden;
    clip-path: inset(var(--bpla-scene-top, 0px) 0 var(--bpla-scene-bottom, 0px) 0);
    pointer-events: none;
    opacity: 0;
    transition: opacity 420ms ease;
}

.sigma-bpla--motion-ready .sigma-bpla__scene {
    opacity: 1;
}

.sigma-bpla--webgl-fallback .sigma-bpla__scene {
    display: none;
}

.sigma-bpla__scene-canvas {
    display: block;
    width: 100%;
    height: 100%;
    pointer-events: none;
}

.sigma-bpla__shell {
    position: relative;
    z-index: 1;
}

.sigma-bpla > section {
    position: relative;
}

.sigma-bpla[data-bpla-phase="tracking"] .sigma-bpla__theatre-telemetry span:nth-child(1),
.sigma-bpla[data-bpla-phase="lock"] .sigma-bpla__theatre-telemetry span:nth-child(2),
.sigma-bpla[data-bpla-phase="intercept"] .sigma-bpla__theatre-telemetry span:nth-child(3),
.sigma-bpla[data-bpla-phase="impact"] .sigma-bpla__theatre-telemetry span:nth-child(3),
.sigma-bpla[data-bpla-phase="secured"] .sigma-bpla__theatre-telemetry span:nth-child(3) {
    color: var(--bpla-white);
    background: rgba(178, 3, 15, 0.18);
}

.sigma-bpla__theatre-copy {
    transition: opacity 480ms ease, transform 680ms cubic-bezier(0.2, 0.75, 0.25, 1);
}

.sigma-bpla[data-bpla-phase="tracking"] .sigma-bpla__theatre-copy,
.sigma-bpla[data-bpla-phase="lock"] .sigma-bpla__theatre-copy,
.sigma-bpla[data-bpla-phase="intercept"] .sigma-bpla__theatre-copy,
.sigma-bpla[data-bpla-phase="impact"] .sigma-bpla__theatre-copy,
.sigma-bpla[data-bpla-phase="secured"] .sigma-bpla__theatre-copy {
    opacity: 0.96;
    transform: translate3d(-4px, -2px, 0);
}

.sigma-bpla__intercept-stage {
    position: absolute;
    z-index: 3;
    inset: 0;
    overflow: hidden;
    pointer-events: none;
}

.sigma-bpla__intercept-horizon {
    position: absolute;
    right: -5%;
    bottom: 31%;
    width: 54%;
    height: 1px;
    background: rgba(255, 255, 255, 0.34);
    transform: scaleX(0);
    transform-origin: right center;
    transition: transform 700ms cubic-bezier(0.2, 0.72, 0.2, 1);
}

.sigma-bpla__intercept-horizon::before,
.sigma-bpla__intercept-horizon::after {
    position: absolute;
    right: 11%;
    width: 90px;
    height: 1px;
    background: rgba(255, 255, 255, 0.2);
    content: "";
}

.sigma-bpla__intercept-horizon::before {
    top: -24px;
}

.sigma-bpla__intercept-horizon::after {
    top: 24px;
}

.sigma-bpla[data-bpla-phase="lock"] .sigma-bpla__intercept-horizon,
.sigma-bpla[data-bpla-phase="intercept"] .sigma-bpla__intercept-horizon,
.sigma-bpla[data-bpla-phase="impact"] .sigma-bpla__intercept-horizon,
.sigma-bpla[data-bpla-phase="secured"] .sigma-bpla__intercept-horizon {
    transform: scaleX(1);
}

.sigma-bpla--motion-ready .sigma-bpla__reveal {
    opacity: 0;
    transform: translate3d(0, 30px, 0);
    transition: opacity 650ms ease, transform 750ms cubic-bezier(0.2, 0.7, 0.2, 1);
}

.sigma-bpla--motion-ready .sigma-bpla__reveal.is-visible {
    opacity: 1;
    transform: none;
}

.sigma-bpla--motion-ready .sigma-bpla__reveal[data-bpla-reveal-index="1"] {
    transition-delay: 70ms;
}

.sigma-bpla--motion-ready .sigma-bpla__reveal[data-bpla-reveal-index="2"] {
    transition-delay: 140ms;
}

.sigma-bpla--motion-ready .sigma-bpla__reveal[data-bpla-reveal-index="3"] {
    transition-delay: 210ms;
}

.sigma-bpla--motion-ready .sigma-bpla__reveal[data-bpla-reveal-index="4"] {
    transition-delay: 280ms;
}

.sigma-bpla--motion-ready .sigma-bpla__circuit li,
.sigma-bpla--motion-ready .sigma-bpla__process li,
.sigma-bpla--motion-ready .sigma-bpla__object-grid li {
    transition: border-color 260ms ease, background-color 260ms ease, box-shadow 260ms ease, transform 260ms ease;
}

.sigma-bpla--motion-ready .sigma-bpla__circuit li:hover .sigma-bpla__circuit-body,
.sigma-bpla--motion-ready .sigma-bpla__process li:hover,
.sigma-bpla--motion-ready .sigma-bpla__object-grid li:hover {
    border-color: rgba(178, 3, 15, 0.5);
    box-shadow: 0 18px 46px rgba(3, 13, 31, 0.08);
    transform: translateY(-5px);
}

.sigma-bpla[data-bpla-protection-step="1"] .sigma-bpla__circuit li:nth-child(1) .sigma-bpla__circuit-body,
.sigma-bpla[data-bpla-protection-step="2"] .sigma-bpla__circuit li:nth-child(2) .sigma-bpla__circuit-body,
.sigma-bpla[data-bpla-protection-step="3"] .sigma-bpla__circuit li:nth-child(3) .sigma-bpla__circuit-body {
    border-color: var(--bpla-red);
    border-top-color: var(--bpla-red);
    box-shadow: 0 20px 50px rgba(3, 13, 31, 0.1);
}

.sigma-bpla[data-bpla-protection-step="1"] .sigma-bpla__circuit li:nth-child(1) .sigma-bpla__circuit-number,
.sigma-bpla[data-bpla-protection-step="2"] .sigma-bpla__circuit li:nth-child(2) .sigma-bpla__circuit-number,
.sigma-bpla[data-bpla-protection-step="3"] .sigma-bpla__circuit li:nth-child(3) .sigma-bpla__circuit-number {
    color: var(--bpla-white);
    background: var(--bpla-red);
    box-shadow: 0 0 0 7px rgba(178, 3, 15, 0.12);
}

@media (max-width: 991px) {
    .sigma-bpla__scene {
        opacity: 0;
    }

    .sigma-bpla--motion-ready .sigma-bpla__scene {
        opacity: 1;
    }

}

@media (max-width: 767px) {
    .sigma-bpla--motion-ready .sigma-bpla__scene {
        opacity: 1;
    }

    .sigma-bpla__intercept-horizon {
        display: none;
    }

    .sigma-bpla--motion-ready .sigma-bpla__reveal,
    .sigma-bpla--motion-ready .sigma-bpla__reveal[data-bpla-reveal-index] {
        transition-delay: 0ms;
    }

    .sigma-bpla--motion-ready .sigma-bpla__circuit li:hover .sigma-bpla__circuit-body,
    .sigma-bpla--motion-ready .sigma-bpla__process li:hover,
    .sigma-bpla--motion-ready .sigma-bpla__object-grid li:hover {
        box-shadow: none;
        transform: none;
    }
}

@media (prefers-reduced-transparency: reduce) {
    .sigma-bpla__intercept-stage {
        display: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    .sigma-bpla__scene,
    .sigma-bpla__intercept-stage {
        display: none;
    }

    .sigma-bpla--motion-ready .sigma-bpla__reveal,
    .sigma-bpla--motion-ready .sigma-bpla__reveal.is-visible,
    .sigma-bpla--motion-ready .sigma-bpla__reveal[data-bpla-reveal-index],
    .sigma-bpla--motion-ready .sigma-bpla__circuit li,
    .sigma-bpla--motion-ready .sigma-bpla__process li,
    .sigma-bpla--motion-ready .sigma-bpla__object-grid li {
        opacity: 1;
        transform: none;
        transition: none;
    }
}
