
/* Scroll stability fix.
   This replaces the previous reveal layer that could leave content invisible on some browsers.
   All content remains visible even if JavaScript fails. */

html {
  scroll-behavior: smooth;
}

body {
  overflow-x: hidden;
}

.wl-safe-scroll [data-wl-safe-reveal] {
  opacity: 1 !important;
  filter: none !important;
  transform: translate3d(0, 0, 0);
}

.wl-safe-scroll [data-wl-safe-reveal].wl-safe-ready {
  transition:
    transform 680ms cubic-bezier(0.22, 1, 0.36, 1),
    box-shadow 260ms ease,
    border-color 180ms ease,
    background 180ms ease;
}

.wl-safe-scroll [data-wl-safe-reveal].wl-safe-pending {
  transform: translate3d(0, 18px, 0);
}

.wl-safe-scroll [data-wl-safe-reveal].wl-safe-visible {
  transform: translate3d(0, 0, 0);
}

.wl-safe-scroll .wlp-card,
.wl-safe-scroll .wlc-case__panel,
.wl-safe-scroll .wlf-browser {
  backface-visibility: hidden;
}

.wl-safe-anchor-pulse {
  animation: wl-safe-anchor-pulse 1000ms cubic-bezier(0.22, 1, 0.36, 1) both;
}

@keyframes wl-safe-anchor-pulse {
  0%, 100% { box-shadow: none; }
  40% { box-shadow: 0 0 0 1px hsl(34 68% 72% / 0.22), 0 0 50px hsl(34 70% 54% / 0.1); }
}

@media (max-width: 640px) {
  html {
    scroll-behavior: auto;
  }

  .wl-safe-scroll [data-wl-safe-reveal].wl-safe-pending,
  .wl-safe-scroll [data-wl-safe-reveal].wl-safe-visible {
    transform: none !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  .wl-safe-scroll [data-wl-safe-reveal],
  .wl-safe-scroll [data-wl-safe-reveal].wl-safe-ready,
  .wl-safe-scroll [data-wl-safe-reveal].wl-safe-pending,
  .wl-safe-scroll [data-wl-safe-reveal].wl-safe-visible {
    opacity: 1 !important;
    filter: none !important;
    transform: none !important;
    transition: none !important;
  }

  .wl-safe-anchor-pulse {
    animation: none !important;
  }
}
