/* NexZion Reach lightweight runtime fallbacks */
.nz-defer-section {
  content-visibility: auto;
  contain-intrinsic-size: auto 760px;
}

body.nz-menu-open { overflow: hidden; }

/* Everything stays visible without WOW/animation JavaScript. */
.wow,
.tpfadeUp,
.tpfadeLeft,
.tpfadeRight,
.tpfadeIn { visibility: visible !important; opacity: 1 !important; transform: none !important; }

/* Static responsive fallback for former Slick feature sliders. */
.tp-service__slider-active {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}
.tp-service__slider-active > * { min-width: 0; }

/* Native mobile navigation; no MeanMenu dependency. */
.nz-mobile-nav { margin: 20px 0; }
.nz-mobile-nav ul { margin: 0; padding: 0; list-style: none; }
.nz-mobile-nav > ul > li { border-bottom: 1px solid rgba(255,255,255,.09); }
.nz-mobile-nav li { position: relative; }
.nz-mobile-nav li > a {
  display: block;
  padding: 12px 4px;
  color: #d7e3f1 !important;
  font-weight: 700;
  line-height: 1.35;
}
.nz-mobile-nav li > a:hover { color: var(--nz-lime) !important; }
.nz-mobile-nav .submenu {
  display: none;
  position: static !important;
  visibility: visible !important;
  opacity: 1 !important;
  transform: none !important;
  width: auto !important;
  background: rgba(255,255,255,.04) !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 4px 10px 8px !important;
}
.nz-mobile-nav .submenu.nz-submenu-open { display: block; }
.nz-mobile-nav .submenu a { padding: 9px 8px !important; font-size: 14px; }

/* Guarantee off-canvas behavior without template JS plugins. */
.tp-offcanvas-area .tpoffcanvas {
  position: fixed;
  z-index: 1001;
  top: 0;
  right: -110%;
  width: min(400px, 92vw);
  height: 100dvh;
  overflow-y: auto;
  padding: 34px 28px;
  transition: right .22s ease;
}
.tp-offcanvas-area .tpoffcanvas.opened { right: 0; }
.body-overlay {
  position: fixed;
  z-index: 1000;
  inset: 0;
  display: none;
  opacity: 0;
  background: rgba(4,11,20,.75);
}
.body-overlay.apply { display: block; opacity: 1; }

/* Faster rendering and more stable image layout below the fold. */
.nz-blog-card img,
.nz-recent-post img,
.tp-service__icon img,
.about-inner__thumb img,
.about-inner__thumb-2 img,
.tp-team__img img { content-visibility: auto; }

/* Native selects replace nice-select. */
body.nexzion-site select {
  appearance: auto;
  min-height: 48px;
}

/* Respect accessibility and reduce mobile GPU work. */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}

@media (max-width: 991px) {
  .tp-service__slider-active { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 575px) {
  .tp-service__slider-active { grid-template-columns: 1fr; }
  .nz-defer-section { contain-intrinsic-size: auto 1000px; }
}
