html { scroll-behavior: smooth; }
body {
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.55;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  background:
    radial-gradient(circle at top, rgba(16, 185, 129, .08), transparent 28%),
    linear-gradient(180deg, #fcfbf8 0%, #f6f2ea 100%);
}
h1, h2, h3, .font-serif {
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-style: normal;
  letter-spacing: 0;
}
.bwp-cta-panel {
  background: #f7fcf9;
}
.bwp-cta-shell {
  background: linear-gradient(180deg, #ffffff 0%, #f7fcf9 100%);
}
[hidden] { display: none !important; }
.lazy-image { filter: blur(12px); opacity: .65; transition: filter .5s ease, opacity .5s ease; }
.lazy-image.is-loaded { filter: blur(0); opacity: 1; }
.reveal { opacity: 0; transform: translateY(18px); transition: opacity .65s ease, transform .65s ease; }
.reveal.is-visible { opacity: 1; transform: none; }
.no-scrollbar::-webkit-scrollbar { display: none; }
.no-scrollbar { scrollbar-width: none; }
.is-modal-open { overflow: hidden; }
[data-feature-modal].is-open {
  opacity: 1;
  pointer-events: auto;
}
[data-feature-modal-panel].is-open {
  transform: translateY(0) scale(1);
  opacity: 1;
}
.edge-fade {
  -webkit-mask-image: linear-gradient(to right, transparent, #000 8%, #000 92%, transparent);
  mask-image: linear-gradient(to right, transparent, #000 8%, #000 92%, transparent);
}
.marquee-track {
  animation: marquee-left 26s linear infinite;
  width: max-content;
}
@keyframes marquee-left {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
  .reveal { opacity: 1; transform: none; }
  .marquee-track { animation: none; transform: none; }
}
