/* Site-wide static mode: all motion is intentionally disabled. */
html {
  scroll-behavior: auto !important;
}

*,
*::before,
*::after {
  animation: none !important;
  animation-delay: 0s !important;
  transition: none !important;
  transition-delay: 0s !important;
  scroll-behavior: auto !important;
  will-change: auto !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

/* Keep fixed UI on a cheap opaque compositor layer while scrolling. */
.site-header,
.site-header.is-scrolled {
  background: var(--color-bg-page) !important;
  box-shadow: 0 1px 0 var(--color-border-default) !important;
}

.cs-rail,
.cookie-banner,
.lead-modal__panel {
  background-color: var(--color-bg-page) !important;
}

/* Large blurred ambient layers are expensive to repaint in Chromium. */
.thero__bg::before,
.thero__bg::after,
.ahero__bg::before,
.ahero__bg::after,
.cs-hero__bg::before,
.cs-hero__bg::after,
.shero__bg::before,
.shero__bg::after,
.xhero__bg::before,
.xhero__bg::after,
.chero__bg::before,
.cta-final__glow,
.statement__glow,
.viz-glow,
.svz__glow {
  display: none !important;
}

/* Reveal components must render in their final state without waiting for JS. */
[data-reveal],
[data-stagger] > *,
[data-reveal="title"] > span,
.hero h2 .ln > span,
.hero__lead,
.hero__cta,
.price-feat > *,
.mdemo__win .field {
  opacity: 1 !important;
  transform: none !important;
}

[data-reveal="wipe"]::after,
[data-reveal="mask"]::after,
.hero__wipe {
  display: none !important;
}

[data-speed] {
  transform: none !important;
}

.prg__fill {
  width: var(--v, 0%) !important;
}

/* Progress/result elements that previously grew into view are static. */
.stat-cell__bar {
  width: 100% !important;
}

.skill__bar {
  width: var(--v, 0%) !important;
}

.cs-stages__line {
  width: 86% !important;
}

.cs-journey__fill {
  width: 100% !important;
  height: 100% !important;
}
