.elementor-687 .elementor-element.elementor-element-9418228 {
    isolation: isolate;
    background-position: bottom center !important;
}
.elementor-687 .elementor-element.elementor-element-9418228 > .e-con-inner { position: static; }
.elementor-687 .elementor-element.elementor-element-ec62e1e { position: relative; z-index: 2; }
.elementor-687 .elementor-element.elementor-element-abc8b01 {
    position: absolute !important;
    inset: 0;
    width: 100% !important;
    height: 100%;
    margin: 0 !important;
    padding: 0 !important;
    z-index: 1;
    pointer-events: none;
}
.abc-bus-scene, .abc-motion-art { position: absolute; inset: 0; overflow: hidden; }
.abc-cartoon-bus {
    position: absolute;
    right: 1.5%;
    bottom: 8%;
    width: 52%;
    max-width: 760px;
    aspect-ratio: 2 / 1;
    animation: abc-bus-cruise 5s ease-in-out infinite;
    will-change: transform;
}
.abc-bus-body {
    display: block;
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
    z-index: 2;
    animation: abc-bus-bounce 1.15s ease-in-out infinite;
    transform-origin: 50% 78%;
}
.abc-wheel {
    position: absolute;
    top: 79%;
    width: 15%;
    aspect-ratio: 1;
    transform: translate(-50%, -50%);
    z-index: 1;
    border-radius: 50%;
    background: #26313b;
    box-shadow: inset 0 0 0 3px #17232a, 0 4px 3px #15241c30;
}
.abc-wheel-back { left: 22.3%; }
.abc-wheel-front { left: 79.7%; }
.abc-wheel-disc {
    position: absolute;
    inset: 22%;
    border: 3px solid #9bc7d4;
    border-radius: 50%;
    background: #426978;
    animation: abc-wheel-spin 1s linear infinite;
}
.abc-wheel-disc span {
    position: absolute;
    top: 12%;
    bottom: 12%;
    left: 44%;
    width: 12%;
    background: #d7e9ed;
    border-radius: 2px;
}
.abc-wheel-disc span:nth-child(2) { transform: rotate(60deg); }
.abc-wheel-disc span:nth-child(3) { transform: rotate(120deg); }
.abc-wheel-disc::after {
    content: "";
    position: absolute;
    inset: 34%;
    border-radius: 50%;
    background: #efaa32;
    border: 2px solid #b46b18;
}
.abc-road-marks {
    position: absolute;
    left: 47%;
    right: -100px;
    bottom: 20%;
    height: 5px;
    background: repeating-linear-gradient(90deg, #f7e7a3 0 45px, transparent 45px 100px);
    animation: abc-road-scroll 1.2s linear infinite;
    opacity: .85;
}
.abc-motion-toggle {
    position: absolute;
    right: 16px;
    bottom: 14px;
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    border: 1px solid #ffffffb3;
    border-radius: 50%;
    background: #173e36;
    color: white;
    padding: 0;
    cursor: pointer;
    pointer-events: auto;
    z-index: 4;
    font-size: 14px;
    line-height: 1;
}
.abc-motion-toggle:hover { background: #c64137; }
.abc-motion-toggle:focus-visible { outline: 3px solid white; outline-offset: 3px; }
.abc-motion-paused .abc-cartoon-bus,
.abc-motion-paused .abc-bus-body,
.abc-motion-paused .abc-wheel-disc,
.abc-motion-paused .abc-road-marks { animation-play-state: paused !important; }
@keyframes abc-bus-bounce {
    0%, 100% { transform: translateY(0) rotate(-.25deg); }
    50% { transform: translateY(-3px) rotate(.25deg); }
}
@keyframes abc-bus-cruise {
    0%, 100% { transform: translateX(-5px); }
    50% { transform: translateX(5px); }
}
@keyframes abc-wheel-spin { to { transform: rotate(360deg); } }
@keyframes abc-road-scroll { to { transform: translateX(-100px); } }
@media (max-width: 1024px) and (min-width: 768px) {
    .abc-cartoon-bus { width: 49%; right: .5%; bottom: 12%; }
}
@media (max-width: 767px) {
    .abc-cartoon-bus { width: 94%; max-width: none; right: 3%; bottom: 4px; }
    .abc-road-marks { left: -5%; bottom: 5%; height: 3px; }
    .abc-wheel-disc { border-width: 2px; }
    .abc-wheel-disc::after { border-width: 1px; }
    .abc-motion-toggle { width: 32px; height: 32px; right: 10px; bottom: 8px; font-size: 12px; }
}
@media (prefers-reduced-motion: reduce) {
    .abc-bus-scene:not(.abc-motion-explicit-play) .abc-cartoon-bus,
    .abc-bus-scene:not(.abc-motion-explicit-play) .abc-bus-body,
    .abc-bus-scene:not(.abc-motion-explicit-play) .abc-wheel-disc,
    .abc-bus-scene:not(.abc-motion-explicit-play) .abc-road-marks { animation-play-state: paused !important; }
}
