.elementor-invisible { visibility: visible !important; }
.app-menu { position: fixed; inset: 0 0 0 auto; margin: 0; width: 350px; max-width: 96vw; height: 100dvh; max-height: 100dvh; border: 0; padding: 90px 25px 35px; background: #0e1504; color: white; text-align: center; overflow: auto; }
.app-menu::backdrop { background: #232323e6; }
.app-menu-logo { display: block; width: 60px; margin: 0 auto 35px; }
.app-menu nav { display: flex; flex-direction: column; gap: 10px; }
.app-menu nav a { display: block; padding: 8px 5px; color: white; font: 500 14px/1 Jost,sans-serif; text-transform: uppercase; letter-spacing: 1px; }
.app-menu nav a:hover, .app-menu nav a[aria-current] { color: #92ff00; }
.app-menu .app-menu-close, .app-menu .app-menu-close:hover, .app-menu .app-menu-close:focus { position: absolute; top: 40px; right: 30px; width: 24px; height: 24px; border: 0; padding: 0; background: transparent; color: white; font: 32px/24px sans-serif; }
.app-menu .app-menu-close:focus-visible { outline: 1px solid white; outline-offset: 4px; }
.app-languages { display: flex; justify-content: center; gap: 15px; margin-top: 12px; }
.app-languages img { width: 18px; height: 12px; }
.app-developed { margin: 80px 0 -6px; color: #9f9f9f; font: 500 10px Jost,sans-serif; letter-spacing: 1.5px; text-transform: uppercase; }
.app-developer-logo { width: 46%; }
.app-lightbox { max-width: 95vw; max-height: 95dvh; padding: 20px; border: 0; background: #101010; color: white; }
.app-lightbox::backdrop { background: #000d; }
.app-lightbox img { display: block; max-height: 80dvh; object-fit: contain; }
.app-carousel .swiper-wrapper { overflow-x: auto; scroll-snap-type: x mandatory; transform: none !important; scrollbar-width: none; }
.app-carousel .swiper-slide { flex: 0 0 calc(100% / var(--app-slides)); scroll-snap-align: start; }
[hidden] { display: none !important; }
.elementor-tab-content.elementor-active { display: block; }
.jkit-mailchimp-message:not(:empty) { padding: 10px 0; }
@media(max-width:767px) { .app-menu { width: 96vw; } .app-carousel .swiper-slide { flex-basis: calc(100% / var(--app-mobile-slides)); } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior: auto; } * { animation-duration: .01ms !important; transition-duration: .01ms !important; } }
