/* ============================================================
   Custom styles
   ============================================================ */
html { scroll-behavior: smooth; }
summary::-webkit-details-marker { display: none; }

/* ---- Scroll reveal ---- */
[data-reveal] {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity .7s ease, transform .7s ease;
  will-change: opacity, transform;
}
[data-reveal].is-visible { opacity: 1; transform: none; }

/* ---- Marquee (infinite scrolling service strip) ---- */
.marquee { overflow: hidden; white-space: nowrap; }
.marquee__track {
  display: inline-flex;
  gap: 3rem;
  animation: scroll-x 30s linear infinite;
}
@keyframes scroll-x {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}

/* ---- Before/after ---- */
#baWrap img { pointer-events: none; }
#baWrap { cursor: ew-resize; touch-action: none; }

/* ---- Reduced motion ---- */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  [data-reveal] { opacity: 1; transform: none; transition: none; }
  .marquee__track { animation: none; }
}
